Implement block scope request
This commit is contained in:
parent
0339bb631a
commit
7d2c599e96
|
|
@ -274,7 +274,8 @@ public class ConfigManager {
|
||||||
bool = config.get("enable_status_notification");
|
bool = config.get("enable_status_notification");
|
||||||
enableStatusNotification = bool == null || (boolean) bool;
|
enableStatusNotification = bool == null || (boolean) bool;
|
||||||
|
|
||||||
scopeRequestBlocked = (HashSet<String>) config.get("scope_request_blocked");
|
var set = (Set<String>) config.get("scope_request_blocked");
|
||||||
|
scopeRequestBlocked = set == null ? new HashSet<>() : set;
|
||||||
|
|
||||||
// Don't migrate to ConfigFileManager, as XSharedPreferences will be restored soon
|
// Don't migrate to ConfigFileManager, as XSharedPreferences will be restored soon
|
||||||
String string = (String) config.get("misc_path");
|
String string = (String) config.get("misc_path");
|
||||||
|
|
@ -705,6 +706,7 @@ public class ConfigManager {
|
||||||
for (Application obsoleteModule : obsoleteModules) {
|
for (Application obsoleteModule : obsoleteModules) {
|
||||||
Log.d(TAG, "removing obsolete module: " + obsoleteModule.packageName + "/" + obsoleteModule.userId);
|
Log.d(TAG, "removing obsolete module: " + obsoleteModule.packageName + "/" + obsoleteModule.userId);
|
||||||
removeModuleScopeWithoutCache(obsoleteModule);
|
removeModuleScopeWithoutCache(obsoleteModule);
|
||||||
|
removeBlockedScopeRequest(obsoleteModule.packageName);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Log.w(TAG, "pm is dead while caching. invalidating...");
|
Log.w(TAG, "pm is dead while caching. invalidating...");
|
||||||
|
|
|
||||||
|
|
@ -169,8 +169,12 @@ public class LSPModuleService extends IXposedService.Stub {
|
||||||
@Override
|
@Override
|
||||||
public void requestScope(String packageName, IXposedScopeCallback callback) throws RemoteException {
|
public void requestScope(String packageName, IXposedScopeCallback callback) throws RemoteException {
|
||||||
var userId = ensureModule();
|
var userId = ensureModule();
|
||||||
LSPNotificationManager.requestModuleScope(loadedModule.packageName, userId, packageName, callback);
|
if (ConfigManager.getInstance().scopeRequestBlocked(loadedModule.packageName)) {
|
||||||
callback.onScopeRequestPrompted(packageName);
|
callback.onScopeRequestDenied(packageName);
|
||||||
|
} else {
|
||||||
|
LSPNotificationManager.requestModuleScope(loadedModule.packageName, userId, packageName, callback);
|
||||||
|
callback.onScopeRequestPrompted(packageName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -273,7 +273,8 @@ public class LSPosedService extends ILSPosedService.Stub {
|
||||||
iCallback.onScopeRequestTimeout(scopePackageName);
|
iCallback.onScopeRequestTimeout(scopePackageName);
|
||||||
break;
|
break;
|
||||||
case "block":
|
case "block":
|
||||||
// TODO
|
ConfigManager.getInstance().blockScopeRequest(packageName);
|
||||||
|
iCallback.onScopeRequestDenied(scopePackageName);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Log.i(TAG, action + " scope " + scopePackageName + " for " + packageName + " in user " + userId);
|
Log.i(TAG, action + " scope " + scopePackageName + " for " + packageName + " in user " + userId);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue