diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2014-10-03 03:29:08 +0200 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2014-10-03 03:29:23 +0200 |
commit | a91468565ff600e082c29aec6433c51a19f26b07 (patch) | |
tree | cf362b9e8e09b6c7aa9375efc5c8fbbb0c70db9d /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java | |
parent | 4b4e885e55f788bd2cf05f3c83f5a4bccb6cd0c0 (diff) | |
download | open-keychain-a91468565ff600e082c29aec6433c51a19f26b07.tar.gz open-keychain-a91468565ff600e082c29aec6433c51a19f26b07.tar.bz2 open-keychain-a91468565ff600e082c29aec6433c51a19f26b07.zip |
use iterator interface exclusively in ParcelableFileCache
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java index 111bf0124..3b4facbd0 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java @@ -48,17 +48,18 @@ public class ParcelableFileCache<E extends Parcelable> { private Context mContext; private final String mFilename; + private int mNumEntries; public ParcelableFileCache(Context context, String filename) { mContext = context; mFilename = filename; } - public void writeCache(ArrayList<E> selectedEntries) throws IOException { - writeCache(selectedEntries.iterator()); + public int getNumEntries() { + return mNumEntries; } - public void writeCache(Iterator<E> it) throws IOException { + public void writeCache(int numEntries, Iterator<E> it) throws IOException { File cacheDir = mContext.getCacheDir(); if (cacheDir == null) { @@ -70,6 +71,8 @@ public class ParcelableFileCache<E extends Parcelable> { DataOutputStream oos = new DataOutputStream(new FileOutputStream(tempFile)); + oos.writeInt(numEntries); + while (it.hasNext()) { Parcel p = Parcel.obtain(); // creating empty parcel object p.writeParcelable(it.next(), 0); // saving bundle as parcel @@ -83,15 +86,6 @@ public class ParcelableFileCache<E extends Parcelable> { } - public List<E> readCacheIntoList() throws IOException { - ArrayList<E> result = new ArrayList<E>(); - Iterator<E> it = readCache(); - while (it.hasNext()) { - result.add(it.next()); - } - return result; - } - public Iterator<E> readCache() throws IOException { return readCache(true); } @@ -113,6 +107,9 @@ public class ParcelableFileCache<E extends Parcelable> { throw new IOException(e); } + // yes this is slightly sloppy data flow. WE WOULDN'T NEED THIS WITH TUPLE RETURN TYPES + mNumEntries = ois.readInt(); + return new Iterator<E>() { E mRing = null; |