Skip to content

Commit 649cba1

Browse files
committed
ui: enable edge-to-edge and add window insets for activities
1 parent bb26957 commit 649cba1

File tree

3 files changed

+63
-45
lines changed

3 files changed

+63
-45
lines changed

app/src/main/java/io/shubham0204/smollmandroid/ui/screens/chat/ChatActivity.kt

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import android.widget.Toast
2727
import androidx.activity.ComponentActivity
2828
import androidx.activity.compose.BackHandler
2929
import androidx.activity.compose.setContent
30+
import androidx.activity.enableEdgeToEdge
3031
import androidx.compose.animation.AnimatedVisibility
3132
import androidx.compose.animation.fadeIn
3233
import androidx.compose.animation.fadeOut
@@ -42,6 +43,7 @@ import androidx.compose.foundation.layout.fillMaxSize
4243
import androidx.compose.foundation.layout.fillMaxWidth
4344
import androidx.compose.foundation.layout.height
4445
import androidx.compose.foundation.layout.padding
46+
import androidx.compose.foundation.layout.safeDrawingPadding
4547
import androidx.compose.foundation.layout.size
4648
import androidx.compose.foundation.layout.width
4749
import androidx.compose.foundation.layout.widthIn
@@ -126,6 +128,7 @@ class ChatActivity : ComponentActivity() {
126128

127129
override fun onCreate(savedInstanceState: Bundle?) {
128130
super.onCreate(savedInstanceState)
131+
enableEdgeToEdge()
129132

130133
/**
131134
* Check if the activity was launched by an intent to share text with the app
@@ -154,23 +157,25 @@ class ChatActivity : ComponentActivity() {
154157

155158
setContent {
156159
val navController = rememberNavController()
157-
NavHost(
158-
navController = navController,
159-
startDestination = "chat",
160-
enterTransition = { fadeIn() },
161-
exitTransition = { fadeOut() },
162-
) {
163-
composable("edit-chat") {
164-
EditChatSettingsScreen(
165-
viewModel,
166-
onBackClicked = { navController.navigateUp() },
167-
)
168-
}
169-
composable("chat") {
170-
ChatActivityScreenUI(
171-
viewModel,
172-
onEditChatParamsClick = { navController.navigate("edit-chat") },
173-
)
160+
Box(modifier = Modifier.safeDrawingPadding()) {
161+
NavHost(
162+
navController = navController,
163+
startDestination = "chat",
164+
enterTransition = { fadeIn() },
165+
exitTransition = { fadeOut() },
166+
) {
167+
composable("edit-chat") {
168+
EditChatSettingsScreen(
169+
viewModel,
170+
onBackClicked = { navController.navigateUp() },
171+
)
172+
}
173+
composable("chat") {
174+
ChatActivityScreenUI(
175+
viewModel,
176+
onEditChatParamsClick = { navController.navigate("edit-chat") },
177+
)
178+
}
174179
}
175180
}
176181
}

app/src/main/java/io/shubham0204/smollmandroid/ui/screens/manage_tasks/ManageTasksActivity.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import android.os.Bundle
2121
import android.widget.Toast
2222
import androidx.activity.ComponentActivity
2323
import androidx.activity.compose.setContent
24+
import androidx.activity.enableEdgeToEdge
2425
import androidx.compose.foundation.background
2526
import androidx.compose.foundation.clickable
2627
import androidx.compose.foundation.layout.Box
@@ -31,6 +32,7 @@ import androidx.compose.foundation.layout.fillMaxSize
3132
import androidx.compose.foundation.layout.fillMaxWidth
3233
import androidx.compose.foundation.layout.height
3334
import androidx.compose.foundation.layout.padding
35+
import androidx.compose.foundation.layout.safeDrawingPadding
3436
import androidx.compose.foundation.lazy.LazyColumn
3537
import androidx.compose.foundation.lazy.items
3638
import androidx.compose.material3.ExperimentalMaterial3Api
@@ -70,7 +72,12 @@ import org.koin.androidx.compose.koinViewModel
7072
class ManageTasksActivity : ComponentActivity() {
7173
override fun onCreate(savedInstanceState: Bundle?) {
7274
super.onCreate(savedInstanceState)
73-
setContent { TasksActivityScreenUI() }
75+
enableEdgeToEdge()
76+
setContent {
77+
Box(modifier = Modifier.safeDrawingPadding()) {
78+
TasksActivityScreenUI()
79+
}
80+
}
7481
}
7582
}
7683

app/src/main/java/io/shubham0204/smollmandroid/ui/screens/model_download/DownloadModelActivity.kt

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,22 @@ import android.provider.DocumentsContract
2424
import androidx.activity.ComponentActivity
2525
import androidx.activity.compose.rememberLauncherForActivityResult
2626
import androidx.activity.compose.setContent
27+
import androidx.activity.enableEdgeToEdge
2728
import androidx.activity.result.contract.ActivityResultContracts
2829
import androidx.compose.animation.fadeIn
2930
import androidx.compose.animation.fadeOut
3031
import androidx.compose.foundation.background
3132
import androidx.compose.foundation.clickable
3233
import androidx.compose.foundation.layout.Arrangement
34+
import androidx.compose.foundation.layout.Box
3335
import androidx.compose.foundation.layout.Column
3436
import androidx.compose.foundation.layout.Row
3537
import androidx.compose.foundation.layout.Spacer
3638
import androidx.compose.foundation.layout.fillMaxSize
3739
import androidx.compose.foundation.layout.fillMaxWidth
3840
import androidx.compose.foundation.layout.height
3941
import androidx.compose.foundation.layout.padding
42+
import androidx.compose.foundation.layout.safeDrawingPadding
4043
import androidx.compose.foundation.layout.width
4144
import androidx.compose.foundation.rememberScrollState
4245
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -88,35 +91,38 @@ class DownloadModelActivity : ComponentActivity() {
8891

8992
override fun onCreate(savedInstanceState: Bundle?) {
9093
super.onCreate(savedInstanceState)
94+
enableEdgeToEdge()
9195
setContent {
9296
val navController = rememberNavController()
93-
NavHost(
94-
navController = navController,
95-
startDestination = "download-model",
96-
enterTransition = { fadeIn() },
97-
exitTransition = { fadeOut() },
98-
) {
99-
composable("view-model") {
100-
ViewHFModelScreen(
101-
viewModel,
102-
onBackClicked = { navController.navigateUp() },
103-
)
104-
}
105-
composable("hf-model-select") {
106-
HFModelDownloadScreen(
107-
viewModel,
108-
onBackClicked = { navController.navigateUp() },
109-
onModelClick = { modelId ->
110-
viewModel.viewModelId = modelId
111-
navController.navigate("view-model")
112-
},
113-
)
114-
}
115-
composable("download-model") {
116-
AddNewModelScreen(
117-
onHFModelSelectClick = { navController.navigate("hf-model-select") },
118-
onBackClick = { finish() },
119-
)
97+
Box(modifier = Modifier.safeDrawingPadding()) {
98+
NavHost(
99+
navController = navController,
100+
startDestination = "download-model",
101+
enterTransition = { fadeIn() },
102+
exitTransition = { fadeOut() },
103+
) {
104+
composable("view-model") {
105+
ViewHFModelScreen(
106+
viewModel,
107+
onBackClicked = { navController.navigateUp() },
108+
)
109+
}
110+
composable("hf-model-select") {
111+
HFModelDownloadScreen(
112+
viewModel,
113+
onBackClicked = { navController.navigateUp() },
114+
onModelClick = { modelId ->
115+
viewModel.viewModelId = modelId
116+
navController.navigate("view-model")
117+
},
118+
)
119+
}
120+
composable("download-model") {
121+
AddNewModelScreen(
122+
onHFModelSelectClick = { navController.navigate("hf-model-select") },
123+
onBackClick = { finish() },
124+
)
125+
}
120126
}
121127
}
122128
}

0 commit comments

Comments
 (0)