diff options
| author | Alberto97 <albertop2197@gmail.com> | 2016-11-16 12:11:00 -0600 | 
|---|---|---|
| committer | Zhao Wei Liew <zhaoweiliew@gmail.com> | 2016-11-21 07:19:20 -0700 | 
| commit | 4f954a904b199ba817869653e8eded97ead7d8fb (patch) | |
| tree | 2c7004e5a76f10564e93f4fc160c1565759ce1dc | |
| parent | 34a780de7ae8733d89dd110d527234e02e94f1cf (diff) | |
| download | packages_apps_settings-4f954a904b199ba817869653e8eded97ead7d8fb.zip packages_apps_settings-4f954a904b199ba817869653e8eded97ead7d8fb.tar.gz packages_apps_settings-4f954a904b199ba817869653e8eded97ead7d8fb.tar.bz2  | |
NotificationLightSettings: Remove noop fields when LED can't pulse
Change-Id: I639b7fc385ffbc551ca3708d9f42db59662b6bee
| -rw-r--r-- | src/com/android/settings/notificationlight/NotificationLightSettings.java | 33 | 
1 files changed, 24 insertions, 9 deletions
diff --git a/src/com/android/settings/notificationlight/NotificationLightSettings.java b/src/com/android/settings/notificationlight/NotificationLightSettings.java index 1c3601c..3b02d36 100644 --- a/src/com/android/settings/notificationlight/NotificationLightSettings.java +++ b/src/com/android/settings/notificationlight/NotificationLightSettings.java @@ -89,6 +89,7 @@ public class NotificationLightSettings extends SettingsPreferenceFragment implem      private String mPackageList;      private Map<String, Package> mPackages;      private boolean mMultiColorLed; +    private boolean mLedCanPulse;      @Override      public void onCreate(Bundle savedInstanceState) { @@ -101,6 +102,7 @@ public class NotificationLightSettings extends SettingsPreferenceFragment implem          final NotificationManager nm = getContext().getSystemService(NotificationManager.class);          PreferenceGroup mAdvancedPrefs = (PreferenceGroup) prefSet.findPreference("advanced_section"); +        PreferenceGroup mGeneralPrefs = (PreferenceGroup) prefSet.findPreference("general_section");          // Get the system defined default notification color          mDefaultColor = @@ -111,12 +113,14 @@ public class NotificationLightSettings extends SettingsPreferenceFragment implem          mDefaultLedOff = resources.getInteger(                  com.android.internal.R.integer.config_defaultNotificationLedOff); +        mLedCanPulse = nm.deviceLightsCan(NotificationManager.LIGHTS_LED_PULSE); +        mMultiColorLed = nm.deviceLightsCan(NotificationManager.LIGHTS_RGB_NOTIFICATION); +          mEnabledPref = (SystemSettingSwitchPreference)                  findPreference(Settings.System.NOTIFICATION_LIGHT_PULSE);          mEnabledPref.setOnPreferenceChangeListener(this);          mDefaultPref = (ApplicationLightPreference) findPreference(DEFAULT_PREF); -        mDefaultPref.setOnPreferenceChangeListener(this);          mAutoGenerateColors = (CMSystemSettingSwitchPreference)                  findPreference(CMSettings.System.NOTIFICATION_LIGHT_COLOR_AUTO); @@ -131,7 +135,6 @@ public class NotificationLightSettings extends SettingsPreferenceFragment implem          mScreenOnLightsPref.setOnPreferenceChangeListener(this);          mCustomEnabledPref = (CMSystemSettingSwitchPreference)                  findPreference(CMSettings.System.NOTIFICATION_LIGHT_PULSE_CUSTOM_ENABLE); -        mCustomEnabledPref.setOnPreferenceChangeListener(this);          if (!resources.getBoolean(                  org.cyanogenmod.platform.internal.R.bool.config_adjustableNotificationLedBrightness)) {              mAdvancedPrefs.removePreference(mNotificationLedBrightnessPref); @@ -143,10 +146,18 @@ public class NotificationLightSettings extends SettingsPreferenceFragment implem          } else {              mMultipleLedsEnabledPref.setOnPreferenceChangeListener(this);          } +        if (!mLedCanPulse && !mMultiColorLed) { +            mGeneralPrefs.removePreference(mDefaultPref); +            mAdvancedPrefs.removePreference(mCustomEnabledPref); +        } else { +            mCustomEnabledPref.setOnPreferenceChangeListener(this); +            mDefaultPref.setOnPreferenceChangeListener(this); +        }          // Missed call and Voicemail preferences should only show on devices with a voice capabilities          TelephonyManager tm = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE); -        if (tm.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) { +        if (tm.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE +                || (!mLedCanPulse && !mMultiColorLed)) {              removePreference("phone_list");          } else {              mCallPref = (ApplicationLightPreference) findPreference(MISSED_CALL_PREF); @@ -156,8 +167,12 @@ public class NotificationLightSettings extends SettingsPreferenceFragment implem              mVoicemailPref.setOnPreferenceChangeListener(this);          } -        mApplicationPrefList = (PreferenceGroup) findPreference("applications_list"); -        mApplicationPrefList.setOrderingAsAdded(false); +        if (!mLedCanPulse && !mMultiColorLed) { +            removePreference("applications_list"); +        } else { +            mApplicationPrefList = (PreferenceGroup) findPreference("applications_list"); +            mApplicationPrefList.setOrderingAsAdded(false); +        }          // Get launch-able applications          mPackageManager = getPackageManager(); @@ -166,10 +181,8 @@ public class NotificationLightSettings extends SettingsPreferenceFragment implem          mPackages = new HashMap<String, Package>();          setHasOptionsMenu(true); -        mMultiColorLed = nm.deviceLightsCan(NotificationManager.LIGHTS_RGB_NOTIFICATION);          if (!mMultiColorLed) {              resetColors(); -            PreferenceGroup mGeneralPrefs = (PreferenceGroup) prefSet.findPreference("general_section");              mGeneralPrefs.removePreference(mAutoGenerateColors);          } else {              mAutoGenerateColors.setOnPreferenceChangeListener(this); @@ -253,8 +266,10 @@ public class NotificationLightSettings extends SettingsPreferenceFragment implem              mVoicemailPref.setAllValues(vmailColor, vmailTimeOn, vmailTimeOff);          } -        mApplicationPrefList = (PreferenceGroup) findPreference("applications_list"); -        mApplicationPrefList.setOrderingAsAdded(false); +        if (mLedCanPulse || mMultiColorLed) { +            mApplicationPrefList = (PreferenceGroup) findPreference("applications_list"); +            mApplicationPrefList.setOrderingAsAdded(false); +        }      }      private void refreshCustomApplicationPrefs() {  | 
