aboutsummaryrefslogtreecommitdiff
path: root/Client
diff options
context:
space:
mode:
Diffstat (limited to 'Client')
-rw-r--r--Client/BrzoDoLokacije/app/build.gradle3
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityOpenedImages.kt34
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/OpenedPostImageAdapter.kt13
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/activity_opened_images.xml24
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/opened_post_image.xml12
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/values/colors.xml1
6 files changed, 61 insertions, 26 deletions
diff --git a/Client/BrzoDoLokacije/app/build.gradle b/Client/BrzoDoLokacije/app/build.gradle
index 9ce9b96..0bc0fe8 100644
--- a/Client/BrzoDoLokacije/app/build.gradle
+++ b/Client/BrzoDoLokacije/app/build.gradle
@@ -76,4 +76,7 @@ dependencies {
//KeyboardVisibilityEvents
implementation 'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:3.0.0-RC3'
+
+ //zoom
+ implementation 'com.github.piasy:GlideImageLoader:1.8.1'
} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityOpenedImages.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityOpenedImages.kt
index 183f460..d1f1e4c 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityOpenedImages.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityOpenedImages.kt
@@ -1,16 +1,25 @@
package com.example.brzodolokacije.Activities
+import android.graphics.Bitmap
+import android.graphics.drawable.Drawable
import android.os.Build
import android.os.Bundle
+import android.provider.MediaStore
+import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.PagerSnapHelper
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.SnapHelper
+import com.bumptech.glide.Glide
+import com.bumptech.glide.request.target.CustomTarget
+import com.bumptech.glide.request.transition.Transition
import com.example.brzodolokacije.Adapters.OpenedPostImageAdapter
import com.example.brzodolokacije.Models.PostImage
import com.example.brzodolokacije.Models.PostPreview
+import com.example.brzodolokacije.Services.RetrofitHelper
import com.example.brzodolokacije.databinding.ActivityOpenedImagesBinding
+import java.util.*
class ActivityOpenedImages : AppCompatActivity() {
lateinit var binding:ActivityOpenedImagesBinding
@@ -31,10 +40,33 @@ class ActivityOpenedImages : AppCompatActivity() {
}
setRecyclerView()
+ setListeners()
}
fun setListeners(){
-
+ binding.btnBackToPost.setOnClickListener {
+ finish()
+ }
+ binding.btnDownload.setOnClickListener {
+ //uzmi id trenutne slike
+ var selected:PostImage?=null
+ linearLayout?.findFirstVisibleItemPosition()?.let { it1 -> selected=images?.get(it1) }
+ if(selected!=null){
+ //sacuvaj na telefonu
+ var image=Glide.with(this)
+ .asBitmap()
+ .load(RetrofitHelper.baseUrl + "/api/post/image/" + selected!!._id)
+ .into(object : CustomTarget<Bitmap>(){
+ override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
+ Toast.makeText(this@ActivityOpenedImages,"Slika se preuzima...",Toast.LENGTH_LONG).show()
+ MediaStore.Images.Media.insertImage(contentResolver, resource, "odyssey_"+ Calendar.getInstance().timeInMillis , "");
+ Toast.makeText(this@ActivityOpenedImages,"Slika je sačuvana.",Toast.LENGTH_LONG).show()
+ }
+ override fun onLoadCleared(placeholder: Drawable?) {
+ }
+ })
+ }
+ }
}
fun setRecyclerView(){
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/OpenedPostImageAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/OpenedPostImageAdapter.kt
index 53f2a37..525549d 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/OpenedPostImageAdapter.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/OpenedPostImageAdapter.kt
@@ -1,13 +1,16 @@
package com.example.brzodolokacije.Adapters
import android.app.Activity
+import android.net.Uri
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
import com.example.brzodolokacije.Models.PostImage
import com.example.brzodolokacije.Services.RetrofitHelper
import com.example.brzodolokacije.databinding.OpenedPostImageBinding
+import com.github.piasy.biv.BigImageViewer
+import com.github.piasy.biv.loader.glide.GlideImageLoader
+import com.github.piasy.biv.view.BigImageView
class OpenedPostImageAdapter(val items:List<PostImage>?,val activity:Activity): RecyclerView.Adapter<OpenedPostImageAdapter.ViewHolder>() {
lateinit var binding:OpenedPostImageBinding
@@ -15,16 +18,14 @@ class OpenedPostImageAdapter(val items:List<PostImage>?,val activity:Activity):
inner class ViewHolder(itemView: OpenedPostImageBinding) : RecyclerView.ViewHolder(itemView.root) {
fun bind(item:PostImage){
binding.apply {
- if(item!=null) {
- Glide.with(activity)
- .load(RetrofitHelper.baseUrl + "/api/post/image/compress/" + item._id)
- .into(ivOpenedImage)
- }
+ ivOpenedImage.setInitScaleType(BigImageView.INIT_SCALE_TYPE_FIT_START)
+ ivOpenedImage.showImage(Uri.parse(RetrofitHelper.baseUrl + "/api/post/image/compress/" + item._id))
}
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
+ BigImageViewer.initialize(GlideImageLoader.with(activity))
val inflater = LayoutInflater.from(parent.context)
binding= OpenedPostImageBinding.inflate(inflater,parent,false)
return ViewHolder(binding)
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_opened_images.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_opened_images.xml
index 2d3de20..3a1fbbc 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_opened_images.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_opened_images.xml
@@ -8,40 +8,38 @@
android:background="@color/design_default_color_background">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
- android:layout_height="40dp"
+ android:layout_height="50dp"
android:elevation="5dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
+ android:background="@color/unfollow_transparent"
android:id="@+id/clImageHeader">
<ImageButton
- android:layout_width="35dp"
- android:layout_height="35dp"
+ android:layout_width="50dp"
+ android:layout_height="50dp"
app:layout_constraintStart_toStartOf="parent"
- android:foregroundGravity="center_vertical"
- android:background="@color/design_default_color_background"
+ android:background="@null"
android:src="@drawable/ic_baseline_arrow_back"
android:id="@+id/btnBackToPost"/>
<ImageButton
- android:layout_width="35dp"
- android:layout_height="35dp"
+ android:layout_width="50dp"
+ android:layout_height="50dp"
app:layout_constraintEnd_toEndOf="parent"
- android:foregroundGravity="center_vertical"
- android:background="@color/design_default_color_background"
+ android:background="@null"
android:src="@drawable/ic_baseline_arrow_back"
android:id="@+id/btnDownload"/>
</androidx.constraintlayout.widget.ConstraintLayout>
- <androidx.constraintlayout.widget.ConstraintLayout
+ <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="match_parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintStart_toStartOf="parent"
+ android:orientation="vertical"
android:id="@+id/rvParent">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rvImages"/>
- </androidx.constraintlayout.widget.ConstraintLayout>
+ </androidx.appcompat.widget.LinearLayoutCompat>
</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/opened_post_image.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/opened_post_image.xml
index 739e557..e63a903 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/opened_post_image.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/opened_post_image.xml
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
- <ImageView
+ <com.github.piasy.biv.view.BigImageView
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
+ android:layout_height="match_parent"
+ app:initScaleType="centerInside"
+ app:optimizeDisplay="true"
android:id="@+id/ivOpenedImage"/>
-</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
+</androidx.appcompat.widget.LinearLayoutCompat> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/values/colors.xml b/Client/BrzoDoLokacije/app/src/main/res/values/colors.xml
index 9cd2082..e5ec888 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/values/colors.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/values/colors.xml
@@ -8,6 +8,7 @@
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="unfollow">#c4c4c4</color>
+ <color name="unfollow_transparent">#66c4c4c4</color>
<color name="dark_blue_transparent">#DE093A4C</color>
<color name="button_main">#183e4b</color>
<color name="grey">#747474</color>