List of usage examples for android.content RestrictionEntry getSelectedState
public boolean getSelectedState()
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); } }