X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2FAccountSummary.java;h=2c9589e37cffeb6b25dad537fecd02b9ba2c7f27;hp=e34aa6b71d054c45bd838e598cd740f41eaa41ee;hb=6c58c1072c9af6ea0d0f52baeae7f95ba7f7ee2f;hpb=1b884be8a22a3cd1460da24f7378e06cc6f1c51a diff --git a/app/src/main/java/net/ktnx/mobileledger/AccountSummary.java b/app/src/main/java/net/ktnx/mobileledger/AccountSummary.java index e34aa6b7..2c9589e3 100644 --- a/app/src/main/java/net/ktnx/mobileledger/AccountSummary.java +++ b/app/src/main/java/net/ktnx/mobileledger/AccountSummary.java @@ -1,3 +1,20 @@ +/* + * Copyright © 2018 Damyan Ivanov. + * This file is part of Mobile-Ledger. + * Mobile-Ledger is free software: you can distribute it and/or modify it + * under the term of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your opinion), any later version. + * + * Mobile-Ledger is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License terms for details. + * + * You should have received a copy of the GNU General Public License + * along with Mobile-Ledger. If not, see . + */ + package net.ktnx.mobileledger; import android.arch.lifecycle.ViewModelProviders; @@ -24,6 +41,10 @@ import android.view.MenuItem; import android.view.View; import android.widget.LinearLayout; +import net.ktnx.mobileledger.async.RetrieveAccountsTask; +import net.ktnx.mobileledger.model.LedgerAccount; +import net.ktnx.mobileledger.utils.MLDB; + import java.lang.ref.WeakReference; import java.util.Date; import java.util.List; @@ -37,7 +58,6 @@ public class AccountSummary extends AppCompatActivity { private static boolean account_list_needs_update = true; MenuItem mShowHiddenAccounts; SharedPreferences.OnSharedPreferenceChangeListener sBindPreferenceSummaryToValueListener; - private MobileLedgerDatabase dbh; private AccountSummaryViewModel model; private AccountSummaryAdapter modelAdapter; private Menu optMenu; @@ -53,8 +73,6 @@ public class AccountSummary extends AppCompatActivity { Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); - dbh = new MobileLedgerDatabase(this); - drawer = findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); @@ -71,7 +89,7 @@ public class AccountSummary extends AppCompatActivity { } model = ViewModelProviders.of(this).get(AccountSummaryViewModel.class); - List accounts = model.getAccounts(); + List accounts = model.getAccounts(getApplicationContext()); modelAdapter = new AccountSummaryAdapter(accounts); RecyclerView root = findViewById(R.id.account_root); @@ -113,7 +131,9 @@ public class AccountSummary extends AppCompatActivity { if (dy > 0) ((FloatingActionButton) findViewById(R.id.btn_add_transaction)).hide(); } }); - ((SwipeRefreshLayout) findViewById(R.id.account_swiper)).setOnRefreshListener(() -> { + SwipeRefreshLayout swiper = findViewById(R.id.account_swiper); + swiper.setColorSchemeResources(R.color.colorPrimary, R.color.colorAccent); + swiper.setOnRefreshListener(() -> { Log.d("ui", "refreshing accounts via swipe"); update_accounts(true); }); @@ -161,7 +181,10 @@ public class AccountSummary extends AppCompatActivity { Intent intent = new Intent(this, SettingsActivity.class); startActivity(intent); } - + public void onLatestTransactionsClicked(View view) { + Intent intent = new Intent(this, TransactionListActivity.class); + startActivity(intent); + } @Override public void onBackPressed() { DrawerLayout drawer = findViewById(R.id.drawer_layout); @@ -224,7 +247,7 @@ public class AccountSummary extends AppCompatActivity { } private void prepare_db() { - account_list_last_updated = dbh.get_option_value("last_refresh", (long) 0); + account_list_last_updated = MLDB.get_option_value(this, "last_refresh", (long) 0); } private void update_accounts(boolean force) { @@ -242,7 +265,7 @@ public class AccountSummary extends AppCompatActivity { task.execute(); } - void onAccountRefreshDone(int error) { + public void onAccountRefreshDone(int error) { SwipeRefreshLayout srl = findViewById(R.id.account_swiper); srl.setRefreshing(false); if (error != 0) { @@ -251,12 +274,12 @@ public class AccountSummary extends AppCompatActivity { Snackbar.make(drawer, err_text, Snackbar.LENGTH_LONG ).show(); } else { - dbh.set_option_value("last_refresh", new Date().getTime() ); + MLDB.set_option_value(this, "last_refresh", new Date().getTime()); update_account_table(); } } private void update_account_table() { - model.reloadAccounts(); + model.reloadAccounts(getApplicationContext()); modelAdapter.notifyDataSetChanged(); } void stopSelection() { @@ -275,7 +298,7 @@ public class AccountSummary extends AppCompatActivity { stopSelection(); } public void onConfirmAccSelection(MenuItem item) { - model.commitSelections(); + model.commitSelections(getApplicationContext()); stopSelection(); } }