Example usage for android.content RestrictionEntry getDescription

List of usage examples for android.content RestrictionEntry getDescription

Introduction

In this page you can find the example usage for android.content RestrictionEntry getDescription.

Prototype

public String getDescription() 

Source Link

Document

Returns the provided user-visible description of the entry, if any.

Usage

From source file:com.android.tv.settings.users.AppRestrictionsFragment.java

private void addLocationAppRestrictionsPreference() {
    AppRestrictionsPreference p = new AppRestrictionsPreference(getPreferenceManager().getContext());
    String packageName = getContext().getPackageName();
    p.setIcon(R.drawable.ic_location_on);
    p.setKey(getKeyForPackage(packageName));
    ArrayList<RestrictionEntry> restrictions = RestrictionUtils.getRestrictions(getActivity(), mUser);
    RestrictionEntry locationRestriction = restrictions.get(0);
    p.setTitle(locationRestriction.getTitle());
    p.setRestrictions(restrictions);//from  w  w  w.  j a  v a2  s  . co  m
    p.setSummary(locationRestriction.getDescription());
    p.setChecked(locationRestriction.getSelectedState());
    p.setPersistent(false);
    p.setOrder(MAX_APP_RESTRICTIONS);
    mAppList.addPreference(p);
}

From source file:com.android.tv.settings.users.AppRestrictionsFragment.java

private void onRestrictionsReceived(AppRestrictionsPreference preference,
        ArrayList<RestrictionEntry> restrictions) {
    // Remove any earlier restrictions
    preference.removeAll();/*from   w  w w  .  j  a va 2  s. co  m*/
    // Non-custom-activity case - expand the restrictions in-place
    int count = 1;
    final Context themedContext = getPreferenceManager().getContext();
    for (RestrictionEntry entry : restrictions) {
        Preference p = null;
        switch (entry.getType()) {
        case RestrictionEntry.TYPE_BOOLEAN:
            p = new SwitchPreference(themedContext);
            p.setTitle(entry.getTitle());
            p.setSummary(entry.getDescription());
            ((SwitchPreference) p).setChecked(entry.getSelectedState());
            break;
        case RestrictionEntry.TYPE_CHOICE:
        case RestrictionEntry.TYPE_CHOICE_LEVEL:
            p = new ListPreference(themedContext);
            p.setTitle(entry.getTitle());
            String value = entry.getSelectedString();
            if (value == null) {
                value = entry.getDescription();
            }
            p.setSummary(findInArray(entry.getChoiceEntries(), entry.getChoiceValues(), value));
            ((ListPreference) p).setEntryValues(entry.getChoiceValues());
            ((ListPreference) p).setEntries(entry.getChoiceEntries());
            ((ListPreference) p).setValue(value);
            ((ListPreference) p).setDialogTitle(entry.getTitle());
            break;
        case RestrictionEntry.TYPE_MULTI_SELECT:
            p = new MultiSelectListPreference(themedContext);
            p.setTitle(entry.getTitle());
            ((MultiSelectListPreference) p).setEntryValues(entry.getChoiceValues());
            ((MultiSelectListPreference) p).setEntries(entry.getChoiceEntries());
            HashSet<String> set = new HashSet<>();
            Collections.addAll(set, entry.getAllSelectedStrings());
            ((MultiSelectListPreference) p).setValues(set);
            ((MultiSelectListPreference) p).setDialogTitle(entry.getTitle());
            break;
        case RestrictionEntry.TYPE_NULL:
        default:
        }
        if (p != null) {
            p.setPersistent(false);
            p.setOrder(preference.getOrder() + count);
            // Store the restrictions key string as a key for the preference
            p.setKey(getPackageFromKey(preference.getKey()) + DELIMITER + entry.getKey());
            preference.addPreference(p);
            p.setOnPreferenceChangeListener(AppRestrictionsFragment.this);
            p.setIcon(BLANK_DRAWABLE);
            count++;
        }
    }
    preference.setRestrictions(restrictions);
    if (count == 1 // No visible restrictions
            && preference.isImmutable() && preference.isChecked()) {
        // Special case of required app with no visible restrictions. Remove it
        mAppList.removePreference(preference);
    }
}