From 30df56dc36fd24e4ddbb19ab6a73c852b848c883 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Fri, 13 Jun 2014 13:07:01 -0400 Subject: [PATCH] Apply user restriction checks to app info screen in settings. Bug: 14081992 Change-Id: Id90c00df600c19820dcbc391a09cc6a58e673d0e --- .../applications/InstalledAppDetails.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java index 6ed517fef1a..aa1c01005f4 100755 --- a/src/com/android/settings/applications/InstalledAppDetails.java +++ b/src/com/android/settings/applications/InstalledAppDetails.java @@ -126,6 +126,7 @@ public class InstalledAppDetails extends Fragment private CheckBox mAskCompatibilityCB; private CheckBox mEnableCompatibilityCB; private boolean mCanClearData = true; + private boolean mAppControlRestricted = false; private TextView mAppVersion; private TextView mTotalSize; private TextView mAppSize; @@ -264,6 +265,10 @@ public class InstalledAppDetails extends Fragment } mClearDataButton.setOnClickListener(this); } + + if (mAppControlRestricted) { + mClearDataButton.setEnabled(false); + } } private CharSequence getMoveErrMsg(int errCode) { @@ -303,7 +308,7 @@ public class InstalledAppDetails extends Fragment mCanBeOnSdCardChecker.init(); moveDisable = !mCanBeOnSdCardChecker.check(mAppEntry.info); } - if (moveDisable) { + if (moveDisable || mAppControlRestricted) { mMoveAppButton.setEnabled(false); } else { mMoveAppButton.setOnClickListener(this); @@ -388,6 +393,10 @@ public class InstalledAppDetails extends Fragment } } + if (mAppControlRestricted) { + enabled = false; + } + mUninstallButton.setEnabled(enabled); if (enabled) { // Register listener @@ -580,6 +589,7 @@ public class InstalledAppDetails extends Fragment public void onResume() { super.onResume(); + mAppControlRestricted = mUserManager.hasUserRestriction(UserManager.DISALLOW_APPS_CONTROL); mSession.resume(); if (!refreshUi()) { setIntentAndFinish(true, true); @@ -1008,6 +1018,10 @@ public class InstalledAppDetails extends Fragment mClearCacheButton.setOnClickListener(this); } } + if (mAppControlRestricted) { + mClearCacheButton.setEnabled(false); + mClearDataButton.setEnabled(false); + } } /* @@ -1261,8 +1275,12 @@ public class InstalledAppDetails extends Fragment }; private void updateForceStopButton(boolean enabled) { - mForceStopButton.setEnabled(enabled); - mForceStopButton.setOnClickListener(InstalledAppDetails.this); + if (mAppControlRestricted) { + mForceStopButton.setEnabled(false); + } else { + mForceStopButton.setEnabled(enabled); + mForceStopButton.setOnClickListener(InstalledAppDetails.this); + } } private void checkForceStop() {