From 967a9354ec44c330fb25bdce1f4a67bc0e38e19e Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Fri, 9 Dec 2022 22:36:08 +0100 Subject: Dodat servis za vracanje favourite objava. Omogucen prikaz favourite objava na profilu korisnika. --- .../Fragments/FragmentMyProfileInfo.kt | 21 ++++++++++++++--- .../brzodolokacije/Fragments/FragmentUserPosts.kt | 27 +++++++++++++++++++++- .../brzodolokacije/Interfaces/IBackendApi.kt | 2 ++ 3 files changed, 46 insertions(+), 4 deletions(-) (limited to 'Client') 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 5d1530d..c8917c4 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 @@ -23,6 +23,7 @@ class FragmentMyProfileInfo : Fragment() { private lateinit var changeAccount:Button private lateinit var statistics:Button private lateinit var changePassword:Button + private lateinit var favouritePosts:Button override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -35,7 +36,7 @@ class FragmentMyProfileInfo : Fragment() { changeAccount=view.findViewById(R.id.changeAccountData) statistics=view.findViewById(R.id.getAccoutStatistics) as Button changePassword=view.findViewById(R.id.ChangePassword) - + favouritePosts=view.findViewById(R.id.getMyFavorite) logout.setOnClickListener{ logOut() } @@ -45,12 +46,12 @@ class FragmentMyProfileInfo : Fragment() { getActivity()?.startActivity(intent) } - statistics.setOnClickListener { + favouritePosts.setOnClickListener { val manager: androidx.fragment.app.FragmentManager? = fragmentManager val transaction: FragmentTransaction = manager!!.beginTransaction() - var fragment:FragmentProfileStatistics=FragmentProfileStatistics() + var fragment:FragmentUserPosts=FragmentUserPosts() val bundle = Bundle() var parentFragment:FragmentProfile=parentFragment as FragmentProfile var username=parentFragment.usernameStringSend @@ -62,10 +63,24 @@ class FragmentMyProfileInfo : Fragment() { transaction.replace(R.id.flFragmentProfileFragmentContainer,fragment ) transaction.commit() + } + statistics.setOnClickListener { + val manager: androidx.fragment.app.FragmentManager? = fragmentManager + val transaction: FragmentTransaction = manager!!.beginTransaction() + var fragment:FragmentProfileStatistics=FragmentProfileStatistics() + val bundle = Bundle() + var parentFragment:FragmentProfile=parentFragment as FragmentProfile + var username=parentFragment.usernameStringSend + bundle.putString("username", username) + fragment.arguments=bundle + + transaction.replace(R.id.flFragmentProfileFragmentContainer,fragment ) + transaction.commit() + } diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserPosts.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserPosts.kt index d6971c4..3a40566 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserPosts.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserPosts.kt @@ -77,9 +77,34 @@ class FragmentUserPosts : Fragment() { } rvPosts=view.findViewById(R.id.rvFragmentUserPostsPosts) as RecyclerView - getPosts() + if(this.arguments==null) + getPosts() + else + getFavouritePosts() return view } + fun getFavouritePosts(){ + val api = RetrofitHelper.getInstance() + val token= SharedPreferencesHelper.getValue("jwt", requireActivity()) + val data=api.getMyFavouritePosts("Bearer "+token) + + data.enqueue(object : Callback> { + override fun onResponse( + call: Call>, + response: Response> + ) { + if (response.body() == null) { + return + } + posts = response.body()!!.toMutableList() + loadPosts() + } + override fun onFailure(call: Call>, t: Throwable) { + + } + }) + + } fun getPosts(){ val api = RetrofitHelper.getInstance() 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 cc04669..51e8391 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 @@ -54,6 +54,8 @@ interface IBackendApi { @GET("/api/user/posts") fun getMyPosts(@Header("Authorization") authHeader:String):Call> + @GET("/api/post/userFavouritePosts") + fun getMyFavouritePosts(@Header("Authorization") authHeader:String):Call> @GET("/api/post/locations/{id}/posts") suspend fun getPagedPosts(@Header("Authorization") authHeader: String, -- cgit v1.2.3