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.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.Handler.Callback;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
import android.os.Messenger;
|
import android.os.Messenger;
|
||||||
import android.provider.ContactsContract;
|
import android.provider.ContactsContract;
|
||||||
@@ -327,31 +328,11 @@ public class ViewKeyActivity extends BaseNfcActivity implements
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
case R.id.menu_key_view_export_file: {
|
case R.id.menu_key_view_export_file: {
|
||||||
try {
|
startPassphraseActivity(REQUEST_EXPORT);
|
||||||
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;
|
return true;
|
||||||
}
|
}
|
||||||
case R.id.menu_key_view_delete: {
|
case R.id.menu_key_view_delete: {
|
||||||
try {
|
startPassphraseActivity(REQUEST_DELETE);
|
||||||
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;
|
return true;
|
||||||
}
|
}
|
||||||
case R.id.menu_key_view_advanced: {
|
case R.id.menu_key_view_advanced: {
|
||||||
@@ -476,22 +457,27 @@ public class ViewKeyActivity extends BaseNfcActivity implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void deleteKey() {
|
private void deleteKey() {
|
||||||
// Message is received after key is deleted
|
new Handler().post(new Runnable() {
|
||||||
Handler returnHandler = new Handler() {
|
@Override
|
||||||
@Override
|
public void run() {
|
||||||
public void handleMessage(Message message) {
|
// Message is received after key is deleted
|
||||||
if (message.arg1 == MessageStatus.OKAY.ordinal()) {
|
Handler returnHandler = new Handler() {
|
||||||
setResult(RESULT_CANCELED);
|
@Override
|
||||||
finish();
|
public void handleMessage(Message message) {
|
||||||
}
|
if (message.arg1 == MessageStatus.OKAY.ordinal()) {
|
||||||
}
|
setResult(RESULT_CANCELED);
|
||||||
};
|
finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// Create a new Messenger for the communication back
|
// Create a new Messenger for the communication back
|
||||||
Messenger messenger = new Messenger(returnHandler);
|
Messenger messenger = new Messenger(returnHandler);
|
||||||
DeleteKeyDialogFragment deleteKeyDialog = DeleteKeyDialogFragment.newInstance(messenger,
|
DeleteKeyDialogFragment deleteKeyDialog = DeleteKeyDialogFragment.newInstance(messenger,
|
||||||
new long[]{mMasterKeyId});
|
new long[]{ mMasterKeyId });
|
||||||
deleteKeyDialog.show(getSupportFragmentManager(), "deleteKeyDialog");
|
deleteKeyDialog.show(getSupportFragmentManager(), "deleteKeyDialog");
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user