public class HideAppSystemPlugin extends AlbatrossPlugin {
public static Map<Integer, List<String>> hideRules = new HashMap<>();
@Override
public boolean parseParams(String hideRulesStr, int flags) {
hideRules.clear();
if (hideRulesStr != null) {
Application application = Albatross.currentApplication();
PackageManager pm = application.getPackageManager();
String[] entries = hideRulesStr.split("\\|");
for (String e : entries) {
String[] parts = e.split(":");
if (parts.length != 2) continue;
String pkg = parts[0];
try {
int uid = pm.getPackageInfo(pkg, 0).applicationInfo.uid;
List<String> rules = new ArrayList<>();
for (String r : parts[1].split(",")) if (!r.isEmpty()) rules.add(r);
hideRules.put(uid, rules);
} catch (PackageManager.NameNotFoundException ignore) {}
}
}
return true;
}
@Override
public void onAttachSystem(Application application) {
if (!PackageManagerServiceH.initHook()) {
Albatross.log("init hook err");
}
}
}