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