diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/MainActivity.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/MainActivity.kt index 648f5ac02..fef8bb62b 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/MainActivity.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/MainActivity.kt @@ -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() { } } + 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() { diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/TaskFormActivity.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/TaskFormActivity.kt index cdf5497b7..30ee04e7a 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/TaskFormActivity.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/TaskFormActivity.kt @@ -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 - if (result.resultCode == Activity.RESULT_OK) { val direction = result.data?.getStringExtra("direction") ?.let { TaskDirection.valueOf(it) } @@ -113,7 +112,7 @@ class TaskListActivity : BaseActivity