introduce EditKeyResult with transient UncachedKeyRing (half-baked!)

This commit is contained in:
Vincent Breitmoser
2014-07-27 01:22:10 +02:00
parent a8782272b3
commit f4ee71e3ef
14 changed files with 99 additions and 51 deletions

View File

@@ -48,6 +48,7 @@ import org.sufficientlysecure.keychain.provider.ProviderHelper;
import org.sufficientlysecure.keychain.service.KeychainIntentService;
import org.sufficientlysecure.keychain.service.KeychainIntentServiceHandler;
import org.sufficientlysecure.keychain.service.OperationResults;
import org.sufficientlysecure.keychain.service.OperationResults.EditKeyResult;
import org.sufficientlysecure.keychain.service.OperationResults.ImportKeyResult;
import org.sufficientlysecure.keychain.service.PassphraseCacheService;
import org.sufficientlysecure.keychain.service.SaveKeyringParcel;
@@ -467,21 +468,18 @@ public class EditKeyFragment extends LoaderFragment implements
super.handleMessage(message);
if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) {
getActivity().finish();
// TODO below
// get returned data bundle
Bundle returnData = message.getData();
if (returnData == null) {
return;
}
final OperationResults.SaveKeyringResult result =
returnData.getParcelable(KeychainIntentService.RESULT);
final OperationResults.EditKeyResult result =
returnData.getParcelable(EditKeyResult.EXTRA_RESULT);
if (result == null) {
return;
}
// if bad -> display here!
if (!result.success()) {
result.createNotify(getActivity()).show();
@@ -490,7 +488,7 @@ public class EditKeyFragment extends LoaderFragment implements
// if good -> finish, return result to showkey and display there!
Intent intent = new Intent();
intent.putExtra(ImportKeyResult.EXTRA_RESULT, result);
intent.putExtra(EditKeyResult.EXTRA_RESULT, result);
getActivity().setResult(EditKeyActivity.RESULT_OK, intent);
getActivity().finish();

View File

@@ -350,7 +350,7 @@ public class ViewKeyActivity extends ActionBarActivity implements
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data.hasExtra(OperationResultParcel.EXTRA_RESULT)) {
if (data != null && data.hasExtra(OperationResultParcel.EXTRA_RESULT)) {
OperationResultParcel result = data.getParcelableExtra(OperationResultParcel.EXTRA_RESULT);
result.createNotify(this).show();
} else {

View File

@@ -251,9 +251,7 @@ public class ViewKeyMainFragment extends LoaderFragment implements
private void editKey(Uri dataUri) {
Intent editIntent = new Intent(getActivity(), EditKeyActivity.class);
editIntent.setData(KeychainContract.KeyRingData.buildSecretKeyRingUri(dataUri));
// editIntent.setAction(EditKeyActivity.ACTION_EDIT_KEY);
// startActivityForResult(editIntent, 0);
startActivity(editIntent);
startActivityForResult(editIntent, 0);
}
}