From ef366173d0b942e4c9b9879d2a166bb42d33567b Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Mon, 22 May 2017 12:28:59 +0200 Subject: [PATCH] use autovalue for ImportKeyringParcel --- .../keychain/operations/ImportOperation.java | 8 +- .../keychain/service/ImportKeyringParcel.java | 76 +++++-------------- .../service/KeyserverSyncAdapterService.java | 4 +- ...reateSecurityTokenImportResetFragment.java | 2 +- .../keychain/ui/DecryptFragment.java | 2 +- .../keychain/ui/DecryptListFragment.java | 2 +- .../keychain/ui/ImportKeysActivity.java | 2 +- .../keychain/ui/ImportKeysProxyActivity.java | 2 +- .../keychain/ui/KeyListFragment.java | 2 +- .../keychain/ui/SafeSlingerActivity.java | 2 +- .../ui/adapter/ImportKeysAdapter.java | 6 +- .../keychain/ui/keyview/ViewKeyActivity.java | 2 +- .../keychain/util/EmailKeyHelper.java | 2 +- 13 files changed, 39 insertions(+), 73 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ImportOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ImportOperation.java index 25fb4cdbb..2ebcd1e6d 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ImportOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ImportOperation.java @@ -469,9 +469,9 @@ public class ImportOperation extends BaseReadWriteOperation @NonNull @Override public ImportKeyResult execute(ImportKeyringParcel importInput, CryptoInputParcel cryptoInput) { - ArrayList keyList = importInput.mKeyList; - ParcelableHkpKeyserver keyServer = importInput.mKeyserver; - boolean skipSave = importInput.mSkipSave; + ArrayList keyList = importInput.getKeyList(); + ParcelableHkpKeyserver keyServer = importInput.getKeyserver(); + boolean skipSave = importInput.isSkipSave(); ImportKeyResult result; if (keyList == null) {// import from file, do serially @@ -495,7 +495,7 @@ public class ImportOperation extends BaseReadWriteOperation result = multiThreadedKeyImport(keyList, keyServer, proxy, skipSave); } - if (!importInput.mSkipSave) { + if (!skipSave) { ContactSyncAdapterService.requestContactsSync(); } return result; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ImportKeyringParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ImportKeyringParcel.java index 050e126a9..663013ac2 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ImportKeyringParcel.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ImportKeyringParcel.java @@ -18,69 +18,31 @@ package org.sufficientlysecure.keychain.service; -import android.os.Parcel; -import android.os.Parcelable; - -import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing; -import org.sufficientlysecure.keychain.keyimport.ParcelableHkpKeyserver; import java.util.ArrayList; -public class ImportKeyringParcel implements Parcelable { - // If null, keys are expected to be read from a cache file in ImportExportOperations - public ArrayList mKeyList; - public ParcelableHkpKeyserver mKeyserver; // must be set if keys are to be imported from a keyserver +import android.os.Parcelable; +import android.support.annotation.Nullable; - // If false, don't save the key, only return it as part of result - public boolean mSkipSave = false; +import com.google.auto.value.AutoValue; +import org.sufficientlysecure.keychain.keyimport.ParcelableHkpKeyserver; +import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing; - public ImportKeyringParcel(ArrayList keyList, ParcelableHkpKeyserver keyserver) { - mKeyList = keyList; - mKeyserver = keyserver; +@AutoValue +public abstract class ImportKeyringParcel implements Parcelable { + @Nullable // If null, keys are expected to be read from a cache file in ImportExportOperations + public abstract ArrayList getKeyList(); + @Nullable // must be set if keys are to be imported from a keyserver + public abstract ParcelableHkpKeyserver getKeyserver(); + public abstract boolean isSkipSave(); + + public static ImportKeyringParcel createImportKeyringParcel(ArrayList keyList, + ParcelableHkpKeyserver keyserver) { + return new AutoValue_ImportKeyringParcel(keyList, keyserver, false); } - public ImportKeyringParcel(ArrayList keyList, ParcelableHkpKeyserver keyserver, boolean skipSave) { - this(keyList, keyserver); - mSkipSave = skipSave; + public static ImportKeyringParcel createWithSkipSave(ArrayList keyList, + ParcelableHkpKeyserver keyserver) { + return new AutoValue_ImportKeyringParcel(keyList, keyserver, true); } - - protected ImportKeyringParcel(Parcel in) { - if (in.readByte() == 0x01) { - mKeyList = new ArrayList<>(); - in.readList(mKeyList, ParcelableKeyRing.class.getClassLoader()); - } else { - mKeyList = null; - } - mKeyserver = in.readParcelable(ParcelableHkpKeyserver.class.getClassLoader()); - mSkipSave = in.readInt() != 0; - } - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - if (mKeyList == null) { - dest.writeByte((byte) (0x00)); - } else { - dest.writeByte((byte) (0x01)); - dest.writeList(mKeyList); - } - dest.writeParcelable(mKeyserver, flags); - dest.writeInt(mSkipSave ? 1 : 0); - } - - public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { - @Override - public ImportKeyringParcel createFromParcel(Parcel in) { - return new ImportKeyringParcel(in); - } - - @Override - public ImportKeyringParcel[] newArray(int size) { - return new ImportKeyringParcel[size]; - } - }; } \ No newline at end of file diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeyserverSyncAdapterService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeyserverSyncAdapterService.java index 9ff89df18..cdde34e87 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeyserverSyncAdapterService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeyserverSyncAdapterService.java @@ -324,7 +324,7 @@ public class KeyserverSyncAdapterService extends Service { ImportOperation importOp = new ImportOperation(context, KeyWritableRepository.createDatabaseReadWriteInteractor(context), null); return importOp.execute( - new ImportKeyringParcel(keyList, + ImportKeyringParcel.createImportKeyringParcel(keyList, Preferences.getPreferences(context).getPreferredKeyserver()), cryptoInputParcel ); @@ -384,7 +384,7 @@ public class KeyserverSyncAdapterService extends Service { ImportKeyResult result = new ImportOperation(context, KeyWritableRepository.createDatabaseReadWriteInteractor(context), null, mCancelled) .execute( - new ImportKeyringParcel( + ImportKeyringParcel.createImportKeyringParcel( keyWrapper, Preferences.getPreferences(context) .getPreferredKeyserver() diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateSecurityTokenImportResetFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateSecurityTokenImportResetFragment.java index eab4525a0..d9b5ef62b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateSecurityTokenImportResetFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateSecurityTokenImportResetFragment.java @@ -271,7 +271,7 @@ public class CreateSecurityTokenImportResetFragment @Override public ImportKeyringParcel createOperationInput() { - return new ImportKeyringParcel(mKeyList, mKeyserver); + return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver); } @Override diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java index 5c1627e1b..766432f56 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java @@ -159,7 +159,7 @@ public abstract class DecryptFragment extends Fragment implements LoaderManager. @Override public ImportKeyringParcel createOperationInput() { - return new ImportKeyringParcel(keyList, keyserver); + return ImportKeyringParcel.createImportKeyringParcel(keyList, keyserver); } @Override diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptListFragment.java index ea1ce2a31..4a5e2563c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptListFragment.java @@ -779,7 +779,7 @@ public class DecryptListFragment @Override public ImportKeyringParcel createOperationInput() { - return new ImportKeyringParcel(keyList, keyserver); + return ImportKeyringParcel.createImportKeyringParcel(keyList, keyserver); } @Override 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 a6bd1e552..e3764cde1 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java @@ -357,7 +357,7 @@ public class ImportKeysActivity extends BaseActivity implements ImportKeysListen return; } - ImportKeyringParcel inputParcel = new ImportKeyringParcel(null, null); + ImportKeyringParcel inputParcel = ImportKeyringParcel.createImportKeyringParcel(null, null); ImportKeysOperationCallback callback = new ImportKeysOperationCallback(this, inputParcel, null); mOpHelper = new CryptoOperationHelper<>(1, this, callback, R.string.progress_importing); mOpHelper.cryptoOperation(); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java index 440e74124..bbce27a21 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java @@ -223,7 +223,7 @@ public class ImportKeysProxyActivity extends FragmentActivity @Override public ImportKeyringParcel createOperationInput() { - return new ImportKeyringParcel(mKeyList, mKeyserver); + return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver); } @Override 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 62ba0e872..cf7540d45 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java @@ -519,7 +519,7 @@ public class KeyListFragment extends RecyclerFragment @Override public ImportKeyringParcel createOperationInput() { - return new ImportKeyringParcel(mKeyList, mKeyserver); + return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver); } @Override diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java index 5fdaefbcc..e5272ec02 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java @@ -185,7 +185,7 @@ public class SafeSlingerActivity extends BaseActivity @Override public ImportKeyringParcel createOperationInput() { - return new ImportKeyringParcel(mKeyList, mKeyserver); + return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver); } @Override diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java index 2c6d37a07..3d97d17e4 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysAdapter.java @@ -237,7 +237,11 @@ public class ImportKeysAdapter extends RecyclerView.Adapter