Rearrange configure/default apps

Bug: 27276982
Bug: 27279305
Change-Id: I443e9d2bc0c3fd9bcc13ee86716c14fbb55af0ba
This commit is contained in:
Jason Monk
2016-02-23 15:31:09 -05:00
parent e57f7cbc8c
commit 91e2f89b0f
26 changed files with 483 additions and 503 deletions

View File

@@ -64,6 +64,8 @@ import android.provider.ContactsContract.RawContacts;
import android.service.persistentdata.PersistentDataBlockManager;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceGroup;
import android.support.v7.preference.PreferenceManager;
import android.support.v7.preference.PreferenceScreen;
import android.telephony.TelephonyManager;
import android.text.Spannable;
import android.text.SpannableString;
@@ -83,7 +85,6 @@ import android.view.animation.AnimationUtils;
import android.widget.ListView;
import android.widget.TabWidget;
import com.android.internal.util.UserIcons;
import com.android.settings.datausage.DataUsageList;
import java.io.IOException;
import java.io.InputStream;
@@ -1025,5 +1026,41 @@ public final class Utils extends com.android.settingslib.Utils {
.toString();
}
}
public static List<String> getNonIndexable(int xml, Context context) {
List<String> ret = new ArrayList<>();
PreferenceManager manager = new PreferenceManager(context);
PreferenceScreen screen = manager.inflateFromResource(context, xml, null);
checkPrefs(screen, ret);
return ret;
}
private static void checkPrefs(PreferenceGroup group, List<String> ret) {
if (group == null) return;
for (int i = 0; i < group.getPreferenceCount(); i++) {
Preference pref = group.getPreference(i);
if (pref instanceof SelfAvailablePreference
&& !((SelfAvailablePreference) pref).isAvailable(group.getContext())) {
ret.add(pref.getKey());
if (pref instanceof PreferenceGroup) {
addAll((PreferenceGroup) pref, ret);
}
} else if (pref instanceof PreferenceGroup) {
checkPrefs((PreferenceGroup) pref, ret);
}
}
}
private static void addAll(PreferenceGroup group, List<String> ret) {
if (group == null) return;
for (int i = 0; i < group.getPreferenceCount(); i++) {
Preference pref = group.getPreference(i);
ret.add(pref.getKey());
if (pref instanceof PreferenceGroup) {
addAll((PreferenceGroup) pref, ret);
}
}
}
}