diff --git a/app/src/main/java/org/ole/planet/myplanet/ui/team/teamMember/AdapterJoinedMember.kt b/app/src/main/java/org/ole/planet/myplanet/ui/team/teamMember/AdapterJoinedMember.kt index 1bfc0d9cf4..3fec35d920 100644 --- a/app/src/main/java/org/ole/planet/myplanet/ui/team/teamMember/AdapterJoinedMember.kt +++ b/app/src/main/java/org/ole/planet/myplanet/ui/team/teamMember/AdapterJoinedMember.kt @@ -19,6 +19,7 @@ import org.ole.planet.myplanet.model.RealmTeamLog import org.ole.planet.myplanet.model.RealmUserModel import org.ole.planet.myplanet.service.UserProfileDbHandler import io.realm.Realm +import io.realm.Sort import org.ole.planet.myplanet.utilities.Utilities class AdapterJoinedMember(private val context: Context, private val list: List, private val mRealm: Realm, private val teamId: String) : RecyclerView.Adapter() { @@ -95,14 +96,20 @@ class AdapterJoinedMember(private val context: Context, private val list: List - if (position >= 0 && position < list.size) { when (i) { 0 -> { if (currentUser.id != list[position].id) { reject(list[position], position) } else { - Toast.makeText(context, R.string.cannot_remove_user, Toast.LENGTH_SHORT).show() + val nextOfKin= getNextOfKin() + if(nextOfKin!=null){ + makeLeader(nextOfKin) + reject(list[position], position) + } + else { + Toast.makeText(context, R.string.cannot_remove_user, Toast.LENGTH_SHORT).show() + } } } 1 -> { @@ -122,7 +129,29 @@ class AdapterJoinedMember(private val context: Context, private val list: List = mRealm.where(RealmMyTeam::class.java) + .equalTo("teamId", teamId) + .equalTo("isLeader", false) + .notEqualTo("status","archived") + .sort("createdDate", Sort.DESCENDING) + .findAll() + val successor = if (members.isNotEmpty()) members?.first() else null + if(successor==null){ + return null + } + else{ + val user= mRealm.where(RealmUserModel::class.java).equalTo("id", successor.userId).findFirst() + return user + } + return null + } + private fun makeLeader(userModel: RealmUserModel) { + if(userModel==null){ + Utilities.toast(context, context.getString(R.string.cannot_remove_user)) + return + } mRealm.executeTransaction { realm -> val team = realm.where(RealmMyTeam::class.java) .equalTo("teamId", teamId) @@ -134,6 +163,7 @@ class AdapterJoinedMember(private val context: Context, private val list: List