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=e34aa6b71d054c45bd838e598cd740f41eaa41ee;hp=c1f834b183f427bbb49e4ee2c947681b0525b1a4;hb=1b884be8a22a3cd1460da24f7378e06cc6f1c51a;hpb=f6c803b3c43e2601b3c5ed7f6b6a0e630a71cf6b diff --git a/app/src/main/java/net/ktnx/mobileledger/AccountSummary.java b/app/src/main/java/net/ktnx/mobileledger/AccountSummary.java index c1f834b1..e34aa6b7 100644 --- a/app/src/main/java/net/ktnx/mobileledger/AccountSummary.java +++ b/app/src/main/java/net/ktnx/mobileledger/AccountSummary.java @@ -7,6 +7,8 @@ import android.content.pm.PackageInfo; import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; +import android.support.annotation.NonNull; +import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; @@ -26,6 +28,8 @@ import java.lang.ref.WeakReference; import java.util.Date; import java.util.List; +import static net.ktnx.mobileledger.SettingsActivity.PREF_KEY_SHOW_ONLY_STARRED_ACCOUNTS; + public class AccountSummary extends AppCompatActivity { DrawerLayout drawer; @@ -92,11 +96,23 @@ public class AccountSummary extends AppCompatActivity { modelAdapter.startSelection(); if (optMenu != null) { optMenu.findItem(R.id.menu_acc_summary_cancel_selection).setVisible(true); - optMenu.findItem(R.id.menu_acc_summary_hide_selected).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.addOnScrollListener(new RecyclerView.OnScrollListener() { + @Override + public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { + if (dy < 0) ((FloatingActionButton) findViewById(R.id.btn_add_transaction)).show(); + if (dy > 0) ((FloatingActionButton) findViewById(R.id.btn_add_transaction)).hide(); + } + }); ((SwipeRefreshLayout) findViewById(R.id.account_swiper)).setOnRefreshListener(() -> { Log.d("ui", "refreshing accounts via swipe"); update_accounts(true); @@ -162,15 +178,15 @@ public class AccountSummary extends AppCompatActivity { getMenuInflater().inflate(R.menu.account_summary, menu); optMenu = menu; - mShowHiddenAccounts = menu.findItem(R.id.menu_acc_summary_show_hidden); + mShowHiddenAccounts = menu.findItem(R.id.menu_acc_summary_only_starred); if (mShowHiddenAccounts == null) throw new AssertionError(); sBindPreferenceSummaryToValueListener = (preference, value) -> mShowHiddenAccounts - .setChecked(preference.getBoolean("show_hidden_accounts", false)); + .setChecked(preference.getBoolean(PREF_KEY_SHOW_ONLY_STARRED_ACCOUNTS, false)); SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this); pref.registerOnSharedPreferenceChangeListener(sBindPreferenceSummaryToValueListener); - mShowHiddenAccounts.setChecked(pref.getBoolean("show_hidden_accounts", false)); + mShowHiddenAccounts.setChecked(pref.getBoolean(PREF_KEY_SHOW_ONLY_STARRED_ACCOUNTS, false)); return true; } @@ -195,13 +211,13 @@ public class AccountSummary extends AppCompatActivity { } public - void onShowHiddenAccountsClicked(MenuItem mi) { + void onShowOnlyStarredClicked(MenuItem mi) { SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this); - boolean flag = pref.getBoolean("show_hidden_accounts", false); + boolean flag = pref.getBoolean(PREF_KEY_SHOW_ONLY_STARRED_ACCOUNTS, false); SharedPreferences.Editor editor = pref.edit(); - editor.putBoolean("show_hidden_accounts", !flag); - Log.d("pref", "Setting show_hidden_accounts to " + (flag ? "false" : "true")); + editor.putBoolean(PREF_KEY_SHOW_ONLY_STARRED_ACCOUNTS, !flag); + Log.d("pref", "Setting show only starred accounts pref to " + (flag ? "false" : "true")); editor.apply(); update_account_table(); @@ -243,11 +259,23 @@ public class AccountSummary extends AppCompatActivity { model.reloadAccounts(); modelAdapter.notifyDataSetChanged(); } - public void onCancelAccSelection(MenuItem item) { + void stopSelection() { modelAdapter.stopSelection(); if (optMenu != null) { optMenu.findItem(R.id.menu_acc_summary_cancel_selection).setVisible(false); - optMenu.findItem(R.id.menu_acc_summary_hide_selected).setVisible(false); + optMenu.findItem(R.id.menu_acc_summary_confirm_selection).setVisible(false); + optMenu.findItem(R.id.menu_acc_summary_only_starred).setVisible(true); + } + { + FloatingActionButton fab = findViewById(R.id.btn_add_transaction); + if (fab != null) fab.show(); } } + public void onCancelAccSelection(MenuItem item) { + stopSelection(); + } + public void onConfirmAccSelection(MenuItem item) { + model.commitSelections(); + stopSelection(); + } }