[parasitic] Skip adding shortcut when manager is installed (#1189)
This commit is contained in:
parent
25ec7c4b1b
commit
a3ce1b2556
|
|
@ -85,7 +85,6 @@ public class ConfigManager {
|
|||
private boolean verboseLog = true;
|
||||
private String miscPath = null;
|
||||
|
||||
private final String manager = BuildConfig.DEFAULT_MANAGER_PACKAGE_NAME;
|
||||
private int managerUid = -1;
|
||||
|
||||
private final Handler cacheHandler;
|
||||
|
|
@ -234,11 +233,11 @@ public class ConfigManager {
|
|||
public synchronized void updateManager() {
|
||||
if (!PackageService.isAlive()) return;
|
||||
try {
|
||||
PackageInfo info = PackageService.getPackageInfo(manager, 0, 0);
|
||||
PackageInfo info = PackageService.getPackageInfo(BuildConfig.DEFAULT_MANAGER_PACKAGE_NAME, 0, 0);
|
||||
if (info != null) {
|
||||
managerUid = info.applicationInfo.uid;
|
||||
} else {
|
||||
Log.w(TAG, "manager is not installed");
|
||||
Log.i(TAG, "manager is not installed");
|
||||
}
|
||||
} catch (RemoteException ignored) {
|
||||
}
|
||||
|
|
@ -820,14 +819,14 @@ public class ConfigManager {
|
|||
return true;
|
||||
}
|
||||
|
||||
public boolean isManager(String packageName) {
|
||||
return packageName.equals(manager);
|
||||
}
|
||||
|
||||
public boolean isManager(int uid) {
|
||||
return uid == managerUid;
|
||||
}
|
||||
|
||||
public boolean isManagerInstalled() {
|
||||
return managerUid != -1;
|
||||
}
|
||||
|
||||
public String getPrefsPath(String fileName, int uid) {
|
||||
int userId = uid / PER_USER_RANGE;
|
||||
return miscPath + "/prefs" + (userId == 0 ? "" : String.valueOf(userId)) + "/" + fileName;
|
||||
|
|
|
|||
|
|
@ -263,6 +263,10 @@ public class LSPManagerService extends ILSPManagerService.Stub {
|
|||
|
||||
public static void createOrUpdateShortcut() {
|
||||
try {
|
||||
if (ConfigManager.getInstance().isManagerInstalled()) {
|
||||
Log.d(TAG, "Manager has installed, skip adding shortcut");
|
||||
return;
|
||||
}
|
||||
while (!UserService.isUserUnlocked(0)) {
|
||||
Log.d(TAG, "user is not yet unlocked, waiting for 1s...");
|
||||
Thread.sleep(1000);
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ import android.os.Bundle;
|
|||
import android.os.IBinder;
|
||||
import android.util.Log;
|
||||
|
||||
import org.lsposed.lspd.BuildConfig;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class LSPosedService extends ILSPosedService.Stub {
|
||||
|
|
@ -149,7 +151,7 @@ public class LSPosedService extends ILSPosedService.Stub {
|
|||
LSPManagerService.broadcastIntent(moduleName, userId);
|
||||
}
|
||||
|
||||
if (moduleName != null && ConfigManager.getInstance().isManager(moduleName) && userId == 0) {
|
||||
if (BuildConfig.DEFAULT_MANAGER_PACKAGE_NAME.equals(moduleName) && userId == 0) {
|
||||
Log.d(TAG, "Manager updated");
|
||||
try {
|
||||
ConfigManager.getInstance().updateManager();
|
||||
|
|
|
|||
Loading…
Reference in New Issue