]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java
merge two drawer listeners
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / activity / MainActivity.java
index 7c74e54e6b8bcbe1865a6a7d29e2ca3bd289e96a..b44c30f270ef6c2b3c77943c6172d48d67388863 100644 (file)
@@ -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,16 +294,25 @@ 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);
@@ -647,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()) {