<!-- Note: this may be replaced by a more-specific title of the activity that will get launched --> <skip />
<!-- About phone settings screen, setting option name to see terms and conditions -->
<string name="terms_title">Terms and conditions</string>
+ <!-- Note: this may be replaced by a more-specific title of the activity that will get launched --> <skip />
+ <!-- About phone settings screen, setting option name to see licensing info for WebView component. [CHAR LIMIT=35] -->
+ <string name="webview_license_title">System WebView License</string>
<!-- About phone settings screen, setting option name to see wallpapers attributions -->
<string name="wallpaper_attributions">Wallpapers</string>
<!-- About phone settings screen, setting option name to see wallpapers attributions values -->
<intent android:action="android.settings.TERMS" />
</PreferenceScreen>
+ <!-- System WebView License information -->
+ <PreferenceScreen
+ android:key="webview_license"
+ android:title="@string/webview_license_title">
+ <intent android:action="android.settings.WEBVIEW_LICENSE" />
+ </PreferenceScreen>
+
<Preference
android:key="wallpaper_attributions"
android:title="@string/wallpaper_attributions"
private static final String KEY_TERMS = "terms";
private static final String KEY_LICENSE = "license";
private static final String KEY_COPYRIGHT = "copyright";
+ private static final String KEY_WEBVIEW_LICENSE = "webview_license";
private static final String KEY_SYSTEM_UPDATE_SETTINGS = "system_update_settings";
private static final String PROPERTY_URL_SAFETYLEGAL = "ro.url.safetylegal";
private static final String PROPERTY_SELINUX_STATUS = "ro.build.selinux";
Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference, KEY_COPYRIGHT,
Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
+ Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference, KEY_WEBVIEW_LICENSE,
+ Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
// These are contained by the root preference screen
parentPreference = getPreferenceScreen();
if (!checkIntentAction(context, "android.settings.COPYRIGHT")) {
keys.add(KEY_COPYRIGHT);
}
+ if (!checkIntentAction(context, "android.settings.WEBVIEW_LICENSE")) {
+ keys.add(KEY_WEBVIEW_LICENSE);
+ }
if (UserHandle.myUserId() != UserHandle.USER_OWNER) {
keys.add(KEY_SYSTEM_UPDATE_SETTINGS);
}
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;
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));
} 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;
}
}