[core] Optimize imports

This commit is contained in:
Wang Han 2021-05-23 14:03:34 +08:00
parent 29d673e3fa
commit b98979d69b
24 changed files with 79 additions and 97 deletions

View File

@ -20,13 +20,18 @@
package android.app;
import static de.robv.android.xposed.XposedHelpers.findClass;
import static de.robv.android.xposed.XposedHelpers.findFieldIfExists;
import static de.robv.android.xposed.XposedHelpers.findMethodExactIfExists;
import static de.robv.android.xposed.XposedHelpers.getObjectField;
import static de.robv.android.xposed.XposedHelpers.newInstance;
import static de.robv.android.xposed.XposedHelpers.setFloatField;
import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.res.CompatibilityInfo;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Build;
import android.os.IBinder;
import android.view.Display;
import java.lang.ref.WeakReference;
@ -35,13 +40,6 @@ import java.util.Map;
import de.robv.android.xposed.XSharedPreferences;
import de.robv.android.xposed.XposedBridge;
import static de.robv.android.xposed.XposedHelpers.findClass;
import static de.robv.android.xposed.XposedHelpers.findFieldIfExists;
import static de.robv.android.xposed.XposedHelpers.findMethodExactIfExists;
import static de.robv.android.xposed.XposedHelpers.getObjectField;
import static de.robv.android.xposed.XposedHelpers.newInstance;
import static de.robv.android.xposed.XposedHelpers.setFloatField;
/**
* Contains various methods for information about the current app.
*

View File

@ -26,7 +26,6 @@ import android.util.DisplayMetrics;
import de.robv.android.xposed.IXposedHookInitPackageResources;
import de.robv.android.xposed.IXposedHookZygoteInit;
import de.robv.android.xposed.IXposedHookZygoteInit.StartupParam;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_InitPackageResources.InitPackageResourcesParam;
import hidden.HiddenApiBridge;

View File

@ -20,6 +20,13 @@
package android.content.res;
import static org.lsposed.lspd.nativebridge.ResourcesHook.rewriteXmlReferencesNative;
import static de.robv.android.xposed.XposedHelpers.decrementMethodDepth;
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
import static de.robv.android.xposed.XposedHelpers.getLongField;
import static de.robv.android.xposed.XposedHelpers.getObjectField;
import static de.robv.android.xposed.XposedHelpers.incrementMethodDepth;
import android.content.Context;
import android.content.pm.PackageParser;
import android.content.pm.PackageParser.PackageParserException;
@ -56,14 +63,6 @@ import de.robv.android.xposed.callbacks.XCallback;
import xposed.dummy.XResourcesSuperClass;
import xposed.dummy.XTypedArraySuperClass;
import static de.robv.android.xposed.XposedHelpers.decrementMethodDepth;
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
import static de.robv.android.xposed.XposedHelpers.getIntField;
import static de.robv.android.xposed.XposedHelpers.getLongField;
import static de.robv.android.xposed.XposedHelpers.getObjectField;
import static de.robv.android.xposed.XposedHelpers.incrementMethodDepth;
import static org.lsposed.lspd.nativebridge.ResourcesHook.rewriteXmlReferencesNative;
/**
* {@link android.content.res.Resources} subclass that allows replacing individual resources.
*

View File

@ -20,15 +20,15 @@
package de.robv.android.xposed;
import static org.lsposed.lspd.nativebridge.PendingHooks.recordPendingMethodNative;
import org.lsposed.lspd.yahfa.hooker.YahfaHooker;
import java.lang.reflect.Executable;
import java.lang.reflect.Method;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.lsposed.lspd.yahfa.hooker.YahfaHooker;
import static org.lsposed.lspd.nativebridge.PendingHooks.recordPendingMethodNative;
public final class PendingHooks {
// GuardedBy("PendingHooks.class")

View File

@ -20,6 +20,8 @@
package de.robv.android.xposed;
import static org.lsposed.lspd.config.LSPApplicationServiceClient.serviceClient;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.SharedPreferences;
@ -31,7 +33,6 @@ import com.android.internal.util.XmlUtils;
import org.lsposed.lspd.BuildConfig;
import org.lsposed.lspd.util.MetaDataReader;
import org.xmlpull.v1.XmlPullParserException;
import java.io.File;
@ -53,8 +54,6 @@ import java.util.Set;
import de.robv.android.xposed.services.FileResult;
import static org.lsposed.lspd.config.LSPApplicationServiceClient.serviceClient;
/**
* This class is basically the same as SharedPreferencesImpl from AOSP, but
* read-only and without listeners support. Instead, it is made to be

View File

@ -27,8 +27,8 @@ import android.content.res.TypedArray;
import android.util.Log;
import org.lsposed.lspd.BuildConfig;
import org.lsposed.lspd.util.ModuleLogger;
import org.lsposed.lspd.nativebridge.ResourcesHook;
import org.lsposed.lspd.util.ModuleLogger;
import org.lsposed.lspd.yahfa.hooker.YahfaHooker;
import java.lang.reflect.AccessibleObject;

View File

@ -23,6 +23,9 @@ package de.robv.android.xposed;
import android.content.res.AssetManager;
import android.content.res.Resources;
import org.apache.commons.lang3.ClassUtils;
import org.apache.commons.lang3.reflect.MemberUtilsX;
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
import java.io.FileInputStream;
@ -43,9 +46,6 @@ import java.util.List;
import java.util.WeakHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.commons.lang3.ClassUtils;
import org.apache.commons.lang3.reflect.MemberUtilsX;
/**
* Helpers that simplify hooking and calling methods/constructors, getting and settings fields, ...
*/

