doze: Make all features optional

This change makes all users of doze app declare supported sensors in
their device tree overlays.

Change-Id: I6444da1e8b42d0064a04981632c84f6c90ddaee7
This commit is contained in:
LuK1337
2021-09-18 17:12:43 +02:00
parent 2edf978bd0
commit 5d62057c70
4 changed files with 39 additions and 2 deletions

View File

@@ -93,6 +93,16 @@ public class DozeSettingsFragment extends PreferenceFragment implements OnPrefer
pickupSensorCategory.setDependency(Utils.ALWAYS_ON_DISPLAY);
proximitySensorCategory.setDependency(Utils.ALWAYS_ON_DISPLAY);
}
// Hide pickup sensor category if its sensor type is empty
if (getString(R.string.pickup_sensor_type).isEmpty()) {
getPreferenceScreen().removePreference(pickupSensorCategory);
}
// Hide proximity sensor category if its sensor type is empty
if (getString(R.string.pocket_sensor_type).isEmpty()) {
getPreferenceScreen().removePreference(proximitySensorCategory);
}
}
@Override

View File

@@ -53,7 +53,8 @@ public class PickupSensor implements SensorEventListener {
mContext = context;
mPowerManager = mContext.getSystemService(PowerManager.class);
mSensorManager = mContext.getSystemService(SensorManager.class);
mSensor = Utils.getSensor(mSensorManager, "oneplus.sensor.pickup");
mSensor = Utils.getSensor(mSensorManager,
context.getResources().getString(R.string.pickup_sensor_type));
mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
mExecutorService = Executors.newSingleThreadExecutor();
}
@@ -90,6 +91,7 @@ public class PickupSensor implements SensorEventListener {
}
protected void enable() {
if (mSensor == null) return;
if (DEBUG) Log.d(TAG, "Enabling");
submit(() -> {
mEntryTimestamp = SystemClock.elapsedRealtime();
@@ -99,6 +101,7 @@ public class PickupSensor implements SensorEventListener {
}
protected void disable() {
if (mSensor == null) return;
if (DEBUG) Log.d(TAG, "Disabling");
submit(() -> {
mSensorManager.unregisterListener(this, mSensor);

View File

@@ -46,7 +46,8 @@ public class PocketSensor implements SensorEventListener {
public PocketSensor(Context context) {
mContext = context;
mSensorManager = mContext.getSystemService(SensorManager.class);
mSensor = Utils.getSensor(mSensorManager, "oneplus.sensor.pocket");
mSensor = Utils.getSensor(mSensorManager,
context.getResources().getString(R.string.pocket_sensor_type));
mExecutorService = Executors.newSingleThreadExecutor();
}
@@ -76,6 +77,7 @@ public class PocketSensor implements SensorEventListener {
}
protected void enable() {
if (mSensor == null) return;
if (DEBUG) Log.d(TAG, "Enabling");
submit(() -> {
mEntryTimestamp = SystemClock.elapsedRealtime();
@@ -85,6 +87,7 @@ public class PocketSensor implements SensorEventListener {
}
protected void disable() {
if (mSensor == null) return;
if (DEBUG) Log.d(TAG, "Disabling");
submit(() -> {
mSensorManager.unregisterListener(this, mSensor);