瀏覽代碼

Add filename for media files

Signed-off-by: alperozturk <alper_ozturk@proton.me>
alperozturk 1 年之前
父節點
當前提交
118a62232d

+ 1 - 0
app/src/main/java/com/owncloud/android/ui/adapter/ListGridImageViewHolder.kt

@@ -35,6 +35,7 @@ interface ListGridImageViewHolder {
     val shimmerThumbnail: LoaderImageView
     val shimmerThumbnail: LoaderImageView
     val favorite: ImageView
     val favorite: ImageView
     val localFileIndicator: ImageView
     val localFileIndicator: ImageView
+    val imageFileName: TextView?
     val shared: ImageView
     val shared: ImageView
     val checkbox: ImageView
     val checkbox: ImageView
     val itemLayout: View
     val itemLayout: View

+ 8 - 10
app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java

@@ -365,8 +365,7 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
     @Override
     @Override
     public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
     public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
         switch (viewType) {
         switch (viewType) {
-            default:
-            case VIEWTYPE_ITEM:
+            default -> {
                 if (gridView) {
                 if (gridView) {
                     return new OCFileListGridItemViewHolder(
                     return new OCFileListGridItemViewHolder(
                         GridItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
                         GridItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
@@ -376,8 +375,8 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
                         ListItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
                         ListItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
                     );
                     );
                 }
                 }
-
-            case VIEWTYPE_IMAGE:
+            }
+            case VIEWTYPE_IMAGE -> {
                 if (gridView) {
                 if (gridView) {
                     return new OCFileListGridImageViewHolder(
                     return new OCFileListGridImageViewHolder(
                         GridImageBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
                         GridImageBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
@@ -387,23 +386,22 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
                         ListItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
                         ListItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
                     );
                     );
                 }
                 }
-
-            case VIEWTYPE_FOOTER:
+            }
+            case VIEWTYPE_FOOTER -> {
                 return new OCFileListFooterViewHolder(
                 return new OCFileListFooterViewHolder(
                     ListFooterBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
                     ListFooterBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)
                 );
                 );
-
-            case VIEWTYPE_HEADER:
+            }
+            case VIEWTYPE_HEADER -> {
                 ListHeaderBinding binding = ListHeaderBinding.inflate(
                 ListHeaderBinding binding = ListHeaderBinding.inflate(
                     LayoutInflater.from(parent.getContext()),
                     LayoutInflater.from(parent.getContext()),
                     parent,
                     parent,
                     false);
                     false);
-
                 ViewGroup.LayoutParams layoutParams = binding.headerView.getLayoutParams();
                 ViewGroup.LayoutParams layoutParams = binding.headerView.getLayoutParams();
                 layoutParams.height = (int) (parent.getHeight() * 0.3);
                 layoutParams.height = (int) (parent.getHeight() * 0.3);
                 binding.headerView.setLayoutParams(layoutParams);
                 binding.headerView.setLayoutParams(layoutParams);
-
                 return new OCFileListHeaderViewHolder(binding);
                 return new OCFileListHeaderViewHolder(binding);
+            }
         }
         }
     }
     }
 
 

+ 2 - 0
app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt

@@ -207,6 +207,7 @@ class OCFileListDelegate(
         searchType: SearchType?
         searchType: SearchType?
     ) {
     ) {
         // thumbnail
         // thumbnail
+        gridViewHolder.imageFileName?.text = file.fileName
         gridViewHolder.thumbnail.tag = file.fileId
         gridViewHolder.thumbnail.tag = file.fileId
         DisplayUtils.setThumbnail(
         DisplayUtils.setThumbnail(
             file,
             file,
@@ -221,6 +222,7 @@ class OCFileListDelegate(
             viewThemeUtils,
             viewThemeUtils,
             syncFolderProvider
             syncFolderProvider
         )
         )
+
         // item layout + click listeners
         // item layout + click listeners
         bindGridItemLayout(file, gridViewHolder)
         bindGridItemLayout(file, gridViewHolder)
 
 

+ 4 - 0
app/src/main/java/com/owncloud/android/ui/adapter/OCFileListGridImageViewHolder.kt

@@ -35,9 +35,13 @@ internal class OCFileListGridImageViewHolder(var binding: GridImageBinding) :
         binding.root
         binding.root
     ),
     ),
     ListGridImageViewHolder {
     ListGridImageViewHolder {
+
     override val thumbnail: ImageView
     override val thumbnail: ImageView
         get() = binding.thumbnail
         get() = binding.thumbnail
 
 
+    override val imageFileName: TextView
+        get() = binding.Filename
+
     override fun showVideoOverlay() {
     override fun showVideoOverlay() {
         // noop
         // noop
     }
     }

+ 2 - 0
app/src/main/java/com/owncloud/android/ui/adapter/OCFileListGridItemViewHolder.kt

@@ -50,6 +50,8 @@ internal class OCFileListGridItemViewHolder(var binding: GridItemBinding) :
         get() = binding.favoriteAction
         get() = binding.favoriteAction
     override val localFileIndicator: ImageView
     override val localFileIndicator: ImageView
         get() = binding.localFileIndicator
         get() = binding.localFileIndicator
+    override val imageFileName: TextView?
+        get() = null
     override val shared: ImageView
     override val shared: ImageView
         get() = binding.sharedIcon
         get() = binding.sharedIcon
     override val checkbox: ImageView
     override val checkbox: ImageView

+ 2 - 0
app/src/main/java/com/owncloud/android/ui/adapter/OCFileListItemViewHolder.kt

@@ -84,6 +84,8 @@ internal class OCFileListItemViewHolder(private var binding: ListItemBinding) :
         get() = binding.favoriteAction
         get() = binding.favoriteAction
     override val localFileIndicator: ImageView
     override val localFileIndicator: ImageView
         get() = binding.localFileIndicator
         get() = binding.localFileIndicator
+    override val imageFileName: TextView?
+        get() = null
     override val shared: ImageView
     override val shared: ImageView
         get() = binding.sharedIcon
         get() = binding.sharedIcon
     override val checkbox: ImageView
     override val checkbox: ImageView

+ 15 - 0
app/src/main/res/layout/grid_image.xml

@@ -148,6 +148,21 @@
 
 
         </LinearLayout>
         </LinearLayout>
 
 
+        <TextView
+            android:id="@+id/Filename"
+            android:layout_width="@dimen/grid_filename_width"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:ellipsize="middle"
+            android:gravity="center"
+            android:singleLine="true"
+            android:text="@string/placeholder_filename"
+            android:textColor="@color/text_color"
+            android:textSize="@dimen/grid_item_text_size"
+            app:layout_constraintEnd_toStartOf="@+id/more"
+            app:layout_constraintTop_toBottomOf="@+id/thumbnail"
+            tools:visibility="visible" />
+
         <ImageButton
         <ImageButton
             android:id="@+id/more"
             android:id="@+id/more"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"