[1/2] Launcher3: add option to hide gesture navigation and size config handle
Change-Id: I611c7aaff8b06b48b053e5388035d6114d8e1f3d
Signed-off-by: micky387 <mickaelsaibi@free.fr>
diff --git a/quickstep/res/values/custom_dimens.xml b/quickstep/res/values/custom_dimens.xml
new file mode 100644
index 0000000..5928870
--- /dev/null
+++ b/quickstep/res/values/custom_dimens.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<resources>
+
+ <dimen name="omni_taskbar_stashed_hide">0dp</dimen>
+ <dimen name="omni_taskbar_stashed_handle_width">110dp</dimen>
+ <dimen name="omni_taskbar_stashed_small_screen">54dp</dimen> <!-- the minimum value is 48db -->
+
+</resources>
diff --git a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
index b6b090c..2368a49 100644
--- a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
@@ -17,6 +17,8 @@
import static android.view.Display.DEFAULT_DISPLAY;
+import static com.android.launcher3.taskbar.TaskbarManager.OMNI_GESTURE_HANDLE_HIDE;
+import static com.android.launcher3.taskbar.TaskbarManager.OMNI_GESTURE_HANDLE_SMALL;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NAV_BAR_HIDDEN;
import android.animation.Animator;
@@ -40,6 +42,7 @@
import com.android.launcher3.util.Executors;
import com.android.launcher3.util.MultiPropertyFactory;
import com.android.launcher3.util.MultiValueAlpha;
+import com.android.launcher3.util.SettingsCache;
import com.android.quickstep.NavHandle;
import com.android.systemui.shared.system.QuickStepContract.SystemUiStateFlags;
import com.android.wm.shell.shared.handles.RegionSamplingHelper;
@@ -121,12 +124,28 @@
Resources resources = mActivity.getResources();
if (mActivity.isPhoneGestureNavMode() || mActivity.isTinyTaskbar()) {
mTaskbarSize = resources.getDimensionPixelSize(R.dimen.taskbar_phone_size);
- mStashedHandleWidth =
- resources.getDimensionPixelSize(R.dimen.taskbar_stashed_small_screen);
+ if (SettingsCache.INSTANCE.get(mActivity).getValue(OMNI_GESTURE_HANDLE_HIDE, 1)) {
+ mStashedHandleWidth =
+ resources.getDimensionPixelSize(R.dimen.omni_taskbar_stashed_hide);
+ } else if (SettingsCache.INSTANCE.get(mActivity).getValue(OMNI_GESTURE_HANDLE_SMALL, 1)) {
+ mStashedHandleWidth =
+ resources.getDimensionPixelSize(R.dimen.omni_taskbar_stashed_small_screen);
+ } else {
+ mStashedHandleWidth =
+ resources.getDimensionPixelSize(R.dimen.taskbar_stashed_small_screen);
+ }
} else {
mTaskbarSize = deviceProfile.taskbarHeight;
- mStashedHandleWidth = resources
- .getDimensionPixelSize(R.dimen.taskbar_stashed_handle_width);
+ if (SettingsCache.INSTANCE.get(mActivity).getValue(OMNI_GESTURE_HANDLE_HIDE, 1)) {
+ mStashedHandleWidth =
+ resources.getDimensionPixelSize(R.dimen.omni_taskbar_stashed_hide);
+ } else if (SettingsCache.INSTANCE.get(mActivity).getValue(OMNI_GESTURE_HANDLE_SMALL, 1)) {
+ mStashedHandleWidth =
+ resources.getDimensionPixelSize(R.dimen.omni_taskbar_stashed_handle_width);
+ } else {
+ mStashedHandleWidth = resources
+ .getDimensionPixelSize(R.dimen.taskbar_stashed_handle_width);
+ }
}
int taskbarBottomMargin = deviceProfile.taskbarBottomMargin;
mStashedHandleView.getLayoutParams().height = mTaskbarSize + taskbarBottomMargin;
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
index 9407e73..56d4d50 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
@@ -84,6 +84,8 @@
import java.io.PrintWriter;
import java.util.StringJoiner;
+import org.omnirom.omnilib.utils.OmniSettings;
+
/**
* Class to manage taskbar lifecycle
*/
@@ -113,6 +115,12 @@
private static final Uri NAV_BAR_KIDS_MODE = Settings.Secure.getUriFor(
Settings.Secure.NAV_BAR_KIDS_MODE);
+ public static final Uri OMNI_GESTURE_HANDLE_HIDE = Settings.System.getUriFor(
+ OmniSettings.OMNI_GESTURE_HANDLE_HIDE);
+
+ public static final Uri OMNI_GESTURE_HANDLE_SMALL = Settings.System.getUriFor(
+ OmniSettings.OMNI_GESTURE_HANDLE_SMALL);
+
private final Context mWindowContext;
private final @Nullable Context mNavigationBarPanelContext;
private WindowManager mWindowManager;
@@ -249,6 +257,10 @@
.register(USER_SETUP_COMPLETE_URI, mOnSettingsChangeListener);
SettingsCache.INSTANCE.get(mWindowContext)
.register(NAV_BAR_KIDS_MODE, mOnSettingsChangeListener);
+ SettingsCache.INSTANCE.get(mWindowContext)
+ .register(OMNI_GESTURE_HANDLE_HIDE, mOnSettingsChangeListener);
+ SettingsCache.INSTANCE.get(mWindowContext)
+ .register(OMNI_GESTURE_HANDLE_SMALL, mOnSettingsChangeListener);
Log.d(TASKBAR_NOT_DESTROYED_TAG, "registering component callbacks from constructor.");
mWindowContext.registerComponentCallbacks(mDefaultComponentCallbacks);
mShutdownReceiver.register(mWindowContext, Intent.ACTION_SHUTDOWN);
@@ -721,6 +733,10 @@
.unregister(USER_SETUP_COMPLETE_URI, mOnSettingsChangeListener);
SettingsCache.INSTANCE.get(mWindowContext)
.unregister(NAV_BAR_KIDS_MODE, mOnSettingsChangeListener);
+ SettingsCache.INSTANCE.get(mWindowContext)
+ .unregister(OMNI_GESTURE_HANDLE_HIDE, mOnSettingsChangeListener);
+ SettingsCache.INSTANCE.get(mWindowContext)
+ .unregister(OMNI_GESTURE_HANDLE_SMALL, mOnSettingsChangeListener);
Log.d(TASKBAR_NOT_DESTROYED_TAG, "unregistering component callbacks from destroy().");
mWindowContext.unregisterComponentCallbacks(mDefaultComponentCallbacks);
mShutdownReceiver.unregisterReceiverSafely(mWindowContext);