new MutableLiveData<>(Collections.emptyList());
private Long mPatternId;
private String mDefaultPatternName;
+ private boolean itemsLoaded = false;
+
public String getDefaultPatternName() {
return mDefaultPatternName;
}
items.setValue(newList);
}
public LiveData<List<TemplateDetailsItem>> getItems(Long patternId) {
+ if (itemsLoaded && Objects.equals(patternId, this.mPatternId))
+ return items;
+
if (patternId != null && patternId <= 0)
throw new IllegalArgumentException("Pattern ID " + patternId + " is invalid");
if (mPatternId == null) {
resetItems();
+ itemsLoaded = true;
return items;
}
Logger.debug("patterns-db", "Loaded pattern item " + i);
}
items.postValue(l);
+ itemsLoaded = true;
dbList.removeObserver(this);
}
TemplateHeader dbHeader = modelHeader.toDBO();
if (newPattern) {
dbHeader.setId(null);
- dbHeader.setId(mPatternId = headerDAO.insert(dbHeader));
+ dbHeader.setId(mPatternId = headerDAO.insertSync(dbHeader));
}
else
- headerDAO.update(dbHeader);
+ headerDAO.updateSync(dbHeader);
Logger.debug("pattern-db",
String.format(Locale.US, "Stored pattern header %d, item=%s", dbHeader.getId(),
dbAccount.setPosition(i);
if (newPattern) {
dbAccount.setId(null);
- dbAccount.setId(taDAO.insert(dbAccount));
+ dbAccount.setId(taDAO.insertSync(dbAccount));
}
else
- taDAO.update(dbAccount);
+ taDAO.updateSync(dbAccount);
Logger.debug("pattern-db", String.format(Locale.US,
"Stored pattern account %d, account=%s, comment=%s, neg=%s, item=%s",