Merge "Credential management app UI tweaks" into sc-dev

This commit is contained in:
Alex Johnston
2021-06-10 09:38:15 +00:00
committed by Android (Google) Code Review
7 changed files with 57 additions and 18 deletions

View File

@@ -21,6 +21,7 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.security.AppUriAuthenticationPolicy;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -85,11 +86,13 @@ public class CredentialManagementAppAdapter extends RecyclerView.Adapter<Recycle
ApplicationInfo applicationInfo =
mPackageManager.getApplicationInfo(mCredentialManagerPackage, 0);
mAppIconView.setImageDrawable(mPackageManager.getApplicationIcon(applicationInfo));
mTitleView.setText(mContext.getString(R.string.request_manage_credentials_title,
mTitleView.setText(TextUtils.expandTemplate(
mContext.getText(R.string.request_manage_credentials_title),
applicationInfo.loadLabel(mPackageManager)));
} catch (PackageManager.NameNotFoundException e) {
mAppIconView.setImageDrawable(null);
mTitleView.setText(mContext.getString(R.string.request_manage_credentials_title,
mTitleView.setText(TextUtils.expandTemplate(
mContext.getText(R.string.request_manage_credentials_title),
mCredentialManagerPackage));
}
}

View File

@@ -80,12 +80,29 @@ public class CredentialManagementAppButtonsController extends BasePreferenceCont
private void displayButtons(PreferenceScreen screen) {
if (mHasCredentialManagerPackage) {
((ActionButtonsPreference) screen.findPreference(getPreferenceKey()))
.setButton1Text(R.string.remove_credential_management_app)
.setButton1Icon(R.drawable.ic_undo_24)
.setButton1OnClickListener(view -> removeCredentialManagementApp());
.setButton1Text(R.string.uninstall_certs_credential_management_app)
.setButton1Icon(R.drawable.ic_upload)
.setButton1OnClickListener(view -> uninstallCertificates())
.setButton2Text(R.string.remove_credential_management_app)
.setButton2Icon(R.drawable.ic_delete)
.setButton2OnClickListener(view -> removeCredentialManagementApp());
}
}
private void uninstallCertificates() {
mExecutor.execute(() -> {
try {
IKeyChainService service = KeyChain.bind(mContext).getService();
for (String existingAlias :
service.getCredentialManagementAppPolicy().getAliases()) {
service.removeKeyPair(existingAlias);
}
} catch (InterruptedException | RemoteException e) {
Log.e(TAG, "Unable to uninstall certificates");
}
});
}
private void removeCredentialManagementApp() {
mExecutor.execute(() -> {
try {

View File

@@ -83,7 +83,6 @@ public class CredentialManagementAppHeaderController extends BasePreferenceContr
TextView titleView = headerPref.findViewById(R.id.entity_header_title);
TextView summary1 = headerPref.findViewById(R.id.entity_header_summary);
TextView summary2 = headerPref.findViewById(R.id.entity_header_second_summary);
summary1.setVisibility(View.GONE);
summary2.setVisibility(View.GONE);
try {
@@ -91,6 +90,7 @@ public class CredentialManagementAppHeaderController extends BasePreferenceContr
mPackageManager.getApplicationInfo(mCredentialManagerPackageName, 0);
appIconView.setImageDrawable(mPackageManager.getApplicationIcon(applicationInfo));
titleView.setText(applicationInfo.loadLabel(mPackageManager));
summary1.setText(R.string.certificate_management_app_description);
} catch (PackageManager.NameNotFoundException e) {
appIconView.setImageDrawable(null);
titleView.setText(mCredentialManagerPackageName);