Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84953330 authored by Rick Yiu's avatar Rick Yiu
Browse files

Add null check for vrManager

If VrManagerService is not started, vrManager will be null. Need
add check for it.

Test: system works fine whether device supports VR or not
Bug: 112064298
Change-Id: I924956234d9cd520e272a961b2939890164db1a5
parent a075ef62
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import static android.os.HardwarePropertiesManager.TEMPERATURE_THROTTLING;
import static android.os.HardwarePropertiesManager.TEMPERATURE_THROTTLING_BELOW_VR_MIN;

import android.Manifest;
import android.app.ActivityManager;
import android.app.AppOpsManager;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
@@ -34,8 +33,8 @@ import android.content.pm.PackageManager;
import android.os.Binder;
import android.os.CpuUsageInfo;
import android.os.IHardwarePropertiesManager;
import android.os.Process;
import android.os.UserHandle;

import com.android.internal.util.DumpUtils;
import com.android.server.vr.VrManagerInternal;

@@ -166,11 +165,11 @@ public class HardwarePropertiesManagerService extends IHardwarePropertiesManager
        final VrManagerInternal vrService = LocalServices.getService(VrManagerInternal.class);
        final DevicePolicyManager dpm = mContext.getSystemService(DevicePolicyManager.class);
        if (!dpm.isDeviceOwnerApp(callingPackage)
                && !vrService.isCurrentVrListener(callingPackage, userId)
                && mContext.checkCallingOrSelfPermission(Manifest.permission.DEVICE_POWER)
                        != PackageManager.PERMISSION_GRANTED) {
            throw new SecurityException("The caller is not a device owner, bound VrListenerService"
                + ", or holding the DEVICE_POWER permission.");
                        != PackageManager.PERMISSION_GRANTED
                && (vrService == null || !vrService.isCurrentVrListener(callingPackage, userId))) {
            throw new SecurityException("The caller is neither a device owner"
                + ", nor holding the DEVICE_POWER permission, nor the current VrListener.");
        }
    }
}