add fallback images for mimetypes if no preview image was found

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2022-04-27 17:17:34 +02:00
parent e1703aac24
commit 3a1f3242d8
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B

View File

@ -10,6 +10,7 @@ import com.facebook.drawee.interfaces.DraweeController
import com.facebook.drawee.view.SimpleDraweeView import com.facebook.drawee.view.SimpleDraweeView
import com.facebook.imagepipeline.common.RotationOptions import com.facebook.imagepipeline.common.RotationOptions
import com.facebook.imagepipeline.request.ImageRequestBuilder import com.facebook.imagepipeline.request.ImageRequestBuilder
import com.nextcloud.talk.R
import com.nextcloud.talk.databinding.AttachmentItemBinding import com.nextcloud.talk.databinding.AttachmentItemBinding
import com.nextcloud.talk.repositories.SharedItem import com.nextcloud.talk.repositories.SharedItem
import com.nextcloud.talk.utils.FileViewerUtils import com.nextcloud.talk.utils.FileViewerUtils
@ -48,23 +49,42 @@ class SharedItemsAdapter : RecyclerView.Adapter<SharedItemsAdapter.ViewHolder>()
.setImageRequest(imageRequest) .setImageRequest(imageRequest)
.build() .build()
holder.binding.image.controller = draweeController holder.binding.image.controller = draweeController
} else {
holder.binding.image.setOnClickListener { when (currentItem.mimeType) {
val fileViewerUtils = FileViewerUtils(it.context, currentItem.userEntity) "video/mp4",
"video/quicktime",
fileViewerUtils.openFile( "video/ogg"
currentItem.id, -> holder.binding.image.setImageResource(R.drawable.ic_mimetype_video)
currentItem.name, "audio/mpeg",
currentItem.fileSize, "audio/wav",
currentItem.path, "audio/ogg",
currentItem.link, -> holder.binding.image.setImageResource(R.drawable.ic_mimetype_audio)
currentItem.mimeType, "image/png",
null, "image/jpeg",
null, "image/gif"
it as SimpleDraweeView -> holder.binding.image.setImageResource(R.drawable.ic_mimetype_image)
) "text/markdown",
"text/plain"
-> holder.binding.image.setImageResource(R.drawable.ic_mimetype_text)
else
-> holder.binding.image.setImageResource(R.drawable.ic_mimetype_file)
} }
} }
holder.binding.image.setOnClickListener {
val fileViewerUtils = FileViewerUtils(it.context, currentItem.userEntity)
fileViewerUtils.openFile(
currentItem.id,
currentItem.name,
currentItem.fileSize,
currentItem.path,
currentItem.link,
currentItem.mimeType,
null,
null,
it as SimpleDraweeView
)
}
} }
override fun getItemCount(): Int { override fun getItemCount(): Int {