Merge "Fix NPE when the vr manager isn't around at first." into nyc-dev

This commit is contained in:
Daniel Sandler
2016-04-13 18:58:20 +00:00
committed by Android (Google) Code Review

View File

@@ -80,8 +80,6 @@ public class ImmersiveModeConfirmation {
.getInteger(R.integer.config_immersive_mode_confirmation_panic);
mWindowManager = (WindowManager)
mContext.getSystemService(Context.WINDOW_SERVICE);
mVrManager = (IVrManager) IVrManager.Stub.asInterface(
ServiceManager.getService(VrManagerService.VR_MANAGER_BINDER_SERVICE));
}
private long getNavBarExitDuration() {
@@ -121,11 +119,18 @@ public class ImmersiveModeConfirmation {
private boolean getVrMode() {
boolean vrMode = false;
try {
vrMode = mVrManager.getVrModeState();
} catch (RemoteException ex) { }
if (mVrManager == null) {
// lazily grab this service since it may not be available at construction time
mVrManager = (IVrManager) IVrManager.Stub.asInterface(
ServiceManager.getService(VrManagerService.VR_MANAGER_BINDER_SERVICE));
}
if (mVrManager != null) {
try {
vrMode = mVrManager.getVrModeState();
} catch (RemoteException ex) { }
}
return vrMode;
}
}
public void immersiveModeChanged(String pkg, boolean isImmersiveMode,
boolean userSetupComplete) {