private static List<ApkVariant> getAllMatching( ApplicationInfo appInfo, ClassChecker classChecker) { List<ApkVariant> variants = new ArrayList<ApkVariant>(); final String forceVariant = Res.modPrefs.getString("force_variant", ""); if (forceVariant.length() != 0) { Util.debug("Using forced variant: " + forceVariant); try { final Class<?> variantClazz = Class.forName("at.jclehner.appopsxposed.variants." + forceVariant.replace('.', '$')); variants.add((ApkVariant) variantClazz.newInstance()); } catch (ClassNotFoundException e) { Util.log(e); } catch (IllegalAccessException e) { Util.log(e); } catch (InstantiationException e) { Util.log(e); } } else { for (ApkVariant variant : VARIANTS) { if (variant.isMatching(appInfo, classChecker)) variants.add(variant); } } return variants; }
public static boolean isSettingsPackage(String packageName) { for (ApkVariant variant : VARIANTS) { for (String pkg : variant.targetPackages()) { if (packageName.equals(pkg)) return true; } } return false; }