Merge "Account for getDimension() also doing a pixel conversion" into rvc-dev

This commit is contained in:
Winson Chung
2020-05-02 02:38:51 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 5 deletions

View File

@@ -26,6 +26,7 @@ import android.os.Handler;
import android.os.UserHandle; import android.os.UserHandle;
import android.provider.DeviceConfig; import android.provider.DeviceConfig;
import android.provider.Settings; import android.provider.Settings;
import android.util.DisplayMetrics;
import android.util.TypedValue; import android.util.TypedValue;
/** /**
@@ -99,12 +100,13 @@ public class GestureNavigationSettingsObserver extends ContentObserver {
} }
private int getSensitivity(Resources userRes, String side) { private int getSensitivity(Resources userRes, String side) {
final DisplayMetrics dm = userRes.getDisplayMetrics();
final float defaultInset = userRes.getDimension( final float defaultInset = userRes.getDimension(
com.android.internal.R.dimen.config_backGestureInset); com.android.internal.R.dimen.config_backGestureInset) / dm.density;
final float backGestureInset = DeviceConfig.getFloat(DeviceConfig.NAMESPACE_SYSTEMUI, final float backGestureInset = DeviceConfig.getFloat(DeviceConfig.NAMESPACE_SYSTEMUI,
BACK_GESTURE_EDGE_WIDTH, defaultInset); BACK_GESTURE_EDGE_WIDTH, defaultInset);
final float inset = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, backGestureInset, final float inset = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, backGestureInset,
userRes.getDisplayMetrics()); dm);
final float scale = Settings.Secure.getFloatForUser( final float scale = Settings.Secure.getFloatForUser(
mContext.getContentResolver(), side, 1.0f, UserHandle.USER_CURRENT); mContext.getContentResolver(), side, 1.0f, UserHandle.USER_CURRENT);
return (int) (inset * scale); return (int) (inset * scale);

View File

@@ -36,6 +36,7 @@ import android.os.SystemProperties;
import android.os.UserHandle; import android.os.UserHandle;
import android.provider.DeviceConfig; import android.provider.DeviceConfig;
import android.provider.Settings; import android.provider.Settings;
import android.util.DisplayMetrics;
import android.util.Log; import android.util.Log;
import android.util.TypedValue; import android.util.TypedValue;
import android.view.ISystemGestureExclusionListener; import android.view.ISystemGestureExclusionListener;
@@ -232,13 +233,14 @@ public class EdgeBackGestureHandler extends CurrentUserTracker implements Displa
mIsBackGestureAllowed = mIsBackGestureAllowed =
!mGestureNavigationSettingsObserver.areNavigationButtonForcedVisible(); !mGestureNavigationSettingsObserver.areNavigationButtonForcedVisible();
final DisplayMetrics dm = res.getDisplayMetrics();
final float defaultGestureHeight = res.getDimension( final float defaultGestureHeight = res.getDimension(
com.android.internal.R.dimen.navigation_bar_gesture_height); com.android.internal.R.dimen.navigation_bar_gesture_height) / dm.density;
final float gestureHeight = DeviceConfig.getFloat(DeviceConfig.NAMESPACE_SYSTEMUI, final float gestureHeight = DeviceConfig.getFloat(DeviceConfig.NAMESPACE_SYSTEMUI,
SystemUiDeviceConfigFlags.BACK_GESTURE_BOTTOM_HEIGHT, SystemUiDeviceConfigFlags.BACK_GESTURE_BOTTOM_HEIGHT,
defaultGestureHeight); defaultGestureHeight);
mBottomGestureHeight = TypedValue.applyDimension( mBottomGestureHeight = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, gestureHeight,
TypedValue.COMPLEX_UNIT_DIP, gestureHeight, res.getDisplayMetrics()); dm);
// Reduce the default touch slop to ensure that we can intercept the gesture // Reduce the default touch slop to ensure that we can intercept the gesture
// before the app starts to react to it. // before the app starts to react to it.