diff --git a/core/java/android/hardware/SystemSensorManager.java b/core/java/android/hardware/SystemSensorManager.java index 3c11d8ed97b1b..bc2dcb3b4e624 100644 --- a/core/java/android/hardware/SystemSensorManager.java +++ b/core/java/android/hardware/SystemSensorManager.java @@ -571,10 +571,10 @@ public class SystemSensorManager extends SensorManager { } int sensorHandle = (sensor == null) ? -1 : sensor.getHandle(); - if (Compatibility.isChangeEnabled(CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION) - && rate > CAPPED_SAMPLING_RATE_LEVEL + if (rate > CAPPED_SAMPLING_RATE_LEVEL && mIsPackageDebuggable - && !mHasHighSamplingRateSensorsPermission) { + && !mHasHighSamplingRateSensorsPermission + && Compatibility.isChangeEnabled(CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION)) { throw new SecurityException("To use the sampling rate level " + rate + ", app needs to declare the normal permission" + " HIGH_SAMPLING_RATE_SENSORS."); @@ -782,10 +782,10 @@ public class SystemSensorManager extends SensorManager { Sensor sensor, int rateUs, int maxBatchReportLatencyUs) { if (mNativeSensorEventQueue == 0) throw new NullPointerException(); if (sensor == null) throw new NullPointerException(); - if (Compatibility.isChangeEnabled(CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION) - && rateUs < CAPPED_SAMPLING_PERIOD_US + if (rateUs < CAPPED_SAMPLING_PERIOD_US && mManager.mIsPackageDebuggable - && !mManager.mHasHighSamplingRateSensorsPermission) { + && !mManager.mHasHighSamplingRateSensorsPermission + && Compatibility.isChangeEnabled(CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION)) { throw new SecurityException("To use the sampling rate of " + rateUs + " microseconds, app needs to declare the normal permission" + " HIGH_SAMPLING_RATE_SENSORS.");