navigating to task list after craeting task from hub

This commit is contained in:
Phillip Thelen 2022-06-30 11:54:25 +02:00
parent 03cabd3248
commit de270a9171
3 changed files with 17 additions and 3 deletions

View file

@ -1,7 +1,9 @@
package com.habitrpg.wearos.habitica.ui.activities
import android.app.Activity
import android.content.Intent
import android.os.Bundle
import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels
import androidx.appcompat.content.res.AppCompatResources
import androidx.core.content.ContextCompat
@ -133,8 +135,17 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainViewModel>() {
}
}
private val openTaskForm = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) {
val taskType = result.data?.getStringExtra("task_type")?.let { TaskType.from(it) }
if (taskType != null) {
openTasklist(taskType)
}
}
}
private fun openTaskFormActivity() {
startActivity(Intent(this, TaskFormActivity::class.java))
openTaskForm.launch(Intent(this, TaskFormActivity::class.java))
}
private fun openAvatarActivity() {

View file

@ -1,5 +1,6 @@
package com.habitrpg.wearos.habitica.ui.activities
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.content.res.ColorStateList
@ -75,6 +76,9 @@ class TaskFormActivity : BaseActivity<ActivityTaskFormBinding, TaskFormViewModel
binding.taskConfirmationWrapper.isVisible = false
}) {
viewModel.saveTask(binding.editText.text, taskType)
val data = Intent()
data.putExtra("task_type", taskType?.value)
setResult(Activity.RESULT_OK, data)
finish()
parent.startActivity(Intent(parent, TaskListActivity::class.java).apply {

View file

@ -84,7 +84,6 @@ class TaskListActivity : BaseActivity<ActivityTasklistBinding, TaskListViewModel
private var taskToScore: Task? = null
private val habitDirectionIntentLauncher =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) {
val direction = result.data?.getStringExtra("direction")
?.let { TaskDirection.valueOf(it) }
@ -113,7 +112,7 @@ class TaskListActivity : BaseActivity<ActivityTasklistBinding, TaskListViewModel
putExtra("task_id", task.id)
})
return
} else if (task.up != true && task.down != ) {
} else if (task.up != true && task.down != true) {
return
} else {
direction = if (task.up == true) TaskDirection.UP else TaskDirection.DOWN