Loading core/java/android/hardware/SystemSensorManager.java +14 −6 Original line number Diff line number Diff line Loading @@ -135,7 +135,7 @@ public class SystemSensorManager extends SensorManager { private final boolean mIsPackageDebuggable; private final Context mContext; private final long mNativeInstance; private final VirtualDeviceManager mVdm; private VirtualDeviceManager mVdm; private Optional<Boolean> mHasHighSamplingRateSensorsPermission = Optional.empty(); Loading @@ -154,7 +154,6 @@ public class SystemSensorManager extends SensorManager { mContext = context; mNativeInstance = nativeCreate(context.getOpPackageName()); mIsPackageDebuggable = (0 != (appInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE)); mVdm = mContext.getSystemService(VirtualDeviceManager.class); // initialize the sensor list for (int index = 0;; ++index) { Loading @@ -170,8 +169,7 @@ public class SystemSensorManager extends SensorManager { @Override public List<Sensor> getSensorList(int type) { final int deviceId = mContext.getDeviceId(); if (deviceId == DEFAULT_DEVICE_ID || mVdm == null || mVdm.getDevicePolicy(deviceId, POLICY_TYPE_SENSORS) == DEVICE_POLICY_DEFAULT) { if (isDeviceSensorPolicyDefault(deviceId)) { return super.getSensorList(type); } Loading Loading @@ -207,8 +205,7 @@ public class SystemSensorManager extends SensorManager { @Override protected List<Sensor> getFullSensorList() { final int deviceId = mContext.getDeviceId(); if (deviceId == DEFAULT_DEVICE_ID || mVdm == null || mVdm.getDevicePolicy(deviceId, POLICY_TYPE_SENSORS) == DEVICE_POLICY_DEFAULT) { if (isDeviceSensorPolicyDefault(deviceId)) { return mFullSensorsList; } Loading Loading @@ -1136,6 +1133,17 @@ public class SystemSensorManager extends SensorManager { parameter.type, parameter.floatValues, parameter.intValues) == 0; } private boolean isDeviceSensorPolicyDefault(int deviceId) { if (deviceId == DEFAULT_DEVICE_ID) { return true; } if (mVdm == null) { mVdm = mContext.getSystemService(VirtualDeviceManager.class); } return mVdm == null || mVdm.getDevicePolicy(deviceId, POLICY_TYPE_SENSORS) == DEVICE_POLICY_DEFAULT; } /** * Checks if a sensor should be capped according to HIGH_SAMPLING_RATE_SENSORS * permission. Loading Loading
core/java/android/hardware/SystemSensorManager.java +14 −6 Original line number Diff line number Diff line Loading @@ -135,7 +135,7 @@ public class SystemSensorManager extends SensorManager { private final boolean mIsPackageDebuggable; private final Context mContext; private final long mNativeInstance; private final VirtualDeviceManager mVdm; private VirtualDeviceManager mVdm; private Optional<Boolean> mHasHighSamplingRateSensorsPermission = Optional.empty(); Loading @@ -154,7 +154,6 @@ public class SystemSensorManager extends SensorManager { mContext = context; mNativeInstance = nativeCreate(context.getOpPackageName()); mIsPackageDebuggable = (0 != (appInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE)); mVdm = mContext.getSystemService(VirtualDeviceManager.class); // initialize the sensor list for (int index = 0;; ++index) { Loading @@ -170,8 +169,7 @@ public class SystemSensorManager extends SensorManager { @Override public List<Sensor> getSensorList(int type) { final int deviceId = mContext.getDeviceId(); if (deviceId == DEFAULT_DEVICE_ID || mVdm == null || mVdm.getDevicePolicy(deviceId, POLICY_TYPE_SENSORS) == DEVICE_POLICY_DEFAULT) { if (isDeviceSensorPolicyDefault(deviceId)) { return super.getSensorList(type); } Loading Loading @@ -207,8 +205,7 @@ public class SystemSensorManager extends SensorManager { @Override protected List<Sensor> getFullSensorList() { final int deviceId = mContext.getDeviceId(); if (deviceId == DEFAULT_DEVICE_ID || mVdm == null || mVdm.getDevicePolicy(deviceId, POLICY_TYPE_SENSORS) == DEVICE_POLICY_DEFAULT) { if (isDeviceSensorPolicyDefault(deviceId)) { return mFullSensorsList; } Loading Loading @@ -1136,6 +1133,17 @@ public class SystemSensorManager extends SensorManager { parameter.type, parameter.floatValues, parameter.intValues) == 0; } private boolean isDeviceSensorPolicyDefault(int deviceId) { if (deviceId == DEFAULT_DEVICE_ID) { return true; } if (mVdm == null) { mVdm = mContext.getSystemService(VirtualDeviceManager.class); } return mVdm == null || mVdm.getDevicePolicy(deviceId, POLICY_TYPE_SENSORS) == DEVICE_POLICY_DEFAULT; } /** * Checks if a sensor should be capped according to HIGH_SAMPLING_RATE_SENSORS * permission. Loading