Properly show/hide advanced settings
Change-Id: I31f6f877f1945187a6f19e1b383bd3755656fb9b Fixes: 65375390 Test: manual
This commit is contained in:
@@ -53,6 +53,7 @@ import android.provider.Settings;
|
||||
import android.service.notification.NotificationListenerService;
|
||||
import android.support.v7.preference.DropDownPreference;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceGroup;
|
||||
import android.text.TextUtils;
|
||||
import android.util.ArrayMap;
|
||||
import android.util.Log;
|
||||
@@ -195,12 +196,16 @@ abstract public class NotificationSettingsBase extends SettingsPreferenceFragmen
|
||||
}
|
||||
|
||||
protected void setVisible(Preference p, boolean visible) {
|
||||
final boolean isVisible = getPreferenceScreen().findPreference(p.getKey()) != null;
|
||||
setVisible(getPreferenceScreen(), p, visible);
|
||||
}
|
||||
|
||||
protected void setVisible(PreferenceGroup parent, Preference p, boolean visible) {
|
||||
final boolean isVisible = parent.findPreference(p.getKey()) != null;
|
||||
if (isVisible == visible) return;
|
||||
if (visible) {
|
||||
getPreferenceScreen().addPreference(p);
|
||||
parent.addPreference(p);
|
||||
} else {
|
||||
getPreferenceScreen().removePreference(p);
|
||||
parent.removePreference(p);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user