Merge "Fixes NPE from resolveRotation()" into tm-dev

This commit is contained in:
Yi Jiang
2022-02-24 06:40:15 +00:00
committed by Android (Google) Code Review
2 changed files with 14 additions and 1 deletions

View File

@@ -1167,6 +1167,10 @@ public abstract class WindowOrientationListener {
if (mRotationResolverService == null) {
mRotationResolverService = LocalServices.getService(
RotationResolverInternal.class);
if (mRotationResolverService == null) {
finalizeRotation(reportedRotation);
return;
}
}
String packageName = null;

View File

@@ -114,7 +114,7 @@ public class WindowOrientationListenerTest {
}
@Test
public void testSensorChanged_normalCase2() {
public void testOnSensorChanged_normalCase2() {
mWindowOrientationListener.mOrientationJudge.onSensorChanged(mFakeSensorEvent);
mFakeRotationResolverInternal.callbackWithFailureResult(
@@ -123,6 +123,15 @@ public class WindowOrientationListenerTest {
assertThat(mFinalizedRotation).isEqualTo(DEFAULT_SENSOR_ROTATION);
}
@Test
public void testOnSensorChanged_rotationResolverServiceIsNull_useSensorResult() {
mWindowOrientationListener.mRotationResolverService = null;
mWindowOrientationListener.mOrientationJudge.onSensorChanged(mFakeSensorEvent);
assertThat(mFinalizedRotation).isEqualTo(DEFAULT_SENSOR_ROTATION);
}
static final class TestableRotationResolver extends RotationResolverInternal {
@Surface.Rotation
RotationResolverCallbackInternal mCallback;