private String mPackageList;
private Map<String, Package> mPackages;
private boolean mMultiColorLed;
+ private boolean mLedCanPulse;
@Override
public void onCreate(Bundle savedInstanceState) {
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 =
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);
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);
} 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);
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();
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);
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() {