Jelajahi Sumber

Added back handler

Vadik Sirekanyan 2 tahun lalu
induk
melakukan
215a2c379f
1 mengubah file dengan 7 tambahan dan 0 penghapusan
  1. 7 0
      app/src/main/java/org/sirekanyan/outline/MainActivity.kt

+ 7 - 0
app/src/main/java/org/sirekanyan/outline/MainActivity.kt

@@ -2,6 +2,7 @@ package org.sirekanyan.outline
 
 import android.os.Bundle
 import androidx.activity.ComponentActivity
+import androidx.activity.compose.BackHandler
 import androidx.activity.compose.setContent
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.material3.MaterialTheme
@@ -28,6 +29,12 @@ class MainActivity : ComponentActivity() {
             val keys by produceState(listOf<Key>(), state.selected) {
                 value = state.selected?.let { api.getKeys(it) } ?: listOf()
             }
+            BackHandler {
+                when {
+                    state.page is DraftPage -> state.page = HelloPage
+                    state.drawer.isOpen -> state.closeDrawer()
+                }
+            }
             OutlineTheme {
                 Surface(Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background) {
                     if (state.page is DraftPage) {