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=39323f7bf6b18a930660b1509404ac8fc76571a9;hp=1dc5f026d900cb9961805e5465855dbc93febf40;hb=1857937cbdb55199cb9391a7b42766d6dcba80c8;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..39323f7b 100644 --- a/app/src/main/java/net/ktnx/mobileledger/TransactionListActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/TransactionListActivity.java @@ -35,7 +35,7 @@ import android.widget.TextView; import net.ktnx.mobileledger.async.RetrieveTransactionsTask; import net.ktnx.mobileledger.model.LedgerTransaction; import net.ktnx.mobileledger.ui.transaction_list.TransactionListViewModel; -import net.ktnx.mobileledger.utils.MobileLedgerDatabase; +import net.ktnx.mobileledger.utils.MLDB; import java.lang.ref.WeakReference; import java.time.ZoneId; @@ -47,7 +47,7 @@ public class TransactionListActivity extends AppCompatActivity { private SwipeRefreshLayout swiper; private RecyclerView root; private ProgressBar progressBar; - private TransactionListViewModel model; + public TransactionListViewModel model; private TextView tvLastUpdate; private TransactionListAdapter modelAdapter; @Override @@ -69,8 +69,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 = MLDB.get_option_value(this, "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 +84,24 @@ public class TransactionListActivity extends AppCompatActivity { } } model = ViewModelProviders.of(this).get(TransactionListViewModel.class); - List transactions = - model.getTransactions(new MobileLedgerDatabase(this)); + List transactions = model.getTransactions(getApplicationContext()); 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 +128,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 +139,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 +147,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()); + MLDB.set_option_value(getApplicationContext(), "transaction_list_last_update", + now.getTime()); updateLastUpdateText(now); + modelAdapter.notifyDataSetChanged(); } } private void updateLastUpdateText(Date now) {