From 0943bab2799fa3866657b4a484ed4c29c4bf61a7 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Tue, 24 Jul 2018 17:13:29 +0200 Subject: [PATCH] use mapAllRows throughout KeyRepository --- .../keychain/daos/KeyRepository.java | 84 ++----------------- 1 file changed, 9 insertions(+), 75 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/daos/KeyRepository.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/daos/KeyRepository.java index a9de18559..15e1a283b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/daos/KeyRepository.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/daos/KeyRepository.java @@ -20,14 +20,12 @@ package org.sufficientlysecure.keychain.daos; import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.util.ArrayList; import java.util.List; import android.content.Context; import android.database.Cursor; import android.support.annotation.WorkerThread; -import com.squareup.sqldelight.RowMapper; import com.squareup.sqldelight.SqlDelightQuery; import org.bouncycastle.bcpg.ArmoredOutputStream; import org.sufficientlysecure.keychain.KeychainDatabase; @@ -127,27 +125,13 @@ public class KeyRepository extends AbstractDao { public List getAllMasterKeyIds() { SqlDelightQuery query = KeyRingPublic.FACTORY.selectAllMasterKeyIds(); - ArrayList result = new ArrayList<>(); - try (Cursor cursor = getReadableDb().query(query)) { - while (cursor.moveToNext()) { - Long item = KeyRingPublic.FACTORY.selectAllMasterKeyIdsMapper().map(cursor); - result.add(item); - } - } - return result; + return mapAllRows(query, KeySignature.FACTORY.selectMasterKeyIdsBySignerMapper()); } public List getMasterKeyIdsBySigner(List signerMasterKeyIds) { long[] signerKeyIds = getLongListAsArray(signerMasterKeyIds); SqlDelightQuery query = KeySignature.FACTORY.selectMasterKeyIdsBySigner(signerKeyIds); - ArrayList result = new ArrayList<>(); - try (Cursor cursor = getReadableDb().query(query)) { - while (cursor.moveToNext()) { - Long item = KeySignature.FACTORY.selectMasterKeyIdsBySignerMapper().map(cursor); - result.add(item); - } - } - return result; + return mapAllRows(query, KeySignature.FACTORY.selectMasterKeyIdsBySignerMapper()); } public Long getMasterKeyIdBySubkeyId(long subKeyId) { @@ -162,88 +146,38 @@ public class KeyRepository extends AbstractDao { public List getUnifiedKeyInfo(long... masterKeyIds) { SqlDelightQuery query = SubKey.FACTORY.selectUnifiedKeyInfoByMasterKeyIds(masterKeyIds); - ArrayList result = new ArrayList<>(); - try (Cursor cursor = getReadableDb().query(query)) { - while (cursor.moveToNext()) { - UnifiedKeyInfo item = SubKey.UNIFIED_KEY_INFO_MAPPER.map(cursor); - result.add(item); - } - } - return result; + return mapAllRows(query, SubKey.UNIFIED_KEY_INFO_MAPPER); } public List getUnifiedKeyInfosByMailAddress(String mailAddress) { SqlDelightQuery query = SubKey.FACTORY.selectUnifiedKeyInfoSearchMailAddress('%' + mailAddress + '%'); - ArrayList result = new ArrayList<>(); - try (Cursor cursor = getReadableDb().query(query)) { - while (cursor.moveToNext()) { - UnifiedKeyInfo item = SubKey.UNIFIED_KEY_INFO_MAPPER.map(cursor); - result.add(item); - } - } - return result; + return mapAllRows(query, SubKey.UNIFIED_KEY_INFO_MAPPER); } public List getAllUnifiedKeyInfo() { SqlDelightQuery query = SubKey.FACTORY.selectAllUnifiedKeyInfo(); - ArrayList result = new ArrayList<>(); - try (Cursor cursor = getReadableDb().query(query)) { - while (cursor.moveToNext()) { - UnifiedKeyInfo item = SubKey.UNIFIED_KEY_INFO_MAPPER.map(cursor); - result.add(item); - } - } - return result; + return mapAllRows(query, SubKey.UNIFIED_KEY_INFO_MAPPER); } public List getAllUnifiedKeyInfoWithSecret() { SqlDelightQuery query = SubKey.FACTORY.selectAllUnifiedKeyInfoWithSecret(); - ArrayList result = new ArrayList<>(); - try (Cursor cursor = getReadableDb().query(query)) { - while (cursor.moveToNext()) { - UnifiedKeyInfo item = SubKey.UNIFIED_KEY_INFO_MAPPER.map(cursor); - result.add(item); - } - } - return result; + return mapAllRows(query, SubKey.UNIFIED_KEY_INFO_MAPPER); } public List getUserIds(long... masterKeyIds) { SqlDelightQuery query = UserPacket.FACTORY.selectUserIdsByMasterKeyId(masterKeyIds); - ArrayList result = new ArrayList<>(); - try (Cursor cursor = getReadableDb().query(query)) { - while (cursor.moveToNext()) { - UserId item = UserPacket.USER_ID_MAPPER.map(cursor); - result.add(item); - } - } - return result; + return mapAllRows(query, UserPacket.USER_ID_MAPPER); } public List getConfirmedUserIds(long masterKeyId) { SqlDelightQuery query = UserPacket.FACTORY.selectUserIdsByMasterKeyIdAndVerification( Certification.FACTORY, masterKeyId, VerificationStatus.VERIFIED_SECRET); - ArrayList result = new ArrayList<>(); - try (Cursor cursor1 = getReadableDb().query(query)) { - while (cursor1.moveToNext()) { - String item = ((RowMapper) (cursor) -> UserPacket.USER_ID_MAPPER.map(cursor).user_id()) - .map(cursor1); - result.add(item); - } - } - return result; + return mapAllRows(query, cursor -> UserPacket.USER_ID_MAPPER.map(cursor).user_id()); } public List getSubKeysByMasterKeyId(long masterKeyId) { SqlDelightQuery query = SubKey.FACTORY.selectSubkeysByMasterKeyId(masterKeyId); - ArrayList result = new ArrayList<>(); - try (Cursor cursor = getReadableDb().query(query)) { - while (cursor.moveToNext()) { - SubKey item = SubKey.SUBKEY_MAPPER.map(cursor); - result.add(item); - } - } - return result; + return mapAllRows(query, SubKey.SUBKEY_MAPPER); } public SecretKeyType getSecretKeyType(long keyId) throws NotFoundException {