update peertube drawer

This commit is contained in:
0xd9a 2023-01-25 13:31:56 +05:30
parent 6e8381396f
commit 50698f7325
4 changed files with 175 additions and 132 deletions

View file

@ -140,9 +140,9 @@ public class PeertubeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
instance = forAccount.getHost(); instance = forAccount.getHost();
} }
holder.binding.peertubeDisplayname.setText(video.getChannel().getDisplayName());
holder.binding.peertubeAccountName.setText(video.getChannel().getAcct()); holder.binding.peertubeUsername.setText(video.getChannel().getAcct());
Helper.loadAvatar(context, video.getChannel(), holder.binding.peertubeProfile); Helper.loadAvatar(context, video.getChannel(), holder.binding.peertubeChannelAvatar);
holder.binding.peertubeTitle.setText(video.getName()); holder.binding.peertubeTitle.setText(video.getName());
if (video.isLive()) { if (video.isLive()) {
holder.binding.peertubeDuration.setText(R.string.live); holder.binding.peertubeDuration.setText(R.string.live);
@ -184,7 +184,7 @@ public class PeertubeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
} }
if (!ownVideos) { if (!ownVideos) {
holder.binding.peertubeProfile.setOnClickListener(v -> { holder.binding.peertubeChannelInfo.setOnClickListener(v -> {
Intent intent = new Intent(context, ShowChannelActivity.class); Intent intent = new Intent(context, ShowChannelActivity.class);
Bundle b = new Bundle(); Bundle b = new Bundle();
b.putSerializable("channel", video.getChannel()); b.putSerializable("channel", video.getChannel());
@ -284,7 +284,7 @@ public class PeertubeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
}); });
popup.show(); popup.show();
}); });
holder.binding.bottomContainer.setOnClickListener(v -> { holder.binding.peertubeVideoInfo.setOnClickListener(v -> {
Intent intent = new Intent(context, PeertubeActivity.class); Intent intent = new Intent(context, PeertubeActivity.class);
Bundle b = new Bundle(); Bundle b = new Bundle();
b.putString("video_id", video.getId()); b.putString("video_id", video.getId());

View file

@ -1,15 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <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" /> <solid android:color="@android:color/black" />
<padding <padding
android:bottom="1dp" android:bottom="1dp"
android:left="1dp" android:left="6dp"
android:right="1dp" android:right="6dp"
android:top="1dp" /> android:top="1dp" />
<corners android:radius="5dp" /> <corners android:radius="5dp" />
</shape> </shape>

View file

@ -1,15 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="1dp"
android:color="?colorError" />
<solid android:color="?colorError" /> <solid android:color="?colorError" />
<padding <padding
android:bottom="1dp" android:bottom="1dp"
android:left="1dp" android:left="6dp"
android:right="1dp" android:right="6dp"
android:top="1dp" /> android:top="1dp" />
<corners android:radius="5dp" /> <corners android:radius="5dp" />
</shape> </shape>

View file

@ -14,33 +14,84 @@
You should have received a copy of the GNU General Public License along with Fedilab; if not, You should have received a copy of the GNU General Public License along with Fedilab; if not,
see <http://www.gnu.org/licenses>. 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" 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_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:divider="?android:dividerHorizontal" android:orientation="vertical">
android:gravity="bottom"
android:orientation="vertical"
android:showDividers="end">
<TextView <com.google.android.material.textview.MaterialTextView
android:id="@+id/header_title" android:id="@+id/header_title"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_marginTop="6dp"
android:layout_marginTop="5dp" android:background="?colorSecondaryContainer"
android:layout_marginBottom="5dp" android:padding="6dp"
android:background="?colorAccent" android:textAlignment="center"
android:gravity="center" android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
android:paddingTop="10dp" android:visibility="gone"
android:paddingBottom="10dp" app:layout_constraintTop_toTopOf="parent"
android:textColor="@android:color/white" tools:text="Science"
android:textSize="18sp" tools:visibility="visible" />
android:textStyle="bold"
android:visibility="gone" />
<androidx.constraintlayout.widget.ConstraintLayout <com.google.android.material.card.MaterialCardView
style="@style/Widget.Material3.CardView.Elevated"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="6dp">
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/main_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/peertube_channel_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:padding="6dp">
<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" />
<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:id="@+id/preview_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="200dp"> android:layout_height="200dp">
@ -48,51 +99,55 @@
<ImageView <ImageView
android:id="@+id/peertube_video_image" android:id="@+id/peertube_video_image"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="200dp" android:layout_height="match_parent"
android:contentDescription="@string/image_preview" android:contentDescription="@string/image_preview"
android:gravity="center"
android:scaleType="centerCrop" android:scaleType="centerCrop"
app:layout_constraintBottom_toBottomOf="parent" tools:src="@tools:sample/backgrounds/scenic" />
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView <com.google.android.material.textview.MaterialTextView
android:id="@+id/peertube_duration" android:id="@+id/peertube_duration"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="5dp" 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:background="@drawable/rounded_corner"
android:paddingStart="4dp" android:paddingHorizontal="6dp"
android:paddingEnd="4dp" android:textAppearance="@style/TextAppearance.Material3.LabelLarge"
android:textColor="@android:color/white" android:textColor="@android:color/white"
app:layout_constraintBottom_toBottomOf="parent" tools:text="1:00" />
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout </RelativeLayout>
android:id="@+id/bottom_container"
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:layout_marginStart="@dimen/fab_margin"
android:layout_marginEnd="@dimen/fab_margin"
android:orientation="horizontal">
<ImageView <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/peertube_profile" android:id="@+id/peertube_video_info"
android:layout_width="40dp" android:layout_width="0dp"
android:layout_height="40dp" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_weight="1"
android:contentDescription="@string/profile_picture" android:padding="6dp"
android:gravity="center" android:paddingHorizontal="6dp">
android:scaleType="fitCenter" />
<ImageView
<LinearLayout 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_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical">
@ -100,57 +155,51 @@
android:id="@+id/peertube_title" android:id="@+id/peertube_title"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
android:textColor="?colorAccent" android:textColor="?colorAccent"
android:textStyle="bold" /> android:textStyle="bold"
tools:maxLines="1"
tools:text="@tools:sample/lorem/random" />
<TextView <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/peertube_account_name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_marginTop="6dp">
android:ellipsize="end"
android:singleLine="true" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView <TextView
android:id="@+id/peertube_views" android:id="@+id/peertube_views"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" /> android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.Material3.ActionBar.Subtitle"
tools:text="100 views" />
<TextView <TextView
android:id="@+id/peertube_date" android:id="@+id/peertube_date"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="5dp" /> android:layout_marginStart="6dp"
</LinearLayout> android:textAppearance="@style/TextAppearance.Material3.ActionBar.Subtitle"
</LinearLayout> tools:text="- 1 h" />
<ImageView </androidx.appcompat.widget.LinearLayoutCompat>
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" />
<TextView </androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<com.google.android.material.button.MaterialButton
android:id="@+id/more_actions" android:id="@+id/more_actions"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" app:icon="@drawable/ic_baseline_more_vert_24"
android:layout_marginStart="10dp" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="10dp" app:layout_constraintTop_toBottomOf="@id/peertube_video_image" />
android:drawablePadding="5dp"
android:gravity="center_horizontal" </androidx.appcompat.widget.LinearLayoutCompat>
android:text=""
app:drawableTopCompat="@drawable/ic_baseline_more_vert_24" /> </androidx.appcompat.widget.LinearLayoutCompat>
</LinearLayout>
</LinearLayout> </com.google.android.material.card.MaterialCardView>
</androidx.appcompat.widget.LinearLayoutCompat>