From 50698f7325278a15bb4c6baa682dadb9e02413f6 Mon Sep 17 00:00:00 2001
From: 0xd9a <0xd9a@noreply.codeberg.org>
Date: Wed, 25 Jan 2023 13:31:56 +0530
Subject: [PATCH] update peertube drawer

---
 .../peertube/drawer/PeertubeAdapter.java      |  10 +-
 .../peertube/drawable/rounded_corner.xml      |   9 +-
 .../peertube/drawable/rounded_live.xml        |   9 +-
 .../peertube/layout/drawer_peertube.xml       | 279 ++++++++++--------
 4 files changed, 175 insertions(+), 132 deletions(-)

diff --git a/app/src/main/java/app/fedilab/android/peertube/drawer/PeertubeAdapter.java b/app/src/main/java/app/fedilab/android/peertube/drawer/PeertubeAdapter.java
index 9e79f49d..81fce506 100644
--- a/app/src/main/java/app/fedilab/android/peertube/drawer/PeertubeAdapter.java
+++ b/app/src/main/java/app/fedilab/android/peertube/drawer/PeertubeAdapter.java
@@ -140,9 +140,9 @@ public class PeertubeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
             instance = forAccount.getHost();
         }
 
-
-        holder.binding.peertubeAccountName.setText(video.getChannel().getAcct());
-        Helper.loadAvatar(context, video.getChannel(), holder.binding.peertubeProfile);
+        holder.binding.peertubeDisplayname.setText(video.getChannel().getDisplayName());
+        holder.binding.peertubeUsername.setText(video.getChannel().getAcct());
+        Helper.loadAvatar(context, video.getChannel(), holder.binding.peertubeChannelAvatar);
         holder.binding.peertubeTitle.setText(video.getName());
         if (video.isLive()) {
             holder.binding.peertubeDuration.setText(R.string.live);
@@ -184,7 +184,7 @@ public class PeertubeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
         }
 
         if (!ownVideos) {
-            holder.binding.peertubeProfile.setOnClickListener(v -> {
+            holder.binding.peertubeChannelInfo.setOnClickListener(v -> {
                 Intent intent = new Intent(context, ShowChannelActivity.class);
                 Bundle b = new Bundle();
                 b.putSerializable("channel", video.getChannel());
@@ -284,7 +284,7 @@ public class PeertubeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
             });
             popup.show();
         });
-        holder.binding.bottomContainer.setOnClickListener(v -> {
+        holder.binding.peertubeVideoInfo.setOnClickListener(v -> {
             Intent intent = new Intent(context, PeertubeActivity.class);
             Bundle b = new Bundle();
             b.putString("video_id", video.getId());
diff --git a/app/src/main/res/drawables/peertube/drawable/rounded_corner.xml b/app/src/main/res/drawables/peertube/drawable/rounded_corner.xml
index d771c804..94f413d7 100644
--- a/app/src/main/res/drawables/peertube/drawable/rounded_corner.xml
+++ b/app/src/main/res/drawables/peertube/drawable/rounded_corner.xml
@@ -1,15 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <stroke
-        android:width="1dp"
-        android:color="@android:color/black" />
-
     <solid android:color="@android:color/black" />
 
     <padding
         android:bottom="1dp"
-        android:left="1dp"
-        android:right="1dp"
+        android:left="6dp"
+        android:right="6dp"
         android:top="1dp" />
+
     <corners android:radius="5dp" />
 </shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawables/peertube/drawable/rounded_live.xml b/app/src/main/res/drawables/peertube/drawable/rounded_live.xml
index 757a864d..8f03c0f6 100644
--- a/app/src/main/res/drawables/peertube/drawable/rounded_live.xml
+++ b/app/src/main/res/drawables/peertube/drawable/rounded_live.xml
@@ -1,15 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <stroke
-        android:width="1dp"
-        android:color="?colorError" />
-
     <solid android:color="?colorError" />
 
     <padding
         android:bottom="1dp"
-        android:left="1dp"
-        android:right="1dp"
+        android:left="6dp"
+        android:right="6dp"
         android:top="1dp" />
+
     <corners android:radius="5dp" />
 </shape>
\ No newline at end of file
diff --git a/app/src/main/res/layouts/peertube/layout/drawer_peertube.xml b/app/src/main/res/layouts/peertube/layout/drawer_peertube.xml
index 9ffaead4..4a3fc48e 100644
--- a/app/src/main/res/layouts/peertube/layout/drawer_peertube.xml
+++ b/app/src/main/res/layouts/peertube/layout/drawer_peertube.xml
@@ -14,143 +14,192 @@
     You should have received a copy of the GNU General Public License along with Fedilab; if not,
     see <http://www.gnu.org/licenses>.
 -->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/main_container"
+    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:divider="?android:dividerHorizontal"
-    android:gravity="bottom"
-    android:orientation="vertical"
-    android:showDividers="end">
+    android:orientation="vertical">
 
-    <TextView
+    <com.google.android.material.textview.MaterialTextView
         android:id="@+id/header_title"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:layout_marginTop="5dp"
-        android:layout_marginBottom="5dp"
-        android:background="?colorAccent"
-        android:gravity="center"
-        android:paddingTop="10dp"
-        android:paddingBottom="10dp"
-        android:textColor="@android:color/white"
-        android:textSize="18sp"
-        android:textStyle="bold"
-        android:visibility="gone" />
+        android:layout_marginTop="6dp"
+        android:background="?colorSecondaryContainer"
+        android:padding="6dp"
+        android:textAlignment="center"
+        android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
+        android:visibility="gone"
+        app:layout_constraintTop_toTopOf="parent"
+        tools:text="Science"
+        tools:visibility="visible" />
 
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/preview_container"
-        android:layout_width="match_parent"
-        android:layout_height="200dp">
-
-        <ImageView
-            android:id="@+id/peertube_video_image"
-            android:layout_width="match_parent"
-            android:layout_height="200dp"
-            android:contentDescription="@string/image_preview"
-            android:gravity="center"
-            android:scaleType="centerCrop"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <TextView
-            android:id="@+id/peertube_duration"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_margin="5dp"
-            android:background="@drawable/rounded_corner"
-            android:paddingStart="4dp"
-            android:paddingEnd="4dp"
-            android:textColor="@android:color/white"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent" />
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-    <LinearLayout
-        android:id="@+id/bottom_container"
+    <com.google.android.material.card.MaterialCardView
+        style="@style/Widget.Material3.CardView.Elevated"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginStart="@dimen/fab_margin"
-        android:layout_marginEnd="@dimen/fab_margin"
-        android:orientation="horizontal">
+        android:layout_margin="6dp">
 
-        <ImageView
-            android:id="@+id/peertube_profile"
-            android:layout_width="40dp"
-            android:layout_height="40dp"
-            android:layout_marginTop="10dp"
-            android:contentDescription="@string/profile_picture"
-            android:gravity="center"
-            android:scaleType="fitCenter" />
-
-        <LinearLayout
-            android:layout_width="0dp"
+        <androidx.appcompat.widget.LinearLayoutCompat
+            android:id="@+id/main_container"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginStart="10dp"
-            android:layout_marginTop="10dp"
-            android:layout_marginBottom="10dp"
-            android:layout_weight="1"
             android:orientation="vertical">
 
-            <TextView
-                android:id="@+id/peertube_title"
+            <androidx.appcompat.widget.LinearLayoutCompat
+                android:id="@+id/peertube_channel_info"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_gravity="center_vertical"
-                android:textColor="?colorAccent"
-                android:textStyle="bold" />
+                android:gravity="center_vertical"
+                android:padding="6dp">
 
-            <TextView
-                android:id="@+id/peertube_account_name"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center_vertical"
-                android:ellipsize="end"
-                android:singleLine="true" />
+                <androidx.appcompat.widget.AppCompatImageView
+                    android:id="@+id/peertube_channel_avatar"
+                    android:layout_width="48dp"
+                    android:layout_height="48dp"
+                    android:contentDescription="@string/profile_picture"
+                    android:scaleType="fitCenter"
+                    tools:src="@tools:sample/avatars" />
 
-            <LinearLayout
+                <androidx.appcompat.widget.LinearLayoutCompat
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="6dp"
+                    android:layout_weight="1"
+                    android:orientation="vertical">
+
+                    <TextView
+                        android:id="@+id/peertube_displayname"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:ellipsize="end"
+                        android:singleLine="true"
+                        android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
+                        tools:text="@tools:sample/full_names" />
+
+                    <TextView
+                        android:id="@+id/peertube_username"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_vertical"
+                        android:ellipsize="end"
+                        android:singleLine="true"
+                        tools:text="username@instance.test" />
+
+                </androidx.appcompat.widget.LinearLayoutCompat>
+
+            </androidx.appcompat.widget.LinearLayoutCompat>
+
+            <RelativeLayout
+                android:id="@+id/preview_container"
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal">
+                android:layout_height="200dp">
 
-                <TextView
-                    android:id="@+id/peertube_views"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content" />
+                <ImageView
+                    android:id="@+id/peertube_video_image"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:contentDescription="@string/image_preview"
+                    android:scaleType="centerCrop"
+                    tools:src="@tools:sample/backgrounds/scenic" />
 
-                <TextView
-                    android:id="@+id/peertube_date"
+                <com.google.android.material.textview.MaterialTextView
+                    android:id="@+id/peertube_duration"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_marginStart="5dp" />
-            </LinearLayout>
-        </LinearLayout>
+                    android:layout_alignParentEnd="true"
+                    android:layout_alignParentBottom="true"
+                    android:layout_marginStart="6dp"
+                    android:layout_marginTop="6dp"
+                    android:layout_marginEnd="6dp"
+                    android:layout_marginBottom="6dp"
+                    android:background="@drawable/rounded_corner"
+                    android:paddingHorizontal="6dp"
+                    android:textAppearance="@style/TextAppearance.Material3.LabelLarge"
+                    android:textColor="@android:color/white"
+                    tools:text="1:00" />
 
-        <ImageView
-            android:id="@+id/peertube_video_image_small"
-            android:layout_width="80dp"
-            android:layout_height="80dp"
-            android:layout_marginStart="10dp"
-            android:layout_marginTop="10dp"
-            android:contentDescription="@string/image_preview"
-            android:gravity="center"
-            android:scaleType="centerCrop"
-            android:visibility="gone" />
+            </RelativeLayout>
 
-        <TextView
-            android:id="@+id/more_actions"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_horizontal"
-            android:layout_marginStart="10dp"
-            android:layout_marginTop="10dp"
-            android:drawablePadding="5dp"
-            android:gravity="center_horizontal"
-            android:text=""
-            app:drawableTopCompat="@drawable/ic_baseline_more_vert_24" />
-    </LinearLayout>
-</LinearLayout>
\ No newline at end of file
+            <androidx.appcompat.widget.LinearLayoutCompat
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content">
+
+                <androidx.appcompat.widget.LinearLayoutCompat
+                    android:id="@+id/peertube_video_info"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:padding="6dp"
+                    android:paddingHorizontal="6dp">
+
+                    <ImageView
+                        android:id="@+id/peertube_video_image_small"
+                        android:layout_width="72dp"
+                        android:layout_height="72dp"
+                        android:layout_marginEnd="6dp"
+                        android:contentDescription="@string/image_preview"
+                        android:scaleType="centerCrop"
+                        android:visibility="gone"
+                        tools:src="@tools:sample/backgrounds/scenic"
+                        tools:visibility="visible" />
+
+                    <androidx.appcompat.widget.LinearLayoutCompat
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_weight="1"
+                        android:orientation="vertical">
+
+                        <TextView
+                            android:id="@+id/peertube_title"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
+                            android:textColor="?colorAccent"
+                            android:textStyle="bold"
+                            tools:maxLines="1"
+                            tools:text="@tools:sample/lorem/random" />
+
+                        <androidx.appcompat.widget.LinearLayoutCompat
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="6dp">
+
+                            <TextView
+                                android:id="@+id/peertube_views"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:textAppearance="@style/TextAppearance.Material3.ActionBar.Subtitle"
+                                tools:text="100 views" />
+
+                            <TextView
+                                android:id="@+id/peertube_date"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginStart="6dp"
+                                android:textAppearance="@style/TextAppearance.Material3.ActionBar.Subtitle"
+                                tools:text="- 1 h" />
+
+                        </androidx.appcompat.widget.LinearLayoutCompat>
+
+                    </androidx.appcompat.widget.LinearLayoutCompat>
+
+                </androidx.appcompat.widget.LinearLayoutCompat>
+
+                <com.google.android.material.button.MaterialButton
+                    android:id="@+id/more_actions"
+                    style="@style/Widget.Material3.Button.IconButton"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    app:icon="@drawable/ic_baseline_more_vert_24"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintTop_toBottomOf="@id/peertube_video_image" />
+
+            </androidx.appcompat.widget.LinearLayoutCompat>
+
+        </androidx.appcompat.widget.LinearLayoutCompat>
+
+    </com.google.android.material.card.MaterialCardView>
+
+</androidx.appcompat.widget.LinearLayoutCompat>
\ No newline at end of file