private void loadRestrictions()

in AppRestrictionEnforcer/Application/src/main/java/com/example/android/apprestrictionenforcer/AppRestrictionEnforcerFragment.java [240:276]


    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);
            }
        }
    }