Skip to content

Commit b6c762f

Browse files
authored
teams: smoother user repository task realm handling (fixes #9032) (#9010)
1 parent 1803b04 commit b6c762f

File tree

3 files changed

+10
-11
lines changed

3 files changed

+10
-11
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ android {
99
applicationId "org.ole.planet.myplanet"
1010
minSdk = 26
1111
targetSdk = 36
12-
versionCode = 3719
13-
versionName = "0.37.19"
12+
versionCode = 3720
13+
versionName = "0.37.20"
1414
ndkVersion = '26.3.11579264'
1515
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1616
vectorDrawables.useSupportLibrary = true

app/src/main/java/org/ole/planet/myplanet/ui/team/teamTask/AdapterTask.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,16 @@ import org.ole.planet.myplanet.R
1717
import org.ole.planet.myplanet.databinding.RowTaskBinding
1818
import org.ole.planet.myplanet.model.RealmTeamTask
1919
import org.ole.planet.myplanet.model.RealmUserModel
20+
import org.ole.planet.myplanet.repository.UserRepository
2021
import org.ole.planet.myplanet.ui.team.teamTask.AdapterTask.ViewHolderTask
2122
import org.ole.planet.myplanet.utilities.TimeUtils.formatDate
2223

2324
class AdapterTask(
2425
private val context: Context,
2526
private val list: List<RealmTeamTask>?,
2627
private val nonTeamMember: Boolean,
27-
private val coroutineScope: CoroutineScope
28+
private val coroutineScope: CoroutineScope,
29+
private val userRepository: UserRepository
2830
) : RecyclerView.Adapter<ViewHolderTask>() {
2931
private val assigneeCache: MutableMap<String, String> = mutableMapOf()
3032
private var listener: OnCompletedListener? = null
@@ -101,12 +103,7 @@ class AdapterTask(
101103
}
102104

103105
return coroutineScope.launch(Dispatchers.IO) {
104-
var user: RealmUserModel? = null
105-
Realm.getDefaultInstance().use { realm ->
106-
user = realm.where(RealmUserModel::class.java).equalTo("id", assigneeId).findFirst()?.let {
107-
realm.copyFromRealm(it)
108-
}
109-
}
106+
val user = userRepository.getUserById(assigneeId)
110107
withContext(Dispatchers.Main) {
111108
val name = user?.name
112109
if (name != null) {

app/src/main/java/org/ole/planet/myplanet/ui/team/teamTask/TeamTaskFragment.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import io.realm.Sort
2626
import java.util.Calendar
2727
import java.util.Date
2828
import java.util.UUID
29+
import javax.inject.Inject
2930
import kotlinx.coroutines.flow.collectLatest
3031
import kotlinx.coroutines.launch
3132
import org.ole.planet.myplanet.R
@@ -36,6 +37,7 @@ import org.ole.planet.myplanet.model.RealmMyTeam.Companion.getJoinedMember
3637
import org.ole.planet.myplanet.model.RealmNews
3738
import org.ole.planet.myplanet.model.RealmTeamTask
3839
import org.ole.planet.myplanet.model.RealmUserModel
40+
import org.ole.planet.myplanet.repository.UserRepository
3941
import org.ole.planet.myplanet.ui.myhealth.UserListArrayAdapter
4042
import org.ole.planet.myplanet.ui.team.BaseTeamFragment
4143
import org.ole.planet.myplanet.ui.team.teamTask.AdapterTask.OnCompletedListener
@@ -252,7 +254,7 @@ class TeamTaskFragment : BaseTeamFragment(), OnCompletedListener {
252254
else {
253255
showNoData(binding.tvNodata, list?.size, "")
254256
}
255-
adapterTask = AdapterTask(requireContext(), list, !isMemberFlow.value, viewLifecycleOwner.lifecycleScope)
257+
adapterTask = AdapterTask(requireContext(), list, !isMemberFlow.value, viewLifecycleOwner.lifecycleScope, userRepository)
256258
adapterTask.setListener(this)
257259
binding.rvTask.adapter = adapterTask
258260
}
@@ -326,7 +328,7 @@ class TeamTaskFragment : BaseTeamFragment(), OnCompletedListener {
326328

327329
private fun updatedTeamTaskList(updatedList: RealmResults<RealmTeamTask>) {
328330
viewLifecycleOwner.lifecycleScope.launch {
329-
adapterTask = AdapterTask(requireContext(), updatedList, !isMemberFlow.value, viewLifecycleOwner.lifecycleScope)
331+
adapterTask = AdapterTask(requireContext(), updatedList, !isMemberFlow.value, viewLifecycleOwner.lifecycleScope, userRepository)
330332
adapterTask.setListener(this@TeamTaskFragment)
331333
binding.rvTask.adapter = adapterTask
332334
adapterTask.notifyDataSetChanged()

0 commit comments

Comments
 (0)