use autovalue for ImportKeyringParcel
This commit is contained in:
parent
0095df6d89
commit
ef366173d0
|
@ -469,9 +469,9 @@ public class ImportOperation extends BaseReadWriteOperation<ImportKeyringParcel>
|
|||
@NonNull
|
||||
@Override
|
||||
public ImportKeyResult execute(ImportKeyringParcel importInput, CryptoInputParcel cryptoInput) {
|
||||
ArrayList<ParcelableKeyRing> keyList = importInput.mKeyList;
|
||||
ParcelableHkpKeyserver keyServer = importInput.mKeyserver;
|
||||
boolean skipSave = importInput.mSkipSave;
|
||||
ArrayList<ParcelableKeyRing> 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<ImportKeyringParcel>
|
|||
result = multiThreadedKeyImport(keyList, keyServer, proxy, skipSave);
|
||||
}
|
||||
|
||||
if (!importInput.mSkipSave) {
|
||||
if (!skipSave) {
|
||||
ContactSyncAdapterService.requestContactsSync();
|
||||
}
|
||||
return result;
|
||||
|
|
|
@ -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<ParcelableKeyRing> 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<ParcelableKeyRing> 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<ParcelableKeyRing> 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<ParcelableKeyRing> keyList,
|
||||
ParcelableHkpKeyserver keyserver) {
|
||||
return new AutoValue_ImportKeyringParcel(keyList, keyserver, false);
|
||||
}
|
||||
|
||||
public ImportKeyringParcel(ArrayList<ParcelableKeyRing> keyList, ParcelableHkpKeyserver keyserver, boolean skipSave) {
|
||||
this(keyList, keyserver);
|
||||
mSkipSave = skipSave;
|
||||
public static ImportKeyringParcel createWithSkipSave(ArrayList<ParcelableKeyRing> 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<ImportKeyringParcel> CREATOR = new Parcelable.Creator<ImportKeyringParcel>() {
|
||||
@Override
|
||||
public ImportKeyringParcel createFromParcel(Parcel in) {
|
||||
return new ImportKeyringParcel(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ImportKeyringParcel[] newArray(int size) {
|
||||
return new ImportKeyringParcel[size];
|
||||
}
|
||||
};
|
||||
}
|
|
@ -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()
|
||||
|
|
|
@ -271,7 +271,7 @@ public class CreateSecurityTokenImportResetFragment
|
|||
|
||||
@Override
|
||||
public ImportKeyringParcel createOperationInput() {
|
||||
return new ImportKeyringParcel(mKeyList, mKeyserver);
|
||||
return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -779,7 +779,7 @@ public class DecryptListFragment
|
|||
|
||||
@Override
|
||||
public ImportKeyringParcel createOperationInput() {
|
||||
return new ImportKeyringParcel(keyList, keyserver);
|
||||
return ImportKeyringParcel.createImportKeyringParcel(keyList, keyserver);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -223,7 +223,7 @@ public class ImportKeysProxyActivity extends FragmentActivity
|
|||
|
||||
@Override
|
||||
public ImportKeyringParcel createOperationInput() {
|
||||
return new ImportKeyringParcel(mKeyList, mKeyserver);
|
||||
return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -519,7 +519,7 @@ public class KeyListFragment extends RecyclerFragment<KeySectionedListAdapter>
|
|||
|
||||
@Override
|
||||
public ImportKeyringParcel createOperationInput() {
|
||||
return new ImportKeyringParcel(mKeyList, mKeyserver);
|
||||
return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -185,7 +185,7 @@ public class SafeSlingerActivity extends BaseActivity
|
|||
|
||||
@Override
|
||||
public ImportKeyringParcel createOperationInput() {
|
||||
return new ImportKeyringParcel(mKeyList, mKeyserver);
|
||||
return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -237,7 +237,11 @@ public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.Vi
|
|||
keyserver = entry.getKeyserver();
|
||||
}
|
||||
|
||||
return new ImportKeyringParcel(keysList, keyserver, skipSave);
|
||||
if (skipSave) {
|
||||
return ImportKeyringParcel.createWithSkipSave(keysList, keyserver);
|
||||
} else {
|
||||
return ImportKeyringParcel.createImportKeyringParcel(keysList, keyserver);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1176,7 +1176,7 @@ public class ViewKeyActivity extends BaseSecurityTokenActivity implements
|
|||
|
||||
@Override
|
||||
public ImportKeyringParcel createOperationInput() {
|
||||
return new ImportKeyringParcel(mKeyList, mKeyserver);
|
||||
return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -65,7 +65,7 @@ public class EmailKeyHelper {
|
|||
|
||||
@Override
|
||||
public ImportKeyringParcel createOperationInput() {
|
||||
return new ImportKeyringParcel(mKeyList, mKeyserver);
|
||||
return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue