X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FMainActivity.java;h=b44c30f270ef6c2b3c77943c6172d48d67388863;hp=bedd3b3e424e654e825d1d46fc737a82e837a0dd;hb=9a6da8956697e99962fc845290b9ee4b4266acdf;hpb=e52fc67f83e69e1357a31d5a86a58d3d936374a1 diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java index bedd3b3e..b44c30f2 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java @@ -185,24 +185,6 @@ public class MainActivity extends ProfileThemedActivity { drawer.addDrawerListener(barDrawerToggle); } barDrawerToggle.syncState(); - drawer.addDrawerListener(new DrawerLayout.DrawerListener() { - @Override - public void onDrawerSlide(@NonNull View drawerView, float slideOffset) { - if (slideOffset > 0.2) - fabHide(); - } - @Override - public void onDrawerOpened(@NonNull View drawerView) { - fabHide(); - } - @Override - public void onDrawerClosed(@NonNull View drawerView) { - fabShouldShow(); - } - @Override - public void onDrawerStateChanged(int newState) {} - }); - try { PackageInfo pi = getApplicationContext().getPackageManager() @@ -312,21 +294,29 @@ public class MainActivity extends ProfileThemedActivity { (v) -> mProfileListAdapter.flipEditingProfiles()); if (drawerListener == null) { drawerListener = new DrawerLayout.SimpleDrawerListener() { + @Override + public void onDrawerSlide(@NonNull View drawerView, float slideOffset) { + if (slideOffset > 0.2) + fabHide(); + } @Override public void onDrawerClosed(View drawerView) { super.onDrawerClosed(drawerView); mProfileListAdapter.setAnimationsEnabled(false); mProfileListAdapter.editingProfiles.setValue(false); + Data.drawerOpen.setValue(false); + fabShouldShow(); } @Override public void onDrawerOpened(View drawerView) { super.onDrawerOpened(drawerView); mProfileListAdapter.setAnimationsEnabled(true); + Data.drawerOpen.setValue(true); + fabHide(); } }; drawer.addDrawerListener(drawerListener); } - setupProfile(); } private void scheduleDataRetrievalIfStale(Date lastUpdate) { long now = new Date().getTime(); @@ -648,17 +638,29 @@ public class MainActivity extends ProfileThemedActivity { public void fabShouldShow() { if ((profile != null) && profile.isPostingPermitted() && !drawer.isOpen()) fab.show(); + else + fabHide(); } public void fabHide() { fab.hide(); } public void onAccountSummaryRowViewClicked(View view) { ViewGroup row; - if (view.getId() == R.id.account_expander) - row = (ViewGroup) view.getParent() - .getParent(); - else - row = (ViewGroup) view.getParent(); + switch (view.getId()) { + case R.id.account_expander: + row = (ViewGroup) view.getParent() + .getParent() + .getParent(); + break; + case R.id.account_expander_container: + case R.id.account_row_acc_name: + row = (ViewGroup) view.getParent() + .getParent(); + break; + default: + row = (ViewGroup) view.getParent(); + break; + } LedgerAccount acc = (LedgerAccount) row.getTag(); switch (view.getId()) {