aboutsummaryrefslogtreecommitdiff
path: root/Client
diff options
context:
space:
mode:
authorTAMARA JERINIC <tamara.jerinic@gmail.com>2022-11-08 02:17:09 +0100
committerTAMARA JERINIC <tamara.jerinic@gmail.com>2022-11-08 02:17:09 +0100
commit89a71eb6cdc732f3553a161ec0e35df617047e4f (patch)
treefe4f9947ab4002e1afc63d09625f8daace1104f9 /Client
parent2ea875b6b70d870a764a8815b5afb14c5fa0ce15 (diff)
parent0d8b9bd4f3e266d9e300bce427ba718d19cfec48 (diff)
Merge branch 'develop' of http://gitlab.pmf.kg.ac.rs/BrzoDoLokacije2022/odyssey/brzodolokacije into develop
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/ActivitySinglePost.kt13
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt11
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt33
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt2
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt3
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt1
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/MyAppGlideModule.kt8
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/authCheck.kt31
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml1
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml1
11 files changed, 67 insertions, 40 deletions
diff --git a/Client/BrzoDoLokacije/app/build.gradle b/Client/BrzoDoLokacije/app/build.gradle
index fa85692..72f1f0d 100644
--- a/Client/BrzoDoLokacije/app/build.gradle
+++ b/Client/BrzoDoLokacije/app/build.gradle
@@ -56,4 +56,7 @@ dependencies {
//JWT
implementation 'com.auth0.android:jwtdecode:2.0.1'
+ //Glide
+ implementation 'com.github.bumptech.glide:glide:4.12.0'
+ annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt
index 6a5dfe3..32cb3ef 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt
@@ -15,7 +15,6 @@ import com.example.brzodolokacije.databinding.ActivitySinglePostBinding
class ActivitySinglePost : AppCompatActivity() {
private lateinit var binding: ActivitySinglePostBinding
- private var images : MutableList<PostImage> = mutableListOf()
private var layoutManagerVar: RecyclerView.LayoutManager? = null
private var adapterVar: RecyclerView.Adapter<PostImageAdapter.ViewHolder>? = null
private var recyclerView: RecyclerView?=null
@@ -24,18 +23,18 @@ class ActivitySinglePost : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding=ActivitySinglePostBinding.inflate(layoutInflater)
- setContentView(R.layout.activity_single_post)
+ setContentView(binding.root)
post= intent.extras?.getParcelable("selectedPost")!!
- /*//load data for the list
+ //load data for the list
//instantiate adapter and linearLayout
- adapterVar= PostImageAdapter(images)
- layoutManagerVar= LinearLayoutManager(this)
+ adapterVar= PostImageAdapter(this@ActivitySinglePost, post.images as MutableList<PostImage>)
+ layoutManagerVar= LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false)
recyclerView = binding.rvMain
// set recyclerView attributes
recyclerView?.setHasFixedSize(true)
recyclerView?.layoutManager = layoutManagerVar
- recyclerView?.adapter = adapterVar*/
+ recyclerView?.adapter = adapterVar
loadTextComponents()
}
@@ -55,6 +54,8 @@ class ActivitySinglePost : AppCompatActivity() {
tvRating.invalidate()
tvNumberOfRatings.text=post.ratings.toString()
tvNumberOfRatings.invalidate()
+ tvDescription.text=post.description
+ tvDescription.invalidate()
}
}
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt
index 3d2bf46..655b717 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt
@@ -1,16 +1,19 @@
package com.example.brzodolokacije.Adapters
+import android.app.Activity
import android.graphics.BitmapFactory
import android.media.Image
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.example.brzodolokacije.Models.Post
import com.example.brzodolokacije.Models.PostImage
+import com.example.brzodolokacije.Services.RetrofitHelper
import com.example.brzodolokacije.databinding.PostImageBinding
import com.example.brzodolokacije.databinding.PostPreviewBinding
-class PostImageAdapter(val items : MutableList<PostImage>)
+class PostImageAdapter(val activity: Activity, val items : MutableList<PostImage>)
: RecyclerView.Adapter<PostImageAdapter.ViewHolder>(){
//constructer has one argument - list of objects that need to be displayed
//it is bound to xml of single item
@@ -28,7 +31,11 @@ class PostImageAdapter(val items : MutableList<PostImage>)
inner class ViewHolder(itemView : PostImageBinding) : RecyclerView.ViewHolder(itemView.root){
fun bind(item : PostImage){
binding.apply {
- //locationImage.setImageBitmap(BitmapFactory.decodeStream(item.inputStream()))
+ if(item!=null) {
+ Glide.with(activity)
+ .load(RetrofitHelper.baseUrl + "/api/post/image/" + item._id)
+ .into(locationImage)
+ }
}
}
}
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt
index 134b665..bbcf9e4 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt
@@ -9,6 +9,7 @@ import android.view.LayoutInflater
import android.view.ViewGroup
import android.widget.Toast
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.example.brzodolokacije.Activities.ActivitySinglePost
import com.example.brzodolokacije.Interfaces.IBackendApi
import com.example.brzodolokacije.Models.LocationType
@@ -61,33 +62,11 @@ class ShowPostsAdapter (val activity:Activity,val items : MutableList<PostPrevie
tvTitle.text = item.location.name
tvLocationParent.text = item.location.country
tvLocationType.text = "TODO"
-
- val request=imageApi.getImage("Bearer "+token,item.images[0]._id)
-
- request.enqueue(object : retrofit2.Callback<ResponseBody?> {
- override fun onResponse(call: Call<ResponseBody?>, response: Response<ResponseBody?>) {
- if (response.isSuccessful) {
- val image: ResponseBody = response.body()!!
- binding.locationImage.setImageBitmap(BitmapFactory.decodeStream(image.byteStream()))
- Toast.makeText(
- activity, "prosao zahtev", Toast.LENGTH_LONG
- ).show()
- } else {
- if (response.errorBody() != null)
- Toast.makeText(
- activity,
- response.errorBody()!!.string(),
- Toast.LENGTH_LONG
- ).show();
- }
- }
-
- override fun onFailure(call: Call<ResponseBody?>, t: Throwable) {
- Toast.makeText(
- activity, t.toString(), Toast.LENGTH_LONG
- ).show();
- }
- })
+ if(item.images.isNotEmpty()) {
+ Glide.with(activity)
+ .load(RetrofitHelper.baseUrl + "/api/post/image/" + item.images[0]._id)
+ .into(locationImage)
+ }
}
}
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt
index 45cd0fe..928a128 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentMyProfileInfo.kt
@@ -46,6 +46,7 @@ class FragmentMyProfileInfo : Fragment() {
logout=view.findViewById<View>(R.id.buttonLogOut) as Button
logout.setOnClickListener{
logOut()
+
}
return view
@@ -56,6 +57,7 @@ class FragmentMyProfileInfo : Fragment() {
{
val intent= Intent(requireActivity(), ActivityLoginRegister::class.java)
startActivity(intent)
+ requireActivity().finish()
}
}
} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt
index 49dda46..131233c 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt
@@ -22,9 +22,6 @@ interface IBackendApi {
fun resetpass(@Body obj:ResetPass):Call<ResponseBody>
@GET("/api/post")
fun getPosts(@Header("Authorization") authHeader:String):Call<MutableList<PostPreview>>
- @Streaming
- @GET("/api/post/image/{id}")
- fun getImage(@Header("Authorization") authHeader:String,@Path("id") obj:String):Call<ResponseBody>
//@POST("putanja")
//fun add(@Body obj:Post,@Header("Authorization") authHeader:String):Call<Post>
} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt
index 0245e9b..0c43088 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt
@@ -10,6 +10,7 @@ import com.example.brzodolokacije.Activities.ActivityLoginRegister
import com.example.brzodolokacije.Activities.NavigationActivity
import com.example.brzodolokacije.Services.RetrofitHelper
import com.example.brzodolokacije.Services.SharedPreferencesHelper
+import com.example.brzodolokacije.Services.authCheck
import retrofit2.Call
import retrofit2.Response
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/MyAppGlideModule.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/MyAppGlideModule.kt
new file mode 100644
index 0000000..cee5f12
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/MyAppGlideModule.kt
@@ -0,0 +1,8 @@
+package com.example.brzodolokacije.Services
+
+import com.bumptech.glide.annotation.GlideModule
+import com.bumptech.glide.module.AppGlideModule
+@GlideModule
+class MyAppGlideModule: AppGlideModule() {
+
+} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/authCheck.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/authCheck.kt
new file mode 100644
index 0000000..bfd3975
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/authCheck.kt
@@ -0,0 +1,31 @@
+package com.example.brzodolokacije.Services
+
+import android.app.Activity
+import androidx.fragment.app.FragmentActivity
+import com.auth0.android.jwt.JWT
+
+object authCheck {
+
+
+
+ fun isLoggedIn(act:Activity):Boolean{
+ var jwtString=SharedPreferencesHelper.getValue("jwt",act)
+ if(jwtString==null)
+ return false
+ var jwt: JWT = JWT(jwtString)
+ if(jwt.isExpired(30))
+ return false
+ return true
+
+ }
+ fun isLoggedIn(act:FragmentActivity):Boolean{
+ var jwtString=SharedPreferencesHelper.getValue("jwt",act)
+ if(jwtString==null)
+ return false
+ var jwt: JWT = JWT(jwtString)
+ if(jwt.isExpired(30))
+ return false
+ return true
+
+ }
+} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml
index d323d0c..00d3460 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml
@@ -11,7 +11,6 @@
android:id="@+id/rvMain"
android:layout_width="match_parent"
android:layout_height="443dp"
- android:orientation="horizontal"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml
index 7283931..dafd3b9 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml
@@ -16,7 +16,6 @@
android:layout_height="250dp"
android:outlineProvider="background"
android:scaleType="centerCrop"
- android:src="@drawable/b1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"