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

Commit 0cef692a authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes If834d0f0,I3c1d7824

* changes:
  Add null check for vrManager
  Add null check for vrManager
parents de6b9dbe ddf1b4b4
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import android.os.Process;
import android.provider.Settings;
import android.test.ActivityInstrumentationTestCase2;
import android.test.suitebuilder.annotation.SmallTest;
import android.util.Log;

/**
 * Tests ActivityManager#setPersistentVrThread and ActivityManager#setVrThread's
@@ -76,10 +75,12 @@ public class SetPersistentVrThreadTest extends ActivityInstrumentationTestCase2<
    }

    private void setPersistentVrModeEnabled(boolean enable) throws Throwable {
        if (mVrManager != null) {
            mVrManager.setPersistentVrModeEnabled(enable);
            // Allow the system time to send out callbacks for persistent VR mode.
            Thread.sleep(200);
        }
    }

    @SmallTest
    public void testSetPersistentVrThreadAPISuccess() throws Throwable {
+5 −4
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,12 +165,14 @@ 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"
            throw new SecurityException("The caller is not a device owner"
                + ", or holding the DEVICE_POWER permission.");
        }
        if (vrService != null && !vrService.isCurrentVrListener(callingPackage, userId)) {
            throw new SecurityException("The caller is not bound VrListenerService.");
        }
    }
}