diff --git a/app/build.gradle b/app/build.gradle index 77c766abb6..c6f95c554e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "org.ole.planet.myplanet" minSdkVersion 26 targetSdkVersion 34 - versionCode 2084 - versionName "0.20.84" + versionCode 2085 + versionName "0.20.85" ndkVersion '21.3.6528147' testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true diff --git a/app/src/main/java/org/ole/planet/myplanet/ui/news/AdapterNews.kt b/app/src/main/java/org/ole/planet/myplanet/ui/news/AdapterNews.kt index c353cf2301..95d172e9a4 100644 --- a/app/src/main/java/org/ole/planet/myplanet/ui/news/AdapterNews.kt +++ b/app/src/main/java/org/ole/planet/myplanet/ui/news/AdapterNews.kt @@ -1,14 +1,18 @@ package org.ole.planet.myplanet.ui.news import android.app.Activity +import android.app.Dialog import android.content.Context import android.content.DialogInterface +import android.graphics.Color +import android.graphics.drawable.ColorDrawable import android.os.Build import android.view.LayoutInflater import android.view.MenuItem import android.view.View import android.view.ViewGroup import android.widget.EditText +import android.widget.ImageView import android.widget.LinearLayout import android.widget.PopupMenu import androidx.annotation.RequiresApi @@ -19,6 +23,7 @@ import androidx.core.content.ContextCompat import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide +import com.github.chrisbanes.photoview.PhotoView import com.google.gson.Gson import com.google.gson.JsonArray import com.google.gson.JsonObject @@ -57,6 +62,7 @@ class AdapterNews(var context: Context, private val list: MutableList?) { this.imageList = imageList @@ -232,12 +238,16 @@ class AdapterNews(var context: Context, private val list: MutableList 0) { + if (imageUrls != null && imageUrls.isNotEmpty()) { try { val imgObject = Gson().fromJson(imageUrls[0], JsonObject::class.java) viewHolder.rowNewsBinding.imgNews.visibility = View.VISIBLE Glide.with(context).load(File(getString("imageUrl", imgObject))) .into(viewHolder.rowNewsBinding.imgNews) + + viewHolder.rowNewsBinding.imgNews.setOnClickListener { + showZoomableImage(it.context, getString("imageUrl", imgObject)) + } } catch (e: Exception) { e.printStackTrace() } @@ -260,6 +270,10 @@ class AdapterNews(var context: Context, private val list: MutableList(R.id.photoView) + val closeButton = view.findViewById(R.id.closeButton) + + dialog.setContentView(view) + dialog.window?.setBackgroundDrawable(ColorDrawable(Color.BLACK)) + + Glide.with(context) + .load(imageUrl) + .error(R.drawable.ic_loading) + .into(photoView) + + closeButton.setOnClickListener { + dialog.dismiss() + currentZoomDialog = null + } + + dialog.setOnDismissListener { + currentZoomDialog = null + } + + dialog.show() + } + private fun showReplyButton(holder: RecyclerView.ViewHolder, finalNews: RealmNews?, position: Int) { val viewHolder = holder as ViewHolderNews if (listener == null || fromLogin) {