Support for nested bundles in setApplicationRestrictions

Replaced RestrictionUtils.restrictionsToBundle with RestrictionsManager.
convertRestrictionsToBundle.

Bug: 19540606
Change-Id: I32b264e04d5d177ea5b4c39a8ace5ee0ce907970
This commit is contained in:
Fyodor Kupolov
2015-03-23 18:57:24 -07:00
parent bca21083a3
commit 2b2ab5a947
2 changed files with 4 additions and 17 deletions

View File

@@ -23,6 +23,7 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.RestrictionEntry; import android.content.RestrictionEntry;
import android.content.RestrictionsManager;
import android.content.pm.ActivityInfo; import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageManager; import android.content.pm.IPackageManager;
@@ -841,7 +842,7 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
continue; continue;
} }
mUserManager.setApplicationRestrictions(packageName, mUserManager.setApplicationRestrictions(packageName,
RestrictionUtils.restrictionsToBundle(restrictions), RestrictionsManager.convertRestrictionsToBundle(restrictions),
mUser); mUser);
break; break;
} }
@@ -915,7 +916,7 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
onRestrictionsReceived(preference, packageName, restrictions); onRestrictionsReceived(preference, packageName, restrictions);
if (mRestrictedProfile) { if (mRestrictedProfile) {
mUserManager.setApplicationRestrictions(packageName, mUserManager.setApplicationRestrictions(packageName,
RestrictionUtils.restrictionsToBundle(restrictions), mUser); RestrictionsManager.convertRestrictionsToBundle(restrictions), mUser);
} }
} else if (restrictionsIntent != null) { } else if (restrictionsIntent != null) {
preference.setRestrictions(restrictions); preference.setRestrictions(restrictions);
@@ -1046,7 +1047,7 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
// If there's a valid result, persist it to the user manager. // If there's a valid result, persist it to the user manager.
pref.setRestrictions(list); pref.setRestrictions(list);
mUserManager.setApplicationRestrictions(packageName, mUserManager.setApplicationRestrictions(packageName,
RestrictionUtils.restrictionsToBundle(list), mUser); RestrictionsManager.convertRestrictionsToBundle(list), mUser);
} else if (bundle != null) { } else if (bundle != null) {
// If there's a valid result, persist it to the user manager. // If there's a valid result, persist it to the user manager.
mUserManager.setApplicationRestrictions(packageName, bundle, mUser); mUserManager.setApplicationRestrictions(packageName, bundle, mUser);

View File

@@ -90,18 +90,4 @@ public class RestrictionUtils {
} }
um.setUserRestrictions(userRestrictions, user); um.setUserRestrictions(userRestrictions, user);
} }
public static Bundle restrictionsToBundle(ArrayList<RestrictionEntry> entries) {
final Bundle bundle = new Bundle();
for (RestrictionEntry entry : entries) {
if (entry.getType() == RestrictionEntry.TYPE_BOOLEAN) {
bundle.putBoolean(entry.getKey(), entry.getSelectedState());
} else if (entry.getType() == RestrictionEntry.TYPE_MULTI_SELECT) {
bundle.putStringArray(entry.getKey(), entry.getAllSelectedStrings());
} else {
bundle.putString(entry.getKey(), entry.getSelectedString());
}
}
return bundle;
}
} }