Clear uid set on registerUidObserver

This commit is contained in:
Nullptr 2023-01-08 23:48:07 +08:00 committed by LoveSy
parent ae5f8a70ae
commit 53fec857a0
2 changed files with 7 additions and 1 deletions

View File

@ -36,6 +36,7 @@ import org.lsposed.daemon.BuildConfig;
import org.lsposed.lspd.models.Module;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ -50,13 +51,17 @@ public class LSPModuleService extends IXposedService.Stub {
private final static String TAG = "LSPosedModuleService";
private final static Set<Integer> uidSet = ConcurrentHashMap.newKeySet();
private final static Map<Module, LSPModuleService> serviceMap = new WeakHashMap<>();
private final static Map<Module, LSPModuleService> serviceMap = Collections.synchronizedMap(new WeakHashMap<>());
public final static String FILES_DIR = "files";
private final @NonNull
Module loadedModule;
static void uidClear() {
uidSet.clear();
}
static void uidStarts(int uid) {
if (!uidSet.contains(uid)) {
uidSet.add(uid);

View File

@ -394,6 +394,7 @@ public class LSPosedService extends ILSPosedService.Stub {
| HiddenApiBridge.ActivityManager_UID_OBSERVER_GONE()
| HiddenApiBridge.ActivityManager_UID_OBSERVER_IDLE()
| HiddenApiBridge.ActivityManager_UID_OBSERVER_CACHED();
LSPModuleService.uidClear();
ActivityManagerService.registerUidObserver(new IUidObserver.Stub() {
@Override
public void onUidActive(int uid) {