You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
FoxMagiskModuleManager/app/src/main/java/com/fox2code/mmm/XHooks.java

61 lines
1.9 KiB
Java

package com.fox2code.mmm;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.webkit.WebView;
import androidx.annotation.Keep;
import com.fox2code.mmm.manager.ModuleManager;
import com.fox2code.mmm.repo.RepoManager;
/**
* Class made to expose some manager functions to xposed modules.
* It will not be obfuscated on release builds
*/
@Keep
public class XHooks {
@Keep
public static void onRepoManagerInitialize() {
// Call addXRepo here if you are an XPosed module
}
@Keep
public static void onRepoManagerInitialized() {}
@Keep
public static boolean isModuleActive(String moduleId) {
return ModuleManager.isModuleActive(moduleId);
}
@Keep
public static void checkConfigTargetExists(Context context, String packageName, String config)
throws PackageManager.NameNotFoundException {
if ("org.lsposed.manager".equals(config) && "org.lsposed.manager".equals(packageName) &&
(XHooks.isModuleActive("riru_lsposed") || XHooks.isModuleActive("zygisk_lsposed")))
return; // Skip check for lsposed as it is probably injected into the system.
context.getPackageManager().getPackageInfo(packageName, 0);
}
@Keep
public static Intent getConfigIntent(Context context, String packageName,String config) {
return context.getPackageManager().getLaunchIntentForPackage(packageName);
}
@Keep
public static void onWebViewInitialize(WebView webView,boolean allowInstall) {
if (webView == null) throw new NullPointerException("WebView is null!");
}
@Keep
public static XRepo addXRepo(String url, String fallbackName) {
return RepoManager.getINSTANCE_UNSAFE().addOrGet(url, fallbackName);
}
@Keep
public static XRepo getXRepo(String url) {
return RepoManager.getINSTANCE_UNSAFE().get(url);
}
}