Show drawer with hamburger button or title tap

Stephen Paul Weber created

Change summary

src/cheogram/res/drawable/menu_24dp.xml                            | 10 
src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java | 12 
2 files changed, 20 insertions(+), 2 deletions(-)

Detailed changes

src/cheogram/res/drawable/menu_24dp.xml 🔗

@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="960"
+    android:viewportHeight="960"
+    android:tint="?attr/colorControlNormal">
+  <path
+      android:fillColor="@android:color/white"
+      android:pathData="M120,720L120,640L840,640L840,720L120,720ZM120,520L120,440L840,440L840,520L120,520ZM120,320L120,240L840,240L840,320L120,320Z"/>
+</vector>

src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java 🔗

@@ -1061,8 +1061,10 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio
                         Log.w(Config.LOGTAG, "Unable to pop back stack after pressing home button");
                     }
                     return true;
+                } else {
+                    binding.drawer.getDrawerLayout().openDrawer(binding.drawer);
+                    return true;
                 }
-                break;
             case R.id.action_scan_qr_code:
                 UriHandlerActivity.scan(this);
                 return true;
@@ -1180,6 +1182,7 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio
         if (actionBar == null) {
             return;
         }
+        actionBar.setHomeAsUpIndicator(0);
         final FragmentManager fragmentManager = getFragmentManager();
         final Fragment mainFragment = fragmentManager.findFragmentById(R.id.main_fragment);
         if (mainFragment instanceof ConversationFragment conversationFragment) {
@@ -1205,8 +1208,13 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio
         } else {
             actionBar.setTitle(R.string.app_name);
         }
-        actionBar.setDisplayHomeAsUpEnabled(false);
+        actionBar.setDisplayHomeAsUpEnabled(true);
+        actionBar.setHomeAsUpIndicator(R.drawable.menu_24dp);
         ToolbarUtils.resetActionBarOnClickListeners(binding.toolbar);
+        ToolbarUtils.setActionBarOnClickListener(
+                binding.toolbar,
+                (v) -> { binding.drawer.getDrawerLayout().openDrawer(binding.drawer); }
+        );
     }
 
     private void openConversationDetails(final Conversation conversation) {