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:
@@ -1522,8 +1522,8 @@ public class DisplayRotation {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isKeyguardLocked() {
|
||||
return mService.isKeyguardLocked();
|
||||
public boolean isKeyguardShowingAndNotOccluded() {
|
||||
return mService.isKeyguardShowingAndNotOccluded();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -185,7 +185,7 @@ public class WindowOrientationListenerTest {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isKeyguardLocked() {
|
||||
public boolean isKeyguardShowingAndNotOccluded() {
|
||||
return mIsScreenLocked;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user