aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doze/src/com/cyanogenmod/settings/doze/DozeSettingsFragment.java9
-rw-r--r--doze/src/com/cyanogenmod/settings/doze/Utils.java14
2 files changed, 23 insertions, 0 deletions
diff --git a/doze/src/com/cyanogenmod/settings/doze/DozeSettingsFragment.java b/doze/src/com/cyanogenmod/settings/doze/DozeSettingsFragment.java
index 6aff232..7167118 100644
--- a/doze/src/com/cyanogenmod/settings/doze/DozeSettingsFragment.java
+++ b/doze/src/com/cyanogenmod/settings/doze/DozeSettingsFragment.java
@@ -30,6 +30,7 @@ import android.os.Handler;
import android.support.v14.preference.PreferenceFragment;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.view.LayoutInflater;
import android.view.View;
@@ -59,6 +60,9 @@ public class DozeSettingsFragment extends PreferenceFragment implements OnPrefer
boolean dozeEnabled = Utils.isDozeEnabled(getActivity());
+ PreferenceCategory proximitySensorCategory =
+ (PreferenceCategory) getPreferenceScreen().findPreference(Utils.CATEG_PROX_SENSOR);
+
mPickUpPreference = (SwitchPreference) findPreference(Utils.GESTURE_PICK_UP_KEY);
mPickUpPreference.setEnabled(dozeEnabled);
@@ -67,6 +71,11 @@ public class DozeSettingsFragment extends PreferenceFragment implements OnPrefer
mPocketPreference = (SwitchPreference) findPreference(Utils.GESTURE_POCKET_KEY);
mPocketPreference.setEnabled(dozeEnabled);
+
+ // Hide proximity sensor related features if the device doesn't support them
+ if (!Utils.getProxCheckBeforePulse(getActivity())) {
+ getPreferenceScreen().removePreference(proximitySensorCategory);
+ }
}
@Override
diff --git a/doze/src/com/cyanogenmod/settings/doze/Utils.java b/doze/src/com/cyanogenmod/settings/doze/Utils.java
index 65f1d99..3e55d44 100644
--- a/doze/src/com/cyanogenmod/settings/doze/Utils.java
+++ b/doze/src/com/cyanogenmod/settings/doze/Utils.java
@@ -19,6 +19,7 @@ package com.cyanogenmod.settings.doze;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.PackageManager;
import android.os.UserHandle;
import android.support.v7.preference.PreferenceManager;
import android.provider.Settings;
@@ -33,6 +34,8 @@ public final class Utils {
private static final String DOZE_INTENT = "com.android.systemui.doze.pulse";
+ protected static final String CATEG_PROX_SENSOR = "proximity_sensor";
+
protected static final String GESTURE_PICK_UP_KEY = "gesture_pick_up";
protected static final String GESTURE_HAND_WAVE_KEY = "gesture_hand_wave";
protected static final String GESTURE_POCKET_KEY = "gesture_pocket";
@@ -57,6 +60,17 @@ public final class Utils {
}
}
+ protected static boolean getProxCheckBeforePulse(Context context) {
+ try {
+ Context con = context.createPackageContext("com.android.systemui", 0);
+ int id = con.getResources().getIdentifier("doze_proximity_check_before_pulse",
+ "bool", "com.android.systemui");
+ return con.getResources().getBoolean(id);
+ } catch (PackageManager.NameNotFoundException e) {
+ return false;
+ }
+ }
+
protected static boolean isDozeEnabled(Context context) {
return Settings.Secure.getInt(context.getContentResolver(),
DOZE_ENABLED, 1) != 0;