use autovalue for ImportKeyringParcel
This commit is contained in:
parent
0095df6d89
commit
ef366173d0
|
@ -469,9 +469,9 @@ public class ImportOperation extends BaseReadWriteOperation<ImportKeyringParcel>
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public ImportKeyResult execute(ImportKeyringParcel importInput, CryptoInputParcel cryptoInput) {
|
public ImportKeyResult execute(ImportKeyringParcel importInput, CryptoInputParcel cryptoInput) {
|
||||||
ArrayList<ParcelableKeyRing> keyList = importInput.mKeyList;
|
ArrayList<ParcelableKeyRing> keyList = importInput.getKeyList();
|
||||||
ParcelableHkpKeyserver keyServer = importInput.mKeyserver;
|
ParcelableHkpKeyserver keyServer = importInput.getKeyserver();
|
||||||
boolean skipSave = importInput.mSkipSave;
|
boolean skipSave = importInput.isSkipSave();
|
||||||
|
|
||||||
ImportKeyResult result;
|
ImportKeyResult result;
|
||||||
if (keyList == null) {// import from file, do serially
|
if (keyList == null) {// import from file, do serially
|
||||||
|
@ -495,7 +495,7 @@ public class ImportOperation extends BaseReadWriteOperation<ImportKeyringParcel>
|
||||||
result = multiThreadedKeyImport(keyList, keyServer, proxy, skipSave);
|
result = multiThreadedKeyImport(keyList, keyServer, proxy, skipSave);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!importInput.mSkipSave) {
|
if (!skipSave) {
|
||||||
ContactSyncAdapterService.requestContactsSync();
|
ContactSyncAdapterService.requestContactsSync();
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|
|
@ -18,69 +18,31 @@
|
||||||
|
|
||||||
package org.sufficientlysecure.keychain.service;
|
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;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class ImportKeyringParcel implements Parcelable {
|
import android.os.Parcelable;
|
||||||
// If null, keys are expected to be read from a cache file in ImportExportOperations
|
import android.support.annotation.Nullable;
|
||||||
public ArrayList<ParcelableKeyRing> mKeyList;
|
|
||||||
public ParcelableHkpKeyserver mKeyserver; // must be set if keys are to be imported from a keyserver
|
|
||||||
|
|
||||||
// If false, don't save the key, only return it as part of result
|
import com.google.auto.value.AutoValue;
|
||||||
public boolean mSkipSave = false;
|
import org.sufficientlysecure.keychain.keyimport.ParcelableHkpKeyserver;
|
||||||
|
import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing;
|
||||||
|
|
||||||
public ImportKeyringParcel(ArrayList<ParcelableKeyRing> keyList, ParcelableHkpKeyserver keyserver) {
|
@AutoValue
|
||||||
mKeyList = keyList;
|
public abstract class ImportKeyringParcel implements Parcelable {
|
||||||
mKeyserver = keyserver;
|
@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) {
|
public static ImportKeyringParcel createWithSkipSave(ArrayList<ParcelableKeyRing> keyList,
|
||||||
this(keyList, keyserver);
|
ParcelableHkpKeyserver keyserver) {
|
||||||
mSkipSave = skipSave;
|
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,
|
ImportOperation importOp = new ImportOperation(context,
|
||||||
KeyWritableRepository.createDatabaseReadWriteInteractor(context), null);
|
KeyWritableRepository.createDatabaseReadWriteInteractor(context), null);
|
||||||
return importOp.execute(
|
return importOp.execute(
|
||||||
new ImportKeyringParcel(keyList,
|
ImportKeyringParcel.createImportKeyringParcel(keyList,
|
||||||
Preferences.getPreferences(context).getPreferredKeyserver()),
|
Preferences.getPreferences(context).getPreferredKeyserver()),
|
||||||
cryptoInputParcel
|
cryptoInputParcel
|
||||||
);
|
);
|
||||||
|
@ -384,7 +384,7 @@ public class KeyserverSyncAdapterService extends Service {
|
||||||
ImportKeyResult result =
|
ImportKeyResult result =
|
||||||
new ImportOperation(context, KeyWritableRepository.createDatabaseReadWriteInteractor(context), null, mCancelled)
|
new ImportOperation(context, KeyWritableRepository.createDatabaseReadWriteInteractor(context), null, mCancelled)
|
||||||
.execute(
|
.execute(
|
||||||
new ImportKeyringParcel(
|
ImportKeyringParcel.createImportKeyringParcel(
|
||||||
keyWrapper,
|
keyWrapper,
|
||||||
Preferences.getPreferences(context)
|
Preferences.getPreferences(context)
|
||||||
.getPreferredKeyserver()
|
.getPreferredKeyserver()
|
||||||
|
|
|
@ -271,7 +271,7 @@ public class CreateSecurityTokenImportResetFragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImportKeyringParcel createOperationInput() {
|
public ImportKeyringParcel createOperationInput() {
|
||||||
return new ImportKeyringParcel(mKeyList, mKeyserver);
|
return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -159,7 +159,7 @@ public abstract class DecryptFragment extends Fragment implements LoaderManager.
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImportKeyringParcel createOperationInput() {
|
public ImportKeyringParcel createOperationInput() {
|
||||||
return new ImportKeyringParcel(keyList, keyserver);
|
return ImportKeyringParcel.createImportKeyringParcel(keyList, keyserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -779,7 +779,7 @@ public class DecryptListFragment
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImportKeyringParcel createOperationInput() {
|
public ImportKeyringParcel createOperationInput() {
|
||||||
return new ImportKeyringParcel(keyList, keyserver);
|
return ImportKeyringParcel.createImportKeyringParcel(keyList, keyserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -357,7 +357,7 @@ public class ImportKeysActivity extends BaseActivity implements ImportKeysListen
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ImportKeyringParcel inputParcel = new ImportKeyringParcel(null, null);
|
ImportKeyringParcel inputParcel = ImportKeyringParcel.createImportKeyringParcel(null, null);
|
||||||
ImportKeysOperationCallback callback = new ImportKeysOperationCallback(this, inputParcel, null);
|
ImportKeysOperationCallback callback = new ImportKeysOperationCallback(this, inputParcel, null);
|
||||||
mOpHelper = new CryptoOperationHelper<>(1, this, callback, R.string.progress_importing);
|
mOpHelper = new CryptoOperationHelper<>(1, this, callback, R.string.progress_importing);
|
||||||
mOpHelper.cryptoOperation();
|
mOpHelper.cryptoOperation();
|
||||||
|
|
|
@ -223,7 +223,7 @@ public class ImportKeysProxyActivity extends FragmentActivity
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImportKeyringParcel createOperationInput() {
|
public ImportKeyringParcel createOperationInput() {
|
||||||
return new ImportKeyringParcel(mKeyList, mKeyserver);
|
return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -519,7 +519,7 @@ public class KeyListFragment extends RecyclerFragment<KeySectionedListAdapter>
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImportKeyringParcel createOperationInput() {
|
public ImportKeyringParcel createOperationInput() {
|
||||||
return new ImportKeyringParcel(mKeyList, mKeyserver);
|
return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -185,7 +185,7 @@ public class SafeSlingerActivity extends BaseActivity
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImportKeyringParcel createOperationInput() {
|
public ImportKeyringParcel createOperationInput() {
|
||||||
return new ImportKeyringParcel(mKeyList, mKeyserver);
|
return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -237,7 +237,11 @@ public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.Vi
|
||||||
keyserver = entry.getKeyserver();
|
keyserver = entry.getKeyserver();
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ImportKeyringParcel(keysList, keyserver, skipSave);
|
if (skipSave) {
|
||||||
|
return ImportKeyringParcel.createWithSkipSave(keysList, keyserver);
|
||||||
|
} else {
|
||||||
|
return ImportKeyringParcel.createImportKeyringParcel(keysList, keyserver);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1176,7 +1176,7 @@ public class ViewKeyActivity extends BaseSecurityTokenActivity implements
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImportKeyringParcel createOperationInput() {
|
public ImportKeyringParcel createOperationInput() {
|
||||||
return new ImportKeyringParcel(mKeyList, mKeyserver);
|
return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -65,7 +65,7 @@ public class EmailKeyHelper {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImportKeyringParcel createOperationInput() {
|
public ImportKeyringParcel createOperationInput() {
|
||||||
return new ImportKeyringParcel(mKeyList, mKeyserver);
|
return ImportKeyringParcel.createImportKeyringParcel(mKeyList, mKeyserver);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue