[core] service client as inheritable for better compatibility (#761)

This commit is contained in:
LoveSy 2021-06-22 00:37:16 +08:00 committed by GitHub
parent 44079d2c56
commit bcd7f99de5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 36 additions and 3 deletions

View File

@ -0,0 +1,33 @@
package org.lsposed.lspd.config;
import android.os.IBinder;
import android.os.ParcelFileDescriptor;
import org.lsposed.lspd.service.ILSPApplicationService;
import java.util.Map;
abstract public class ApplicationServiceClient implements ILSPApplicationService {
public static ApplicationServiceClient serviceClient = null;
@Override
abstract public IBinder requestModuleBinder();
@Override
abstract public IBinder requestManagerBinder(String packageName);
@Override
abstract public boolean isResourcesHookEnabled();
@Override
abstract public Map getModulesList(String processName);
abstract public Map<String, String> getModulesList();
@Override
abstract public String getPrefsPath(String packageName);
@Override
abstract public ParcelFileDescriptor getModuleLogger();
}

View File

@ -29,13 +29,12 @@ import org.lsposed.lspd.util.Utils;
import java.util.Collections; import java.util.Collections;
import java.util.Map; import java.util.Map;
public class LSPApplicationServiceClient implements ILSPApplicationService { public class LSPApplicationServiceClient extends ApplicationServiceClient {
static ILSPApplicationService service = null; static ILSPApplicationService service = null;
static IBinder serviceBinder = null; static IBinder serviceBinder = null;
static String processName = null; static String processName = null;
public static LSPApplicationServiceClient serviceClient = null;
private static final IBinder.DeathRecipient recipient = new IBinder.DeathRecipient() { private static final IBinder.DeathRecipient recipient = new IBinder.DeathRecipient() {
@Override @Override
public void binderDied() { public void binderDied() {
@ -96,6 +95,7 @@ public class LSPApplicationServiceClient implements ILSPApplicationService {
return Collections.emptyMap(); return Collections.emptyMap();
} }
@Override
public Map<String, String> getModulesList() { public Map<String, String> getModulesList() {
return getModulesList(processName); return getModulesList(processName);
} }

View File

@ -98,7 +98,7 @@ public class Main {
} }
} }
private static void forkPostCommon(boolean isSystem, String appDataDir, String niceName) { public static void forkPostCommon(boolean isSystem, String appDataDir, String niceName) {
// init logger // init logger
YahfaHooker.init(); YahfaHooker.init();
ModuleLogger.initLogger(serviceClient.getModuleLogger()); ModuleLogger.initLogger(serviceClient.getModuleLogger());