浏览代码

Added back handler

Vadik Sirekanyan 2 年之前
父节点
当前提交
215a2c379f
共有 1 个文件被更改,包括 7 次插入0 次删除
  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) {