diff options
author | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-12-09 22:36:08 +0100 |
---|---|---|
committer | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-12-09 22:36:08 +0100 |
commit | 967a9354ec44c330fb25bdce1f4a67bc0e38e19e (patch) | |
tree | c33486524268f2fa516a2236635520356deb81d0 /Client | |
parent | 8da0efaf10d33e919aab0ae53e5117cc2dd02429 (diff) |
Dodat servis za vracanje favourite objava. Omogucen prikaz favourite objava na profilu korisnika.
Diffstat (limited to 'Client')
3 files changed, 46 insertions, 4 deletions
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<View>(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<MutableList<PostPreview>> { + override fun onResponse( + call: Call<MutableList<PostPreview>>, + response: Response<MutableList<PostPreview>> + ) { + if (response.body() == null) { + return + } + posts = response.body()!!.toMutableList<PostPreview>() + loadPosts() + } + override fun onFailure(call: Call<MutableList<PostPreview>>, 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<MutableList<PostPreview>> + @GET("/api/post/userFavouritePosts") + fun getMyFavouritePosts(@Header("Authorization") authHeader:String):Call<MutableList<PostPreview>> @GET("/api/post/locations/{id}/posts") suspend fun getPagedPosts(@Header("Authorization") authHeader: String, |