From 10ec1c6a2becf31c5ab6053036231a9bac280d36 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 14 Sep 2020 10:58:53 +0300 Subject: [PATCH] Added Hide Task Button, Hide Status Bar Separators and small Taskbar Fixes options. --- README.md | 29 +++-- bin/com.pijulius.xposeddex.apk | Bin 20896 -> 22778 bytes res/values/strings.xml | 8 +- res/xml/settings.xml | 28 +++-- src/com/pijulius/xposeddex/XposedDex.java | 136 +++++++++++++++++++++- 5 files changed, 179 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index da0378f..d05d674 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,37 @@ -# XposedDex +# XposedDex One UI 2.1 Samsung Dex modifications through Xposed 1. Immersive Apps, Will enable the possibility to define which apps to run in Immersive mode so they remove the titlebar when maximized. 2. Hide Dex Logo, -Removes the Dex logo from the taskbar to have more space (that menu wasn't anyway that useful). (change requires restart) +Removes the Dex logo from the taskbar to have more space (that menu wasn't anyway that useful). -3. Hide NoSIM Icon, -Removes the NoSIM icon from statusbar. (change requires restart) +3. Hide NoSIM Icon, +Removes the NoSIM icon from statusbar. -4. Hide App Overflow Buttons, -Removes left and right arrows when to many apps are open. (change requires restart) +4. Hide App Overflow Buttons, +Removes left and right arrows when to many apps are open. 5. Fix Keyboard, -Enables floating mode for non qwerty keyboard layouts too and fixes dark mode having a white border around the keyboard. (change requires restart) +Enables floating mode for non qwerty keyboard layouts too and fixes dark mode having a white border around the keyboard. 6. Fix Samsung Browser, -Enables secret mode (as it's disabled if Magisk installed) and disable always visible scroll bar (looks ugly under dark mode). (change requires restart) +Enables secret mode (as it's disabled if Magisk installed) and disable always visible scroll bar (looks ugly under dark mode). 7. Fix Weather, -Keep displaying weather icon in the statusbar. (change requires restart) +Keep displaying weather icon in the statusbar. + +8. Hide Task Button, +Remove the tasks button on the taskbar. + +9. Hide Status Bar Separators, +Makes statusbar more compact and hides empty spaces. + +10. Taskbar Fixes +Don't make it fully black (buttons on the taskbar) when window maximized. + +NOTE: All changes require a restart. IMPORTANT: Requires Magisk and edXposed installed on your tablet. Only tested with One UI 2.1, Android 10, Build T865XXU2BTC7 so latest release for Tab S6 diff --git a/bin/com.pijulius.xposeddex.apk b/bin/com.pijulius.xposeddex.apk index dceb835cfd48d38457a1d35e9170305400198b76..bfce233d9e958f342fc16e17c50cc1997a580276 100644 GIT binary patch delta 11279 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 a|6bzXdw#5rf6=J|Y*LQ~RY~=)?*9OLQ^7z0 diff --git a/res/values/strings.xml b/res/values/strings.xml index ff55449..a748312 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -13,14 +13,18 @@ Enables secret mode and disable always visible scroll bar. Fix Weather Keep displaying weather icon in the statusbar. - Fix Squid - Make it Premium and some small fixes. Dex Taskbar + Fix Taskbar + Disable setting black backgrounds for statusbar and taskbar buttons on maximized applications. Hide Dex Logo Removes the Dex logo from the taskbar. + Hide Tasks Button + Removes the Tasks button from the taskbar. Hide NoSIM Icon Removes the NoSIM icon from statusbar. + Hide StatusBar Separators + Removes empty gaps from statusbar to make it more compact. Hide App Overflow Buttons Removes left and right arrows when to many apps are open. diff --git a/res/xml/settings.xml b/res/xml/settings.xml index adeb757..b5d3384 100644 --- a/res/xml/settings.xml +++ b/res/xml/settings.xml @@ -33,18 +33,18 @@ android:title="@string/settings_fix_weather" android:key="fixWeather" /> - - + + + + + + \ No newline at end of file diff --git a/src/com/pijulius/xposeddex/XposedDex.java b/src/com/pijulius/xposeddex/XposedDex.java index 22c7a84..eaf05f8 100644 --- a/src/com/pijulius/xposeddex/XposedDex.java +++ b/src/com/pijulius/xposeddex/XposedDex.java @@ -44,6 +44,9 @@ public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable { immersiveApps(lpparam); + if (settings.getBoolean("fixTaskbar", true)) + taskbarFixes(lpparam); + if (settings.getBoolean("fixKeyboard", true)) keyboardFixes(lpparam); @@ -102,14 +105,44 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable { }); } + public void taskbarFixes(LoadPackageParam lpparam) { + // Taskbar fixes, disable setting the black backgrounds when an app is maximized + if (!lpparam.packageName.equals("com.samsung.desktopsystemui")) + return; + + Class hookClass = null; + + hookClass = findClass("com.samsung.desktopsystemui.statusbar.phone.taskbar.views.TaskBarView", + lpparam.classLoader); + + XposedBridge.hookAllMethods(hookClass, "setDarkBackground", new XC_MethodHook() { + @Override + protected void beforeHookedMethod(MethodHookParam param) throws Throwable { + param.setResult(false); + } + }); + + hookClass = findClass("com.samsung.desktopsystemui.statusbar.phone.taskbar.desk.DeskStatusBarView", + lpparam.classLoader); + + XposedBridge.hookAllMethods(hookClass, "setDarkBackground", new XC_MethodHook() { + @Override + protected void beforeHookedMethod(MethodHookParam param) throws Throwable { + param.setResult(false); + } + }); + } + public void taskbarResourceFixes(InitPackageResourcesParam resparam) { if (!resparam.packageName.equals("com.samsung.desktopsystemui")) return; final boolean hideDexLogo = settings.getBoolean("hideDexLogo", true); + final boolean hideTasksButton = settings.getBoolean("hideTasksButton", true); final boolean hideAppOverflowButtons = settings.getBoolean("hideAppOverflowButtons", true); + final boolean hideStatusBarSeparators = settings.getBoolean("hideStatusBarSeparators", true); - if (hideDexLogo || hideAppOverflowButtons) { + if (hideDexLogo || hideTasksButton || hideAppOverflowButtons || hideStatusBarSeparators) { resparam.res.hookLayout("com.samsung.desktopsystemui", "layout", "taskbar", new XC_LayoutInflated() { @Override public void handleLayoutInflated(XC_LayoutInflated.LayoutInflatedParam liparam) throws Throwable { @@ -133,6 +166,18 @@ public void handleLayoutInflated(XC_LayoutInflated.LayoutInflatedParam liparam) marginParams.setMarginEnd(0); } + if (hideTasksButton) { + view = (View)liparam.view.findViewById(liparam.res.getIdentifier( + "recent_apps", "id", "com.samsung.desktopsystemui")); + + view.setVisibility(View.GONE); + view.getLayoutParams().width = 0; + + MarginLayoutParams marginParams = (MarginLayoutParams)view.getLayoutParams(); + marginParams.setMarginStart(0); + marginParams.setMarginEnd(0); + } + if (hideAppOverflowButtons) { view = (View)liparam.view.findViewById(liparam.res.getIdentifier( "button_scroll_left", "id", "com.samsung.desktopsystemui")); @@ -146,8 +191,89 @@ public void handleLayoutInflated(XC_LayoutInflated.LayoutInflatedParam liparam) view.setVisibility(View.GONE); view.getLayoutParams().width = 0; } + + if (hideStatusBarSeparators) { + view = (View)liparam.view.findViewById(liparam.res.getIdentifier( + "size_control", "id", "com.samsung.desktopsystemui")); + + MarginLayoutParams marginParams = (MarginLayoutParams)view.getLayoutParams(); + marginParams.setMarginStart(0); + marginParams.setMarginEnd(0); + + view = (View)liparam.view.findViewById(liparam.res.getIdentifier( + "desk_status_bar_container", "id", "com.samsung.desktopsystemui")); + + marginParams = (MarginLayoutParams)view.getLayoutParams(); + marginParams.setMarginStart(0); + marginParams.setMarginEnd(0); + + view = (View)liparam.view.findViewById(liparam.res.getIdentifier( + "taskbar_divider", "id", "com.samsung.desktopsystemui")); + + view.setVisibility(View.GONE); + view.getLayoutParams().width = 0; + view.setPadding(0, 0, 0, 0); + + marginParams = (MarginLayoutParams)view.getLayoutParams(); + marginParams.setMarginStart(0); + marginParams.setMarginEnd(0); + + view = (View)liparam.view.findViewById(liparam.res.getIdentifier( + "global_function", "id", "com.samsung.desktopsystemui")); + + view.setPadding(0, view.getPaddingTop(), view.getPaddingRight(), view.getPaddingBottom()); + } } }); + + if (hideStatusBarSeparators) { + resparam.res.hookLayout("com.samsung.desktopsystemui", "layout", "desk_status_bar", new XC_LayoutInflated() { + @Override + public void handleLayoutInflated(XC_LayoutInflated.LayoutInflatedParam liparam) throws Throwable { + View view = null; + + view = (View)liparam.view.findViewById(liparam.res.getIdentifier( + "notification_icon_area", "id", "com.samsung.desktopsystemui")); + + view.setPadding(0, view.getPaddingTop(), 0, view.getPaddingBottom()); + + MarginLayoutParams marginParams = (MarginLayoutParams)view.getLayoutParams(); + marginParams.setMarginStart(0); + marginParams.setMarginEnd(0); + + view = (View)liparam.view.findViewById(liparam.res.getIdentifier( + "system_icon_area_outer", "id", "com.samsung.desktopsystemui")); + + view.setPadding(0, view.getPaddingTop(), 0, view.getPaddingBottom()); + } + }); + + resparam.res.setReplacement( + "com.samsung.desktopsystemui", "drawable", "desk_panel_view_bg", new XResources.DrawableLoader() { + @Override + public Drawable newDrawable(XResources res, int id) throws Throwable { + return new ColorDrawable(Color.TRANSPARENT); + } + }); + + resparam.res.setReplacement( + "com.samsung.desktopsystemui", "drawable", "quick_connect_hidden_icon", new XResources.DrawableLoader() { + @SuppressWarnings("deprecation") + @Override + public Drawable newDrawable(XResources res, int id) throws Throwable { + return res.getDrawable(android.R.drawable.arrow_up_float); + } + }); + + resparam.res.setReplacement( + "com.samsung.desktopsystemui", "drawable", "stat_notify_more_for_desk", new XResources.DrawableLoader() { + @SuppressWarnings("deprecation") + @Override + public Drawable newDrawable(XResources res, int id) throws Throwable { + return res.getDrawable(android.R.drawable.arrow_up_float); + } + }); + } } if (settings.getBoolean("hideNoSIMIcon", true)) { @@ -260,12 +386,14 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable { } }); - hookClass = findClass("com.sec.android.daemonapp.app.notification.WeatherNotificationManager", + //hookClass = findClass("com.samsung.android.weather.infrastructure.system.android.DesktopModeManager", + //hookClass = findClass("com.samsung.android.weather.infrastructure.system.sdl.DesktopModeManager", + hookClass = findClass("com.samsung.android.weather.infrastructure.system.sep.DesktopModeManager", lpparam.classLoader); - XposedBridge.hookAllMethods(hookClass, "stopPanelOnGoingNoti", new XC_MethodHook() { + XposedBridge.hookAllMethods(hookClass, "isDesktopMode", new XC_MethodHook() { @Override - protected void beforeHookedMethod(MethodHookParam param) throws Throwable { + protected void afterHookedMethod(MethodHookParam param) throws Throwable { param.setResult(false); } });