package de.theknut.xposedgelsettings.hooks.general; import de.theknut.xposedgelsettings.hooks.Common; import de.theknut.xposedgelsettings.hooks.ObfuscationHelper.Fields; import de.theknut.xposedgelsettings.hooks.PreferencesHelper; import de.theknut.xposedgelsettings.hooks.common.XGELSCallback; import static de.robv.android.xposed.XposedHelpers.callMethod; import static de.robv.android.xposed.XposedHelpers.setIntField; public class MoveToDefaultScreenHook extends XGELSCallback { // http://androidxref.com/4.4.2_r1/xref/packages/apps/Launcher3/src/com/android/launcher3/Workspace.java#4429 // void moveToDefaultScreen(boolean animate) { // moveToScreen(mDefaultPage, animate); // } @Override public void onBeforeHookedMethod(MethodHookParam param) throws Throwable { int newDefaultPageNumber = ((PreferencesHelper.defaultHomescreen == 0) ? 0 : PreferencesHelper.defaultHomescreen) - 1; // move to our default homescreen if (Common.IS_TREBUCHET) { setIntField(param.thisObject, "mDefaultPage", newDefaultPageNumber); callMethod(param.thisObject, "moveToScreen", newDefaultPageNumber, param.args[0]); param.setResult(null); } else { setIntField(param.thisObject, Fields.wDefaultPage, newDefaultPageNumber); } } }