diff --git a/doze/res/values/config.xml b/doze/res/values/config.xml new file mode 100644 index 0000000..e2400de --- /dev/null +++ b/doze/res/values/config.xml @@ -0,0 +1,21 @@ + + + + + + + diff --git a/doze/src/org/lineageos/settings/doze/DozeSettingsFragment.java b/doze/src/org/lineageos/settings/doze/DozeSettingsFragment.java index 31723f7..1c4ce9c 100644 --- a/doze/src/org/lineageos/settings/doze/DozeSettingsFragment.java +++ b/doze/src/org/lineageos/settings/doze/DozeSettingsFragment.java @@ -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 diff --git a/doze/src/org/lineageos/settings/doze/PickupSensor.java b/doze/src/org/lineageos/settings/doze/PickupSensor.java index 41b34a3..7f42ccb 100644 --- a/doze/src/org/lineageos/settings/doze/PickupSensor.java +++ b/doze/src/org/lineageos/settings/doze/PickupSensor.java @@ -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); diff --git a/doze/src/org/lineageos/settings/doze/PocketSensor.java b/doze/src/org/lineageos/settings/doze/PocketSensor.java index a4e2208..b18e49b 100644 --- a/doze/src/org/lineageos/settings/doze/PocketSensor.java +++ b/doze/src/org/lineageos/settings/doze/PocketSensor.java @@ -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);