Add null check for vrManager
If VrManagerService is not started, vrManager will be null. Need add check for it. Test: robotests Bug: 112064298 Change-Id: I899337bb5a996efffe82970fa690f2c5d59c1bb5
This commit is contained in:
@@ -151,13 +151,21 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
|
|||||||
return (value - min) / (max - min);
|
return (value - min) / (max - min);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
IVrManager safeGetVrManager() {
|
||||||
|
return IVrManager.Stub.asInterface(ServiceManager.getService(
|
||||||
|
Context.VR_SERVICE));
|
||||||
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
boolean isInVrMode() {
|
boolean isInVrMode() {
|
||||||
try {
|
IVrManager vrManager = safeGetVrManager();
|
||||||
return IVrManager.Stub.asInterface(ServiceManager.getService(Context.VR_SERVICE))
|
if (vrManager != null) {
|
||||||
.getVrModeState();
|
try {
|
||||||
} catch (RemoteException e) {
|
return vrManager.getVrModeState();
|
||||||
Log.e(TAG, "Failed to check vr mode!", e);
|
} catch (RemoteException e) {
|
||||||
|
Log.e(TAG, "Failed to check vr mode!", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -82,6 +82,12 @@ public class BrightnessLevelPreferenceControllerTest {
|
|||||||
assertThat(mController.isAvailable()).isTrue();
|
assertThat(mController.isAvailable()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isInVrMode_noVrManager_shouldAlwaysReturnFalse() {
|
||||||
|
doReturn(null).when(mController).safeGetVrManager();
|
||||||
|
assertThat(mController.isInVrMode()).isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onStart_shouldRegisterObserver() {
|
public void onStart_shouldRegisterObserver() {
|
||||||
BrightnessLevelPreferenceController controller =
|
BrightnessLevelPreferenceController controller =
|
||||||
|
Reference in New Issue
Block a user