Merge "Don't rotate LS udfps location unless LS is occluded" into sc-qpr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
ed47c002f9
@@ -655,6 +655,20 @@ public class UdfpsController implements DozeReceiver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean shouldRotate(@Nullable UdfpsAnimationViewController animation) {
|
||||||
|
if (!(animation instanceof UdfpsKeyguardViewController)) {
|
||||||
|
// always rotate view if we're not on the keyguard
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// on the keyguard, make sure we don't rotate if we're going to sleep or not occluded
|
||||||
|
if (mKeyguardUpdateMonitor.isGoingToSleep() || !mKeyguardStateController.isOccluded()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
private WindowManager.LayoutParams computeLayoutParams(
|
private WindowManager.LayoutParams computeLayoutParams(
|
||||||
@Nullable UdfpsAnimationViewController animation) {
|
@Nullable UdfpsAnimationViewController animation) {
|
||||||
final int paddingX = animation != null ? animation.getPaddingX() : 0;
|
final int paddingX = animation != null ? animation.getPaddingX() : 0;
|
||||||
@@ -678,9 +692,11 @@ public class UdfpsController implements DozeReceiver {
|
|||||||
// Transform dimensions if the device is in landscape mode
|
// Transform dimensions if the device is in landscape mode
|
||||||
switch (mContext.getDisplay().getRotation()) {
|
switch (mContext.getDisplay().getRotation()) {
|
||||||
case Surface.ROTATION_90:
|
case Surface.ROTATION_90:
|
||||||
if (animation instanceof UdfpsKeyguardViewController
|
if (!shouldRotate(animation)) {
|
||||||
&& mKeyguardUpdateMonitor.isGoingToSleep()) {
|
Log.v(TAG, "skip rotating udfps location ROTATION_90");
|
||||||
break;
|
break;
|
||||||
|
} else {
|
||||||
|
Log.v(TAG, "rotate udfps location ROTATION_90");
|
||||||
}
|
}
|
||||||
mCoreLayoutParams.x = mSensorProps.sensorLocationY - mSensorProps.sensorRadius
|
mCoreLayoutParams.x = mSensorProps.sensorLocationY - mSensorProps.sensorRadius
|
||||||
- paddingX;
|
- paddingX;
|
||||||
@@ -689,9 +705,11 @@ public class UdfpsController implements DozeReceiver {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case Surface.ROTATION_270:
|
case Surface.ROTATION_270:
|
||||||
if (animation instanceof UdfpsKeyguardViewController
|
if (!shouldRotate(animation)) {
|
||||||
&& mKeyguardUpdateMonitor.isGoingToSleep()) {
|
Log.v(TAG, "skip rotating udfps location ROTATION_270");
|
||||||
break;
|
break;
|
||||||
|
} else {
|
||||||
|
Log.v(TAG, "rotate udfps location ROTATION_270");
|
||||||
}
|
}
|
||||||
mCoreLayoutParams.x = p.x - mSensorProps.sensorLocationY - mSensorProps.sensorRadius
|
mCoreLayoutParams.x = p.x - mSensorProps.sensorLocationY - mSensorProps.sensorRadius
|
||||||
- paddingX;
|
- paddingX;
|
||||||
|
|||||||
@@ -191,6 +191,7 @@ public class UdfpsControllerTest extends SysuiTestCase {
|
|||||||
when(mLayoutInflater.inflate(R.layout.udfps_keyguard_view, null))
|
when(mLayoutInflater.inflate(R.layout.udfps_keyguard_view, null))
|
||||||
.thenReturn(mKeyguardView); // for showOverlay REASON_AUTH_FPM_KEYGUARD
|
.thenReturn(mKeyguardView); // for showOverlay REASON_AUTH_FPM_KEYGUARD
|
||||||
when(mEnrollView.getContext()).thenReturn(mContext);
|
when(mEnrollView.getContext()).thenReturn(mContext);
|
||||||
|
when(mKeyguardStateController.isOccluded()).thenReturn(false);
|
||||||
final List<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
|
final List<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
|
||||||
|
|
||||||
final List<ComponentInfoInternal> componentInfo = new ArrayList<>();
|
final List<ComponentInfoInternal> componentInfo = new ArrayList<>();
|
||||||
|
|||||||
Reference in New Issue
Block a user