diff options
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/AddKeysActivity.java | 100 | ||||
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java | 8 | 
2 files changed, 58 insertions, 50 deletions
| diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/AddKeysActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/AddKeysActivity.java index 1e2f37637..fd013739e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/AddKeysActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/AddKeysActivity.java @@ -81,7 +81,9 @@ public class AddKeysActivity extends ActionBarActivity implements      byte[] mImportBytes; -    private static final int REQUEST_CODE_SAFE_SLINGER = 1; +    private static final int REQUEST_CODE_RESULT = 0; +    private static final int REQUEST_CODE_RESULT_TO_LIST = 1; +    private static final int REQUEST_CODE_SAFE_SLINGER = 2;      private static final int LOADER_ID_BYTES = 0; @@ -130,7 +132,7 @@ public class AddKeysActivity extends ActionBarActivity implements                  // show nfc help                  Intent intent = new Intent(AddKeysActivity.this, HelpActivity.class);                  intent.putExtra(HelpActivity.EXTRA_SELECTED_TAB, HelpActivity.TAB_NFC); -                startActivityForResult(intent, 0); +                startActivityForResult(intent, REQUEST_CODE_RESULT);              }          }); @@ -177,55 +179,62 @@ public class AddKeysActivity extends ActionBarActivity implements      @Override      protected void onActivityResult(int requestCode, int resultCode, Intent data) { -        // if a result has been returned, display a notify -        if (data != null && data.hasExtra(OperationResult.EXTRA_RESULT)) { -            OperationResult result = data.getParcelableExtra(OperationResult.EXTRA_RESULT); -            result.createNotify(this).show(); -        } else { -            switch (requestCode) { -                case REQUEST_CODE_SAFE_SLINGER: { -                    switch (resultCode) { -                        case ExchangeActivity.RESULT_EXCHANGE_OK: -                            // import exchanged keys -                            mImportBytes = getSlingedKeys(data); -                            getSupportLoaderManager().restartLoader(LOADER_ID_BYTES, null, this); -                            break; -                        case ExchangeActivity.RESULT_EXCHANGE_CANCELED: -                            // do nothing -                            break; -                    } -                    break; +        switch (requestCode) { +            case REQUEST_CODE_RESULT: { +                if (data != null && data.hasExtra(OperationResult.EXTRA_RESULT)) { +                    OperationResult result = data.getParcelableExtra(OperationResult.EXTRA_RESULT); +                    result.createNotify(this).show();                  } -                case IntentIntegratorSupportV4.REQUEST_CODE: { -                    IntentResult scanResult = IntentIntegratorSupportV4.parseActivityResult(requestCode, -                            resultCode, data); -                    if (scanResult != null && scanResult.getFormatName() != null) { -                        String scannedContent = scanResult.getContents(); - -                        Log.d(Constants.TAG, "scannedContent: " + scannedContent); - -                        // look if it's fingerprint only -                        if (scannedContent.toLowerCase(Locale.ENGLISH).startsWith(Constants.FINGERPRINT_SCHEME)) { -                            importKeys(null, getFingerprintFromUri(Uri.parse(scanResult.getContents()))); -                            return; -                        } - -                        // is this a full key encoded as qr code? -                        if (scannedContent.startsWith("-----BEGIN PGP")) { -                            // TODO -//                            mImportActivity.loadCallback(new ImportKeysListFragment.BytesLoaderState(scannedContent.getBytes(), null)); -                            return; -                        } +                break; +            } +            case REQUEST_CODE_RESULT_TO_LIST: { +                // give it down... +                setResult(0, data); +                finish(); +                break; +            } +            case REQUEST_CODE_SAFE_SLINGER: { +                switch (resultCode) { +                    case ExchangeActivity.RESULT_EXCHANGE_OK: +                        // import exchanged keys +                        mImportBytes = getSlingedKeys(data); +                        getSupportLoaderManager().restartLoader(LOADER_ID_BYTES, null, this); +                        break; +                    case ExchangeActivity.RESULT_EXCHANGE_CANCELED: +                        // do nothing +                        break; +                } +                break; +            } +            case IntentIntegratorSupportV4.REQUEST_CODE: { +                IntentResult scanResult = IntentIntegratorSupportV4.parseActivityResult(requestCode, +                        resultCode, data); +                if (scanResult != null && scanResult.getFormatName() != null) { +                    String scannedContent = scanResult.getContents(); + +                    Log.d(Constants.TAG, "scannedContent: " + scannedContent); -                        // fail... -                        Notify.showNotify(this, R.string.import_qr_code_wrong, Notify.Style.ERROR); +                    // look if it's fingerprint only +                    if (scannedContent.toLowerCase(Locale.ENGLISH).startsWith(Constants.FINGERPRINT_SCHEME)) { +                        importKeys(null, getFingerprintFromUri(Uri.parse(scanResult.getContents()))); +                        return;                      } -                    break; +                    // is this a full key encoded as qr code? +                    if (scannedContent.startsWith("-----BEGIN PGP")) { +                        // TODO +//                            mImportActivity.loadCallback(new ImportKeysListFragment.BytesLoaderState(scannedContent.getBytes(), null)); +                        return; +                    } + +                    // fail... +                    Notify.showNotify(this, R.string.import_qr_code_wrong, Notify.Style.ERROR);                  } + +                break;              } -            super.onActivityResult(requestCode, resultCode, data);          } +        super.onActivityResult(requestCode, resultCode, data);      }      private String getFingerprintFromUri(Uri dataUri) { @@ -383,12 +392,11 @@ public class AddKeysActivity extends ActionBarActivity implements                          return;                      } -                    finish();                      Intent certifyIntent = new Intent(AddKeysActivity.this, MultiCertifyKeyActivity.class);                      certifyIntent.putExtra(MultiCertifyKeyActivity.EXTRA_RESULT, result);                      certifyIntent.putExtra(MultiCertifyKeyActivity.EXTRA_KEY_IDS, result.getImportedMasterKeyIds());                      certifyIntent.putExtra(MultiCertifyKeyActivity.EXTRA_CERTIFY_KEY_ID, mExchangeMasterKeyId); -                    startActivity(certifyIntent); +                    startActivityForResult(certifyIntent, REQUEST_CODE_RESULT_TO_LIST);                  }              }          }; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java index 5eef319c0..ce2aa8368 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java @@ -28,16 +28,16 @@ import android.view.MenuItem;  import org.sufficientlysecure.keychain.Constants;  import org.sufficientlysecure.keychain.R; -import org.sufficientlysecure.keychain.util.ExportHelper; -import org.sufficientlysecure.keychain.util.Preferences;  import org.sufficientlysecure.keychain.provider.KeychainContract;  import org.sufficientlysecure.keychain.provider.KeychainDatabase;  import org.sufficientlysecure.keychain.service.KeychainIntentService;  import org.sufficientlysecure.keychain.service.KeychainIntentServiceHandler; -import org.sufficientlysecure.keychain.service.results.OperationResult;  import org.sufficientlysecure.keychain.service.results.ConsolidateResult; -import org.sufficientlysecure.keychain.util.Log; +import org.sufficientlysecure.keychain.service.results.OperationResult;  import org.sufficientlysecure.keychain.ui.util.Notify; +import org.sufficientlysecure.keychain.util.ExportHelper; +import org.sufficientlysecure.keychain.util.Log; +import org.sufficientlysecure.keychain.util.Preferences;  import java.io.IOException; | 
