From b80761f7b5340841013986b8d5306fe95fcf1d25 Mon Sep 17 00:00:00 2001 From: Jelena Petrovic Date: Sat, 10 Dec 2022 14:29:12 +0100 Subject: Refresh profila #83 --- .../brzodolokacije/Fragments/FragmentProfile.kt | 32 +- .../app/src/main/res/layout/fragment_profile.xml | 555 +++++++++++---------- 2 files changed, 310 insertions(+), 277 deletions(-) (limited to 'Client') diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentProfile.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentProfile.kt index a9858e2..73ed1fa 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentProfile.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentProfile.kt @@ -15,6 +15,8 @@ import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentTransaction +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener import com.bumptech.glide.Glide import com.example.brzodolokacije.Activities.ActivityShowFollowersAndFollowing import com.example.brzodolokacije.Models.UserReceive @@ -41,7 +43,9 @@ private const val ARG_PARAM2 = "param2" * Use the [FragmentProfile.newInstance] factory method to * create an instance of this fragment. */ -class FragmentProfile : Fragment(com.example.brzodolokacije.R.layout.fragment_profile) { +class FragmentProfile : Fragment(com.example.brzodolokacije.R.layout.fragment_profile),OnRefreshListener { + private lateinit var swipeRefreshLayout: SwipeRefreshLayout + // TODO: Rename and change types of parameters private lateinit var username: TextView private lateinit var name: TextView @@ -132,8 +136,17 @@ class FragmentProfile : Fragment(com.example.brzodolokacije.R.layout.fragment_pr intent.putExtras(bundle) startActivity(intent) } - getProfileInfo() - openMyPosts() + swipeRefreshLayout = view.findViewById(R.id.ProfileSwipeRefresh) as SwipeRefreshLayout + swipeRefreshLayout?.setOnRefreshListener(this@FragmentProfile) + swipeRefreshLayout?.setColorSchemeResources( + R.color.purple_200, + R.color.teal_200, + R.color.dark_blue_transparent, + R.color.purple_700 + ) + swipeRefreshLayout?.post(kotlinx.coroutines.Runnable { + swipeRefreshLayout?.isRefreshing=true + }) return view } fun openMyPosts(){ @@ -143,6 +156,16 @@ class FragmentProfile : Fragment(com.example.brzodolokacije.R.layout.fragment_pr fm.commit() } + override fun onRefresh() { + onResume() + } + + override fun onResume(){ + super.onResume() + getProfileInfo() + openMyPosts() + } + private fun addProfilePicture(){ val intent= Intent(Intent.ACTION_PICK) intent.action = Intent.ACTION_GET_CONTENT @@ -194,7 +217,9 @@ class FragmentProfile : Fragment(com.example.brzodolokacije.R.layout.fragment_pr override fun onResponse(call: Call, response: Response) { if(response.isSuccessful()){ setUserInfo(response.body()!!) + swipeRefreshLayout.isRefreshing=false }else{ + swipeRefreshLayout.isRefreshing=false if(response.errorBody()!=null) Toast.makeText(activity, response.errorBody()!!.string(), Toast.LENGTH_LONG).show(); } @@ -203,6 +228,7 @@ class FragmentProfile : Fragment(com.example.brzodolokacije.R.layout.fragment_pr Toast.makeText( activity, t.toString(), Toast.LENGTH_LONG ).show(); + swipeRefreshLayout.isRefreshing=false } }) } diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_profile.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_profile.xml index 8fe6ee6..8d09153 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_profile.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_profile.xml @@ -6,314 +6,321 @@ android:layout_height="match_parent" tools:context=".Fragments.FragmentProfile"> - - - - - - - android:id="@+id/imageView4" + - - - - - + android:layout_height="match_parent"> - - - - - - - - - - - - + android:id="@+id/imageView3" + android:layout_width="match_parent" + android:layout_height="190dp" + android:foreground="@drawable/b3" + android:foregroundGravity="center_vertical|center|center_horizontal|fill" + android:src="@drawable/b3" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> - - + + android:layout_height="190dp" + app:layout_constraintBottom_toBottomOf="@+id/imageView3" + app:layout_constraintEnd_toEndOf="@id/imageView3" + app:layout_constraintHorizontal_bias="0.0" + app:layout_constraintStart_toStartOf="@+id/imageView3" + app:layout_constraintTop_toTopOf="@+id/imageView3" + app:layout_constraintVertical_bias="0.0" /> + + -