Skip to content

Commit

Permalink
anr when taking a course moved to a background thread
Browse files Browse the repository at this point in the history
  • Loading branch information
Okuro3499 committed Oct 15, 2024
1 parent 8799685 commit 37a9235
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,30 @@ open class RealmCourseActivity : RealmObject() {
@JvmStatic
fun createActivity(realm: Realm, userModel: RealmUserModel?, course: RealmMyCourse?) {
if (!realm.isInTransaction) {
realm.beginTransaction()
realm.executeTransaction {
val activity = it.createObject(RealmCourseActivity::class.java, UUID.randomUUID().toString())
activity.type = "visit"
activity.title = course?.courseTitle
activity.courseId = course?.courseId
activity.time = Date().time
activity.parentCode = userModel?.parentCode
activity.createdOn = userModel?.planetCode
activity.user = userModel?.name
}
}
val activity = realm.createObject(RealmCourseActivity::class.java, UUID.randomUUID().toString())
activity.type = "visit"
activity.title = course?.courseTitle
activity.courseId = course?.courseId
activity.time = Date().time
activity.parentCode = userModel?.parentCode
activity.createdOn = userModel?.planetCode
activity.createdOn = userModel?.planetCode
activity.user = userModel?.name
realm.commitTransaction()
}
// fun createActivity(realm: Realm, userModel: RealmUserModel?, course: RealmMyCourse?) {
// realm.executeTransactionAsync { bgRealm ->
// val activity = bgRealm.createObject(RealmCourseActivity::class.java, "${UUID.randomUUID()}")
// activity.type = "visit"
// activity.title = course?.courseTitle
// activity.courseId = course?.courseId
// activity.time = Date().time
// activity.parentCode = userModel?.parentCode
// activity.createdOn = userModel?.planetCode
// activity.user = userModel?.name
// }
// }

@JvmStatic
fun serializeSerialize(realmCourseActivities: RealmCourseActivity): JsonObject {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ class TakeCourseFragment : Fragment(), ViewPager.OnPageChangeListener, View.OnCl
val i = getCurrentProgress(steps, mRealm, userModel?.id, courseId)
if (i < steps.size) fragmentTakeCourseBinding.courseProgress.secondaryProgress = i + 1
fragmentTakeCourseBinding.courseProgress.progress = i
fragmentTakeCourseBinding.tvStep.text = String.format(Locale.getDefault(),getString(R.string.step) + " %d/%d", position, steps.size)
fragmentTakeCourseBinding.tvStep.text = String.format(Locale.getDefault(),"${getString(R.string.step)} %d/%d", position, steps.size)
}

private fun changeNextButtonState(position: Int) {
Expand All @@ -157,7 +157,7 @@ class TakeCourseFragment : Fragment(), ViewPager.OnPageChangeListener, View.OnCl
override fun onPageScrollStateChanged(state: Int) {}

private fun onClickNext() {
fragmentTakeCourseBinding.tvStep.text = String.format(Locale.getDefault(),getString(R.string.step)+ " %d/%d", fragmentTakeCourseBinding.viewPager2.currentItem, currentCourse?.courseSteps?.size)
fragmentTakeCourseBinding.tvStep.text = String.format(Locale.getDefault(),"${getString(R.string.step)} %d/%d", fragmentTakeCourseBinding.viewPager2.currentItem, currentCourse?.courseSteps?.size)
if (fragmentTakeCourseBinding.viewPager2.currentItem == currentCourse?.courseSteps?.size) {
fragmentTakeCourseBinding.nextStep.setTextColor(ContextCompat.getColor(requireContext(), R.color.md_grey_500))
fragmentTakeCourseBinding.nextStep.visibility = View.GONE
Expand All @@ -166,7 +166,7 @@ class TakeCourseFragment : Fragment(), ViewPager.OnPageChangeListener, View.OnCl
}

private fun onClickPrevious() {
fragmentTakeCourseBinding.tvStep.text = String.format(Locale.getDefault(),getString(R.string.step) + " %d/%d", fragmentTakeCourseBinding.viewPager2.currentItem - 1, currentCourse?.courseSteps?.size)
fragmentTakeCourseBinding.tvStep.text = String.format(Locale.getDefault(),"${getString(R.string.step)} %d/%d", fragmentTakeCourseBinding.viewPager2.currentItem - 1, currentCourse?.courseSteps?.size)
if (fragmentTakeCourseBinding.viewPager2.currentItem - 1 == 0) {
fragmentTakeCourseBinding.previousStep.visibility = View.GONE
fragmentTakeCourseBinding.nextStep.visibility = View.VISIBLE
Expand Down Expand Up @@ -217,7 +217,6 @@ class TakeCourseFragment : Fragment(), ViewPager.OnPageChangeListener, View.OnCl
val realm = DatabaseService(requireActivity()).realmInstance
val user = UserProfileDbHandler(requireActivity()).userModel
val courseProgressMap = RealmCourseProgress.getCourseProgress(realm, user?.id)
// Extract the current progress for the specific courseId
val courseProgress = courseProgressMap[courseId]?.asJsonObject?.get("current")?.asInt
return courseProgress ?: 0
}
Expand Down

0 comments on commit 37a9235

Please sign in to comment.