View File

@ -22,14 +22,14 @@ package de.robv.android.xposed.callbacks;
import android.os.Bundle;
import org.lsposed.lspd.deopt.PrebuiltMethodsDeopter;
import java.io.Serializable;
import de.robv.android.xposed.IModuleContext;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedBridge.CopyOnWriteSortedSet;
import org.lsposed.lspd.deopt.PrebuiltMethodsDeopter;
/**
* Base class for Xposed callbacks.
* <p>

View File

@ -23,13 +23,12 @@ import android.os.IBinder;
import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
import java.io.File;
import java.util.Collections;
import java.util.Map;
import org.lsposed.lspd.service.ILSPApplicationService;
import org.lsposed.lspd.util.Utils;
import java.util.Collections;
import java.util.Map;
public class LSPApplicationServiceClient implements ILSPApplicationService {
static ILSPApplicationService service = null;
static IBinder serviceBinder = null;

View File

@ -20,6 +20,8 @@
package org.lsposed.lspd.core;
import static org.lsposed.lspd.config.LSPApplicationServiceClient.serviceClient;
import android.annotation.SuppressLint;
import android.app.ActivityThread;
import android.content.pm.ApplicationInfo;
@ -27,25 +29,23 @@ import android.content.res.CompatibilityInfo;
import android.os.Environment;
import android.os.IBinder;
import java.io.File;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.XposedInit;
import org.lsposed.lspd.config.LSPApplicationServiceClient;
import org.lsposed.lspd.deopt.PrebuiltMethodsDeopter;
import org.lsposed.lspd.hooker.HandleBindAppHooker;
import org.lsposed.lspd.hooker.LoadedApkCstrHooker;
import org.lsposed.lspd.hooker.StartBootstrapServicesHooker;
import org.lsposed.lspd.hooker.SystemMainHooker;
import org.lsposed.lspd.util.ModuleLogger;
import org.lsposed.lspd.service.ServiceManager;
import org.lsposed.lspd.util.ModuleLogger;
import org.lsposed.lspd.util.Utils;
import org.lsposed.lspd.util.Versions;
import org.lsposed.lspd.yahfa.hooker.YahfaHooker;
import static org.lsposed.lspd.config.LSPApplicationServiceClient.serviceClient;
import java.io.File;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.XposedInit;
@SuppressLint("DefaultLocale")
public class Main {

View File

@ -20,21 +20,21 @@
package org.lsposed.lspd.deopt;
import static org.lsposed.lspd.config.LSPApplicationServiceClient.serviceClient;
import static org.lsposed.lspd.deopt.InlinedMethodCallers.KEY_BOOT_IMAGE;
import static org.lsposed.lspd.deopt.InlinedMethodCallers.KEY_BOOT_IMAGE_MIUI_RES;
import static org.lsposed.lspd.deopt.InlinedMethodCallers.KEY_SYSTEM_SERVER;
import android.text.TextUtils;
import org.lsposed.lspd.nativebridge.Yahfa;
import org.lsposed.lspd.util.Utils;
import org.lsposed.lspd.yahfa.hooker.YahfaHooker;
import java.lang.reflect.Executable;
import java.util.Arrays;
import de.robv.android.xposed.XposedHelpers;
import org.lsposed.lspd.yahfa.hooker.YahfaHooker;
import static org.lsposed.lspd.config.LSPApplicationServiceClient.serviceClient;
import static org.lsposed.lspd.deopt.InlinedMethodCallers.KEY_BOOT_IMAGE;
import static org.lsposed.lspd.deopt.InlinedMethodCallers.KEY_BOOT_IMAGE_MIUI_RES;
import static org.lsposed.lspd.deopt.InlinedMethodCallers.KEY_SYSTEM_SERVER;
public class PrebuiltMethodsDeopter {

View File

@ -20,6 +20,8 @@
package org.lsposed.lspd.hooker;
import static org.lsposed.lspd.config.LSPApplicationServiceClient.serviceClient;
import android.annotation.SuppressLint;
import android.app.ActivityThread;
import android.app.ContextImpl;
@ -42,8 +44,6 @@ import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.XposedInit;
import static org.lsposed.lspd.config.LSPApplicationServiceClient.serviceClient;
// normal process initialization (for new Activity, Service, BroadcastReceiver etc.)
public class HandleBindAppHooker extends XC_MethodHook {
String appDataDir;

View File

@ -20,19 +20,19 @@
package org.lsposed.lspd.hooker;
import static org.lsposed.lspd.config.LSPApplicationServiceClient.serviceClient;
import android.app.LoadedApk;
import android.os.IBinder;
import org.lsposed.lspd.util.Hookers;
import org.lsposed.lspd.util.InstallerVerifier;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import org.lsposed.lspd.util.Hookers;
import org.lsposed.lspd.util.InstallerVerifier;
import static org.lsposed.lspd.config.LSPApplicationServiceClient.serviceClient;
public class LoadedApkGetCLHooker extends XC_MethodHook {
private final LoadedApk loadedApk;

View File

@ -20,6 +20,9 @@
package org.lsposed.lspd.hooker;
import static org.lsposed.lspd.util.Utils.logD;
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
import org.lsposed.lspd.util.Hookers;
import de.robv.android.xposed.XC_MethodHook;
@ -29,9 +32,6 @@ import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.XposedInit;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import static org.lsposed.lspd.util.Utils.logD;
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
public class StartBootstrapServicesHooker extends XC_MethodHook {
@Override

View File

@ -22,11 +22,10 @@ package org.lsposed.lspd.hooker;
import android.os.IBinder;
import de.robv.android.xposed.XC_MethodReplacement;
import de.robv.android.xposed.XposedHelpers;
import org.lsposed.lspd.BuildConfig;
import org.lsposed.lspd.util.Utils;
import de.robv.android.xposed.XposedHelpers;
public class XposedInstallerHooker {
public static void hookXposedInstaller(final ClassLoader classLoader, IBinder binder) {

View File

@ -19,6 +19,8 @@
package org.lsposed.lspd.service;
import static org.lsposed.lspd.service.ServiceManager.TAG;
import android.app.IActivityManager;
import android.app.IApplicationThread;
import android.app.IServiceConnection;
@ -34,8 +36,6 @@ import android.os.RemoteException;
import android.os.ServiceManager;
import android.util.Log;
import static org.lsposed.lspd.service.ServiceManager.TAG;
public class ActivityManagerService {
private static IActivityManager am = null;
private static IBinder binder = null;

View File

@ -19,15 +19,13 @@
package org.lsposed.lspd.service;
import static android.content.Context.BIND_AUTO_CREATE;
import static org.lsposed.lspd.service.ServiceManager.TAG;
import static hidden.HiddenApiBridge.Binder_allowBlocking;
import static hidden.HiddenApiBridge.Context_getActivityToken;
import android.app.ActivityThread;
import android.app.IApplicationThread;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Binder;
import android.os.IBinder;
import android.os.Parcel;
@ -51,10 +49,6 @@ import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Map;
import static hidden.HiddenApiBridge.Binder_allowBlocking;
import static hidden.HiddenApiBridge.Context_getActivityToken;
import static org.lsposed.lspd.service.ServiceManager.TAG;
public class BridgeService {
private static final int TRANSACTION_CODE = ('_' << 24) | ('L' << 16) | ('S' << 8) | 'P';
private static final String DESCRIPTOR = "LSPosed";

View File

@ -20,6 +20,7 @@
package org.lsposed.lspd.service;
import static android.content.Context.BIND_AUTO_CREATE;
import static org.lsposed.lspd.service.ServiceManager.TAG;
import android.app.IServiceConnection;
import android.content.ComponentName;
@ -33,17 +34,15 @@ import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
import android.util.Log;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import de.robv.android.xposed.XposedBridge;
import org.lsposed.lspd.Application;
import org.lsposed.lspd.BuildConfig;
import org.lsposed.lspd.ILSPManagerService;
import org.lsposed.lspd.utils.ParceledListSlice;
import static org.lsposed.lspd.service.ServiceManager.TAG;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import de.robv.android.xposed.XposedBridge;
public class LSPManagerService extends ILSPManagerService.Stub {

View File

@ -19,6 +19,9 @@
package org.lsposed.lspd.service;
import static org.lsposed.lspd.service.ConfigManager.PER_USER_RANGE;
import static org.lsposed.lspd.service.ServiceManager.TAG;
import android.app.IApplicationThread;
import android.content.ComponentName;
import android.content.IIntentReceiver;
@ -35,9 +38,6 @@ import android.util.Log;
import java.util.Arrays;
import static org.lsposed.lspd.service.ConfigManager.PER_USER_RANGE;
import static org.lsposed.lspd.service.ServiceManager.TAG;
public class LSPosedService extends ILSPosedService.Stub {
private static final int AID_NOBODY = 9999;
private static final int USER_NULL = -10000;

View File

@ -1,13 +1,13 @@
package org.lsposed.lspd.service;
import static org.lsposed.lspd.service.ServiceManager.TAG;
import android.os.IBinder;
import android.os.IPowerManager;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.util.Log;
import static org.lsposed.lspd.service.ServiceManager.TAG;
public class PowerService {
private static IPowerManager pm = null;
private static IBinder binder = null;

View File

@ -19,6 +19,8 @@
package org.lsposed.lspd.service;
import static org.lsposed.lspd.service.ServiceManager.TAG;
import android.content.pm.UserInfo;
import android.os.Build;
import android.os.IBinder;
@ -29,8 +31,6 @@ import android.util.Log;
import java.util.List;
import static org.lsposed.lspd.service.ServiceManager.TAG;
public class UserService {
private static IUserManager um = null;
private static IBinder binder = null;

View File

@ -24,10 +24,6 @@ import android.app.ActivityThread;
import android.os.ParcelFileDescriptor;
import android.os.Process;
import org.lsposed.lspd.util.Utils;
import java.io.File;
import java.io.FileDescriptor;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;

View File

@ -20,17 +20,16 @@
package org.lsposed.lspd.yahfa.dexmaker;
import org.lsposed.lspd.util.Logger;
import java.lang.reflect.Executable;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Member;
import java.lang.reflect.Modifier;
import java.util.concurrent.ConcurrentHashMap;
import de.robv.android.xposed.LspHooker;
import de.robv.android.xposed.XposedBridge;
import org.lsposed.lspd.util.Logger;
public final class DynamicBridge {
private static final ConcurrentHashMap<Executable, LspHooker> hookedInfo = new ConcurrentHashMap<>();
private static final HookerDexMaker dexMaker = new HookerDexMaker();

View File

@ -21,13 +21,14 @@ package org.lsposed.lspd.yahfa.hooker;
import android.os.Build;
import org.lsposed.lspd.nativebridge.ClassLinker;
import org.lsposed.lspd.nativebridge.Yahfa;
import org.lsposed.lspd.util.ClassUtils;
import org.lsposed.lspd.yahfa.dexmaker.DynamicBridge;
import java.lang.reflect.Executable;
import de.robv.android.xposed.XposedBridge.AdditionalHookInfo;
import org.lsposed.lspd.nativebridge.ClassLinker;
import org.lsposed.lspd.nativebridge.Yahfa;
import org.lsposed.lspd.yahfa.dexmaker.DynamicBridge;
import org.lsposed.lspd.util.ClassUtils;
public class YahfaHooker {
public static void init() {