@Override public Object afterCall(Object who, Method method, Object[] args, Object result) throws Throwable { return super.afterCall(who, method, args, result); }
@Override public boolean beforeCall(Object who, Method method, Object... args) { if (args == null || args.length == 0) { return super.beforeCall(who, method, args); } if (args[0] instanceof Integer) { args[0] = getRealUid(); } MethodParameterUtils.replaceFirstAppPkg(args); return super.beforeCall(who, method, args); }
@Override public Object call(Object who, Method method, Object... args) throws Throwable { return super.call(who, method, args); } }
public int getMode() { return getMode(MethodProxy.getAppUserId(), MethodProxy.getAppPkg()); }
@Override public String toString() { return "Method : " + getMethodName(); } }
public static boolean isVisiblePackage(ApplicationInfo info) { return getHostPkg().equals(info.packageName) || ComponentUtils.isSystemApp(info) || VirtualCore.get().isOutsidePackageVisible(info.packageName); }
public static int getAppUserId() { return VUserHandle.getUserId(getVUid()); }
public Object call(Object who, Method method, Object... args) throws Throwable { return VJobScheduler.get().enqueue( (JobInfo) args[0], JobServiceStub.this.redirect(args[1], MethodProxy.getAppPkg()) ); } public String getMethodName() {
public VLocation getLocation() { return getLocation(MethodProxy.getAppUserId(), MethodProxy.getAppPkg()); }
/** * Add a method proxy. * * @param methodProxy proxy */ public MethodProxy addMethodProxy(MethodProxy methodProxy) { if (methodProxy != null && !TextUtils.isEmpty(methodProxy.getMethodName())) { if (mInternalMethodProxies.containsKey(methodProxy.getMethodName())) { VLog.w(TAG, "The Hook(%s, %s) you added has been in existence.", methodProxy.getMethodName(), methodProxy.getClass().getName()); return methodProxy; } mInternalMethodProxies.put(methodProxy.getMethodName(), methodProxy); } return methodProxy; }
public static boolean isVisiblePackage(ApplicationInfo info) { return getHostPkg().equals(info.packageName) || ComponentUtils.isSystemApp(info) || VirtualCore.get().isOutsidePackageVisible(info.packageName); }
public static int getAppUserId() { return VUserHandle.getUserId(getVUid()); }
@Override public Object call(Object who, Method method, Object... args) throws Throwable { if (VASettings.Wifi.FAKE_WIFI_STATE) { return WifiManager.WIFI_STATE_ENABLED; } return super.call(who, method, args); } });
public int getMode() { return getMode(MethodProxy.getAppUserId(), MethodProxy.getAppPkg()); }
/** * Remove a method proxy. * * @param methodProxy target proxy */ public void removeMethodProxy(MethodProxy methodProxy) { if (methodProxy != null) { removeMethodProxy(methodProxy.getMethodName()); } }
@Override public Object afterCall(Object who, Method method, Object[] args, Object result) throws Throwable { Intent intent = (Intent) super.afterCall(who, method, args, result); if (intent != null && intent.hasExtra("_VA_|_intent_")) { return intent.getParcelableExtra("_VA_|_intent_"); } return intent; } }
@Override public boolean beforeCall(Object who, Method method, Object... args) { MethodParameterUtils.replaceFirstAppPkg(args); return super.beforeCall(who, method, args); }
public static boolean isVisiblePackage(ApplicationInfo info) { return getHostPkg().equals(info.packageName) || ComponentUtils.isSystemApp(info) || VirtualCore.get().isOutsidePackageVisible(info.packageName); }
public static int getAppUserId() { return VUserHandle.getUserId(getVUid()); }
@Override public Object call(Object who, Method method, Object... args) throws Throwable { if (VASettings.Wifi.FAKE_WIFI_STATE) { return true; } return super.call(who, method, args); } });