diff --git a/core/src/main/java/io/github/libxposed/XposedContextWrapper.java b/core/src/main/java/io/github/libxposed/XposedContextWrapper.java index 66925c5d..7d3abd61 100644 --- a/core/src/main/java/io/github/libxposed/XposedContextWrapper.java +++ b/core/src/main/java/io/github/libxposed/XposedContextWrapper.java @@ -3,6 +3,8 @@ package io.github.libxposed; import android.content.Context; import android.content.ContextWrapper; +import androidx.annotation.NonNull; + public class XposedContextWrapper extends ContextWrapper implements XposedInterface { XposedContextWrapper(XposedContext base) { @@ -23,6 +25,23 @@ public class XposedContextWrapper extends ContextWrapper implements XposedInterf getBaseContext().hook(); } + @NonNull + @Override + public String implementationName() { + return getBaseContext().implementationVersion(); + } + + @NonNull + @Override + public String implementationVersion() { + return getBaseContext().implementationVersion(); + } + + @Override + public long implementationVersionCode() { + return getBaseContext().implementationVersionCode(); + } + @Override final public void log(String message) { getBaseContext().log(message); diff --git a/core/src/main/java/io/github/libxposed/XposedInterface.java b/core/src/main/java/io/github/libxposed/XposedInterface.java index 9f5052e0..11d0dc65 100644 --- a/core/src/main/java/io/github/libxposed/XposedInterface.java +++ b/core/src/main/java/io/github/libxposed/XposedInterface.java @@ -1,7 +1,17 @@ package io.github.libxposed; +import androidx.annotation.NonNull; + public interface XposedInterface { + + long API_VERSION = 100; + void hook(); + + @NonNull String implementationName(); + @NonNull String implementationVersion(); + long implementationVersionCode(); + void log(String message); void log(String message, Throwable throwable); } diff --git a/core/src/main/java/org/lsposed/lspd/impl/LSPosedContext.java b/core/src/main/java/org/lsposed/lspd/impl/LSPosedContext.java index bc2c40ca..de8fd87d 100644 --- a/core/src/main/java/org/lsposed/lspd/impl/LSPosedContext.java +++ b/core/src/main/java/org/lsposed/lspd/impl/LSPosedContext.java @@ -40,9 +40,7 @@ import org.lsposed.lspd.util.LspModuleClassLoader; import java.io.File; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.FileOutputStream; -import java.io.IOException; import java.io.InputStream; import java.util.Map; import java.util.Set; @@ -279,12 +277,12 @@ public class LSPosedContext extends XposedContext { } @Override - public FileInputStream openFileInput(String name) throws FileNotFoundException { + public FileInputStream openFileInput(String name) { throw new AbstractMethodError(); } @Override - public FileOutputStream openFileOutput(String name, int mode) throws FileNotFoundException { + public FileOutputStream openFileOutput(String name, int mode) { throw new AbstractMethodError(); } @@ -421,17 +419,17 @@ public class LSPosedContext extends XposedContext { } @Override - public void setWallpaper(Bitmap bitmap) throws IOException { + public void setWallpaper(Bitmap bitmap) { throw new AbstractMethodError(); } @Override - public void setWallpaper(InputStream data) throws IOException { + public void setWallpaper(InputStream data) { throw new AbstractMethodError(); } @Override - public void clearWallpaper() throws IOException { + public void clearWallpaper() { throw new AbstractMethodError(); } @@ -456,12 +454,12 @@ public class LSPosedContext extends XposedContext { } @Override - public void startIntentSender(IntentSender intent, @Nullable Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags) throws IntentSender.SendIntentException { + public void startIntentSender(IntentSender intent, @Nullable Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags) { throw new AbstractMethodError(); } @Override - public void startIntentSender(IntentSender intent, @Nullable Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, @Nullable Bundle options) throws IntentSender.SendIntentException { + public void startIntentSender(IntentSender intent, @Nullable Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, @Nullable Bundle options) { throw new AbstractMethodError(); } @@ -693,12 +691,12 @@ public class LSPosedContext extends XposedContext { } @Override - public Context createPackageContext(String packageName, int flags) throws PackageManager.NameNotFoundException { + public Context createPackageContext(String packageName, int flags) { throw new AbstractMethodError(); } @Override - public Context createContextForSplit(String splitName) throws PackageManager.NameNotFoundException { + public Context createContextForSplit(String splitName) { throw new AbstractMethodError(); } @@ -727,6 +725,23 @@ public class LSPosedContext extends XposedContext { throw new AbstractMethodError(); } + @NonNull + @Override + public String implementationName() { + return "LSPosed"; + } + + @NonNull + @Override + public String implementationVersion() { + return ""; + } + + @Override + public long implementationVersionCode() { + return 0; + } + @Override public void log(String message) { Log.i(TAG, mPackageName + ": " + message);