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");
|
||||
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
|
||||
String string = (String) config.get("misc_path");
|
||||
|
|
@ -705,6 +706,7 @@ public class ConfigManager {
|
|||
for (Application obsoleteModule : obsoleteModules) {
|
||||
Log.d(TAG, "removing obsolete module: " + obsoleteModule.packageName + "/" + obsoleteModule.userId);
|
||||
removeModuleScopeWithoutCache(obsoleteModule);
|
||||
removeBlockedScopeRequest(obsoleteModule.packageName);
|
||||
}
|
||||
} else {
|
||||
Log.w(TAG, "pm is dead while caching. invalidating...");
|
||||
|
|
|
|||
|
|
@ -169,9 +169,13 @@ public class LSPModuleService extends IXposedService.Stub {
|
|||
@Override
|
||||
public void requestScope(String packageName, IXposedScopeCallback callback) throws RemoteException {
|
||||
var userId = ensureModule();
|
||||
if (ConfigManager.getInstance().scopeRequestBlocked(loadedModule.packageName)) {
|
||||
callback.onScopeRequestDenied(packageName);
|
||||
} else {
|
||||
LSPNotificationManager.requestModuleScope(loadedModule.packageName, userId, packageName, callback);
|
||||
callback.onScopeRequestPrompted(packageName);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String removeScope(String packageName) throws RemoteException {
|
||||
|
|
|
|||
|
|
@ -273,7 +273,8 @@ public class LSPosedService extends ILSPosedService.Stub {
|
|||
iCallback.onScopeRequestTimeout(scopePackageName);
|
||||
break;
|
||||
case "block":
|
||||
// TODO
|
||||
ConfigManager.getInstance().blockScopeRequest(packageName);
|
||||
iCallback.onScopeRequestDenied(scopePackageName);
|
||||
break;
|
||||
}
|
||||
Log.i(TAG, action + " scope " + scopePackageName + " for " + packageName + " in user " + userId);
|
||||
|
|
|
|||
Loading…
Reference in New Issue