diff --git a/app/src/main/java/com/example/lzwcai_terminal_temi/MainActivity.kt b/app/src/main/java/com/example/lzwcai_terminal_temi/MainActivity.kt index de90eca..75c7fa7 100644 --- a/app/src/main/java/com/example/lzwcai_terminal_temi/MainActivity.kt +++ b/app/src/main/java/com/example/lzwcai_terminal_temi/MainActivity.kt @@ -15,6 +15,8 @@ import android.util.Base64 import android.graphics.drawable.GradientDrawable import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat +import androidx.activity.result.ActivityResultLauncher +import androidx.activity.result.contract.ActivityResultContracts import androidx.core.content.ContextCompat import com.example.lzwcai_terminal_temi.databinding.ActivityMainBinding import com.robotemi.sdk.Robot @@ -63,14 +65,9 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG private var liveKitManager: LiveKitManager? = null private var isLiveKitConnected = false - companion object { - private const val REQUEST_CLEAR_TASK = 1001 - } - - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { - super.onActivityResult(requestCode, resultCode, data) - if (requestCode == REQUEST_CLEAR_TASK && resultCode == RESULT_OK) { - data?.getBooleanExtra("clear_task", false)?.let { clearTask -> + private val clearTaskLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> + if (result.resultCode == RESULT_OK) { + result.data?.getBooleanExtra("clear_task", false)?.let { clearTask -> if (clearTask) { setCurrentTask("") } @@ -159,7 +156,7 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG lastArrivalLocation = prefs.getString("current_location", null) } binding.btnSettings.setOnClickListener { - startActivityForResult(Intent(this, SettingsActivity::class.java), REQUEST_CLEAR_TASK) + clearTaskLauncher.launch(Intent(this, SettingsActivity::class.java)) } taskController = TaskController(