From 05124ba758414fd1fb1e13b2f4ded50eb0ee18ce Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 26 May 2026 09:10:51 +0000 Subject: [PATCH 1/2] Fix smartphone UI inset padding Agent-Logs-Url: https://github.com/oxyroid/M3UAndroid/sessions/a0ab248a-cfff-4882-b778-0888456be448 Co-authored-by: oxyroid <70512220+oxyroid@users.noreply.github.com> --- app/smartphone/src/main/java/com/m3u/smartphone/ui/App.kt | 6 ++++-- .../com/m3u/smartphone/ui/material/ktx/PaddingValues.kt | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/smartphone/src/main/java/com/m3u/smartphone/ui/App.kt b/app/smartphone/src/main/java/com/m3u/smartphone/ui/App.kt index ea5f5ad4b..55270ef5e 100644 --- a/app/smartphone/src/main/java/com/m3u/smartphone/ui/App.kt +++ b/app/smartphone/src/main/java/com/m3u/smartphone/ui/App.kt @@ -166,8 +166,10 @@ private fun AppImpl( } }, modifier = modifier - ) { - Column { + ) { contentPadding -> + Column( + modifier = Modifier.padding(contentPadding) + ) { val coroutineScope = rememberCoroutineScope() val searchBarState = rememberSearchBarState() val textFieldState = rememberTextFieldState() diff --git a/app/smartphone/src/main/java/com/m3u/smartphone/ui/material/ktx/PaddingValues.kt b/app/smartphone/src/main/java/com/m3u/smartphone/ui/material/ktx/PaddingValues.kt index e1cb66fec..0601a9f12 100644 --- a/app/smartphone/src/main/java/com/m3u/smartphone/ui/material/ktx/PaddingValues.kt +++ b/app/smartphone/src/main/java/com/m3u/smartphone/ui/material/ktx/PaddingValues.kt @@ -37,7 +37,7 @@ infix fun PaddingValues.only(side: WindowInsetsSides): PaddingValues { PaddingValues(start = calculateStartPadding(layoutDirection)) WindowInsetsSides.End -> - PaddingValues(end = calculateStartPadding(layoutDirection)) + PaddingValues(end = calculateEndPadding(layoutDirection)) WindowInsetsSides.Top -> PaddingValues(top = calculateTopPadding()) WindowInsetsSides.Bottom -> PaddingValues(bottom = calculateBottomPadding()) From 7fca9c5c9da8c1a2edbe634d7599b10e76bf17ca Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 26 May 2026 12:19:51 +0000 Subject: [PATCH 2/2] Fix app bottom overlay spacing Agent-Logs-Url: https://github.com/oxyroid/M3UAndroid/sessions/7e0e4394-fe38-4941-9af7-417a2a5e59d3 Co-authored-by: oxyroid <70512220+oxyroid@users.noreply.github.com> --- .../main/java/com/m3u/smartphone/ui/App.kt | 65 ++++++++++--------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/app/smartphone/src/main/java/com/m3u/smartphone/ui/App.kt b/app/smartphone/src/main/java/com/m3u/smartphone/ui/App.kt index 55270ef5e..80f9e99f1 100644 --- a/app/smartphone/src/main/java/com/m3u/smartphone/ui/App.kt +++ b/app/smartphone/src/main/java/com/m3u/smartphone/ui/App.kt @@ -9,10 +9,12 @@ import androidx.compose.animation.fadeOut import androidx.compose.animation.scaleIn import androidx.compose.animation.scaleOut import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.asPaddingValues +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.ime import androidx.compose.foundation.layout.padding @@ -229,41 +231,46 @@ private fun AppImpl( contentPadding = WindowInsets.ime.asPaddingValues() ) } - AppNavHost( - navController = navController, - navigateToDestination = { navController.navigate(it.name) }, - navigateToChannel = navigateToChannel, + Box( modifier = Modifier .fillMaxWidth() .weight(1f) - ) - // snack-host area - Row( - horizontalArrangement = Arrangement.spacedBy(spacing.small, Alignment.End), - verticalAlignment = Alignment.Bottom, - modifier = Modifier - .fillMaxWidth() - .padding(spacing.medium) ) { - SnackHost(Modifier.weight(1f)) - AnimatedVisibility( - visible = remoteControl, - enter = scaleIn(initialScale = 0.65f) + fadeIn(), - exit = scaleOut(targetScale = 0.65f) + fadeOut() + AppNavHost( + navController = navController, + navigateToDestination = { navController.navigate(it.name) }, + navigateToChannel = navigateToChannel, + modifier = Modifier.fillMaxSize() + ) + // snack-host area + Row( + horizontalArrangement = Arrangement.spacedBy(spacing.small, Alignment.End), + verticalAlignment = Alignment.Bottom, + modifier = Modifier + .align(Alignment.BottomCenter) + .fillMaxWidth() + .padding(spacing.medium) ) { - FloatingActionButton( - elevation = FloatingActionButtonDefaults.elevation( - defaultElevation = spacing.none, - pressedElevation = spacing.none, - focusedElevation = spacing.extraSmall, - hoveredElevation = spacing.extraSmall - ), - onClick = openRemoteControlSheet + SnackHost(Modifier.weight(1f)) + AnimatedVisibility( + visible = remoteControl, + enter = scaleIn(initialScale = 0.65f) + fadeIn(), + exit = scaleOut(targetScale = 0.65f) + fadeOut() ) { - Icon( - imageVector = Icons.Rounded.SettingsRemote, - contentDescription = stringResource(com.m3u.i18n.R.string.feat_setting_remote_control) - ) + FloatingActionButton( + elevation = FloatingActionButtonDefaults.elevation( + defaultElevation = spacing.none, + pressedElevation = spacing.none, + focusedElevation = spacing.extraSmall, + hoveredElevation = spacing.extraSmall + ), + onClick = openRemoteControlSheet + ) { + Icon( + imageVector = Icons.Rounded.SettingsRemote, + contentDescription = stringResource(com.m3u.i18n.R.string.feat_setting_remote_control) + ) + } } } }