diff options
| -rw-r--r-- | core/tests/coretests/src/android/os/SetPersistentVrThreadTest.java | 9 | ||||
| -rw-r--r-- | services/core/java/com/android/server/HardwarePropertiesManagerService.java | 9 |
2 files changed, 10 insertions, 8 deletions
diff --git a/core/tests/coretests/src/android/os/SetPersistentVrThreadTest.java b/core/tests/coretests/src/android/os/SetPersistentVrThreadTest.java index 920988be2eb3..9e445541ad3a 100644 --- a/core/tests/coretests/src/android/os/SetPersistentVrThreadTest.java +++ b/core/tests/coretests/src/android/os/SetPersistentVrThreadTest.java @@ -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,9 +75,11 @@ public class SetPersistentVrThreadTest extends ActivityInstrumentationTestCase2< } private void setPersistentVrModeEnabled(boolean enable) throws Throwable { - mVrManager.setPersistentVrModeEnabled(enable); - // Allow the system time to send out callbacks for persistent VR mode. - Thread.sleep(200); + if (mVrManager != null) { + mVrManager.setPersistentVrModeEnabled(enable); + // Allow the system time to send out callbacks for persistent VR mode. + Thread.sleep(200); + } } @SmallTest diff --git a/services/core/java/com/android/server/HardwarePropertiesManagerService.java b/services/core/java/com/android/server/HardwarePropertiesManagerService.java index 4016d29fd2e6..c593af7cda0a 100644 --- a/services/core/java/com/android/server/HardwarePropertiesManagerService.java +++ b/services/core/java/com/android/server/HardwarePropertiesManagerService.java @@ -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."); + } } } |