diff options
Diffstat (limited to 'Client')
5 files changed, 97 insertions, 12 deletions
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 4f48dc7..5119da9 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 @@ -6,10 +6,12 @@ import android.util.Log  import android.widget.*  import androidx.appcompat.app.AppCompatActivity  import androidx.core.view.isVisible -import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentManager +import androidx.fragment.app.FragmentTransaction  import com.bumptech.glide.Glide -import com.example.brzodolokacije.Fragments.FragmentShowUserPosts +import com.example.brzodolokacije.Fragments.FragmentUserPostsProfileActivity  import com.example.brzodolokacije.Models.UserReceive +import com.example.brzodolokacije.R  import com.example.brzodolokacije.R.*  import com.example.brzodolokacije.Services.RetrofitHelper  import com.example.brzodolokacije.Services.SharedPreferencesHelper @@ -31,8 +33,7 @@ class ActivityUserProfile : AppCompatActivity() {      private lateinit var userObject:UserReceive      private lateinit var openChat:ImageButton      private lateinit var unfollowUser:Button -    private lateinit var followersList: MutableList<UserReceive> -    private lateinit var followingList: MutableList<UserReceive> +      private var follow:Boolean=false      override fun onCreate(savedInstanceState: Bundle?) { @@ -137,13 +138,13 @@ class ActivityUserProfile : AppCompatActivity() {          }          showUserPosts.setOnClickListener { -            val bundle = Bundle() -            bundle.putString("user", Gson().toJson(userObject)) -            val fragment = Fragment() -            fragment.arguments = bundle -            getSupportFragmentManager().beginTransaction() -                .replace(id.flActivityProfileFragmentContainer,FragmentShowUserPosts()).commit() - +            var fm: FragmentTransaction =supportFragmentManager.beginTransaction() +            val fragment = FragmentUserPostsProfileActivity() +            val b = Bundle() +            b.putString("userId", userObject._id.toString()) +            fragment.arguments = b +            fm.replace(R.id.flActivityProfileFragmentContainer, fragment) +            fm.commit()          }      } diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserPostsProfileActivity.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserPostsProfileActivity.kt new file mode 100644 index 0000000..d841430 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentUserPostsProfileActivity.kt @@ -0,0 +1,64 @@ +package com.example.brzodolokacije.Fragments + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.example.brzodolokacije.Adapters.MyPostsAdapter +import com.example.brzodolokacije.Adapters.ShowPostsHomePageAdapter +import com.example.brzodolokacije.Models.PostPreview +import com.example.brzodolokacije.R +import com.example.brzodolokacije.Services.RetrofitHelper +import com.example.brzodolokacije.Services.SharedPreferencesHelper +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response + + +class FragmentUserPostsProfileActivity : Fragment() { +    private lateinit var recyclerView: RecyclerView +    override fun onCreateView( +        inflater: LayoutInflater, container: ViewGroup?, +        savedInstanceState: Bundle? +    ): View? { +        // Inflate the layout for this fragment +        var view =inflater.inflate(R.layout.fragment_user_posts_profile_activity, container, false) + +        recyclerView=view.findViewById(R.id.rvFragmentUserPostsProfileActivity) + +        val bundle = arguments +        val userId = bundle!!.getString("userId") + +        val api = RetrofitHelper.getInstance() +        val token = SharedPreferencesHelper.getValue("jwt", requireActivity()) +        var data = api.getUsersPosts("Bearer " + token, userId!!); +        data.enqueue(object : Callback<MutableList<PostPreview>> { +            override fun onResponse( +                call: Call<MutableList<PostPreview>>, +                response: Response<MutableList<PostPreview>> +            ) { +                if (response.body() == null) { +                    return +                } +                var posts = response.body()!!.toMutableList<PostPreview>() +                recyclerView.apply { +                    layoutManager= GridLayoutManager(requireContext(),3, +                        GridLayoutManager.VERTICAL,false) +                    adapter= MyPostsAdapter(requireActivity(),posts) +                } +            } + +            override fun onFailure(call: Call<MutableList<PostPreview>>, t: Throwable) { +            } +        }) + + +        return view +    } + + +}
\ 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 bc8c7ae..923861f 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 @@ -104,4 +104,6 @@ interface IBackendApi {      @GET("/api/user/{id}/unfollow")      fun unfollow(@Header("Authorization") authHeader:String,@Path("id") id:String):Call<Boolean> +    @GET("api/Post/posts/{id}/getUserPosts") +    fun getUsersPosts(@Header("Authorization") authHeader:String,@Path("id") id:String):Call<MutableList<PostPreview>>  }
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_user_profile.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_user_profile.xml index 0e90fc7..bb917cf 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_user_profile.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_user_profile.xml @@ -128,7 +128,7 @@              app:layout_constraintHorizontal_bias="0.0"              app:layout_constraintStart_toStartOf="parent"              app:layout_constraintTop_toTopOf="@+id/divider" -            app:layout_constraintVertical_bias="1.0"></FrameLayout> +            app:layout_constraintVertical_bias="0.0"></FrameLayout>          <TableLayout diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_user_posts_profile_activity.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_user_posts_profile_activity.xml new file mode 100644 index 0000000..2c5012e --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_user_posts_profile_activity.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" +    xmlns:tools="http://schemas.android.com/tools" +    android:layout_width="match_parent" +    android:layout_height="match_parent" +    tools:context=".Fragments.FragmentUserPostsProfileActivity"> + +    <!-- TODO: Update blank fragment layout --> +    <TextView +        android:layout_width="match_parent" +        android:layout_height="match_parent" /> + +    <androidx.recyclerview.widget.RecyclerView +        android:id="@+id/rvFragmentUserPostsProfileActivity" +        android:layout_width="match_parent" +        android:layout_height="match_parent" /> + +</FrameLayout>
\ No newline at end of file  | 
