@@ -10,14 +10,17 @@ package com.magnitudestudios.GameFace.views
1010import android.widget.ImageView
1111import androidx.core.content.ContextCompat
1212import androidx.recyclerview.widget.RecyclerView
13+ import com.magnitudestudios.GameFace.Constants
1314import com.magnitudestudios.GameFace.R
1415import com.magnitudestudios.GameFace.callbacks.RVButtonClick
1516import com.magnitudestudios.GameFace.databinding.RowUsersBinding
1617import com.magnitudestudios.GameFace.pojo.UserInfo.Profile
18+ import java.lang.IllegalStateException
1719
1820class AddFriendViewHolder (bind : RowUsersBinding , listener : RVButtonClick ) : RecyclerView.ViewHolder(bind.root) {
1921 private val mBinding = bind
2022 private val mListener = listener
23+ private var state = Constants .STATE_DEFAULT
2124 init {
2225 mBinding.sendRequest.setOnClickListener { mListener.onClick(adapterPosition) }
2326 mBinding.sendRequest.setOnLongClickListener {
@@ -33,14 +36,28 @@ class AddFriendViewHolder(bind: RowUsersBinding, listener: RVButtonClick) : Recy
3336 mBinding.profile.fullName.text = data.name
3437 }
3538
36- // 0 = default | 1 = request sent | 2 = Friends
39+ // 0 = default | 1 = request sent | 2 = Friends | 3 = Own Profile
3740 fun setState (state : Int = 0) {
38- if (state == 0 ) {
39- mBinding.sendRequest.text = itemView.context.getText(R .string.users_send_request)
40- mBinding.sendRequest.backgroundTintList = ContextCompat .getColorStateList(itemView.context, R .color.color_primary_selector)
41- } else {
42- mBinding.sendRequest.text = itemView.context.getText(R .string.users_request_sent)
43- mBinding.sendRequest.backgroundTintList = ContextCompat .getColorStateList(itemView.context, R .color.color_accent_selector)
41+ when (state) {
42+ Constants .STATE_DEFAULT -> {
43+ mBinding.sendRequest.text = itemView.context.getText(R .string.users_send_request)
44+ mBinding.sendRequest.backgroundTintList = ContextCompat .getColorStateList(itemView.context, R .color.color_primary_selector)
45+ }
46+ Constants .STATE_REQUESTED -> {
47+ mBinding.sendRequest.text = itemView.context.getText(R .string.users_request_sent)
48+ mBinding.sendRequest.backgroundTintList = ContextCompat .getColorStateList(itemView.context, R .color.color_accent_selector)
49+ }
50+ Constants .STATE_FRIENDS -> {
51+ mBinding.sendRequest.text = itemView.context.getText(R .string.users_friend_profile)
52+ mBinding.sendRequest.backgroundTintList = ContextCompat .getColorStateList(itemView.context, R .color.blue_selector)
53+ }
54+ Constants .STATE_OWN_PROFILE -> {
55+ mBinding.sendRequest.text = itemView.context.getText(R .string.users_own_profile)
56+ mBinding.sendRequest.backgroundTintList = ContextCompat .getColorStateList(itemView.context, R .color.dark_grey_selector)
57+ }
58+ else -> {
59+ throw IllegalStateException (" Unknown Type at AddFriend of: $state " )
60+ }
4461 }
4562 }
4663
0 commit comments