Prevent flicker of dummy item during key update

This commit is contained in:
Vincent Breitmoser 2018-07-13 16:12:06 +02:00
parent 1e51cf1aaf
commit f97531d628

View file

@ -17,6 +17,7 @@ public class FlexibleKeyItemFactory {
private final Resources resources; private final Resources resources;
private Map<String, FlexibleKeyHeader> initialsHeaderMap = new HashMap<>(); private Map<String, FlexibleKeyHeader> initialsHeaderMap = new HashMap<>();
private FlexibleKeyHeader myKeysHeader; private FlexibleKeyHeader myKeysHeader;
private FlexibleKeyItem dummyItem;
public FlexibleKeyItemFactory(Resources resources) { public FlexibleKeyItemFactory(Resources resources) {
this.resources = resources; this.resources = resources;
@ -30,7 +31,7 @@ public class FlexibleKeyItemFactory {
return result; return result;
} }
if (unifiedKeyInfos.isEmpty() || !unifiedKeyInfos.get(0).has_any_secret()) { if (unifiedKeyInfos.isEmpty() || !unifiedKeyInfos.get(0).has_any_secret()) {
result.add(new FlexibleKeyDummyItem(myKeysHeader)); result.add(getDummyItem());
} }
for (UnifiedKeyInfo unifiedKeyInfo : unifiedKeyInfos) { for (UnifiedKeyInfo unifiedKeyInfo : unifiedKeyInfos) {
FlexibleKeyHeader header = getFlexibleKeyHeader(unifiedKeyInfo); FlexibleKeyHeader header = getFlexibleKeyHeader(unifiedKeyInfo);
@ -71,4 +72,11 @@ public class FlexibleKeyItemFactory {
} }
return headerText.substring(0, 1).toUpperCase(); return headerText.substring(0, 1).toUpperCase();
} }
private FlexibleKeyItem getDummyItem() {
if (dummyItem == null) {
dummyItem = new FlexibleKeyDummyItem(myKeysHeader);
}
return dummyItem;
}
} }