]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/TransactionListActivity.java
on-demand loading of transaction details
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / TransactionListActivity.java
index c41c00535a9178e7d5eec3d44aaf85471a73eef7..9ef8fce299f014af58d08193acf6293023995fc0 100644 (file)
@@ -60,6 +60,8 @@ public class TransactionListActivity extends AppCompatActivity {
 
         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);
@@ -69,8 +71,8 @@ public class TransactionListActivity extends AppCompatActivity {
             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);
@@ -84,14 +86,14 @@ public class TransactionListActivity extends AppCompatActivity {
             }
         }
         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);
 
@@ -157,6 +159,7 @@ public class TransactionListActivity extends AppCompatActivity {
             Date now = new Date();
             dbh.set_option_value("transaction_list_last_update", now.getTime());
             updateLastUpdateText(now);
+            modelAdapter.notifyDataSetChanged();
         }
     }
     private void updateLastUpdateText(Date now) {