ImportKeys: Check expected creation date with the real one
This commit is contained in:
@@ -48,6 +48,7 @@ import org.sufficientlysecure.keychain.util.ParcelableFileCache;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.ViewHolder> implements ImportKeysResultListener {
|
public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.ViewHolder> implements ImportKeysResultListener {
|
||||||
@@ -224,17 +225,9 @@ public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.Vi
|
|||||||
"| isRev: " + keyRing.isRevoked() + "| isExp: " + keyRing.isExpired());
|
"| isRev: " + keyRing.isRevoked() + "| isExp: " + keyRing.isExpired());
|
||||||
|
|
||||||
ImportKeysListEntry entry = mData.get(mCurrent);
|
ImportKeysListEntry entry = mData.get(mCurrent);
|
||||||
|
|
||||||
entry.setRevoked(keyRing.isRevoked());
|
|
||||||
entry.setExpired(keyRing.isExpired());
|
|
||||||
entry.setUpdated(result.isOkUpdated());
|
entry.setUpdated(result.isOkUpdated());
|
||||||
|
|
||||||
entry.setDate(keyRing.getCreationDate());
|
mergeEntryWithKey(entry, keyRing);
|
||||||
entry.setKeyId(keyRing.getMasterKeyId());
|
|
||||||
|
|
||||||
ArrayList<String> realUserIdsPlusKeybase = keyRing.getUnorderedUserIds();
|
|
||||||
realUserIdsPlusKeybase.addAll(entry.getKeybaseUserIds());
|
|
||||||
entry.setUserIds(realUserIdsPlusKeybase);
|
|
||||||
|
|
||||||
mKeyStates[mCurrent].mDownloaded = true;
|
mKeyStates[mCurrent].mDownloaded = true;
|
||||||
changeState(mCurrent, true);
|
changeState(mCurrent, true);
|
||||||
@@ -247,6 +240,22 @@ public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.Vi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void mergeEntryWithKey(ImportKeysListEntry entry, CanonicalizedKeyRing keyRing) {
|
||||||
|
entry.setRevoked(keyRing.isRevoked());
|
||||||
|
entry.setExpired(keyRing.isExpired());
|
||||||
|
|
||||||
|
Date expectedDate = entry.getDate();
|
||||||
|
Date creationDate = keyRing.getCreationDate();
|
||||||
|
if ((expectedDate != null) && !expectedDate.equals(creationDate)) {
|
||||||
|
throw new AssertionError("Creation date doesn't match the expected one");
|
||||||
|
}
|
||||||
|
entry.setKeyId(keyRing.getMasterKeyId());
|
||||||
|
|
||||||
|
ArrayList<String> realUserIdsPlusKeybase = keyRing.getUnorderedUserIds();
|
||||||
|
realUserIdsPlusKeybase.addAll(entry.getKeybaseUserIds());
|
||||||
|
entry.setUserIds(realUserIdsPlusKeybase);
|
||||||
|
}
|
||||||
|
|
||||||
private class KeyState {
|
private class KeyState {
|
||||||
public boolean mDownloaded = false;
|
public boolean mDownloaded = false;
|
||||||
public boolean mShowed = false;
|
public boolean mShowed = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user