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
This commit is contained in:
Zoltan Szatmary-Ban
2015-01-05 16:41:35 +00:00
parent 7e669a0ae5
commit fb1bdf0ffc

View File

@@ -620,6 +620,9 @@ public class TrustedCredentialsSettings extends Fragment {
holder.mSubjectSecondaryView.setText(certHolder.mSubjectSecondary); holder.mSubjectSecondaryView.setText(certHolder.mSubjectSecondary);
if (mTab.mSwitch) { if (mTab.mSwitch) {
holder.mSwitch.setChecked(!certHolder.mDeleted); holder.mSwitch.setChecked(!certHolder.mDeleted);
holder.mSwitch.setEnabled(!mUserManager.hasUserRestriction(
UserManager.DISALLOW_CONFIG_CREDENTIALS,
new UserHandle(certHolder.mProfileId)));
holder.mSwitch.setVisibility(View.VISIBLE); holder.mSwitch.setVisibility(View.VISIBLE);
} }
return convertView; return convertView;
@@ -680,7 +683,8 @@ public class TrustedCredentialsSettings extends Fragment {
Button removeButton = (Button) inflater.inflate(R.layout.trusted_credential_details, Button removeButton = (Button) inflater.inflate(R.layout.trusted_credential_details,
body, body,
false); false);
if (!mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_CREDENTIALS)) { if (!mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_CREDENTIALS,
new UserHandle(certHolder.mProfileId))) {
body.addView(removeButton); body.addView(removeButton);
} }
removeButton.setText(certHolder.mTab.getButtonLabel(certHolder)); removeButton.setText(certHolder.mTab.getButtonLabel(certHolder));
@@ -764,17 +768,11 @@ public class TrustedCredentialsSettings extends Fragment {
} else { } else {
return service.deleteCaCertificate(mCertHolder.mAlias); return service.deleteCaCertificate(mCertHolder.mAlias);
} }
} catch (CertificateEncodingException e) { } catch (CertificateEncodingException | SecurityException | IllegalStateException
| RemoteException e) {
Log.w(TAG, "Error while toggling alias " + mCertHolder.mAlias, Log.w(TAG, "Error while toggling alias " + mCertHolder.mAlias,
e); e);
return false; 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;
} }
} }