Rearrange configure/default apps
Bug: 27276982 Bug: 27279305 Change-Id: I443e9d2bc0c3fd9bcc13ee86716c14fbb55af0ba
This commit is contained in:
@@ -25,6 +25,7 @@ import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.XmlRes;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceGroup;
|
||||
import android.support.v7.preference.PreferenceGroupAdapter;
|
||||
@@ -132,6 +133,25 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addPreferencesFromResource(@XmlRes int preferencesResId) {
|
||||
super.addPreferencesFromResource(preferencesResId);
|
||||
checkAvailablePrefs(getPreferenceScreen());
|
||||
}
|
||||
|
||||
private void checkAvailablePrefs(PreferenceGroup preferenceGroup) {
|
||||
if (preferenceGroup == null) return;
|
||||
for (int i = 0; i < preferenceGroup.getPreferenceCount(); i++) {
|
||||
Preference pref = preferenceGroup.getPreference(i);
|
||||
if (pref instanceof SelfAvailablePreference
|
||||
&& !((SelfAvailablePreference) pref).isAvailable(getContext())) {
|
||||
preferenceGroup.removePreference(pref);
|
||||
} else if (pref instanceof PreferenceGroup) {
|
||||
checkAvailablePrefs((PreferenceGroup) pref);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public FloatingActionButton getFloatingActionButton() {
|
||||
return mFloatingActionButton;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user