Merge "RESTRICT AUTOMERGE Add overlayBounds to UdfpsOverlayParams" into tm-qpr-dev-plus-aosp
This commit is contained in:
committed by
Android (Google) Code Review
commit
166cc57f5e
@@ -782,8 +782,17 @@ public class AuthController implements CoreStartable, CommandQueue.Callbacks,
|
|||||||
mUdfpsBounds = udfpsProp.getLocation().getRect();
|
mUdfpsBounds = udfpsProp.getLocation().getRect();
|
||||||
mUdfpsBounds.scale(mScaleFactor);
|
mUdfpsBounds.scale(mScaleFactor);
|
||||||
|
|
||||||
final UdfpsOverlayParams overlayParams = new UdfpsOverlayParams(mUdfpsBounds,
|
final Rect overlayBounds = new Rect(
|
||||||
mCachedDisplayInfo.getNaturalWidth(), mCachedDisplayInfo.getNaturalHeight(),
|
0, /* left */
|
||||||
|
mCachedDisplayInfo.getNaturalHeight() / 2, /* top */
|
||||||
|
mCachedDisplayInfo.getNaturalWidth(), /* right */
|
||||||
|
mCachedDisplayInfo.getNaturalHeight() /* bottom */);
|
||||||
|
|
||||||
|
final UdfpsOverlayParams overlayParams = new UdfpsOverlayParams(
|
||||||
|
mUdfpsBounds,
|
||||||
|
overlayBounds,
|
||||||
|
mCachedDisplayInfo.getNaturalWidth(),
|
||||||
|
mCachedDisplayInfo.getNaturalHeight(),
|
||||||
mScaleFactor, mCachedDisplayInfo.rotation);
|
mScaleFactor, mCachedDisplayInfo.rotation);
|
||||||
|
|
||||||
mUdfpsController.updateOverlayParams(udfpsProp, overlayParams);
|
mUdfpsController.updateOverlayParams(udfpsProp, overlayParams);
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import android.view.Surface.Rotation
|
|||||||
|
|
||||||
data class UdfpsOverlayParams(
|
data class UdfpsOverlayParams(
|
||||||
val sensorBounds: Rect = Rect(),
|
val sensorBounds: Rect = Rect(),
|
||||||
|
val overlayBounds: Rect = Rect(),
|
||||||
val naturalDisplayWidth: Int = 0,
|
val naturalDisplayWidth: Int = 0,
|
||||||
val naturalDisplayHeight: Int = 0,
|
val naturalDisplayHeight: Int = 0,
|
||||||
val scaleFactor: Float = 1f,
|
val scaleFactor: Float = 1f,
|
||||||
|
|||||||
@@ -190,11 +190,12 @@ class UdfpsControllerOverlayTest : SysuiTestCase() {
|
|||||||
// Sensor that's in the top left corner of the display in natural orientation.
|
// Sensor that's in the top left corner of the display in natural orientation.
|
||||||
val sensorBounds = Rect(0, 0, SENSOR_WIDTH, SENSOR_HEIGHT)
|
val sensorBounds = Rect(0, 0, SENSOR_WIDTH, SENSOR_HEIGHT)
|
||||||
overlayParams = UdfpsOverlayParams(
|
overlayParams = UdfpsOverlayParams(
|
||||||
|
sensorBounds,
|
||||||
sensorBounds,
|
sensorBounds,
|
||||||
DISPLAY_WIDTH,
|
DISPLAY_WIDTH,
|
||||||
DISPLAY_HEIGHT,
|
DISPLAY_HEIGHT,
|
||||||
scaleFactor = 1f,
|
scaleFactor = 1f,
|
||||||
rotation
|
rotation = rotation
|
||||||
)
|
)
|
||||||
block()
|
block()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -437,7 +437,7 @@ public class UdfpsControllerTest extends SysuiTestCase {
|
|||||||
final float[] scaleFactor = new float[]{1f, displayHeight[1] / (float) displayHeight[0]};
|
final float[] scaleFactor = new float[]{1f, displayHeight[1] / (float) displayHeight[0]};
|
||||||
final int[] rotation = new int[]{Surface.ROTATION_0, Surface.ROTATION_90};
|
final int[] rotation = new int[]{Surface.ROTATION_0, Surface.ROTATION_90};
|
||||||
final UdfpsOverlayParams oldParams = new UdfpsOverlayParams(sensorBounds[0],
|
final UdfpsOverlayParams oldParams = new UdfpsOverlayParams(sensorBounds[0],
|
||||||
displayWidth[0], displayHeight[0], scaleFactor[0], rotation[0]);
|
sensorBounds[0], displayWidth[0], displayHeight[0], scaleFactor[0], rotation[0]);
|
||||||
|
|
||||||
for (int i1 = 0; i1 <= 1; ++i1) {
|
for (int i1 = 0; i1 <= 1; ++i1) {
|
||||||
for (int i2 = 0; i2 <= 1; ++i2) {
|
for (int i2 = 0; i2 <= 1; ++i2) {
|
||||||
@@ -445,8 +445,8 @@ public class UdfpsControllerTest extends SysuiTestCase {
|
|||||||
for (int i4 = 0; i4 <= 1; ++i4) {
|
for (int i4 = 0; i4 <= 1; ++i4) {
|
||||||
for (int i5 = 0; i5 <= 1; ++i5) {
|
for (int i5 = 0; i5 <= 1; ++i5) {
|
||||||
final UdfpsOverlayParams newParams = new UdfpsOverlayParams(
|
final UdfpsOverlayParams newParams = new UdfpsOverlayParams(
|
||||||
sensorBounds[i1], displayWidth[i2], displayHeight[i3],
|
sensorBounds[i1], sensorBounds[i1], displayWidth[i2],
|
||||||
scaleFactor[i4], rotation[i5]);
|
displayHeight[i3], scaleFactor[i4], rotation[i5]);
|
||||||
|
|
||||||
if (newParams.equals(oldParams)) {
|
if (newParams.equals(oldParams)) {
|
||||||
continue;
|
continue;
|
||||||
@@ -489,8 +489,8 @@ public class UdfpsControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
// Initialize the overlay.
|
// Initialize the overlay.
|
||||||
mUdfpsController.updateOverlayParams(mOpticalProps,
|
mUdfpsController.updateOverlayParams(mOpticalProps,
|
||||||
new UdfpsOverlayParams(sensorBounds, displayWidth, displayHeight, scaleFactor,
|
new UdfpsOverlayParams(sensorBounds, sensorBounds, displayWidth, displayHeight,
|
||||||
rotation));
|
scaleFactor, rotation));
|
||||||
|
|
||||||
// Show the overlay.
|
// Show the overlay.
|
||||||
mOverlayController.showUdfpsOverlay(TEST_REQUEST_ID, mOpticalProps.sensorId,
|
mOverlayController.showUdfpsOverlay(TEST_REQUEST_ID, mOpticalProps.sensorId,
|
||||||
@@ -500,8 +500,8 @@ public class UdfpsControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
// Update overlay with the same parameters.
|
// Update overlay with the same parameters.
|
||||||
mUdfpsController.updateOverlayParams(mOpticalProps,
|
mUdfpsController.updateOverlayParams(mOpticalProps,
|
||||||
new UdfpsOverlayParams(sensorBounds, displayWidth, displayHeight, scaleFactor,
|
new UdfpsOverlayParams(sensorBounds, sensorBounds, displayWidth, displayHeight,
|
||||||
rotation));
|
scaleFactor, rotation));
|
||||||
mFgExecutor.runAllReady();
|
mFgExecutor.runAllReady();
|
||||||
|
|
||||||
// Ensure the overlay was not recreated.
|
// Ensure the overlay was not recreated.
|
||||||
@@ -548,8 +548,8 @@ public class UdfpsControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
// Test ROTATION_0
|
// Test ROTATION_0
|
||||||
mUdfpsController.updateOverlayParams(mOpticalProps,
|
mUdfpsController.updateOverlayParams(mOpticalProps,
|
||||||
new UdfpsOverlayParams(sensorBounds, displayWidth, displayHeight, scaleFactor,
|
new UdfpsOverlayParams(sensorBounds, sensorBounds, displayWidth, displayHeight,
|
||||||
Surface.ROTATION_0));
|
scaleFactor, Surface.ROTATION_0));
|
||||||
MotionEvent event = obtainMotionEvent(ACTION_DOWN, displayWidth, displayHeight, touchMinor,
|
MotionEvent event = obtainMotionEvent(ACTION_DOWN, displayWidth, displayHeight, touchMinor,
|
||||||
touchMajor);
|
touchMajor);
|
||||||
mTouchListenerCaptor.getValue().onTouch(mUdfpsView, event);
|
mTouchListenerCaptor.getValue().onTouch(mUdfpsView, event);
|
||||||
@@ -565,8 +565,8 @@ public class UdfpsControllerTest extends SysuiTestCase {
|
|||||||
// Test ROTATION_90
|
// Test ROTATION_90
|
||||||
reset(mAlternateTouchProvider);
|
reset(mAlternateTouchProvider);
|
||||||
mUdfpsController.updateOverlayParams(mOpticalProps,
|
mUdfpsController.updateOverlayParams(mOpticalProps,
|
||||||
new UdfpsOverlayParams(sensorBounds, displayWidth, displayHeight, scaleFactor,
|
new UdfpsOverlayParams(sensorBounds, sensorBounds, displayWidth, displayHeight,
|
||||||
Surface.ROTATION_90));
|
scaleFactor, Surface.ROTATION_90));
|
||||||
event = obtainMotionEvent(ACTION_DOWN, displayHeight, 0, touchMinor, touchMajor);
|
event = obtainMotionEvent(ACTION_DOWN, displayHeight, 0, touchMinor, touchMajor);
|
||||||
mTouchListenerCaptor.getValue().onTouch(mUdfpsView, event);
|
mTouchListenerCaptor.getValue().onTouch(mUdfpsView, event);
|
||||||
mBiometricsExecutor.runAllReady();
|
mBiometricsExecutor.runAllReady();
|
||||||
@@ -581,8 +581,8 @@ public class UdfpsControllerTest extends SysuiTestCase {
|
|||||||
// Test ROTATION_270
|
// Test ROTATION_270
|
||||||
reset(mAlternateTouchProvider);
|
reset(mAlternateTouchProvider);
|
||||||
mUdfpsController.updateOverlayParams(mOpticalProps,
|
mUdfpsController.updateOverlayParams(mOpticalProps,
|
||||||
new UdfpsOverlayParams(sensorBounds, displayWidth, displayHeight, scaleFactor,
|
new UdfpsOverlayParams(sensorBounds, sensorBounds, displayWidth, displayHeight,
|
||||||
Surface.ROTATION_270));
|
scaleFactor, Surface.ROTATION_270));
|
||||||
event = obtainMotionEvent(ACTION_DOWN, 0, displayWidth, touchMinor, touchMajor);
|
event = obtainMotionEvent(ACTION_DOWN, 0, displayWidth, touchMinor, touchMajor);
|
||||||
mTouchListenerCaptor.getValue().onTouch(mUdfpsView, event);
|
mTouchListenerCaptor.getValue().onTouch(mUdfpsView, event);
|
||||||
mBiometricsExecutor.runAllReady();
|
mBiometricsExecutor.runAllReady();
|
||||||
@@ -597,8 +597,8 @@ public class UdfpsControllerTest extends SysuiTestCase {
|
|||||||
// Test ROTATION_180
|
// Test ROTATION_180
|
||||||
reset(mAlternateTouchProvider);
|
reset(mAlternateTouchProvider);
|
||||||
mUdfpsController.updateOverlayParams(mOpticalProps,
|
mUdfpsController.updateOverlayParams(mOpticalProps,
|
||||||
new UdfpsOverlayParams(sensorBounds, displayWidth, displayHeight, scaleFactor,
|
new UdfpsOverlayParams(sensorBounds, sensorBounds, displayWidth, displayHeight,
|
||||||
Surface.ROTATION_180));
|
scaleFactor, Surface.ROTATION_180));
|
||||||
// ROTATION_180 is not supported. It should be treated like ROTATION_0.
|
// ROTATION_180 is not supported. It should be treated like ROTATION_0.
|
||||||
event = obtainMotionEvent(ACTION_DOWN, displayWidth, displayHeight, touchMinor, touchMajor);
|
event = obtainMotionEvent(ACTION_DOWN, displayWidth, displayHeight, touchMinor, touchMajor);
|
||||||
mTouchListenerCaptor.getValue().onTouch(mUdfpsView, event);
|
mTouchListenerCaptor.getValue().onTouch(mUdfpsView, event);
|
||||||
|
|||||||
@@ -40,8 +40,8 @@ import org.mockito.Mock
|
|||||||
import org.mockito.Mockito.never
|
import org.mockito.Mockito.never
|
||||||
import org.mockito.Mockito.nullable
|
import org.mockito.Mockito.nullable
|
||||||
import org.mockito.Mockito.verify
|
import org.mockito.Mockito.verify
|
||||||
import org.mockito.Mockito.`when` as whenever
|
|
||||||
import org.mockito.junit.MockitoJUnit
|
import org.mockito.junit.MockitoJUnit
|
||||||
|
import org.mockito.Mockito.`when` as whenever
|
||||||
|
|
||||||
private const val SENSOR_X = 50
|
private const val SENSOR_X = 50
|
||||||
private const val SENSOR_Y = 250
|
private const val SENSOR_Y = 250
|
||||||
@@ -68,7 +68,8 @@ class UdfpsViewTest : SysuiTestCase() {
|
|||||||
view = LayoutInflater.from(context).inflate(R.layout.udfps_view, null) as UdfpsView
|
view = LayoutInflater.from(context).inflate(R.layout.udfps_view, null) as UdfpsView
|
||||||
view.animationViewController = animationViewController
|
view.animationViewController = animationViewController
|
||||||
val sensorBounds = SensorLocationInternal("", SENSOR_X, SENSOR_Y, SENSOR_RADIUS).rect
|
val sensorBounds = SensorLocationInternal("", SENSOR_X, SENSOR_Y, SENSOR_RADIUS).rect
|
||||||
view.overlayParams = UdfpsOverlayParams(sensorBounds, 1920, 1080, 1f, Surface.ROTATION_0)
|
view.overlayParams = UdfpsOverlayParams(sensorBounds, sensorBounds, 1920,
|
||||||
|
1080, 1f, Surface.ROTATION_0)
|
||||||
view.setUdfpsDisplayModeProvider(hbmProvider)
|
view.setUdfpsDisplayModeProvider(hbmProvider)
|
||||||
ViewUtils.attachView(view)
|
ViewUtils.attachView(view)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user