Example usage for android.content RestrictionEntry getSelectedState

List of usage examples for android.content RestrictionEntry getSelectedState

Introduction

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

Prototype

public boolean getSelectedState() 

Source Link

Document

Returns the current selected state for an entry of type #TYPE_BOOLEAN .

Usage

From source file:com.example.android.apprestrictionschema.AppRestrictionSchemaFragment.java

private void updateCanSayHello(RestrictionEntry entry, Bundle restrictions) {
    boolean canSayHello;
    if (restrictions == null || !restrictions.containsKey(KEY_CAN_SAY_HELLO)) {
        canSayHello = entry.getSelectedState();
    } else {/*from w ww  .  j  a v  a  2 s . c  o m*/
        canSayHello = restrictions.getBoolean(KEY_CAN_SAY_HELLO);
    }
    mTextSayHello.setText(
            canSayHello ? R.string.explanation_can_say_hello_true : R.string.explanation_can_say_hello_false);
    mButtonSayHello.setEnabled(canSayHello);
}

From source file:com.example.android.apprestrictionenforcer.AppRestrictionEnforcerFragment.java

/**
 * Loads the restrictions for the AppRestrictionSchema sample.
 *
 * @param activity The activity//ww  w.j  a va2 s . c o  m
 */
private void loadRestrictions(Activity activity) {
    RestrictionsManager manager = (RestrictionsManager) activity.getSystemService(Context.RESTRICTIONS_SERVICE);
    List<RestrictionEntry> restrictions = manager
            .getManifestRestrictions(Constants.PACKAGE_NAME_APP_RESTRICTION_SCHEMA);
    SharedPreferences prefs = activity.getSharedPreferences(PREFS_KEY, Context.MODE_PRIVATE);
    for (RestrictionEntry restriction : restrictions) {
        String key = restriction.getKey();
        if (RESTRICTION_KEY_SAY_HELLO.equals(key)) {
            updateCanSayHello(prefs.getBoolean(RESTRICTION_KEY_SAY_HELLO, restriction.getSelectedState()));
        } else if (RESTRICTION_KEY_MESSAGE.equals(key)) {
            updateMessage(prefs.getString(RESTRICTION_KEY_MESSAGE, restriction.getSelectedString()));
        } else if (RESTRICTION_KEY_NUMBER.equals(key)) {
            updateNumber(prefs.getInt(RESTRICTION_KEY_NUMBER, restriction.getIntValue()));
        } else if (RESTRICTION_KEY_RANK.equals(key)) {
            updateRank(activity, restriction.getChoiceValues(),
                    prefs.getString(RESTRICTION_KEY_RANK, restriction.getSelectedString()));
        } else if (RESTRICTION_KEY_APPROVALS.equals(key)) {
            updateApprovals(activity, restriction.getChoiceValues(),
                    TextUtils.split(
                            prefs.getString(RESTRICTION_KEY_APPROVALS,
                                    TextUtils.join(DELIMETER, restriction.getAllSelectedStrings())),
                            DELIMETER));
        } else if (BUNDLE_SUPPORTED && RESTRICTION_KEY_ITEMS.equals(key)) {
            String itemsString = prefs.getString(RESTRICTION_KEY_ITEMS, "");
            HashMap<String, String> items = new HashMap<>();
            for (String itemString : TextUtils.split(itemsString, DELIMETER)) {
                String[] strings = itemString.split(SEPARATOR, 2);
                items.put(strings[0], strings[1]);
            }
            updateItems(activity, items);
        }
    }
}

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 www.  ja va 2 s . c  o 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();/*  w ww .j a va  2  s .  c om*/
    // 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);
    }
}