Announce user credential deletions
Change-Id: I08c3d022c37b5c5fb9f2e996fcbe131dffce4ba0 Fix: 26352550
This commit is contained in:
@@ -90,6 +90,12 @@ public class UserCredentialsSettings extends OptionsMenuFragment implements OnIt
|
||||
CredentialDialogFragment.show(this, item);
|
||||
}
|
||||
|
||||
protected void announceRemoval(String alias) {
|
||||
if (isAdded()) {
|
||||
mListView.announceForAccessibility(getString(R.string.user_credential_removed, alias));
|
||||
}
|
||||
}
|
||||
|
||||
protected void refreshItems() {
|
||||
if (isAdded()) {
|
||||
new AliasLoader().execute();
|
||||
@@ -141,8 +147,7 @@ public class UserCredentialsSettings extends OptionsMenuFragment implements OnIt
|
||||
RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(),
|
||||
admin);
|
||||
} else {
|
||||
new RemoveCredentialsTask(getContext(), getTargetFragment())
|
||||
.execute(item.alias);
|
||||
new RemoveCredentialsTask(getTargetFragment()).execute(item.alias);
|
||||
}
|
||||
dialog.dismiss();
|
||||
}
|
||||
@@ -152,17 +157,15 @@ public class UserCredentialsSettings extends OptionsMenuFragment implements OnIt
|
||||
return builder.create();
|
||||
}
|
||||
|
||||
private class RemoveCredentialsTask extends AsyncTask<String, Void, Void> {
|
||||
private Context context;
|
||||
private class RemoveCredentialsTask extends AsyncTask<String, Void, String[]> {
|
||||
private Fragment targetFragment;
|
||||
|
||||
public RemoveCredentialsTask(Context context, Fragment targetFragment) {
|
||||
this.context = context;
|
||||
public RemoveCredentialsTask(Fragment targetFragment) {
|
||||
this.targetFragment = targetFragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Void doInBackground(String... aliases) {
|
||||
protected String[] doInBackground(String... aliases) {
|
||||
try {
|
||||
final KeyChainConnection conn = KeyChain.bind(getContext());
|
||||
try {
|
||||
@@ -178,13 +181,17 @@ public class UserCredentialsSettings extends OptionsMenuFragment implements OnIt
|
||||
} catch (InterruptedException e) {
|
||||
Log.w(TAG, "Connecting to keychain", e);
|
||||
}
|
||||
return null;
|
||||
return aliases;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Void result) {
|
||||
if (targetFragment instanceof UserCredentialsSettings) {
|
||||
((UserCredentialsSettings) targetFragment).refreshItems();
|
||||
protected void onPostExecute(String... aliases) {
|
||||
if (targetFragment instanceof UserCredentialsSettings && targetFragment.isAdded()) {
|
||||
final UserCredentialsSettings target = (UserCredentialsSettings) targetFragment;
|
||||
for (final String alias : aliases) {
|
||||
target.announceRemoval(alias);
|
||||
}
|
||||
target.refreshItems();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user