From a8a07f1f40ba534fee0658addebbe0de5c9de190 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Wed, 29 Jul 2020 09:26:47 -0700 Subject: [PATCH] Only apply back gesture device config if there are existing insets Bug: 161995292 Test: Change navigation modes and verify the insets are correct Change-Id: I4d940099b7fdc00c129f60dc6b3d0cb470b7f42e --- .../internal/policy/GestureNavigationSettingsObserver.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/java/com/android/internal/policy/GestureNavigationSettingsObserver.java b/core/java/com/android/internal/policy/GestureNavigationSettingsObserver.java index 0e703fa686e04..205c5fd735eac 100644 --- a/core/java/com/android/internal/policy/GestureNavigationSettingsObserver.java +++ b/core/java/com/android/internal/policy/GestureNavigationSettingsObserver.java @@ -103,8 +103,11 @@ public class GestureNavigationSettingsObserver extends ContentObserver { final DisplayMetrics dm = userRes.getDisplayMetrics(); final float defaultInset = userRes.getDimension( com.android.internal.R.dimen.config_backGestureInset) / dm.density; - final float backGestureInset = DeviceConfig.getFloat(DeviceConfig.NAMESPACE_SYSTEMUI, - BACK_GESTURE_EDGE_WIDTH, defaultInset); + // Only apply the back gesture config if there is an existing inset + final float backGestureInset = defaultInset > 0 + ? DeviceConfig.getFloat(DeviceConfig.NAMESPACE_SYSTEMUI, + BACK_GESTURE_EDGE_WIDTH, defaultInset) + : defaultInset; final float inset = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, backGestureInset, dm); final float scale = Settings.Secure.getFloatForUser(