Merge "Add null check for vrManager" into pi-dev

am: c9e2d80ade

Change-Id: Ifb1f2da7e3493e91f26735e7609c4480b1f0f346
This commit is contained in:
Rick Yiu
2018-10-10 11:07:11 -07:00
committed by android-build-merger
2 changed files with 19 additions and 5 deletions

View File

@@ -150,13 +150,21 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
return (value - min) / (max - min);
}
@VisibleForTesting
IVrManager safeGetVrManager() {
return IVrManager.Stub.asInterface(ServiceManager.getService(
Context.VR_SERVICE));
}
@VisibleForTesting
boolean isInVrMode() {
try {
return IVrManager.Stub.asInterface(ServiceManager.getService(Context.VR_SERVICE))
.getVrModeState();
} catch (RemoteException e) {
Log.e(TAG, "Failed to check vr mode!", e);
IVrManager vrManager = safeGetVrManager();
if (vrManager != null) {
try {
return vrManager.getVrModeState();
} catch (RemoteException e) {
Log.e(TAG, "Failed to check vr mode!", e);
}
}
return false;
}

View File

@@ -81,6 +81,12 @@ public class BrightnessLevelPreferenceControllerTest {
assertThat(mController.isAvailable()).isTrue();
}
@Test
public void isInVrMode_noVrManager_shouldAlwaysReturnFalse() {
doReturn(null).when(mController).safeGetVrManager();
assertThat(mController.isInVrMode()).isFalse();
}
@Test
public void onStart_shouldRegisterObserver() {
BrightnessLevelPreferenceController controller =