From c2c902a3bf998632ffffa9c1508aceba7b5a7b45 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 10 一月 2025 11:14:09 +0800
Subject: [PATCH] 1.添加网络视频的显示功能相关

---
 app/src/main/res/drawable/play.xml                                      |   18 +++
 app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java                |    7 +
 app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java          |   16 ++
 app/src/main/java/com/dayu/pipirrapp/bean/net/IssueResult.java          |   10 ++
 app/src/main/java/com/dayu/pipirrapp/net/RetrofitClient.java            |    2 
 app/src/main/java/com/dayu/pipirrapp/bean/net/DealDetailResult.java     |   39 +++++--
 app/src/main/java/com/dayu/pipirrapp/bean/ImageBean.java                |   38 +++++++
 app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java  |   39 ++++++-
 app/src/main/java/com/dayu/pipirrapp/bean/net/AddProcessingRequest.java |    8 +
 app/src/main/res/layout/item_image.xml                                  |   10 ++
 app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java      |   10 +
 app/build.gradle                                                        |    8 +
 app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java  |   39 ++++++-
 13 files changed, 210 insertions(+), 34 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index 7cd0c47..054a484 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -12,7 +12,7 @@
         }
     }
     namespace 'com.dayu.pipirrapp'
-    compileSdk 33
+    compileSdk 34
 
     defaultConfig {
         applicationId "com.dayu.pipirrapp"
@@ -189,12 +189,14 @@
     implementation 'io.github.lucksiege:compress:v3.11.2'
 
     //    鍥剧墖鏌ョ湅
-    implementation('com.github.SherlockGougou:BigImageViewPager:androidx-7.2.3') {
+    implementation('com.github.SherlockGougou:BigImageViewPager:androidx-8.0.0') {
         exclude group: 'androidx.appcompat';
         exclude group: 'com.google.android.material';
         exclude group: 'androidx.core';
     }
-
+    implementation "androidx.media3:media3-exoplayer:1.4.1"
+    implementation "androidx.media3:media3-exoplayer-dash:1.4.1"
+    implementation "androidx.media3:media3-ui:1.4.1"
     //杩涘害鍔犺浇
     implementation 'com.github.jenly1314:circleprogressview:1.1.3'
 
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java
index ce34a36..bc529df 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java
@@ -13,8 +13,10 @@
 import com.dayu.pipirrapp.MyApplication;
 import com.dayu.pipirrapp.R;
 import com.dayu.pipirrapp.adapter.ImageAdapter;
+import com.dayu.pipirrapp.bean.ImageBean;
 import com.dayu.pipirrapp.bean.net.ImageResult;
 import com.dayu.pipirrapp.bean.net.IssueResult;
+import com.dayu.pipirrapp.bean.net.UplodFileState;
 import com.dayu.pipirrapp.databinding.ActivityIssueDetailBinding;
 import com.dayu.pipirrapp.fragment.OrderFragment;
 import com.dayu.pipirrapp.net.ApiManager;
@@ -34,6 +36,8 @@
 import java.util.Map;
 
 import cc.shinichi.library.ImagePreview;
+import cc.shinichi.library.bean.ImageInfo;
+import cc.shinichi.library.bean.Type;
 
 /**
  * IssueDetailActivity - 闂涓婃姤璇︽儏鐣岄潰
@@ -47,8 +51,8 @@
     RecyclerView mRecyclerView;
     ActivityIssueDetailBinding binding;
     ImageAdapter mAdapter;
-    List<String> imageInfoList = new ArrayList<>();
-    List<ImageResult> images = new ArrayList<>();
+    List<ImageInfo> imageInfoList = new ArrayList<>();
+    List<ImageBean> images = new ArrayList<>();
     int state;
     String issueReportId;
 
@@ -75,8 +79,7 @@
         // 娣诲姞闂磋窛瑁呴グ锛岀‘淇濆浘鐗囨湁鍚堥�傜殑闂撮殧
         mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(4, DensityUtil.dip2px(this, 8), false));
         mAdapter = new ImageAdapter(this, images, (v, position) -> {
-            ImagePreview.getInstance().setContext(IssueDetailActivity.this).setImageList(imageInfoList).start();
-
+            ImagePreview.getInstance().with(IssueDetailActivity.this).setIndex(position).setMediaInfoList(imageInfoList).start();
         });
         mRecyclerView.setAdapter(mAdapter);
     }
@@ -94,9 +97,31 @@
                             binding.setData(orderDetailResult);
                             binding.setItemclidk(IssueDetailActivity.this);
                             state = orderDetailResult.getStateId();
-                            images.addAll(t.getContent().getImages());
-                            for (ImageResult imageResult : images) {
-                                imageInfoList.add(imageResult.getWebPath());
+                            if (!t.getContent().getImages().isEmpty()){
+                                for (ImageResult imageResult:t.getContent().getImages()){
+                                    ImageBean imageBean=new ImageBean();
+                                    imageBean.setId(imageResult.getId());
+                                    imageBean.setWebPath(imageResult.getWebPath());
+                                    imageBean.setType(UplodFileState.IMG_TYPE);
+                                    images.add(imageBean);
+                                    ImageInfo info=new ImageInfo();
+                                    info.setOriginUrl(imageResult.getWebPath());
+                                    info.setType(Type.IMAGE);
+                                    imageInfoList.add(info);
+                                }
+                            }
+                            if (!t.getContent().getVideos().isEmpty()){
+                                for (ImageResult imageResult:t.getContent().getVideos()){
+                                    ImageBean imageBean=new ImageBean();
+                                    imageBean.setId(imageResult.getId());
+                                    imageBean.setWebPath(imageResult.getWebPath());
+                                    imageBean.setType(UplodFileState.VIDEO_TYPE);
+                                    images.add(imageBean);
+                                    ImageInfo info=new ImageInfo();
+                                    info.setOriginUrl(imageResult.getWebPath());
+                                    info.setType(Type.VIDEO);
+                                    imageInfoList.add(info);
+                                }
                             }
                             mAdapter.notifyDataSetChanged();
                             switch (state) {
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
index 091139a..acf9e3a 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
@@ -19,9 +19,11 @@
 import com.dayu.pipirrapp.MyApplication;
 import com.dayu.pipirrapp.R;
 import com.dayu.pipirrapp.adapter.ImageAdapter;
+import com.dayu.pipirrapp.bean.ImageBean;
 import com.dayu.pipirrapp.bean.net.DealDetailResult;
 import com.dayu.pipirrapp.bean.net.ImageResult;
 import com.dayu.pipirrapp.bean.net.OrderDetailResult;
+import com.dayu.pipirrapp.bean.net.UplodFileState;
 import com.dayu.pipirrapp.databinding.ActivityOrderDetailBinding;
 import com.dayu.pipirrapp.fragment.OrderFragment;
 import com.dayu.pipirrapp.net.ApiManager;
@@ -43,6 +45,8 @@
 import java.util.Map;
 
 import cc.shinichi.library.ImagePreview;
+import cc.shinichi.library.bean.ImageInfo;
+import cc.shinichi.library.bean.Type;
 
 /**
  * OrderDetailActivity -
@@ -57,9 +61,9 @@
     String workOrderId;
     String proResultId;
     ImageAdapter mAdapter;
-    List<ImageResult> images = new ArrayList<>();
+    List<ImageBean> images = new ArrayList<>();
     RecyclerView mRecyclerView;
-    final List<String> imageInfoList = new ArrayList<>();
+    List<ImageInfo> imageInfoList = new ArrayList<>();
     int ProResultStateId;
     private ActivityResultLauncher<Intent> activityResultLauncher =
             registerForActivityResult(
@@ -120,7 +124,7 @@
         // 娣诲姞闂磋窛瑁呴グ锛岀‘淇濆浘鐗囨湁鍚堥�傜殑闂撮殧
         mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(4, DensityUtil.dip2px(this, 8), false));
         mAdapter = new ImageAdapter(this, images, (v, position) -> {
-            ImagePreview.getInstance().setContext(OrderDetailActivity.this).setImageList(imageInfoList).start();
+            ImagePreview.getInstance().with(OrderDetailActivity.this).setIndex(position).setMediaInfoList(imageInfoList).start();
 
         });
         mRecyclerView.setAdapter(mAdapter);
@@ -218,9 +222,32 @@
                         if (t.getContent() != null) {
                             binding.orderDealLL.setVisibility(View.VISIBLE);
                             binding.setDealData(t.getContent());
-                            images.addAll(t.getContent().getImages());
-                            for (ImageResult imageResult : images) {
-                                imageInfoList.add(imageResult.getWebPath());
+
+                            if (!t.getContent().getImages().isEmpty()){
+                                for (ImageResult imageResult:t.getContent().getImages()){
+                                    ImageBean imageBean=new ImageBean();
+                                    imageBean.setId(imageResult.getId());
+                                    imageBean.setWebPath(imageResult.getWebPath());
+                                    imageBean.setType(UplodFileState.IMG_TYPE);
+                                    images.add(imageBean);
+                                    ImageInfo info=new ImageInfo();
+                                    info.setOriginUrl(imageResult.getWebPath());
+                                    info.setType(Type.IMAGE);
+                                    imageInfoList.add(info);
+                                }
+                            }
+                            if (!t.getContent().getVideos().isEmpty()){
+                                for (ImageResult imageResult:t.getContent().getVideos()){
+                                    ImageBean imageBean=new ImageBean();
+                                    imageBean.setId(imageResult.getId());
+                                    imageBean.setWebPath(imageResult.getWebPath());
+                                    imageBean.setType(UplodFileState.VIDEO_TYPE);
+                                    images.add(imageBean);
+                                    ImageInfo info=new ImageInfo();
+                                    info.setOriginUrl(imageResult.getWebPath());
+                                    info.setType(Type.VIDEO);
+                                    imageInfoList.add(info);
+                                }
                             }
                             mAdapter.notifyDataSetChanged();
                         } else {
diff --git a/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java b/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java
index 956b92b..b4ad6cd 100644
--- a/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java
+++ b/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java
@@ -12,7 +12,9 @@
 import com.bumptech.glide.load.resource.bitmap.CenterCrop;
 import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
 import com.dayu.pipirrapp.R;
+import com.dayu.pipirrapp.bean.ImageBean;
 import com.dayu.pipirrapp.bean.net.ImageResult;
+import com.dayu.pipirrapp.bean.net.UplodFileState;
 import com.dayu.pipirrapp.tool.GlideEngine;
 
 import java.util.List;
@@ -25,12 +27,12 @@
  * @since 2024-11-27
  */
 public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ImageViewHolder> {
-    private List<ImageResult> imageUrls;  // 鍥剧墖鐨� URL 鎴栨湰鍦拌矾寰�
+    private List<ImageBean> imageUrls;  // 鍥剧墖鐨� URL 鎴栨湰鍦拌矾寰�
     private Context mContext;
     private OnItemClickListener onItemClickListener;
 
     // 鏋勯�犳柟娉�
-    public ImageAdapter(Context context, List<ImageResult> imageUrls, OnItemClickListener onItemClickListener) {
+    public ImageAdapter(Context context, List<ImageBean> imageUrls, OnItemClickListener onItemClickListener) {
         this.imageUrls = imageUrls;
         this.mContext = context;
         this.onItemClickListener = onItemClickListener;
@@ -46,9 +48,15 @@
     @Override
     public void onBindViewHolder(ImageViewHolder holder, int position) {
 
+        ImageBean imageBean=imageUrls.get(position);
+        if (imageBean.getType()== UplodFileState.VIDEO_TYPE){
+            holder.play.setVisibility(View.VISIBLE);
+        }else {
+            holder.play.setVisibility(View.GONE);
+        }
         // 浣跨敤 Glide 鍔犺浇鍥剧墖鍒� ImageView 涓�
         Glide.with(holder.itemView.getContext())
-                .load(imageUrls.get(position).getWebPath())  // 鍔犺浇鍥剧墖鐨� URL 鎴栬矾寰�
+                .load(imageBean.getWebPath())  // 鍔犺浇鍥剧墖鐨� URL 鎴栬矾寰�
                 .thumbnail(0.1f)  // 璁剧疆缂╃暐鍥炬瘮渚�'
                 .transform(new CenterCrop(), new RoundedCorners(8))
                 .placeholder(R.drawable.ps_image_placeholder)
@@ -70,10 +78,12 @@
     public static class ImageViewHolder extends RecyclerView.ViewHolder {
 
         ImageView imageView;
+        ImageView play;
 
         public ImageViewHolder(View itemView) {
             super(itemView);
             imageView = itemView.findViewById(R.id.thumbnailImageView);
+            play=itemView.findViewById(R.id.item_play);
         }
     }
 
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/ImageBean.java b/app/src/main/java/com/dayu/pipirrapp/bean/ImageBean.java
new file mode 100644
index 0000000..0b88082
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/ImageBean.java
@@ -0,0 +1,38 @@
+package com.dayu.pipirrapp.bean;
+
+/**
+ * ImageBean -鍥剧墖鏄剧ずadapter
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2025-01-09
+ */
+public class ImageBean {
+    String id;
+    String webPath;
+    int type;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getWebPath() {
+        return webPath;
+    }
+
+    public void setWebPath(String webPath) {
+        this.webPath = webPath;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java
index 0f353e3..7fd7638 100644
--- a/app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java
@@ -5,7 +5,7 @@
 import java.util.Map;
 
 /**
- * AddIssueRequest -
+ * AddIssueRequest - 娣诲姞闂涓婃姤
  *
  * @author zuoxiao
  * @version 1.0
@@ -16,6 +16,7 @@
     String inspectorId;//宸℃鍛業D
     String content;//缁撴灉鍐呭
     List<ImageRequest> images = new ArrayList<>();
+    List<ImageRequest> videos = new ArrayList<>();
     String completeTime;//浠诲姟瀹屾垚鏃堕棿
     String lng;
     String lat;
@@ -54,7 +55,12 @@
             ImageRequest image = new ImageRequest();
             image.setWebPath(data.getWebPath());
             image.setId(data.getPostId());
-            images.add(image);
+            if (data.getUploadType()==UplodFileState.IMG_TYPE){
+                images.add(image);
+            }else {
+                videos.add(image);
+            }
+
         }
     }
 
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/AddProcessingRequest.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/AddProcessingRequest.java
index 1e2f91e..b72a0b5 100644
--- a/app/src/main/java/com/dayu/pipirrapp/bean/net/AddProcessingRequest.java
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/AddProcessingRequest.java
@@ -16,6 +16,7 @@
     String inspectorId;//宸℃鍛業D
     String content;//缁撴灉鍐呭
     List<ImageRequest> images = new ArrayList<>();
+    List<ImageRequest> videos = new ArrayList<>();
     String completeTime;//浠诲姟瀹屾垚鏃堕棿
     String lng;
     String lat;
@@ -79,7 +80,12 @@
             ImageRequest image = new ImageRequest();
             image.setWebPath(data.getWebPath());
             image.setId(data.getPostId());
-            images.add(image);
+            if (data.getUploadType()==UplodFileState.IMG_TYPE){
+                images.add(image);
+            }else {
+                videos.add(image);
+            }
+
         }
     }
 
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/DealDetailResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/DealDetailResult.java
index e8800b8..0b07a9d 100644
--- a/app/src/main/java/com/dayu/pipirrapp/bean/net/DealDetailResult.java
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/DealDetailResult.java
@@ -10,18 +10,37 @@
  * @since 2024-12-06
  */
 public class DealDetailResult {
-    String proResultId;//澶勭悊缁撴灉ID
-    String workOrderId;//
-    String inspector;// 宸℃鍛�
-    String content;//缁撴灉鍐呭
-    double lng;// 缁忓害
-    double lat;// 绾害
-    String completeTime;// 浠诲姟瀹屾垚鏃堕棿  绮剧‘鍒板垎
-    String reportTime;//涓婃姤鏃堕棿
-    int state;//鐘舵�� 1-宸蹭笂鎶ワ紝2-宸查�氳繃锛�3-宸查┏鍥�
-    String stateName;// 鐘舵�佸悕绉�
+    //澶勭悊缁撴灉ID
+    String proResultId;
+    String workOrderId;
+    // 宸℃鍛�
+    String inspector;
+    //缁撴灉鍐呭
+    String content;
+    // 缁忓害
+    double lng;
+    // 绾害
+    double lat;
+    // 浠诲姟瀹屾垚鏃堕棿  绮剧‘鍒板垎
+    String completeTime;
+    //涓婃姤鏃堕棿
+    String reportTime;
+    //鐘舵�� 1-宸蹭笂鎶ワ紝2-宸查�氳繃锛�3-宸查┏鍥�
+    int state;
+    // 鐘舵�佸悕绉�
+    String stateName;
 
     List<ImageResult> images;
+    List<ImageResult> videos;
+
+
+    public List<ImageResult> getVideos() {
+        return videos;
+    }
+
+    public void setVideos(List<ImageResult> videos) {
+        this.videos = videos;
+    }
 
     public List<ImageResult> getImages() {
         return images;
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/IssueResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/IssueResult.java
index b5e2419..7d0703f 100644
--- a/app/src/main/java/com/dayu/pipirrapp/bean/net/IssueResult.java
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/IssueResult.java
@@ -20,11 +20,21 @@
     //String                         audios: [],
     //String                         videos: [],
     public List<ImageResult> images;
+    public List<ImageResult> videos;
     public String replyTime;//涓婃姤鍥炲鏃堕棿 null,
     public String replyContent;//鍥炲鍐呭
     public int stateId;//
     public String state;//鏈彈鐞�
 
+
+    public List<ImageResult> getVideos() {
+        return videos;
+    }
+
+    public void setVideos(List<ImageResult> videos) {
+        this.videos = videos;
+    }
+
     public String getIssueReportId() {
         return issueReportId;
     }
diff --git a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
index 742f9d3..d80da85 100644
--- a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
+++ b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
@@ -313,13 +313,18 @@
                 int progress = (int) (100 * bytesWritten / contentLength);
                 // 渚嬪锛氭洿鏂� ProgressBar 鎴栨樉绀鸿繘搴�
                 runOnUiThread(() -> {
+                    if (progress <5) {
+                        uplodData.setProgress(0);
+                    }
                     // 杩涘害鏉℃洿鏂颁唬鐮�
                     if (adapter != null && uplodData.getAdapterPosition() != -1) {
                         //浼樺寲涓嶉绻佹洿鏂拌繘搴�
-                        if (progress - uplodData.getProgress() > 5 || progress == 100){
+                        if (progress - uplodData.getProgress() > 5 || progress == 100) {
                             uplodData.setProgress(progress);
                             adapter.updateProgress(uplodData);
+
                         }
+
                     }
                     MyLog.d("progressRequestBodyHolder>>>path" + "adapterPosition:" + uplodData.getAdapterPosition() + ">>>涓婁紶杩涘害: " + progress + "%");
                 });
diff --git a/app/src/main/java/com/dayu/pipirrapp/net/RetrofitClient.java b/app/src/main/java/com/dayu/pipirrapp/net/RetrofitClient.java
index c0cdaee..114316c 100644
--- a/app/src/main/java/com/dayu/pipirrapp/net/RetrofitClient.java
+++ b/app/src/main/java/com/dayu/pipirrapp/net/RetrofitClient.java
@@ -36,7 +36,7 @@
         //娣诲姞鏃ュ織鎷︽埅鍣�
         //娣诲姞鏁版嵁璇锋眰缁熶竴澶勭悊鎷︽埅鍣�
 //        if (BuildConfig.DEBUG) {
-//        builder.addInterceptor(loggingInterceptor);
+        builder.addInterceptor(loggingInterceptor);
 //        }
 
         OkHttpClient client = builder.build();
diff --git a/app/src/main/res/drawable/play.xml b/app/src/main/res/drawable/play.xml
new file mode 100644
index 0000000..df62a19
--- /dev/null
+++ b/app/src/main/res/drawable/play.xml
@@ -0,0 +1,18 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="48"
+    android:viewportHeight="48">
+  <path
+      android:pathData="M24,44C35.046,44 44,35.046 44,24C44,12.954 35.046,4 24,4C12.954,4 4,12.954 4,24C4,35.046 12.954,44 24,44Z"
+      android:strokeLineJoin="round"
+      android:strokeWidth="4"
+      android:fillColor="#00000000"
+      android:strokeColor="#FFFFFF"/>
+  <path
+      android:pathData="M20,24V17.072L26,20.536L32,24L26,27.464L20,30.928V24Z"
+      android:strokeLineJoin="round"
+      android:strokeWidth="4"
+      android:fillColor="#00000000"
+      android:strokeColor="#FFFFFF"/>
+</vector>
diff --git a/app/src/main/res/layout/item_image.xml b/app/src/main/res/layout/item_image.xml
index 67a51d5..f0fd6b5 100644
--- a/app/src/main/res/layout/item_image.xml
+++ b/app/src/main/res/layout/item_image.xml
@@ -3,6 +3,7 @@
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_margin="8dp"
+    android:layout_gravity="center"
     android:elevation="4dp">
 
     <ImageView
@@ -11,4 +12,13 @@
         android:layout_height="match_parent"
         android:scaleType="centerCrop" />
 
+    <ImageView
+        android:id="@+id/item_play"
+        android:layout_width="30dp"
+        android:layout_height="30dp"
+        android:layout_gravity="center"
+        android:src="@drawable/play"/>
+
+
+
 </androidx.cardview.widget.CardView>
\ No newline at end of file

--
Gitblit v1.8.0