From e9afe36b8a632cd85010d9aa8107b1fa806e517c Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Sat, 10 Dec 2022 19:12:28 +0100 Subject: Omogucen prikaz mape objava tudjeg korisnika. Omogucen prikaz mape omiljenih objava na profilu korisnika. --- .../brzodolokacije/Activities/ActivityUserProfile.kt | 14 ++++++++++++++ .../example/brzodolokacije/Fragments/FragmentUserPosts.kt | 4 ++++ .../com/example/brzodolokacije/UserPostsMapFragment.kt | 12 ++++++++++-- 3 files changed, 28 insertions(+), 2 deletions(-) (limited to 'Client') diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityUserProfile.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityUserProfile.kt index 22720bc..4b62965 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityUserProfile.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityUserProfile.kt @@ -27,6 +27,7 @@ import com.example.brzodolokacije.R.id import com.example.brzodolokacije.R.layout import com.example.brzodolokacije.Services.RetrofitHelper import com.example.brzodolokacije.Services.SharedPreferencesHelper +import com.example.brzodolokacije.UserPostsMapFragment import com.google.gson.Gson import retrofit2.Call import retrofit2.Callback @@ -103,6 +104,19 @@ class ActivityUserProfile : AppCompatActivity(),OnRefreshListener { intent.putExtras(bundle) startActivity(intent) + } + mapButton.setOnClickListener { + val bundle = Bundle() + + bundle.putString("id", userObject._id) + bundle.putString("other","true") + val userMapFragment = UserPostsMapFragment() + userMapFragment.setArguments(bundle) + var fm: FragmentTransaction =supportFragmentManager.beginTransaction() + fm.replace(R.id.flActivityProfileFragmentContainer, userMapFragment) + fm.commit() + + } statisticsButton.setOnClickListener{ 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 3a40566..e132ec4 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 @@ -46,6 +46,7 @@ class FragmentUserPosts : Fragment() { private lateinit var posts : MutableList private lateinit var rvPosts: RecyclerView private lateinit var addNewPost:TextView + var favourite=0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -64,6 +65,8 @@ class FragmentUserPosts : Fragment() { if(jwtString!=null) { var jwt: JWT = JWT(jwtString!!) var userId=jwt.getClaim("id").asString() + if(favourite==1) + bundle.putString("favourite","true") bundle.putString("id", userId) val userMapFragment = UserPostsMapFragment() userMapFragment.setArguments(bundle) @@ -98,6 +101,7 @@ class FragmentUserPosts : Fragment() { } posts = response.body()!!.toMutableList() loadPosts() + favourite=1 } override fun onFailure(call: Call>, t: Throwable) { diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/UserPostsMapFragment.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/UserPostsMapFragment.kt index 4c4d829..665a48e 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/UserPostsMapFragment.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/UserPostsMapFragment.kt @@ -41,13 +41,16 @@ class UserPostsMapFragment : Fragment() { map=view.findViewById(R.id.FragmentUserPostsMapMapView) as MapView backButton=view.findViewById(R.id.btnFragmentUserPostsBack) as ImageView map!!.setTileSource(TileSourceFactory.MAPNIK); + if(this.requireArguments().getString("other")!=null) + backButton!!.visibility=View.INVISIBLE + id=this.requireArguments().getString("id");//https://stackoverflow.com/questions/17436298/how-to-pass-a-variable-from-activity-to-fragment-and-pass-it-back setUpMap() backButton!!.setOnClickListener{ //SUBJECT TO CHANGE val fragmentProfile = FragmentProfile() fragmentManager?.beginTransaction() - ?.replace(com.example.brzodolokacije.R.id.flNavigationFragment,fragmentProfile) + ?.replace(R.id.flNavigationFragment,fragmentProfile) ?.commit() //How to call fragment // val bundle = Bundle() @@ -71,7 +74,12 @@ class UserPostsMapFragment : Fragment() { var jwtString= SharedPreferencesHelper.getValue("jwt",requireActivity()) if(id==null) return - var data=api.getUsersPosts("Bearer "+jwtString,id!!) + var data:Call> + if(this.requireArguments().getString("favourite")==null) + data=api.getUsersPosts("Bearer "+jwtString,id!!) + else + data=api.getMyFavouritePosts("Bearer "+jwtString) + data.enqueue(object : retrofit2.Callback> { override fun onResponse(call: Call>, response: Response>) { -- cgit v1.2.3