@@ -20,11 +20,7 @@ import androidx.fragment.app.Fragment
2020import androidx.lifecycle.lifecycleScope
2121import androidx.recyclerview.widget.RecyclerView
2222import com.google.android.material.snackbar.Snackbar
23- import com.google.gson.JsonObject
2423import dagger.hilt.android.AndroidEntryPoint
25- import java.util.Calendar
26- import java.util.UUID
27- import javax.inject.Inject
2824import kotlinx.coroutines.Dispatchers
2925import kotlinx.coroutines.Job
3026import kotlinx.coroutines.delay
@@ -41,9 +37,7 @@ import org.ole.planet.myplanet.callback.TagClickListener
4137import org.ole.planet.myplanet.model.RealmCourseProgress.Companion.getCourseProgress
4238import org.ole.planet.myplanet.model.RealmMyCourse
4339import org.ole.planet.myplanet.model.RealmRating.Companion.getRatings
44- import org.ole.planet.myplanet.model.RealmSearchActivity
4540import org.ole.planet.myplanet.model.RealmTag
46- import org.ole.planet.myplanet.model.RealmTag.Companion.getTagsArray
4741import org.ole.planet.myplanet.model.RealmUserModel
4842import org.ole.planet.myplanet.repository.TagsRepository
4943import org.ole.planet.myplanet.service.UserProfileDbHandler
@@ -53,10 +47,10 @@ import org.ole.planet.myplanet.ui.resources.CollectionsFragment
5347import org.ole.planet.myplanet.ui.sync.RealtimeSyncHelper
5448import org.ole.planet.myplanet.ui.sync.RealtimeSyncMixin
5549import org.ole.planet.myplanet.utilities.DialogUtils
56- import org.ole.planet.myplanet.utilities.JsonUtils
5750import org.ole.planet.myplanet.utilities.KeyboardUtils.setupUI
5851import org.ole.planet.myplanet.utilities.NavigationHelper
5952import org.ole.planet.myplanet.utilities.SharedPrefManager
53+ import javax.inject.Inject
6054
6155@AndroidEntryPoint
6256class CoursesFragment : BaseRecyclerFragment <RealmMyCourse ?>(), OnCourseItemSelected, TagClickListener, RealtimeSyncMixin {
@@ -222,14 +216,19 @@ class CoursesFragment : BaseRecyclerFragment<RealmMyCourse?>(), OnCourseItemSele
222216 }
223217
224218 override fun getAdapter (): RecyclerView .Adapter <* > {
225- adapterCourses = CoursesAdapter (
226- requireActivity(),
227- emptyList(),
228- HashMap <String ?, JsonObject >(),
229- userModel,
230- tagsRepository
231- )
232- adapterCourses.setProgressMap(HashMap <String ?, JsonObject >())
219+ val allCourses: List <RealmMyCourse ?> = getList(RealmMyCourse ::class .java).filterIsInstance<RealmMyCourse ?>().filter { ! it?.courseTitle.isNullOrBlank() }
220+
221+ val courseList = if (isMyCourseLib) {
222+ allCourses.filter { it?.isMyCourse == true }
223+ } else {
224+ allCourses.sortedWith(compareBy({ it?.isMyCourse }, { it?.courseTitle }))
225+ }
226+
227+ val map = getRatings(mRealm, " course" , model?.id)
228+ val progressMap = getCourseProgress(mRealm, model?.id)
229+
230+ adapterCourses = CoursesAdapter (requireActivity(), courseList, map, userModel, tagsRepository)
231+ adapterCourses.setProgressMap(progressMap)
233232 adapterCourses.setListener(this @CoursesFragment)
234233 adapterCourses.setRatingChangeListener(this @CoursesFragment)
235234 return adapterCourses
@@ -377,10 +376,6 @@ class CoursesFragment : BaseRecyclerFragment<RealmMyCourse?>(), OnCourseItemSele
377376 if ((selectedItems?.size ? : 0 ) > 0 ) {
378377 confirmation = createAlertDialog()
379378 confirmation.show()
380- addToMyList()
381- selectedItems?.clear()
382- tvAddToLib.isEnabled = false
383- checkList()
384379 }
385380 }
386381 etSearch = requireView().findViewById(R .id.et_search)
@@ -545,12 +540,9 @@ class CoursesFragment : BaseRecyclerFragment<RealmMyCourse?>(), OnCourseItemSele
545540 }
546541 .setNegativeButton(R .string.ok) { dialog: DialogInterface , _: Int ->
547542 dialog.cancel()
548- clearAllSelections()
549- loadDataAsync()
550543 }
551544 .setOnDismissListener {
552- clearAllSelections()
553- loadDataAsync()
545+ addToMyList()
554546 }
555547
556548 return builder.create()
0 commit comments