[core] Show Riru or Zygisk based (#1311)
This commit is contained in:
parent
9995fcbeb5
commit
5eac73de77
|
|
@ -342,6 +342,15 @@ public class ConfigManager {
|
|||
}
|
||||
}
|
||||
|
||||
public static String getApi() {
|
||||
try {
|
||||
return LSPManagerServiceHolder.getService().getApi();
|
||||
} catch (RemoteException e) {
|
||||
Log.e(App.TAG, Log.getStackTraceString(e));
|
||||
return e.toString();
|
||||
}
|
||||
}
|
||||
|
||||
public static List<String> getDenyListPackages() {
|
||||
List<String> list = new ArrayList<>();
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -134,8 +134,8 @@ public class HomeFragment extends BaseFragment {
|
|||
private void updateStates(Activity activity, boolean binderAlive, boolean needUpdate) {
|
||||
int cardBackgroundColor;
|
||||
if (binderAlive) {
|
||||
StringBuilder sb = new StringBuilder(String.format(Locale.ROOT, "%s (%d)",
|
||||
ConfigManager.getXposedVersionName(), ConfigManager.getXposedVersionCode()));
|
||||
StringBuilder sb = new StringBuilder(String.format(Locale.ROOT, "%s (%d) - %s",
|
||||
ConfigManager.getXposedVersionName(), ConfigManager.getXposedVersionCode(), ConfigManager.getApi()));
|
||||
if (needUpdate) {
|
||||
cardBackgroundColor = ResourceUtils.resolveColor(activity.getTheme(), R.attr.colorInstall);
|
||||
binding.statusTitle.setText(R.string.need_update);
|
||||
|
|
|
|||
|
|
@ -140,6 +140,7 @@ android {
|
|||
arguments += "API=${name.toLowerCase()}"
|
||||
}
|
||||
}
|
||||
buildConfigField("String", "API", """"$name"""")
|
||||
}
|
||||
|
||||
create("Riru") {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import org.lsposed.lspd.service.ILSPApplicationService;
|
|||
interface ILSPosedService {
|
||||
ILSPApplicationService requestApplicationService(int uid, int pid, String processName, IBinder heartBeat);
|
||||
|
||||
oneway void dispatchSystemServerContext(in IBinder activityThread, in IBinder activityToken);
|
||||
oneway void dispatchSystemServerContext(in IBinder activityThread, in IBinder activityToken, String api);
|
||||
|
||||
boolean preStartManager(String pkgName, in Intent intent);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,6 +41,8 @@ import android.util.Log;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.lsposed.lspd.BuildConfig;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -222,7 +224,7 @@ public class BridgeService {
|
|||
try {
|
||||
IApplicationThread at = ActivityThread.currentActivityThread().getApplicationThread();
|
||||
Context ctx = ActivityThread.currentActivityThread().getSystemContext();
|
||||
service.dispatchSystemServerContext(at.asBinder(), Context_getActivityToken(ctx));
|
||||
service.dispatchSystemServerContext(at.asBinder(), Context_getActivityToken(ctx), BuildConfig.API);
|
||||
} catch (Throwable e) {
|
||||
Log.e(TAG, "dispatch context: ", e);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,6 +98,8 @@ public class ConfigManager {
|
|||
|
||||
private boolean sepolicyLoaded = true;
|
||||
|
||||
private String api = "(???)";
|
||||
|
||||
static class ProcessScope {
|
||||
final String processName;
|
||||
final int uid;
|
||||
|
|
@ -942,4 +944,12 @@ public class ConfigManager {
|
|||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public void setApi(String api) {
|
||||
this.api = api;
|
||||
}
|
||||
|
||||
public String getApi() {
|
||||
return api;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -511,6 +511,11 @@ public class LSPManagerService extends ILSPManagerService.Stub {
|
|||
return BuildConfig.VERSION_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getApi() {
|
||||
return ConfigManager.getInstance().getApi();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ParceledListSlice<PackageInfo> getInstalledPackagesFromAllUsers(int flags, boolean filterNoProcess) throws RemoteException {
|
||||
return PackageService.getInstalledPackagesFromAllUsers(flags, filterNoProcess);
|
||||
|
|
|
|||
|
|
@ -300,8 +300,9 @@ public class LSPosedService extends ILSPosedService.Stub {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void dispatchSystemServerContext(IBinder activityThread, IBinder activityToken) {
|
||||
public void dispatchSystemServerContext(IBinder activityThread, IBinder activityToken, String api) {
|
||||
Log.d(TAG, "received system context");
|
||||
ConfigManager.getInstance().setApi(api);
|
||||
ActivityManagerService.onSystemServerContext(IApplicationThread.Stub.asInterface(activityThread), activityToken);
|
||||
registerPackageReceiver();
|
||||
registerUnlockReceiver();
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ import org.lsposed.lspd.models.Application;
|
|||
|
||||
|
||||
interface ILSPManagerService {
|
||||
String getApi() = 1;
|
||||
|
||||
ParceledListSlice<PackageInfo> getInstalledPackagesFromAllUsers(int flags, boolean filterNoProcess) = 2;
|
||||
|
||||
String[] enabledModules() = 3;
|
||||
|
|
|
|||
Loading…
Reference in New Issue