You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

375 lines
17 KiB

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:vlc="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View" />
<import type="android.text.TextUtils" />
<variable
name="media"
type="org.videolan.medialibrary.media.MediaLibraryItem" />
<variable
name="isNetwork"
type="boolean" />
<variable
name="isOTG"
type="boolean" />
<variable
name="isSD"
type="boolean" />
<variable
name="isPresent"
type="boolean" />
<variable
name="isFavorite"
type="boolean" />
<variable
name="showProgress"
type="boolean" />
<variable
name="showItemProgress"
type="boolean" />
<variable
name="inSelection"
type="boolean" />
<variable
name="selected"
type="boolean" />
<variable
name="seen"
type="long" />
<variable
name="time"
type="String" />
<variable
name="resolution"
type="String" />
<variable
name="max"
type="int" />
<variable
name="progress"
type="int" />
<variable
name="bgColor"
type="int" />
<variable
name="cover"
type="android.graphics.drawable.BitmapDrawable" />
<variable
name="scaleType"
type="android.widget.ImageView.ScaleType" />
<variable
name="holder"
type="org.videolan.vlc.gui.video.VideoListAdapter.ViewHolder" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
selected="@{selected}"
android:background="?attr/video_card_background"
android:clickable="true"
android:focusable="true"
android:longClickable="true"
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:paddingTop="8dp"
android:clipToPadding="false"
vlc:mediaContentDescription="@{media}"
android:onClick="@{holder::onClick}"
android:onLongClick="@{holder::onLongClick}">
<com.google.android.material.card.MaterialCardView
android:id="@+id/container"
style="@style/VLCCardView"
android:layout_width="0dp"
android:layout_height="0dp"
android:clickable="true"
android:focusable="true"
android:importantForAccessibility="no"
android:foreground="?android:attr/selectableItemBackground"
android:longClickable="true"
android:onClick="@{holder::onClick}"
android:onLongClick="@{holder::onLongClick}"
vlc:layout_constraintDimensionRatio="16:10"
vlc:layout_constraintEnd_toEndOf="parent"
vlc:layout_constraintStart_toStartOf="parent"
vlc:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/ml_item_thumbnail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@{cover}"
tools:src="@tools:sample/backgrounds/scenic"
vlc:layout_constraintEnd_toEndOf="parent"
vlc:layout_constraintStart_toStartOf="parent"
vlc:layout_constraintTop_toTopOf="parent"
vlc:media="@{media}" />
<View
android:id="@+id/network_off_overlay"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="@{!selected &amp;&amp; !isPresent ? View.VISIBLE : View.GONE}"
android:background="?attr/disabled_overlay_color"
vlc:layout_constraintBottom_toBottomOf="@+id/ml_item_thumbnail"
vlc:layout_constraintEnd_toEndOf="@+id/ml_item_thumbnail"
vlc:layout_constraintStart_toStartOf="@+id/ml_item_thumbnail"
vlc:layout_constraintTop_toTopOf="@+id/ml_item_thumbnail" />
<ImageView
android:id="@+id/ml_item_overlay"
android:layout_width="0dp"
android:layout_height="0dp"
android:scaleType="fitXY"
android:src="@drawable/video_overlay_gradient"
vlc:layout_constraintBottom_toBottomOf="@+id/ml_item_thumbnail"
vlc:layout_constraintEnd_toEndOf="@+id/ml_item_thumbnail"
vlc:layout_constraintHorizontal_bias="0.0"
vlc:layout_constraintStart_toStartOf="@+id/ml_item_thumbnail"
vlc:layout_constraintTop_toTopOf="@+id/ml_item_thumbnail"
vlc:layout_constraintVertical_bias="0.0" />
<TextView
android:id="@+id/ml_item_resolution"
style="@style/VLC.TextViewDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginTop="4dp"
android:background="@drawable/rounded_corners_black_more_transparent"
android:paddingStart="4dp"
android:paddingTop="2dp"
android:paddingEnd="4dp"
android:paddingBottom="2dp"
android:text="@{resolution}"
android:textColor="@color/white"
android:textSize="10sp"
android:visibility="@{TextUtils.isEmpty(resolution) ? View.GONE : View.VISIBLE, default=gone}"
tools:text="HD"
tools:visibility="visible"
vlc:layout_constraintStart_toStartOf="parent"
vlc:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/media_favorite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginBottom="4dp"
android:background="@drawable/rounded_corners_black_more_transparent"
android:padding="3dp"
android:visibility="@{isFavorite ? View.VISIBLE : View.GONE}"
vlc:layout_constraintBottom_toTopOf="@+id/ml_item_progress"
vlc:layout_constraintStart_toStartOf="@+id/ml_item_thumbnail"
vlc:layout_goneMarginBottom="4dp"
vlc:srcCompat="@drawable/ic_emoji_favorite_white" />
<ImageView
android:id="@+id/network_media"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginBottom="4dp"
android:background="@drawable/rounded_corners_black_more_transparent"
android:padding="3dp"
android:visibility="@{isNetwork &amp;&amp; isPresent ? View.VISIBLE : View.GONE}"
vlc:layout_constraintBottom_toTopOf="@+id/ml_item_progress"
vlc:layout_constraintStart_toEndOf="@+id/media_favorite"
vlc:layout_goneMarginBottom="4dp"
vlc:srcCompat="@drawable/ic_emoji_network"
vlc:tint="@color/white" />
<ImageView
android:id="@+id/otg_media"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginBottom="4dp"
android:background="@drawable/rounded_corners_black_more_transparent"
android:padding="3dp"
android:visibility="@{isOTG &amp;&amp; isPresent ? View.VISIBLE : View.GONE}"
vlc:layout_constraintBottom_toTopOf="@+id/ml_item_progress"
vlc:layout_constraintStart_toEndOf="@+id/media_favorite"
vlc:layout_goneMarginBottom="4dp"
vlc:srcCompat="@drawable/ic_emoji_otg"
vlc:tint="@color/white" />
<ImageView
android:id="@+id/sd_media"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginBottom="4dp"
android:background="@drawable/rounded_corners_black_more_transparent"
android:padding="3dp"
android:visibility="@{isSD &amp;&amp; isPresent ? View.VISIBLE : View.GONE}"
vlc:layout_constraintBottom_toTopOf="@+id/ml_item_progress"
vlc:layout_constraintStart_toEndOf="@+id/media_favorite"
vlc:layout_goneMarginBottom="4dp"
vlc:srcCompat="@drawable/ic_emoji_sd"
vlc:tint="@color/white" />
<ImageView
android:id="@+id/absent_media"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginBottom="4dp"
android:background="@drawable/rounded_corners_black_more_transparent"
android:padding="3dp"
android:visibility="@{!isPresent ? View.VISIBLE : View.GONE}"
vlc:layout_constraintBottom_toTopOf="@+id/ml_item_progress"
vlc:layout_constraintStart_toEndOf="@+id/media_favorite"
vlc:layout_goneMarginBottom="4dp"
vlc:srcCompat="@drawable/ic_emoji_absent"
vlc:tint="@color/white" />
<ImageView
android:id="@+id/ml_item_seen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="4dp"
android:background="@drawable/rounded_corners_black_more_transparent"
android:padding="3dp"
android:visibility="@{seen == 0L ? View.GONE : View.VISIBLE, default=gone}"
tools:visibility="visible"
vlc:layout_constraintStart_toEndOf="@+id/ml_item_resolution"
vlc:layout_constraintTop_toTopOf="parent"
vlc:layout_goneMarginStart="4dp"
vlc:srcCompat="@drawable/ic_check"
vlc:tint="@color/white" />
<ImageView
android:id="@+id/item_more"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/more_actions"
android:onClick="@{holder::onMoreClick}"
android:scaleType="fitEnd"
android:importantForAccessibility="yes"
android:visibility="@{isPresent &amp;&amp; !inSelection ? View.VISIBLE : View.GONE}"
vlc:layout_constraintEnd_toEndOf="parent"
vlc:layout_constraintTop_toTopOf="parent"
vlc:srcCompat="@drawable/ic_more_w" />
<ImageView
android:id="@+id/selected_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginEnd="4dp"
android:visibility="@{selected ? View.VISIBLE : View.GONE}"
vlc:layout_constraintEnd_toEndOf="parent"
vlc:layout_constraintTop_toTopOf="@+id/ml_item_thumbnail"
vlc:srcCompat="@drawable/ic_video_grid_check" />
<ProgressBar
android:id="@+id/ml_item_progress"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/transparent"
android:focusable="false"
android:indeterminate="false"
android:max="@{max}"
android:maxHeight="4dip"
android:minHeight="4dip"
android:progress="@{progress}"
android:layoutDirection="ltr"
android:progressDrawable="@drawable/gridview_progressbar"
android:secondaryProgress="0"
android:visibility="@{progress == 0 || !showItemProgress ? View.GONE : View.VISIBLE}"
vlc:layout_constraintBottom_toBottomOf="parent"
vlc:layout_constraintEnd_toEndOf="parent"
vlc:layout_constraintStart_toStartOf="parent" />
<ProgressBar
android:id="@+id/thumb_progress"
style="?android:attr/progressBarStyle"
android:layout_width="32dp"
android:layout_height="32dp"
android:visibility="@{showProgress ? View.VISIBLE : View.GONE}"
vlc:layout_constraintBottom_toBottomOf="parent"
vlc:layout_constraintStart_toStartOf="parent"
vlc:layout_constraintTop_toTopOf="parent"
vlc:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- Image loading is handled by org.videolan.vlc.gui.helpers.ImageLoader.loadImage() -->
</com.google.android.material.card.MaterialCardView>
<TextView
android:id="@+id/ml_item_title"
style="@style/VLC.TextViewTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:ellipsize="end"
android:lineSpacingMultiplier="1"
android:maxLines="1"
android:text="@{media.title}"
android:textSize="16sp"
tools:targetApi="jelly_bean"
tools:text="Star wars Episode 1"
android:enabled="@{isPresent}"
vlc:layout_constraintEnd_toEndOf="@+id/container"
vlc:layout_constraintStart_toStartOf="parent"
vlc:layout_constraintTop_toBottomOf="@+id/container" />
<TextView
android:id="@+id/ml_item_time"
style="@style/VLC.TextViewDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:ellipsize="end"
android:gravity="start"
vlc:presenceDescription="@{time}"
android:enabled="@{isPresent}"
android:textSize="12sp"
android:visibility="@{TextUtils.isEmpty(time) ? View.GONE : View.VISIBLE}"
tools:text="32:55"
vlc:layout_constraintBottom_toBottomOf="parent"
vlc:layout_constraintStart_toStartOf="parent"
vlc:layout_constraintTop_toBottomOf="@+id/ml_item_title" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>