diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTaskLocalRepository.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTaskLocalRepository.kt index 8ba73a7c6..12af5e247 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTaskLocalRepository.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTaskLocalRepository.kt @@ -7,6 +7,7 @@ import io.reactivex.Maybe import io.realm.Realm import io.realm.RealmObject import io.realm.RealmResults +import io.realm.Sort class RealmTaskLocalRepository(realm: Realm) : RealmBaseLocalRepository(realm), TaskLocalRepository { @@ -14,7 +15,7 @@ class RealmTaskLocalRepository(realm: Realm) : RealmBaseLocalRepository(realm), return realm.where(Task::class.java) .equalTo("type", taskType) .equalTo("userId", userID) - .sort("position") + .sort("position", Sort.ASCENDING, "dateCreated", Sort.DESCENDING) .findAll() .asFlowable() .filter { it.isLoaded } @@ -23,7 +24,7 @@ class RealmTaskLocalRepository(realm: Realm) : RealmBaseLocalRepository(realm), override fun getTasks(userId: String): Flowable> { return realm.where(Task::class.java).equalTo("userId", userId) - .sort("position") + .sort("position", Sort.ASCENDING, "dateCreated", Sort.DESCENDING) .findAll() .asFlowable() .filter { it.isLoaded } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt index c009b383e..0efd1b8bc 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt @@ -323,6 +323,7 @@ class TaskFormActivity : BaseActivity() { if (thisTask == null) { thisTask = Task() thisTask.type = taskType + thisTask.dateCreated = Date() } thisTask.text = textEditText.text.toString() thisTask.notes = notesEditText.text.toString() diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/form/TaskSchedulingControls.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/form/TaskSchedulingControls.kt index d9cdf7582..1ae43f827 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/form/TaskSchedulingControls.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/form/TaskSchedulingControls.kt @@ -75,7 +75,7 @@ class TaskSchedulingControls @JvmOverloads constructor( configureViewsForFrequency() } var everyX - get() = (repeatsEveryEdittext.text ?: "1").toString().toInt() + get() = (repeatsEveryEdittext.text ?: "1").toString().toIntOrNull() ?: 1 set(value) { try { repeatsEveryEdittext.setText(value.toString())