diff options
Diffstat (limited to 'OpenKeychain/src/main/java')
10 files changed, 66 insertions, 53 deletions
| diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java index 6fc55cfb8..9d334d9bd 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java @@ -34,7 +34,7 @@ import org.sufficientlysecure.keychain.provider.KeychainContract;  import org.sufficientlysecure.keychain.provider.ProviderHelper;  import org.sufficientlysecure.keychain.service.KeychainIntentService;  import org.sufficientlysecure.keychain.service.OperationResultParcel.OperationLog; -import org.sufficientlysecure.keychain.service.OperationResults.ImportResult; +import org.sufficientlysecure.keychain.service.OperationResults.ImportKeyResult;  import org.sufficientlysecure.keychain.service.OperationResults.SaveKeyringResult;  import org.sufficientlysecure.keychain.util.Log;  import org.sufficientlysecure.keychain.util.ProgressScaler; @@ -123,14 +123,14 @@ public class PgpImportExport {      }      /** Imports keys from given data. If keyIds is given only those are imported */ -    public ImportResult importKeyRings(List<ParcelableKeyRing> entries) { +    public ImportKeyResult importKeyRings(List<ParcelableKeyRing> entries) {          updateProgress(R.string.progress_importing, 0, 100);          // If there aren't even any keys, do nothing here.          if (entries == null || entries.size() == 0) { -            return new ImportResult( -                    ImportResult.RESULT_FAIL_NOTHING, mProviderHelper.getLog(), 0, 0, 0); +            return new ImportKeyResult( +                    ImportKeyResult.RESULT_FAIL_NOTHING, mProviderHelper.getLog(), 0, 0, 0);          }          int newKeys = 0, oldKeys = 0, badKeys = 0; @@ -185,26 +185,26 @@ public class PgpImportExport {          int resultType = 0;          // special return case: no new keys at all          if (badKeys == 0 && newKeys == 0 && oldKeys == 0) { -            resultType = ImportResult.RESULT_FAIL_NOTHING; +            resultType = ImportKeyResult.RESULT_FAIL_NOTHING;          } else {              if (newKeys > 0) { -                resultType |= ImportResult.RESULT_OK_NEWKEYS; +                resultType |= ImportKeyResult.RESULT_OK_NEWKEYS;              }              if (oldKeys > 0) { -                resultType |= ImportResult.RESULT_OK_UPDATED; +                resultType |= ImportKeyResult.RESULT_OK_UPDATED;              }              if (badKeys > 0) { -                resultType |= ImportResult.RESULT_WITH_ERRORS; +                resultType |= ImportKeyResult.RESULT_WITH_ERRORS;                  if (newKeys == 0 && oldKeys == 0) { -                    resultType |= ImportResult.RESULT_ERROR; +                    resultType |= ImportKeyResult.RESULT_ERROR;                  }              }              if (log.containsWarnings()) { -                resultType |= ImportResult.RESULT_WITH_WARNINGS; +                resultType |= ImportKeyResult.RESULT_WITH_WARNINGS;              }          } -        return new ImportResult(resultType, log, newKeys, oldKeys, badKeys); +        return new ImportKeyResult(resultType, log, newKeys, oldKeys, badKeys);      } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsFragment.java index 0b1d521ad..86460c45d 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/AccountSettingsFragment.java @@ -35,7 +35,7 @@ import org.sufficientlysecure.keychain.R;  import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException;  import org.sufficientlysecure.keychain.provider.ProviderHelper;  import org.sufficientlysecure.keychain.remote.AccountSettings; -import org.sufficientlysecure.keychain.ui.EditKeyActivityOld; +import org.sufficientlysecure.keychain.ui.CreateKeyActivity;  import org.sufficientlysecure.keychain.ui.SelectSecretKeyLayoutFragment;  import org.sufficientlysecure.keychain.ui.adapter.KeyValueSpinnerAdapter;  import org.sufficientlysecure.keychain.util.AlgorithmNames; @@ -163,12 +163,9 @@ public class AccountSettingsFragment extends Fragment implements      }      private void createKey() { -        Intent intent = new Intent(getActivity(), EditKeyActivityOld.class); -        intent.setAction(EditKeyActivityOld.ACTION_CREATE_KEY); -        intent.putExtra(EditKeyActivityOld.EXTRA_GENERATE_DEFAULT_KEYS, true); -        // set default user id to account name -        intent.putExtra(EditKeyActivityOld.EXTRA_USER_IDS, mAccSettings.getAccountName()); -        startActivityForResult(intent, REQUEST_CODE_CREATE_KEY); +        Intent intent = new Intent(getActivity(), CreateKeyActivity.class); +        // startActivityForResult(intent, REQUEST_CODE_CREATE_KEY); +        startActivity(intent);      }      @Override diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java index 9a4cef2f1..f6a269e24 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java @@ -53,6 +53,7 @@ import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;  import org.sufficientlysecure.keychain.provider.KeychainDatabase;  import org.sufficientlysecure.keychain.provider.ProviderHelper;  import org.sufficientlysecure.keychain.service.OperationResultParcel.OperationLog; +import org.sufficientlysecure.keychain.service.OperationResults.ImportKeyResult;  import org.sufficientlysecure.keychain.util.InputData;  import org.sufficientlysecure.keychain.util.Log;  import org.sufficientlysecure.keychain.util.ProgressScaler; @@ -390,7 +391,7 @@ public class KeychainIntentService extends IntentService                  List<ParcelableKeyRing> entries = data.getParcelableArrayList(IMPORT_KEY_LIST);                  PgpImportExport pgpImportExport = new PgpImportExport(this, this); -                OperationResults.ImportResult result = pgpImportExport.importKeyRings(entries); +                ImportKeyResult result = pgpImportExport.importKeyRings(entries);                  Bundle resultData = new Bundle();                  resultData.putParcelable(RESULT, result); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/OperationResultParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/OperationResultParcel.java index d80c508c3..2c6c29f8d 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/OperationResultParcel.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/OperationResultParcel.java @@ -391,14 +391,6 @@ public class OperationResultParcel implements Parcelable {              mParcels.add(new OperationResultParcel.LogEntryParcel(level, type, indent, (Object[]) null));          } -        public LogEntryParcel getResultId() { -            LogEntryParcel entry = get(size()-1); -            if (entry.mLevel != LogLevel.OK && entry.mLevel != LogLevel.ERROR) { -                return new LogEntryParcel(LogLevel.ERROR, LogType.INTERNAL_ERROR, 0); -            } -            return entry; -        } -          public boolean containsWarnings() {              for(LogEntryParcel entry : new IterableIterator<LogEntryParcel>(mParcels.iterator())) {                  if (entry.mLevel == LogLevel.WARN || entry.mLevel == LogLevel.ERROR) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/OperationResults.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/OperationResults.java index 39c11a855..fcb6c027d 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/OperationResults.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/OperationResults.java @@ -12,12 +12,13 @@ import com.github.johnpersano.supertoasts.util.OnClickWrapper;  import com.github.johnpersano.supertoasts.util.Style;  import org.sufficientlysecure.keychain.R; +import org.sufficientlysecure.keychain.pgp.UncachedKeyRing;  import org.sufficientlysecure.keychain.ui.LogDisplayActivity;  import org.sufficientlysecure.keychain.ui.LogDisplayFragment;  public abstract class OperationResults { -    public static class ImportResult extends OperationResultParcel { +    public static class ImportKeyResult extends OperationResultParcel {          public final int mNewKeys, mUpdatedKeys, mBadKeys; @@ -47,15 +48,15 @@ public abstract class OperationResults {              return (mResult & RESULT_FAIL_NOTHING) == RESULT_FAIL_NOTHING;          } -        public ImportResult(Parcel source) { +        public ImportKeyResult(Parcel source) {              super(source);              mNewKeys = source.readInt();              mUpdatedKeys = source.readInt();              mBadKeys = source.readInt();          } -        public ImportResult(int result, OperationLog log, -                            int newKeys, int updatedKeys, int badKeys) { +        public ImportKeyResult(int result, OperationLog log, +                               int newKeys, int updatedKeys, int badKeys) {              super(result, log);              mNewKeys = newKeys;              mUpdatedKeys = updatedKeys; @@ -70,13 +71,13 @@ public abstract class OperationResults {              dest.writeInt(mBadKeys);          } -        public static Creator<ImportResult> CREATOR = new Creator<ImportResult>() { -            public ImportResult createFromParcel(final Parcel source) { -                return new ImportResult(source); +        public static Creator<ImportKeyResult> CREATOR = new Creator<ImportKeyResult>() { +            public ImportKeyResult createFromParcel(final Parcel source) { +                return new ImportKeyResult(source);              } -            public ImportResult[] newArray(final int size) { -                return new ImportResult[size]; +            public ImportKeyResult[] newArray(final int size) { +                return new ImportKeyResult[size];              }          }; @@ -92,7 +93,7 @@ public abstract class OperationResults {                  String withWarnings;                  // Any warnings? -                if ((resultType & ImportResult.RESULT_WITH_WARNINGS) > 0) { +                if ((resultType & ImportKeyResult.RESULT_WITH_WARNINGS) > 0) {                      duration = 0;                      color = Style.ORANGE;                      withWarnings = activity.getResources().getString(R.string.import_with_warnings); @@ -151,7 +152,7 @@ public abstract class OperationResults {                              public void onClick(View view, Parcelable token) {                                  Intent intent = new Intent(                                          activity, LogDisplayActivity.class); -                                intent.putExtra(LogDisplayFragment.EXTRA_RESULT, ImportResult.this); +                                intent.putExtra(LogDisplayFragment.EXTRA_RESULT, ImportKeyResult.this);                                  activity.startActivity(intent);                              }                          } @@ -164,6 +165,25 @@ public abstract class OperationResults {      } +    public static class EditKeyResult extends OperationResultParcel { + +        public EditKeyResult(Parcel source) { +            super(source); +        } + +        public static Creator<EditKeyResult> CREATOR = new Creator<EditKeyResult>() { +            public EditKeyResult createFromParcel(final Parcel source) { +                return new EditKeyResult(source); +            } + +            public EditKeyResult[] newArray(final int size) { +                return new EditKeyResult[size]; +            } +        }; + +    } + +      public static class SaveKeyringResult extends OperationResultParcel {          public SaveKeyringResult(int result, OperationLog log) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java index d80425c3c..6ddaec17f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java @@ -33,7 +33,7 @@ public class EditKeyActivity extends ActionBarActivity {      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState); -        setContentView(R.layout.edit_key_activity_new); +        setContentView(R.layout.edit_key_activity);          Uri dataUri = getIntent().getData();          if (dataUri == null) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java index b41871a39..8fc4cffb8 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java @@ -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.ImportKeyResult;  import org.sufficientlysecure.keychain.service.PassphraseCacheService;  import org.sufficientlysecure.keychain.service.SaveKeyringParcel;  import org.sufficientlysecure.keychain.ui.adapter.SubkeysAdapter; @@ -480,12 +481,19 @@ public class EditKeyFragment extends LoaderFragment implements                          return;                      } -                    // if good -> finish, return result to showkey and display there! +                      // if bad -> display here! +                    if (!result.success()) { +                        result.createNotify(getActivity()).show(); +                        return; +                    } -//                    result.displayNotify(ImportKeysActivity.this); +                    // if good -> finish, return result to showkey and display there! +                    Intent intent = new Intent(); +                    intent.putExtra(ImportKeyResult.EXTRA_RESULT, result); +                    getActivity().setResult(EditKeyActivity.RESULT_OK, intent); +                    getActivity().finish(); -//                    getActivity().finish();                  }              }          }; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java index 3ff3b56bf..5ab4d69f1 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java @@ -45,7 +45,7 @@ import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing;  import org.sufficientlysecure.keychain.pgp.PgpKeyHelper;  import org.sufficientlysecure.keychain.service.KeychainIntentService;  import org.sufficientlysecure.keychain.service.KeychainIntentServiceHandler; -import org.sufficientlysecure.keychain.service.OperationResults.ImportResult; +import org.sufficientlysecure.keychain.service.OperationResults.ImportKeyResult;  import org.sufficientlysecure.keychain.ui.adapter.PagerTabStripAdapter;  import org.sufficientlysecure.keychain.ui.widget.SlidingTabLayout;  import org.sufficientlysecure.keychain.util.Log; @@ -427,7 +427,7 @@ public class ImportKeysActivity extends ActionBarActivity {                      if (returnData == null) {                          return;                      } -                    final ImportResult result = +                    final ImportKeyResult result =                              returnData.getParcelable(KeychainIntentService.RESULT);                      if (result == null) {                          return; @@ -435,7 +435,7 @@ public class ImportKeysActivity extends ActionBarActivity {                      if (ACTION_IMPORT_KEY_FROM_KEYSERVER_AND_RETURN_RESULT.equals(getIntent().getAction())) {                          Intent intent = new Intent(); -                        intent.putExtra(EXTRA_RESULT, result); +                        intent.putExtra(ImportKeyResult.EXTRA_RESULT, result);                          ImportKeysActivity.this.setResult(RESULT_OK, intent);                          ImportKeysActivity.this.finish();                          return; @@ -451,7 +451,7 @@ public class ImportKeysActivity extends ActionBarActivity {                          return;                      } -                    result.displayNotify(ImportKeysActivity.this); +                    result.createNotify(ImportKeysActivity.this).show();                  }              }          }; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java index c8f6b7b1e..5e2e4cb43 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java @@ -103,11 +103,8 @@ public class KeyListFragment extends LoaderFragment              @Override              public void onClick(View v) { -                Intent intent = new Intent(getActivity(), EditKeyActivity.class); -                intent.setAction(EditKeyActivity.ACTION_CREATE_KEY); -                intent.putExtra(EditKeyActivity.EXTRA_GENERATE_DEFAULT_KEYS, true); -                intent.putExtra(EditKeyActivity.EXTRA_USER_IDS, ""); // show user id view -                startActivityForResult(intent, 0); +                Intent intent = new Intent(getActivity(), CreateKeyActivity.class); +                startActivity(intent);              }          });          mButtonEmptyImport = (Button) view.findViewById(R.id.key_list_empty_button_import); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java index b8b2542ce..256526dd9 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java @@ -19,7 +19,6 @@  package org.sufficientlysecure.keychain.ui;  import android.annotation.TargetApi; -import android.app.Activity;  import android.content.Intent;  import android.database.Cursor;  import android.net.Uri; @@ -53,7 +52,6 @@ import org.sufficientlysecure.keychain.pgp.PgpKeyHelper;  import org.sufficientlysecure.keychain.provider.KeychainContract;  import org.sufficientlysecure.keychain.provider.ProviderHelper;  import org.sufficientlysecure.keychain.service.OperationResultParcel; -import org.sufficientlysecure.keychain.service.OperationResults.ImportResult;  import org.sufficientlysecure.keychain.ui.adapter.PagerTabStripAdapter;  import org.sufficientlysecure.keychain.ui.widget.SlidingTabLayout.TabColorizer;  import org.sufficientlysecure.keychain.util.Log; | 
