package mobi.acpm.inspeckage.hooks;
import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.content.IntentFilter;
import android.os.Bundle;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import mobi.acpm.inspeckage.receivers.InspeckageReceiver;
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
/**
* Created by acpm on 17/07/16.
*/
public class UIHook extends XC_MethodHook {
public static final String TAG = "Inspeckage_GUI:";
public static void initAllHooks(final XC_LoadPackage.LoadPackageParam loadPackageParam) {
findAndHookMethod(Activity.class, "onCreate", Bundle.class, new XC_MethodHook() {
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
Activity appCompatActivity = (Activity) param.thisObject;
Context context = (Context) appCompatActivity.getApplicationContext();
context.registerReceiver(new InspeckageReceiver(param.thisObject),
new IntentFilter("mobi.acpm.inspeckage.INSPECKAGE_FILTER"));
}
});
findAndHookMethod(Fragment.class, "onCreate", Bundle.class, new XC_MethodHook() {
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
Fragment fragment = (Fragment) param.thisObject;
Context context = (Context) fragment.getActivity().getApplicationContext();
context.registerReceiver(new InspeckageReceiver(param.thisObject),
new IntentFilter("mobi.acpm.inspeckage.INSPECKAGE_FILTER"));
}
});
//findAndHookMethod(Activity.class, "finish", new XC_MethodHook() {
//protected void afterHookedMethod(MethodHookParam param) throws Throwable {
//android.os.Process.killProcess(android.os.Process.myPid());
//}
//});
}
}