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=3a59003dda2d149801fe139a4b1b9abfa77484f7;hp=5ad2a57d8589c1490f7a251333a6411e1b0a17ac;hb=7d6fd4b4e3bfc08ee9c72a1d595b284df2517e59;hpb=f8f86b6145e025b787650f7342675622227f9b24 diff --git a/app/src/main/java/net/ktnx/mobileledger/AccountSummary.java b/app/src/main/java/net/ktnx/mobileledger/AccountSummary.java index 5ad2a57d..3a59003d 100644 --- a/app/src/main/java/net/ktnx/mobileledger/AccountSummary.java +++ b/app/src/main/java/net/ktnx/mobileledger/AccountSummary.java @@ -43,7 +43,7 @@ import android.widget.LinearLayout; import net.ktnx.mobileledger.async.RetrieveAccountsTask; import net.ktnx.mobileledger.model.LedgerAccount; -import net.ktnx.mobileledger.utils.MobileLedgerDatabase; +import net.ktnx.mobileledger.utils.MLDB; import java.lang.ref.WeakReference; import java.util.Date; @@ -52,13 +52,11 @@ import java.util.List; import static net.ktnx.mobileledger.SettingsActivity.PREF_KEY_SHOW_ONLY_STARRED_ACCOUNTS; public class AccountSummary extends AppCompatActivity { - DrawerLayout drawer; - private static long account_list_last_updated; private static boolean account_list_needs_update = true; + DrawerLayout drawer; MenuItem mShowHiddenAccounts; SharedPreferences.OnSharedPreferenceChangeListener sBindPreferenceSummaryToValueListener; - private MobileLedgerDatabase dbh; private AccountSummaryViewModel model; private AccountSummaryAdapter modelAdapter; private Menu optMenu; @@ -74,25 +72,26 @@ 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); + ActionBarDrawerToggle toggle = + new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, + R.string.navigation_drawer_close); drawer.addDrawerListener(toggle); toggle.syncState(); android.widget.TextView ver = drawer.findViewById(R.id.drawer_version_text); try { - PackageInfo pi = getApplicationContext().getPackageManager().getPackageInfo(getPackageName(), 0); + PackageInfo pi = + getApplicationContext().getPackageManager().getPackageInfo(getPackageName(), 0); ver.setText(pi.versionName); - } catch (Exception e) { + } + catch (Exception e) { e.printStackTrace(); } 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); @@ -102,30 +101,33 @@ public class AccountSummary extends AppCompatActivity { llm.setOrientation(LinearLayoutManager.VERTICAL); root.setLayoutManager(llm); - root.addOnItemTouchListener(new RecyclerItemListener(this, root, new RecyclerItemListener.RecyclerTouchListener() { - @Override - public void onClickItem(View v, int position) { - Log.d("list", String.format("item %d clicked", position)); - if (modelAdapter.isSelectionActive()) { - modelAdapter.selectItem(position); - } - } - - @Override - public void onLongClickItem(View v, int position) { - Log.d("list", String.format("item %d long-clicked", position)); - modelAdapter.startSelection(); - if (optMenu != null) { - optMenu.findItem(R.id.menu_acc_summary_cancel_selection).setVisible(true); - optMenu.findItem(R.id.menu_acc_summary_confirm_selection).setVisible(true); - optMenu.findItem(R.id.menu_acc_summary_only_starred).setVisible(false); - } - { - FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.btn_add_transaction); - if (fab != null) fab.hide(); - } - } - })); + root.addOnItemTouchListener(new RecyclerItemListener(this, root, + new RecyclerItemListener.RecyclerTouchListener() { + @Override + public void onClickItem(View v, int position) { + Log.d("list", String.format("item %d clicked", position)); + if (modelAdapter.isSelectionActive()) { + modelAdapter.selectItem(position); + } + } + + @Override + public void onLongClickItem(View v, int position) { + Log.d("list", String.format("item %d long-clicked", position)); + modelAdapter.startSelection(); + if (optMenu != null) { + optMenu.findItem(R.id.menu_acc_summary_cancel_selection) + .setVisible(true); + optMenu.findItem(R.id.menu_acc_summary_confirm_selection) + .setVisible(true); + optMenu.findItem(R.id.menu_acc_summary_only_starred).setVisible(false); + } + { + FloatingActionButton fab = findViewById(R.id.btn_add_transaction); + if (fab != null) fab.hide(); + } + } + })); root.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override @@ -193,7 +195,8 @@ public class AccountSummary extends AppCompatActivity { DrawerLayout drawer = findViewById(R.id.drawer_layout); if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); - } else { + } + else { super.onBackPressed(); } } @@ -236,8 +239,7 @@ public class AccountSummary extends AppCompatActivity { update_accounts(true); } - public - void onShowOnlyStarredClicked(MenuItem mi) { + public void onShowOnlyStarredClicked(MenuItem mi) { SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this); boolean flag = pref.getBoolean(PREF_KEY_SHOW_ONLY_STARRED_ACCOUNTS, false); @@ -250,13 +252,15 @@ 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) { long now = new Date().getTime(); - if ((now > (account_list_last_updated + (24 * 3600*1000))) || force) { - Log.d("db", "accounts last updated at " + account_list_last_updated+" and now is " + now+". re-fetching"); + if ((now > (account_list_last_updated + (24 * 3600 * 1000))) || force) { + Log.d("db", + "accounts last updated at " + account_list_last_updated + " and now is " + now + + ". re-fetching"); update_accounts(); } } @@ -274,15 +278,15 @@ public class AccountSummary extends AppCompatActivity { if (error != 0) { String err_text = getResources().getString(error); Log.d("visual", String.format("showing snackbar: %s", err_text)); - Snackbar.make(drawer, err_text, Snackbar.LENGTH_LONG ).show(); + 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() { @@ -301,7 +305,7 @@ public class AccountSummary extends AppCompatActivity { stopSelection(); } public void onConfirmAccSelection(MenuItem item) { - model.commitSelections(); + model.commitSelections(getApplicationContext()); stopSelection(); } }