[GSoC] Image preview (#4559)

* Image preview

* refractor
This commit is contained in:
Aditya-Srivastav 2021-08-18 05:22:24 +05:30 committed by Aditya Srivastava
parent 0ebbc9d1df
commit 25792e2165
3 changed files with 24 additions and 0 deletions

View file

@ -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<Image>)
/**
* onLongPress
* @param imageUri : uri of image
*/
fun onLongPress(imageUri: Uri)
}

View file

@ -93,6 +93,12 @@ class ImageAdapter(
holder.itemView.setOnClickListener {
selectOrRemoveImage(holder, position)
}
// launch media preview on long click.
holder.itemView.setOnLongClickListener {
imageSelectListener.onLongPress(image.uri)
true
}
}
}

View file

@ -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.