diff options
-rw-r--r-- | doze/src/com/cyanogenmod/settings/doze/DozeSettingsFragment.java | 9 | ||||
-rw-r--r-- | doze/src/com/cyanogenmod/settings/doze/Utils.java | 14 |
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; |