Moving various nav-bar configs out of feature flags
Bug: 332588958
Test: Presubmit
Flag: None
Change-Id: Ia4dc5b69bcf4d461e3444b9e37bb7334bb74aae4
diff --git a/src/com/android/launcher3/LauncherPrefs.kt b/src/com/android/launcher3/LauncherPrefs.kt
index cb19b14..875c407 100644
--- a/src/com/android/launcher3/LauncherPrefs.kt
+++ b/src/com/android/launcher3/LauncherPrefs.kt
@@ -297,64 +297,7 @@
@JvmField
val ICON_STATE =
nonRestorableItem("pref_icon_shape_path", "", EncryptionType.MOVE_TO_DEVICE_PROTECTED)
- @JvmField
- val ALL_APPS_OVERVIEW_THRESHOLD =
- nonRestorableItem(
- "pref_all_apps_overview_threshold",
- 180,
- EncryptionType.MOVE_TO_DEVICE_PROTECTED
- )
- @JvmField
- val LONG_PRESS_NAV_HANDLE_SLOP_PERCENTAGE =
- nonRestorableItem("LPNH_SLOP_PERCENTAGE", 100, EncryptionType.MOVE_TO_DEVICE_PROTECTED)
- @JvmField
- val LONG_PRESS_NAV_HANDLE_EXTRA_TOUCH_WIDTH_DP =
- nonRestorableItem(
- "LPNH_EXTRA_TOUCH_WIDTH_DP",
- 0,
- EncryptionType.MOVE_TO_DEVICE_PROTECTED
- )
- @JvmField
- val LONG_PRESS_NAV_HANDLE_TIMEOUT_MS =
- nonRestorableItem(
- "LPNH_TIMEOUT_MS",
- 450,
- EncryptionType.MOVE_TO_DEVICE_PROTECTED
- )
- @JvmField
- val LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_START_SCALE_PERCENT =
- nonRestorableItem(
- "LPNH_HAPTIC_HINT_START_SCALE_PERCENT",
- 0,
- EncryptionType.MOVE_TO_DEVICE_PROTECTED
- )
- @JvmField
- val LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_END_SCALE_PERCENT =
- nonRestorableItem(
- "LPNH_HAPTIC_HINT_END_SCALE_PERCENT",
- 100,
- EncryptionType.MOVE_TO_DEVICE_PROTECTED
- )
- @JvmField
- val LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_SCALE_EXPONENT =
- nonRestorableItem(
- "LPNH_HAPTIC_HINT_SCALE_EXPONENT",
- 1,
- EncryptionType.MOVE_TO_DEVICE_PROTECTED
- )
- @JvmField
- val LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_ITERATIONS =
- nonRestorableItem(
- "LPNH_HAPTIC_HINT_ITERATIONS",
- 50,
- EncryptionType.MOVE_TO_DEVICE_PROTECTED
- )
- @JvmField
- val LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_DELAY =
- nonRestorableItem("LPNH_HAPTIC_HINT_DELAY", 0, EncryptionType.MOVE_TO_DEVICE_PROTECTED)
- @JvmField
- val PRIVATE_SPACE_APPS =
- nonRestorableItem("pref_private_space_apps", 0, EncryptionType.MOVE_TO_DEVICE_PROTECTED)
+
@JvmField
val ENABLE_TWOLINE_ALLAPPS_TOGGLE = backedUpItem("pref_enable_two_line_toggle", false)
@JvmField
diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java
index e476138..d6ce2b3 100644
--- a/src/com/android/launcher3/config/FeatureFlags.java
+++ b/src/com/android/launcher3/config/FeatureFlags.java
@@ -17,14 +17,6 @@
package com.android.launcher3.config;
import static com.android.launcher3.BuildConfig.WIDGET_ON_FIRST_SCREEN;
-import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_EXTRA_TOUCH_WIDTH_DP;
-import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_DELAY;
-import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_END_SCALE_PERCENT;
-import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_ITERATIONS;
-import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_SCALE_EXPONENT;
-import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_START_SCALE_PERCENT;
-import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_SLOP_PERCENTAGE;
-import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_TIMEOUT_MS;
import static com.android.launcher3.config.FeatureFlags.FlagState.DISABLED;
import static com.android.launcher3.config.FeatureFlags.FlagState.ENABLED;
import static com.android.launcher3.config.FeatureFlags.FlagState.TEAMFOOD;
@@ -38,10 +30,8 @@
import com.android.launcher3.BuildConfig;
import com.android.launcher3.Flags;
-import com.android.launcher3.uioverrides.flags.FlagsFactory;
import java.util.function.Predicate;
-import java.util.function.ToIntFunction;
/**
* Defines a set of flags used to control various launcher behaviors.
@@ -52,8 +42,6 @@
@VisibleForTesting
public static Predicate<BooleanFlag> sBooleanReader = f -> f.mCurrentValue;
- @VisibleForTesting
- public static ToIntFunction<IntFlag> sIntReader = f -> f.mCurrentValue;
private FeatureFlags() { }
@@ -130,42 +118,6 @@
getDebugFlag(275132633, "ENABLE_ALL_APPS_FROM_OVERVIEW", DISABLED,
"Allow entering All Apps from Overview (e.g. long swipe up from app)");
- public static final BooleanFlag CUSTOM_LPNH_THRESHOLDS =
- getReleaseFlag(301680992, "CUSTOM_LPNH_THRESHOLDS", ENABLED,
- "Add dev options and server side control to customize the LPNH "
- + "trigger slop and milliseconds");
-
- public static final BooleanFlag CUSTOM_LPH_THRESHOLDS = getReleaseFlag(331800576,
- "CUSTOM_LPH_THRESHOLDS", DISABLED,
- "Server side control to customize LPH timeout and touch slop");
-
- public static final BooleanFlag OVERRIDE_LPNH_LPH_THRESHOLDS = getReleaseFlag(331799727,
- "OVERRIDE_LPNH_LPH_THRESHOLDS", DISABLED,
- "Enable AGSA override for LPNH and LPH timeout and touch slop");
-
- public static final BooleanFlag ANIMATE_LPNH =
- getReleaseFlag(308693847, "ANIMATE_LPNH", TEAMFOOD,
- "Animates navbar when long pressing");
-
- public static final BooleanFlag SHRINK_NAV_HANDLE_ON_PRESS =
- getReleaseFlag(314158312, "SHRINK_NAV_HANDLE_ON_PRESS", DISABLED,
- "Shrinks navbar when long pressing if ANIMATE_LPNH is enabled");
-
- public static final IntFlag LPNH_SLOP_PERCENTAGE =
- FlagsFactory.getIntFlag(301680992, "LPNH_SLOP_PERCENTAGE", 100,
- "Controls touch slop percentage for lpnh",
- LONG_PRESS_NAV_HANDLE_SLOP_PERCENTAGE);
-
- public static final IntFlag LPNH_EXTRA_TOUCH_WIDTH_DP =
- FlagsFactory.getIntFlag(301680992, "LPNH_EXTRA_TOUCH_WIDTH_DP", 0,
- "Controls extra dp on the nav bar sides to trigger LPNH."
- + " Can be negative for a smaller touch region.",
- LONG_PRESS_NAV_HANDLE_EXTRA_TOUCH_WIDTH_DP);
-
- public static final IntFlag LPNH_TIMEOUT_MS =
- FlagsFactory.getIntFlag(301680992, "LPNH_TIMEOUT_MS", 450,
- "Controls lpnh timeout in milliseconds", LONG_PRESS_NAV_HANDLE_TIMEOUT_MS);
-
public static final BooleanFlag ENABLE_SHOW_KEYBOARD_OPTION_IN_ALL_APPS = getReleaseFlag(
270394468, "ENABLE_SHOW_KEYBOARD_OPTION_IN_ALL_APPS", ENABLED,
"Enable option to show keyboard when going to all-apps");
@@ -296,49 +248,6 @@
"INJECT_FALLBACK_APP_CORPUS_RESULTS", DISABLED,
"Inject fallback app corpus result when AiAi fails to return it.");
- public static final BooleanFlag ENABLE_LONG_PRESS_NAV_HANDLE =
- getReleaseFlag(299682306, "ENABLE_LONG_PRESS_NAV_HANDLE", ENABLED,
- "Enables long pressing on the bottom bar nav handle to trigger events.");
-
- public static final BooleanFlag ENABLE_SEARCH_HAPTIC_HINT =
- getReleaseFlag(314005131, "ENABLE_SEARCH_HAPTIC_HINT", ENABLED,
- "Enables haptic hint while long pressing on the bottom bar nav handle.");
-
- public static final BooleanFlag ENABLE_SEARCH_HAPTIC_COMMIT =
- getReleaseFlag(314005577, "ENABLE_SEARCH_HAPTIC_COMMIT", ENABLED,
- "Enables haptic hint at end of long pressing on the bottom bar nav handle.");
-
- public static final IntFlag LPNH_HAPTIC_HINT_START_SCALE_PERCENT =
- FlagsFactory.getIntFlag(309972570,
- "LPNH_HAPTIC_HINT_START_SCALE_PERCENT", 0,
- "Haptic hint start scale.",
- LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_START_SCALE_PERCENT);
-
- public static final IntFlag LPNH_HAPTIC_HINT_END_SCALE_PERCENT =
- FlagsFactory.getIntFlag(309972570,
- "LPNH_HAPTIC_HINT_END_SCALE_PERCENT", 100,
- "Haptic hint end scale.", LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_END_SCALE_PERCENT);
-
- public static final IntFlag LPNH_HAPTIC_HINT_SCALE_EXPONENT =
- FlagsFactory.getIntFlag(309972570,
- "LPNH_HAPTIC_HINT_SCALE_EXPONENT", 1,
- "Haptic hint scale exponent.",
- LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_SCALE_EXPONENT);
-
- public static final IntFlag LPNH_HAPTIC_HINT_ITERATIONS =
- FlagsFactory.getIntFlag(309972570, "LPNH_HAPTIC_HINT_ITERATIONS",
- 50,
- "Haptic hint number of iterations.",
- LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_ITERATIONS);
-
- public static final BooleanFlag ENABLE_LPNH_DEEP_PRESS =
- getReleaseFlag(310952290, "ENABLE_LPNH_DEEP_PRESS", ENABLED,
- "Long press of nav handle is instantly triggered if deep press is detected.");
-
- public static final IntFlag LPNH_HAPTIC_HINT_DELAY =
- FlagsFactory.getIntFlag(309972570, "LPNH_HAPTIC_HINT_DELAY", 0,
- "Delay before haptic hint starts.", LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_DELAY);
-
// TODO(Block 17): Clean up flags
// Aconfig migration complete for ENABLE_TASKBAR_PINNING.
private static final BooleanFlag ENABLE_TASKBAR_PINNING = getDebugFlag(296231746,
@@ -515,22 +424,6 @@
}
/**
- * Class representing an integer flag
- */
- public static class IntFlag {
-
- private final int mCurrentValue;
-
- public IntFlag(int currentValue) {
- mCurrentValue = currentValue;
- }
-
- public int get() {
- return sIntReader.applyAsInt(this);
- }
- }
-
- /**
* Enabled state for a flag
*/
public enum FlagState {
diff --git a/src/com/android/launcher3/util/VibratorWrapper.java b/src/com/android/launcher3/util/VibratorWrapper.java
index e1695e9..cd60c1d 100644
--- a/src/com/android/launcher3/util/VibratorWrapper.java
+++ b/src/com/android/launcher3/util/VibratorWrapper.java
@@ -19,11 +19,6 @@
import static android.os.VibrationEffect.createPredefined;
import static android.provider.Settings.System.HAPTIC_FEEDBACK_ENABLED;
-import static com.android.launcher3.config.FeatureFlags.LPNH_HAPTIC_HINT_DELAY;
-import static com.android.launcher3.config.FeatureFlags.LPNH_HAPTIC_HINT_END_SCALE_PERCENT;
-import static com.android.launcher3.config.FeatureFlags.LPNH_HAPTIC_HINT_ITERATIONS;
-import static com.android.launcher3.config.FeatureFlags.LPNH_HAPTIC_HINT_SCALE_EXPONENT;
-import static com.android.launcher3.config.FeatureFlags.LPNH_HAPTIC_HINT_START_SCALE_PERCENT;
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
@@ -40,7 +35,6 @@
import androidx.annotation.Nullable;
import com.android.launcher3.Utilities;
-import com.android.launcher3.config.FeatureFlags;
/**
* Wrapper around {@link Vibrator} to easily perform haptic feedback where necessary.
@@ -71,9 +65,6 @@
@Nullable
private final VibrationEffect mBumpEffect;
- @Nullable
- private final VibrationEffect mSearchEffect;
-
private long mLastDragTime;
private final int mThresholdUntilNextDragCallMillis;
@@ -133,25 +124,6 @@
mBumpEffect = null;
mThresholdUntilNextDragCallMillis = 0;
}
-
- if (mVibrator.areAllPrimitivesSupported(
- VibrationEffect.Composition.PRIMITIVE_QUICK_RISE,
- VibrationEffect.Composition.PRIMITIVE_TICK)) {
- if (FeatureFlags.ENABLE_SEARCH_HAPTIC_HINT.get()) {
- mSearchEffect = VibrationEffect.startComposition()
- .addPrimitive(VibrationEffect.Composition.PRIMITIVE_TICK, 1f)
- .compose();
- } else {
- // quiet ramp, short pause, then sharp tick
- mSearchEffect = VibrationEffect.startComposition()
- .addPrimitive(VibrationEffect.Composition.PRIMITIVE_QUICK_RISE, 0.25f)
- .addPrimitive(VibrationEffect.Composition.PRIMITIVE_TICK, 1f, 50)
- .compose();
- }
- } else {
- // fallback for devices without composition support
- mSearchEffect = VibrationEffect.createPredefined(VibrationEffect.EFFECT_HEAVY_CLICK);
- }
}
/**
@@ -233,13 +205,6 @@
}
}
- /** Indicates that search has been invoked. */
- public void vibrateForSearch() {
- if (mSearchEffect != null) {
- vibrate(mSearchEffect);
- }
- }
-
/** Indicates that Taskbar has been invoked. */
public void vibrateForTaskbarUnstash() {
if (Utilities.ATLEAST_S && mVibrator.areAllPrimitivesSupported(PRIMITIVE_LOW_TICK)) {
@@ -251,32 +216,4 @@
vibrate(primitiveLowTickEffect);
}
}
-
- /** Indicates that search will be invoked if the current gesture is maintained. */
- public void vibrateForSearchHint() {
- if (FeatureFlags.ENABLE_SEARCH_HAPTIC_HINT.get() && Utilities.ATLEAST_S
- && mVibrator.areAllPrimitivesSupported(PRIMITIVE_LOW_TICK)) {
- float startScale = LPNH_HAPTIC_HINT_START_SCALE_PERCENT.get() / 100f;
- float endScale = LPNH_HAPTIC_HINT_END_SCALE_PERCENT.get() / 100f;
- int scaleExponent = LPNH_HAPTIC_HINT_SCALE_EXPONENT.get();
- int iterations = LPNH_HAPTIC_HINT_ITERATIONS.get();
- int delayMs = LPNH_HAPTIC_HINT_DELAY.get();
-
- VibrationEffect.Composition composition = VibrationEffect.startComposition();
- for (int i = 0; i < iterations; i++) {
- float t = i / (iterations - 1f);
- float scale = (float) Math.pow((1 - t) * startScale + t * endScale,
- scaleExponent);
- if (i == 0) {
- // Adds a delay before the ramp starts
- composition.addPrimitive(PRIMITIVE_LOW_TICK, scale,
- delayMs);
- } else {
- composition.addPrimitive(PRIMITIVE_LOW_TICK, scale);
- }
- }
-
- vibrate(composition.compose());
- }
- }
}