From fb1bdf0ffc06e872533230ccfe7de4fc0e706eea Mon Sep 17 00:00:00 2001 From: Zoltan Szatmary-Ban Date: Mon, 5 Jan 2015 16:41:35 +0000 Subject: [PATCH] Check DISALLOW_CONFIG_CREDENTIALS on Settings > Trusted Credentials Remove the enable/disable button in certificate setting dialog if restriction has been put on the respective profile. Also catch security exception just in case. Bug: 18899182 Change-Id: Ia247ab264c1b2d08b58456519bf471ba8c727745 --- .../settings/TrustedCredentialsSettings.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/com/android/settings/TrustedCredentialsSettings.java b/src/com/android/settings/TrustedCredentialsSettings.java index 31ce975d7b1..e2b49d6f4bb 100644 --- a/src/com/android/settings/TrustedCredentialsSettings.java +++ b/src/com/android/settings/TrustedCredentialsSettings.java @@ -620,6 +620,9 @@ public class TrustedCredentialsSettings extends Fragment { holder.mSubjectSecondaryView.setText(certHolder.mSubjectSecondary); if (mTab.mSwitch) { holder.mSwitch.setChecked(!certHolder.mDeleted); + holder.mSwitch.setEnabled(!mUserManager.hasUserRestriction( + UserManager.DISALLOW_CONFIG_CREDENTIALS, + new UserHandle(certHolder.mProfileId))); holder.mSwitch.setVisibility(View.VISIBLE); } return convertView; @@ -680,7 +683,8 @@ public class TrustedCredentialsSettings extends Fragment { Button removeButton = (Button) inflater.inflate(R.layout.trusted_credential_details, body, false); - if (!mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_CREDENTIALS)) { + if (!mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_CREDENTIALS, + new UserHandle(certHolder.mProfileId))) { body.addView(removeButton); } removeButton.setText(certHolder.mTab.getButtonLabel(certHolder)); @@ -764,17 +768,11 @@ public class TrustedCredentialsSettings extends Fragment { } else { return service.deleteCaCertificate(mCertHolder.mAlias); } - } catch (CertificateEncodingException e) { + } catch (CertificateEncodingException | SecurityException | IllegalStateException + | RemoteException e) { Log.w(TAG, "Error while toggling alias " + mCertHolder.mAlias, e); return false; - } catch (IllegalStateException e) { - // used by installCaCertificate to report errors - Log.w(TAG, "Error while toggling alias " + mCertHolder.mAlias, e); - return false; - } catch (RemoteException e) { - Log.w(TAG, "Error while toggling alias " + mCertHolder.mAlias, e); - return false; } }