Allow factory reset in carrier demo mode

Bug: 34341567
Test: manual - in carrier demo mode, go to Settings > Backup and
Reset > Factory data reset > Reset phone > Erase everything and
this entire path is viewable.

Change-Id: Ia5491765241adad97ecdb0a5bfd86a8371b8e4fe
This commit is contained in:
Christine Franks
2017-01-23 16:44:02 -08:00
parent e0eaf67f92
commit 1478222cd2
3 changed files with 18 additions and 6 deletions

View File

@@ -326,11 +326,13 @@ public class MasterClear extends OptionsMenuFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(
getActivity(), UserManager.DISALLOW_FACTORY_RESET, UserHandle.myUserId());
final UserManager um = UserManager.get(getActivity());
if (!um.isAdminUser() || RestrictedLockUtils.hasBaseUserRestriction(getActivity(),
UserManager.DISALLOW_FACTORY_RESET, UserHandle.myUserId())) {
final Context context = getContext();
final EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(context,
UserManager.DISALLOW_FACTORY_RESET, UserHandle.myUserId());
final UserManager um = UserManager.get(context);
final boolean disallow = !um.isAdminUser() || RestrictedLockUtils.hasBaseUserRestriction(
context, UserManager.DISALLOW_FACTORY_RESET, UserHandle.myUserId());
if (disallow && !Utils.isCarrierDemoUser(context)) {
return inflater.inflate(R.layout.master_clear_disallowed_screen, null);
} else if (admin != null) {
View view = inflater.inflate(R.layout.admin_support_details_empty_view, null);