check for key status in legacy API key lists

This commit is contained in:
Dominik Schürmann
2018-07-04 13:32:35 +02:00
committed by Vincent Breitmoser
parent 8a33fa8540
commit 035a62e920
5 changed files with 39 additions and 2 deletions

View File

@@ -124,7 +124,17 @@ public class SelectPublicKeyFragment extends RecyclerFragment<KeyChoiceAdapter>
public void onLoadUnifiedKeyData(List<UnifiedKeyInfo> data) {
if (keyChoiceAdapter == null) {
keyChoiceAdapter = KeyChoiceAdapter.createMultiChoiceAdapter(data, (keyInfo -> {
return keyInfo.is_revoked() ? R.string.keychoice_cannot_encrypt : null;
if (keyInfo.is_revoked()) {
return R.string.keychoice_revoked;
} else if (keyInfo.is_expired()) {
return R.string.keychoice_expired;
} else if (!keyInfo.is_secure()) {
return R.string.keychoice_insecure;
} else if (!keyInfo.has_encrypt_key()) {
return R.string.keychoice_cannot_encrypt;
} else {
return null;
}
}));
setAdapter(keyChoiceAdapter);
keyChoiceAdapter.setSelectionByIds(selectedMasterKeyIds);

View File

@@ -116,7 +116,19 @@ public class SelectSignKeyIdListFragment extends RecyclerFragment<KeyChoiceAdapt
public void onLoadUnifiedKeyData(List<UnifiedKeyInfo> data) {
if (keyChoiceAdapter == null) {
keyChoiceAdapter = KeyChoiceAdapter.createSingleClickableAdapter(data, this::onSelectKeyItemClicked);
keyChoiceAdapter = KeyChoiceAdapter.createSingleClickableAdapter(data, this::onSelectKeyItemClicked, (keyInfo -> {
if (keyInfo.is_revoked()) {
return R.string.keychoice_revoked;
} else if (keyInfo.is_expired()) {
return R.string.keychoice_expired;
} else if (!keyInfo.is_secure()) {
return R.string.keychoice_insecure;
} else if (!keyInfo.has_sign_key()) {
return R.string.keychoice_cannot_sign;
} else {
return null;
}
}));
setAdapter(keyChoiceAdapter);
} else {
keyChoiceAdapter.setUnifiedKeyInfoItems(data);