fix passphrase->deletion ui flow for secret keys, and disregard cache
This commit is contained in:
@@ -31,6 +31,7 @@ import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Handler.Callback;
|
||||
import android.os.Message;
|
||||
import android.os.Messenger;
|
||||
import android.provider.ContactsContract;
|
||||
@@ -327,31 +328,11 @@ public class ViewKeyActivity extends BaseNfcActivity implements
|
||||
return true;
|
||||
}
|
||||
case R.id.menu_key_view_export_file: {
|
||||
try {
|
||||
if (PassphraseCacheService.getCachedPassphrase(this, mMasterKeyId, mMasterKeyId) != null) {
|
||||
exportToFile(mDataUri, mProviderHelper);
|
||||
return true;
|
||||
}
|
||||
|
||||
startPassphraseActivity(REQUEST_EXPORT);
|
||||
} catch (PassphraseCacheService.KeyNotFoundException e) {
|
||||
// This happens when the master key is stripped
|
||||
exportToFile(mDataUri, mProviderHelper);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
case R.id.menu_key_view_delete: {
|
||||
try {
|
||||
if (PassphraseCacheService.getCachedPassphrase(this, mMasterKeyId, mMasterKeyId) != null) {
|
||||
deleteKey();
|
||||
return true;
|
||||
}
|
||||
|
||||
startPassphraseActivity(REQUEST_DELETE);
|
||||
} catch (PassphraseCacheService.KeyNotFoundException e) {
|
||||
// This happens when the master key is stripped
|
||||
deleteKey();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
case R.id.menu_key_view_advanced: {
|
||||
@@ -476,6 +457,9 @@ public class ViewKeyActivity extends BaseNfcActivity implements
|
||||
}
|
||||
|
||||
private void deleteKey() {
|
||||
new Handler().post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// Message is received after key is deleted
|
||||
Handler returnHandler = new Handler() {
|
||||
@Override
|
||||
@@ -493,6 +477,8 @@ public class ViewKeyActivity extends BaseNfcActivity implements
|
||||
new long[]{ mMasterKeyId });
|
||||
deleteKeyDialog.show(getSupportFragmentManager(), "deleteKeyDialog");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
|
||||
Reference in New Issue
Block a user