setupActionBar();
+ MobileLedgerDatabase dbh = new MobileLedgerDatabase(this);
+
swiper = findViewById(R.id.transaction_swipe);
if (swiper == null) throw new RuntimeException("Can't get hold on the swipe layout");
root = findViewById(R.id.transaction_root);
throw new RuntimeException("Can't get hold on the transaction list progress bar");
tvLastUpdate = findViewById(R.id.transactions_last_update);
{
- long last_update = (new MobileLedgerDatabase(this))
- .get_option_value("transaction_list_last_update", 0);
+ long last_update = dbh.get_option_value("transaction_list_last_update", 0L);
+ Log.d("transactions", String.format("Last update = %d", last_update));
if (last_update == 0) tvLastUpdate.setText("never");
else {
Date date = new Date(last_update);
}
}
model = ViewModelProviders.of(this).get(TransactionListViewModel.class);
- List<LedgerTransaction> transactions =
- model.getTransactions(new MobileLedgerDatabase(this));
+ List<LedgerTransaction> transactions = model.getTransactions(dbh);
modelAdapter = new TransactionListAdapter(transactions);
RecyclerView root = findViewById(R.id.transaction_root);
root.setAdapter(modelAdapter);
LinearLayoutManager llm = new LinearLayoutManager(this);
+
llm.setOrientation(LinearLayoutManager.VERTICAL);
root.setLayoutManager(llm);
- ((SwipeRefreshLayout) findViewById(R.id.transaction_swipe)).setOnRefreshListener(() -> {
+ swiper.setOnRefreshListener(() -> {
Log.d("ui", "refreshing transactions via swipe");
update_transactions();
});
+ swiper.setColorSchemeResources(R.color.colorPrimary, R.color.colorAccent);
+
// update_transactions();
}
private void setupActionBar() {
public void onRetrieveDone(boolean success) {
progressBar.setVisibility(View.GONE);
- SwipeRefreshLayout srl = findViewById(R.id.transaction_swipe);
- srl.setRefreshing(false);
+ swiper.setRefreshing(false);
if (success) {
MobileLedgerDatabase dbh = new MobileLedgerDatabase(this);
Date now = new Date();
dbh.set_option_value("transaction_list_last_update", now.getTime());
updateLastUpdateText(now);
+ modelAdapter.notifyDataSetChanged();
}
}
private void updateLastUpdateText(Date now) {