From a87d7e4ae808ba85b6bed67f878dc799139761e1 Mon Sep 17 00:00:00 2001 From: Aditya Srivastava Date: Tue, 17 Aug 2021 20:56:42 +0530 Subject: [PATCH 1/2] Image preview --- .../customselector/listeners/ImageSelectListener.kt | 7 +++++++ .../commons/customselector/ui/adapter/ImageAdapter.kt | 6 ++++++ .../ui/selector/CustomSelectorActivity.kt | 11 +++++++++++ 3 files changed, 24 insertions(+) diff --git a/app/src/main/java/fr/free/nrw/commons/customselector/listeners/ImageSelectListener.kt b/app/src/main/java/fr/free/nrw/commons/customselector/listeners/ImageSelectListener.kt index 688c93e649..1d7310b1d5 100644 --- a/app/src/main/java/fr/free/nrw/commons/customselector/listeners/ImageSelectListener.kt +++ b/app/src/main/java/fr/free/nrw/commons/customselector/listeners/ImageSelectListener.kt @@ -1,5 +1,6 @@ package fr.free.nrw.commons.customselector.listeners +import android.net.Uri import fr.free.nrw.commons.customselector.model.Image /** @@ -12,4 +13,10 @@ interface ImageSelectListener { * @param selectedImages : new selected images. */ fun onSelectedImagesChanged(selectedImages: ArrayList) + + /** + * onLongPress + * @param imageUri : uri of image + */ + fun onLongPress(imageUri: Uri) } \ No newline at end of file diff --git a/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt b/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt index ea7505aebf..b7b16a2a4c 100644 --- a/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt +++ b/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt @@ -94,6 +94,12 @@ class ImageAdapter( selectOrRemoveImage(holder, position) } } + + // launch media preview on long click. + holder.itemView.setOnLongClickListener { + imageSelectListener.onLongPress(image.uri) + true + } } /** diff --git a/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt b/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt index 02b0a8b1a7..8dffe73064 100644 --- a/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt +++ b/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt @@ -4,6 +4,7 @@ import android.app.Activity import android.app.Dialog import android.content.Intent import android.content.SharedPreferences +import android.net.Uri import android.os.Bundle import android.view.View import android.view.Window @@ -15,6 +16,7 @@ import fr.free.nrw.commons.R import fr.free.nrw.commons.customselector.listeners.FolderClickListener import fr.free.nrw.commons.customselector.listeners.ImageSelectListener import fr.free.nrw.commons.customselector.model.Image +import fr.free.nrw.commons.media.ZoomableActivity import fr.free.nrw.commons.theme.BaseActivity import java.io.File import javax.inject.Inject @@ -156,6 +158,15 @@ class CustomSelectorActivity: BaseActivity(), FolderClickListener, ImageSelectLi done.visibility = if (selectedImages.isEmpty()) View.INVISIBLE else View.VISIBLE } + /** + * onLongPress + * @param imageUri : uri of image + */ + override fun onLongPress(imageUri: Uri) { + val intent = Intent(this, ZoomableActivity::class.java).setData(imageUri); + startActivity(intent) + } + /** * OnDone clicked. * Get the selected images. Remove any non existent file, forward the data to finish selector. From 9e9682457b7075295af73c7ec64742fdc6f5650c Mon Sep 17 00:00:00 2001 From: Aditya Srivastava Date: Tue, 17 Aug 2021 21:01:07 +0530 Subject: [PATCH 2/2] refractor --- .../commons/customselector/ui/adapter/ImageAdapter.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt b/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt index b7b16a2a4c..f3fce1cc0e 100644 --- a/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt +++ b/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt @@ -93,12 +93,12 @@ class ImageAdapter( holder.itemView.setOnClickListener { selectOrRemoveImage(holder, position) } - } - // launch media preview on long click. - holder.itemView.setOnLongClickListener { - imageSelectListener.onLongPress(image.uri) - true + // launch media preview on long click. + holder.itemView.setOnLongClickListener { + imageSelectListener.onLongPress(image.uri) + true + } } }