From 409bebd5bc28a9f7a73704e563203fdb19295925 Mon Sep 17 00:00:00 2001
From: Somethingweirdhere <gtp@g.com>
Date: Wed, 13 Jun 2018 22:35:20 +0200
Subject: [PATCH] Nav drawer now moves behind the status bar

---
 .../java/org/schabi/newpipe/MainActivity.java |  7 +-
 app/src/main/res/layout/activity_main.xml     |  5 +-
 app/src/main/res/layout/drawer_header.xml     | 55 ++++++++++++++
 app/src/main/res/layout/drawer_layout.xml     | 73 ++-----------------
 4 files changed, 70 insertions(+), 70 deletions(-)
 create mode 100644 app/src/main/res/layout/drawer_header.xml

diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index 159ba38d2..36f405d05 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -269,8 +269,11 @@ public class MainActivity extends AppCompatActivity {
     }
 
     private void setupDrawerHeader() {
-        headerServiceView = findViewById(R.id.drawer_header_service_view);
-        Button action = findViewById(R.id.drawer_header_action_button);
+        NavigationView navigationView = findViewById(R.id.navigation);
+        View hView =  navigationView.getHeaderView(0);
+
+        headerServiceView = hView.findViewById(R.id.drawer_header_service_view);
+        Button action = hView.findViewById(R.id.drawer_header_action_button);
         action.setOnClickListener(view -> {
             Intent intent = new Intent(Intent.ACTION_VIEW);
             intent.setData(Uri.parse("https://newpipe.schabi.org/blog/"));
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 99c637389..b70d73250 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -4,7 +4,8 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/drawer_layout"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    android:fitsSystemWindows="true">
 
 
     <FrameLayout
@@ -23,4 +24,4 @@
 
     <include layout="@layout/drawer_layout"/>
 
-</android.support.v4.widget.DrawerLayout>
\ No newline at end of file
+</android.support.v4.widget.DrawerLayout>
diff --git a/app/src/main/res/layout/drawer_header.xml b/app/src/main/res/layout/drawer_header.xml
new file mode 100644
index 000000000..ff7e1cd40
--- /dev/null
+++ b/app/src/main/res/layout/drawer_header.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+android:layout_width="wrap_content"
+android:layout_height="150dp"
+android:clickable="true"
+android:focusable="true">
+
+    <Button
+        android:id="@+id/drawer_header_action_button"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="?android:attr/selectableItemBackground"/>
+
+    <ImageView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="?attr/colorPrimary"
+        android:src="@drawable/background_header"
+        android:scaleType="centerCrop"/>
+
+    <ImageView
+        android:id="@+id/drawer_header_np_nude_view"
+        android:layout_marginLeft="30dp"
+        android:layout_marginStart="30dp"
+        android:layout_marginTop="20dp"
+
+        android:layout_width="70dp"
+        android:layout_height="70dp"
+        android:src="@drawable/np_logo_nude_shadow"/>
+
+    <TextView
+        android:id="@+id/drawer_header_np_text_view"
+        android:layout_width="wrap_content"
+        android:layout_height="0dp"
+        android:text="@string/app_name"
+        android:layout_toRightOf="@id/drawer_header_np_nude_view"
+        android:layout_toEndOf="@id/drawer_header_np_nude_view"
+        android:layout_alignTop="@id/drawer_header_np_nude_view"
+        android:layout_alignBottom="@id/drawer_header_np_nude_view"
+        android:gravity="center"
+        android:textSize="30dp"
+        android:textStyle="bold|italic"/>
+
+    <TextView
+        android:id="@+id/drawer_header_service_view"
+        android:layout_width="100dp"
+        android:layout_height="100dp"
+        android:text="YouTube"
+        android:layout_below="@id/drawer_header_np_text_view"
+        android:layout_alignLeft="@id/drawer_header_np_text_view"
+        android:layout_alignStart="@id/drawer_header_np_text_view"
+        android:textSize="18dp"
+        android:textStyle="italic"/>
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/drawer_layout.xml b/app/src/main/res/layout/drawer_layout.xml
index 2eb3abe26..4732df719 100644
--- a/app/src/main/res/layout/drawer_layout.xml
+++ b/app/src/main/res/layout/drawer_layout.xml
@@ -1,81 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout android:id="@+id/navigation_layout"
+<android.support.design.widget.NavigationView android:id="@+id/navigation_layout"
     android:orientation="vertical"
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_height="match_parent"
     android:layout_width="wrap_content"
     android:layout_gravity="start"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:background="?attr/android:windowBackground"
     android:clickable="true"
-    android:focusable="true">
-
-    <RelativeLayout
-        android:id="@+id/drawer_header"
-        android:layout_width="0dp"
-        android:layout_height="150dp"
-        android:layout_alignLeft="@id/navigation"
-        android:layout_alignRight="@id/navigation"
-        android:layout_alignStart="@id/navigation"
-        android:layout_alignEnd="@id/navigation"
-        android:clickable="true"
-        android:focusable="true">
-
-        <Button
-            android:id="@+id/drawer_header_action_button"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:background="?android:attr/selectableItemBackground"/>
-
-        <ImageView
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:background="?attr/colorPrimary"
-            android:src="@drawable/background_header"
-            android:scaleType="centerCrop"/>
-
-        <ImageView
-            android:id="@+id/drawer_header_np_nude_view"
-            android:layout_marginLeft="30dp"
-            android:layout_marginStart="30dp"
-            android:layout_marginTop="20dp"
-
-            android:layout_width="70dp"
-            android:layout_height="70dp"
-            android:src="@drawable/np_logo_nude_shadow"/>
-
-        <TextView
-            android:id="@+id/drawer_header_np_text_view"
-            android:layout_width="wrap_content"
-            android:layout_height="0dp"
-            android:text="@string/app_name"
-            android:layout_toRightOf="@id/drawer_header_np_nude_view"
-            android:layout_toEndOf="@id/drawer_header_np_nude_view"
-            android:layout_alignTop="@id/drawer_header_np_nude_view"
-            android:layout_alignBottom="@id/drawer_header_np_nude_view"
-            android:gravity="center"
-            android:textSize="30dp"
-            android:textStyle="bold|italic"/>
-
-        <TextView
-            android:id="@+id/drawer_header_service_view"
-            android:layout_width="100dp"
-            android:layout_height="100dp"
-            android:text="YouTube"
-            android:layout_below="@id/drawer_header_np_text_view"
-            android:layout_alignLeft="@id/drawer_header_np_text_view"
-            android:layout_alignStart="@id/drawer_header_np_text_view"
-            android:textSize="18dp"
-            android:textStyle="italic"/>
-
-    </RelativeLayout>
+    android:focusable="true"
+    >
 
     <android.support.design.widget.NavigationView
         android:id="@+id/navigation"
-        android:layout_below="@id/drawer_header"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        app:elevation="0dp"/>
+        app:elevation="0dp"
+        android:background="?attr/android:windowBackground"
+        app:headerLayout="@layout/drawer_header"/>
         <!-- app:menu="@menu/drawer_items" -->
 
     <LinearLayout
@@ -91,4 +32,4 @@
         android:layout_alignParentBottom="true">
     </LinearLayout>
 
-</RelativeLayout>
\ No newline at end of file
+</android.support.design.widget.NavigationView>
\ No newline at end of file