fix misbehavior in ImportKeyringParcel

This commit is contained in:
Vincent Breitmoser 2017-06-12 20:07:36 +02:00
parent 7fc805d70c
commit c4f67f434c
2 changed files with 23 additions and 11 deletions

View File

@ -45,4 +45,12 @@ public abstract class ImportKeyringParcel implements Parcelable {
ParcelableHkpKeyserver keyserver) {
return new AutoValue_ImportKeyringParcel(keyList, keyserver, true);
}
public static ImportKeyringParcel createFromFileCacheWithSkipSave() {
return new AutoValue_ImportKeyringParcel(null, null, true);
}
public static ImportKeyringParcel createFromFileCache() {
return new AutoValue_ImportKeyringParcel(null, null, false);
}
}

View File

@ -218,9 +218,6 @@ public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.Vi
}
private ImportKeyringParcel prepareKeyOperation(ImportKeysListEntry entry, boolean skipSave) {
ArrayList<ParcelableKeyRing> keysList = null;
ParcelableHkpKeyserver keyserver = null;
ParcelableKeyRing keyRing = entry.getParcelableKeyRing();
if (keyRing.getBytes() != null) {
// instead of giving the entries by Intent extra, cache them into a
@ -236,16 +233,23 @@ public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.Vi
Log.e(Constants.TAG, "Problem writing cache file", e);
Notify.create(mActivity, "Problem writing cache file!", Notify.Style.ERROR).show();
}
} else {
keysList = new ArrayList<>();
keysList.add(keyRing);
keyserver = entry.getKeyserver();
}
if (skipSave) {
return ImportKeyringParcel.createWithSkipSave(keysList, keyserver);
if (skipSave) {
return ImportKeyringParcel.createFromFileCacheWithSkipSave();
} else {
return ImportKeyringParcel.createFromFileCache();
}
} else {
return ImportKeyringParcel.createImportKeyringParcel(keysList, keyserver);
ArrayList<ParcelableKeyRing> keysList = new ArrayList<>();
keysList.add(keyRing);
ParcelableHkpKeyserver keyserver = entry.getKeyserver();
if (skipSave) {
return ImportKeyringParcel.createWithSkipSave(keysList, keyserver);
} else {
return ImportKeyringParcel.createImportKeyringParcel(keysList, keyserver);
}
}
}