Use am from service manager (#1656)

This commit is contained in:
LoveSy 2022-02-10 00:30:34 +08:00 committed by GitHub
parent 4e33363729
commit 3bcb2867b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 3 deletions

View File

@ -13,6 +13,7 @@ import android.os.Bundle;
import android.os.IBinder;
import android.os.Parcel;
import android.os.ResultReceiver;
import android.os.ServiceManager;
import android.os.ShellCallback;
import android.os.ShellCommand;
import android.util.Log;
@ -101,7 +102,7 @@ public class ActivityController extends IActivityController.Stub {
}
}
return replaceMyControllerActivity(am, pw, getRawInputStream(), gdbPort, monkey);
return replaceMyControllerActivity(pw, getRawInputStream(), gdbPort, monkey);
}
@Override
@ -140,7 +141,7 @@ public class ActivityController extends IActivityController.Stub {
return false;
}
static private int replaceMyControllerActivity(IBinder am, PrintWriter pw, InputStream stream, String gdbPort, boolean monkey) {
static private int replaceMyControllerActivity(PrintWriter pw, InputStream stream, String gdbPort, boolean monkey) {
try {
InvocationHandler handler = (proxy, method, args1) -> {
if (method.getName().equals("setActivityController")) {
@ -150,7 +151,7 @@ public class ActivityController extends IActivityController.Stub {
Log.e(TAG, "replace activity controller", e);
}
}
return method.invoke(am, args1);
return method.invoke(ServiceManager.getService("activity"), args1);
};
var amProxy = Proxy.newProxyInstance(BridgeService.class.getClassLoader(),
new Class[]{myActivityControllerConstructor.getParameterTypes()[0]}, handler);