package com.lody.virtual.client.hook.patchs.am;
import android.content.ComponentName;
import android.os.IBinder;
import com.lody.virtual.client.hook.base.Hook;
import com.lody.virtual.client.ipc.VActivityManager;
import java.lang.reflect.Method;
/**
* @author Lody
*
* 原型: public boolean stopServiceToken(ComponentName className, IBinder
* token, int startId)
*/
/* package */ class StopServiceToken extends Hook {
@Override
public String getName() {
return "stopServiceToken";
}
@Override
public Object call(Object who, Method method, Object... args) throws Throwable {
ComponentName componentName = (ComponentName) args[0];
IBinder token = (IBinder) args[1];
if (!VActivityManager.get().isVAServiceToken(token)) {
return method.invoke(who, args);
}
int startId = (int) args[2];
if (componentName != null) {
return VActivityManager.get().stopServiceToken(componentName, token, startId);
}
return method.invoke(who, args);
}
@Override
public boolean isEnable() {
return isAppProcess() || isServerProcess();
}
}