X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2FTransactionListActivity.java;h=1073909dc356babd0d00625018b0681a407f5722;hp=1dc5f026d900cb9961805e5465855dbc93febf40;hb=422bbdff1fefb787e8aac916eb97c27f4b4c012c;hpb=a983099d6150044a08a1fbc601d9af9bd8d0c0a8 diff --git a/app/src/main/java/net/ktnx/mobileledger/TransactionListActivity.java b/app/src/main/java/net/ktnx/mobileledger/TransactionListActivity.java index 1dc5f026..1073909d 100644 --- a/app/src/main/java/net/ktnx/mobileledger/TransactionListActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/TransactionListActivity.java @@ -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,22 +86,24 @@ public class TransactionListActivity extends AppCompatActivity { } } model = ViewModelProviders.of(this).get(TransactionListViewModel.class); - List transactions = - model.getTransactions(new MobileLedgerDatabase(this)); + List 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() { @@ -126,6 +130,8 @@ public class TransactionListActivity extends AppCompatActivity { public void onRetrieveStart() { progressBar.setIndeterminate(true); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) progressBar.setProgress(0, false); + else progressBar.setProgress(0); progressBar.setVisibility(View.VISIBLE); } public void onRetrieveProgress(RetrieveTransactionsTask.Progress progress) { @@ -135,7 +141,6 @@ public class TransactionListActivity extends AppCompatActivity { progressBar.setIndeterminate(true); } else { - progressBar.setIndeterminate(false); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { progressBar.setMin(0); } @@ -144,18 +149,19 @@ public class TransactionListActivity extends AppCompatActivity { progressBar.setProgress(progress.getProgress(), true); } else progressBar.setProgress(progress.getProgress()); + progressBar.setIndeterminate(false); } } 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) {