diff --git a/app/src/main/java/it/dhd/oxygencustomizer/xposed/hooks/launcher/Launcher.java b/app/src/main/java/it/dhd/oxygencustomizer/xposed/hooks/launcher/Launcher.java index 72ddef868..c0a859745 100644 --- a/app/src/main/java/it/dhd/oxygencustomizer/xposed/hooks/launcher/Launcher.java +++ b/app/src/main/java/it/dhd/oxygencustomizer/xposed/hooks/launcher/Launcher.java @@ -15,12 +15,20 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.ColorFilter; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffColorFilter; import android.graphics.drawable.Drawable; import android.net.Uri; import android.provider.Settings; import android.util.AttributeSet; +import android.view.MotionEvent; import android.view.View; +import androidx.core.graphics.ColorUtils; + import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import de.robv.android.xposed.callbacks.XC_LoadPackage; @@ -32,7 +40,9 @@ public class Launcher extends XposedMods { private static final String listenPackage = Constants.Packages.LAUNCHER; private int mFolderRows, mFolderColumns, mDrawerColumns; - private boolean mFolderRearrange, mFolderPreview, mDrawerRearrange, mOpenAppDetails; + private boolean mFolderRearrange = false, mFolderPreview = false, mDrawerRearrange = false, mOpenAppDetails; + private boolean mRemoveShortcut = false, mRemoveClone = false; + private boolean mRemoveFolderPagination = false, mRemoveHomePagination = false; public Launcher(Context context) { super(context); @@ -49,17 +59,10 @@ public void updatePrefs(String... Key) { mFolderPreview = Xprefs.getBoolean("rearrange_preview", true); mDrawerRearrange = Xprefs.getBoolean("rearrange_drawer", true); mOpenAppDetails = Xprefs.getBoolean("launcher_open_app_details", false); - - if (Key.length > 0 &&( - Key[0].equals("folder_rows") || - Key[0].equals("folder_columns") || - Key[0].equals("drawer_columns") || - Key[0].equals("rearrange_folder") || - Key[0].equals("rearrange_preview") || - Key[0].equals("rearrange_drawer") - )) { - //onConfigChanged(); - } + mRemoveShortcut = Xprefs.getBoolean("remove_shortcut_badge_title", false); + mRemoveClone = Xprefs.getBoolean("remove_clone_badge", false); + mRemoveFolderPagination = Xprefs.getBoolean("remove_folder_pagination", false); + mRemoveHomePagination = Xprefs.getBoolean("remove_home_pagination", false); } @@ -118,6 +121,34 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable { } }); + Class OplusPageIndicator = findClass("com.android.launcher.pageindicators.OplusPageIndicator", lpparam.classLoader); + findAndHookMethod(OplusPageIndicator, "onDraw", Canvas.class, new XC_MethodHook() { + @Override + protected void beforeHookedMethod(MethodHookParam param) throws Throwable { + View v = (View) param.thisObject; + switch (v.getParent().getClass().getCanonicalName()) { + case "com.android.launcher3.OplusDragLayer": + v.setVisibility(View.GONE); + if (mRemoveHomePagination) param.setResult(null); + break; + case "android.widget.FrameLayout": + v.setVisibility(View.GONE); + if (mRemoveFolderPagination) param.setResult(null); + break; + } + } + }); + + try { + Class PageIndicatorTouchHelper = findClass("com.android.launcher.pageindicators.PageIndicatorTouchHelper", lpparam.classLoader); + findAndHookMethod(PageIndicatorTouchHelper, "dispatchTouchEvent", MotionEvent.class, new XC_MethodHook() { + @Override + protected void beforeHookedMethod(MethodHookParam param) throws Throwable { + if (mRemoveHomePagination) param.setResult(false); + } + }); + } catch (Throwable ignored) {} + } class ClickListener implements View.OnLongClickListener { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ceed5f394..88da80b1b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -447,13 +447,14 @@ Columns Rows Update preview + Remove Folder Pagination Drawer Edit columns Columns Recents Open App Details Tap on the app icon to open app details in Settings. - + Remove Home Pagination Navigation Bar diff --git a/app/src/main/res/xml/launcher_mods.xml b/app/src/main/res/xml/launcher_mods.xml index 649025542..d801176e9 100644 --- a/app/src/main/res/xml/launcher_mods.xml +++ b/app/src/main/res/xml/launcher_mods.xml @@ -48,6 +48,14 @@ android:summaryOff="@string/general_off" android:summaryOn="@string/general_on" android:defaultValue="false"/> + + + + + + + + \ No newline at end of file