Correctly fold user packet queries and display verification status

This commit is contained in:
Vincent Breitmoser
2018-07-05 20:25:05 +02:00
parent eda75276ce
commit 3e00320bac
3 changed files with 28 additions and 10 deletions

View File

@@ -1,6 +1,8 @@
package org.sufficientlysecure.keychain.model;
import android.support.annotation.NonNull;
import com.google.auto.value.AutoValue;
import org.sufficientlysecure.keychain.UserPacketsModel;
import org.sufficientlysecure.keychain.pgp.CanonicalizedKeyRing.VerificationStatus;
@@ -10,16 +12,21 @@ import org.sufficientlysecure.keychain.provider.KeychainContract.Certs;
@AutoValue
public abstract class UserPacket implements UserPacketsModel {
public static final Factory<UserPacket> FACTORY = new Factory<>(AutoValue_UserPacket::new);
public static final SelectUserIdsByMasterKeyIdMapper<UserId, Certification> USER_ID_MAPPER =
FACTORY.selectUserIdsByMasterKeyIdMapper(AutoValue_UserPacket_UserId::new, Certification.FACTORY);
public static final SelectUserAttributesByTypeAndMasterKeyIdMapper<UserAttribute, Certification> USER_ATTRIBUTE_MAPPER =
FACTORY.selectUserAttributesByTypeAndMasterKeyIdMapper(AutoValue_UserPacket_UserAttribute::new, Certification.FACTORY);
public static final SelectUserIdsByMasterKeyIdMapper<UserId> USER_ID_MAPPER =
FACTORY.selectUserIdsByMasterKeyIdMapper(AutoValue_UserPacket_UserId::new);
public static final SelectUserAttributesByTypeAndMasterKeyIdMapper<UserAttribute> USER_ATTRIBUTE_MAPPER =
FACTORY.selectUserAttributesByTypeAndMasterKeyIdMapper(AutoValue_UserPacket_UserAttribute::new);
@AutoValue
public static abstract class UserId implements SelectUserIdsByMasterKeyIdModel {
public boolean isVerified() {
return verified() == VerificationStatus.VERIFIED_SECRET;
}
@NonNull
public VerificationStatus verified() {
return CustomColumnAdapters.VERIFICATON_STATUS_ADAPTER.decode(verified_int());
}
}
@AutoValue
@@ -27,5 +34,10 @@ public abstract class UserPacket implements UserPacketsModel {
public boolean isVerified() {
return verified() == VerificationStatus.VERIFIED_SECRET;
}
@NonNull
public VerificationStatus verified() {
return CustomColumnAdapters.VERIFICATON_STATUS_ADAPTER.decode(verified_int());
}
}
}