From 14188a3dcb138097cb3aae4ee0964f4e68cb8945 Mon Sep 17 00:00:00 2001 From: Yi Jiang Date: Thu, 4 Mar 2021 00:09:01 -0800 Subject: [PATCH] Syncs camera sensor with gesture sensor. Extends the usages of the camera sensor. Whenever there is a gesture sensor event detected, open camera to check the face pose as well. Test: manually Bug: 181838365 Change-Id: I62a3666848f95fab8a5b7d30520efb492cd481f1 --- .../com/android/server/wm/DisplayRotation.java | 14 -------------- .../server/wm/WindowOrientationListener.java | 15 +-------------- .../wm/WindowOrientationListenerTest.java | 17 ----------------- 3 files changed, 1 insertion(+), 45 deletions(-) diff --git a/services/core/java/com/android/server/wm/DisplayRotation.java b/services/core/java/com/android/server/wm/DisplayRotation.java index 6046cc61258fe..9ff701cafd667 100644 --- a/services/core/java/com/android/server/wm/DisplayRotation.java +++ b/services/core/java/com/android/server/wm/DisplayRotation.java @@ -1539,20 +1539,6 @@ public class DisplayRotation { } } - @Override - public boolean canUseRotationResolver() { - if (mUserRotationMode == WindowManagerPolicy.USER_ROTATION_LOCKED) return false; - - switch (mCurrentAppOrientation) { - case ActivityInfo.SCREEN_ORIENTATION_FULL_USER: - case ActivityInfo.SCREEN_ORIENTATION_USER: - case ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED: - case ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE: - case ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT: - return true; - } - return false; - } @Override public void onProposedRotationChanged(int rotation) { diff --git a/services/core/java/com/android/server/wm/WindowOrientationListener.java b/services/core/java/com/android/server/wm/WindowOrientationListener.java index 49e704f9cc55d..b971caba65afe 100644 --- a/services/core/java/com/android/server/wm/WindowOrientationListener.java +++ b/services/core/java/com/android/server/wm/WindowOrientationListener.java @@ -275,19 +275,6 @@ public abstract class WindowOrientationListener { } } - /** - * Returns true if the current status of the phone is suitable for using rotation resolver - * service. - * - * To reduce the power consumption of rotation resolver service, rotation query should run less - * frequently than other low power orientation sensors. This method is used to check whether - * the current status of the phone is necessary to request a suggested screen rotation from the - * rotation resolver service. Note that it always returns {@code false} in the base class. It - * should be overridden in the derived classes. - */ - public boolean canUseRotationResolver() { - return false; - } /** * Returns true if the rotation resolver feature is enabled by setting. It means {@link @@ -1155,7 +1142,7 @@ public abstract class WindowOrientationListener { } } - if (isRotationResolverEnabled() && canUseRotationResolver()) { + if (isRotationResolverEnabled()) { if (mRotationResolverService == null) { mRotationResolverService = LocalServices.getService( RotationResolverInternal.class); diff --git a/services/tests/servicestests/src/com/android/server/wm/WindowOrientationListenerTest.java b/services/tests/servicestests/src/com/android/server/wm/WindowOrientationListenerTest.java index f5d0ca7c5f9fe..584bcf4617175 100644 --- a/services/tests/servicestests/src/com/android/server/wm/WindowOrientationListenerTest.java +++ b/services/tests/servicestests/src/com/android/server/wm/WindowOrientationListenerTest.java @@ -58,7 +58,6 @@ public class WindowOrientationListenerTest { private com.android.server.wm.WindowOrientationListener mWindowOrientationListener; private int mFinalizedRotation; private boolean mRotationResolverEnabled; - private boolean mCanUseRotationResolver; private SensorEvent mFakeSensorEvent; private Sensor mFakeSensor; @@ -66,7 +65,6 @@ public class WindowOrientationListenerTest { public void setUp() { MockitoAnnotations.initMocks(this); mRotationResolverEnabled = true; - mCanUseRotationResolver = true; mFakeRotationResolverInternal = new TestableRotationResolver(); doReturn(mMockSensorManager).when(mMockContext).getSystemService(Context.SENSOR_SERVICE); @@ -88,16 +86,6 @@ public class WindowOrientationListenerTest { assertThat(mFinalizedRotation).isEqualTo(Surface.ROTATION_90); } - @Test - public void testOnSensorChanged_cannotUseRotationResolver_useSensorResult() { - mCanUseRotationResolver = false; - - mWindowOrientationListener.mOrientationJudge.onSensorChanged(mFakeSensorEvent); - - assertThat(mFinalizedRotation).isEqualTo(Surface.ROTATION_90); - - } - @Test public void testOnSensorChanged_normalCase() { mFakeRotationResolverInternal.mResult = Surface.ROTATION_180; @@ -138,11 +126,6 @@ public class WindowOrientationListenerTest { mFinalizedRotation = rotation; } - @Override - public boolean canUseRotationResolver() { - return mCanUseRotationResolver; - } - @Override public boolean isRotationResolverEnabled() { return mRotationResolverEnabled;