Updates face-based auto-rotate triggering conditions.

Auto-rotate with face detection wasn't enabled when the keyguard is
locked. This affects Maps navigation or Google Meets that require
auto-rotate even the keyguard is locked. This change updates the
condition so that the feature will disabled only when the keyguard is
showing on the lock screen.

Test: atest WindowOrientationListenerTest
Test: Manually tested with Google Meet
Bug: 226375593

Change-Id: Icbf8981f5606ba8b82e1d1d4006a2017fbe30f0f
(cherry picked from commit 02175a1bb4)
This commit is contained in:
Yi Jiang
2022-05-18 11:52:38 -07:00
parent f607952939
commit cb45258bbd
3 changed files with 6 additions and 6 deletions

View File

@@ -1522,8 +1522,8 @@ public class DisplayRotation {
}
@Override
public boolean isKeyguardLocked() {
return mService.isKeyguardLocked();
public boolean isKeyguardShowingAndNotOccluded() {
return mService.isKeyguardShowingAndNotOccluded();
}
@Override

View File

@@ -296,9 +296,9 @@ public abstract class WindowOrientationListener {
/**
* Whether the device is in the lock screen.
* @return returns true if the screen is locked. Otherwise, returns false.
* @return returns true if the key guard is showing on the lock screen.
*/
public abstract boolean isKeyguardLocked();
public abstract boolean isKeyguardShowingAndNotOccluded();
public void dumpDebug(ProtoOutputStream proto, long fieldId) {
final long token = proto.start(fieldId);
@@ -1151,7 +1151,7 @@ public abstract class WindowOrientationListener {
FrameworkStatsLog.DEVICE_ROTATED__ROTATION_EVENT_TYPE__ACTUAL_EVENT);
if (isRotationResolverEnabled()) {
if (isKeyguardLocked()) {
if (isKeyguardShowingAndNotOccluded()) {
if (mLastRotationResolution != ROTATION_UNSET
&& SystemClock.uptimeMillis() - mLastRotationResolutionTimeStamp
< mRotationMemorizationTimeoutMillis) {

View File

@@ -185,7 +185,7 @@ public class WindowOrientationListenerTest {
}
@Override
public boolean isKeyguardLocked() {
public boolean isKeyguardShowingAndNotOccluded() {
return mIsScreenLocked;
}