Files
synq/android/app/src/main/kotlin/me/hgsky/synq/MainActivity.kt
eulaly edd2c1745f fix: restore enableEdgeToEdge, enforce dark status bar icons via WindowCompat
API 35 forces edge-to-edge regardless; removing enableEdgeToEdge had no effect.
Real fix: keep it, set isAppearanceLightStatusBars=true in SideEffect so
clock/battery/wifi icons are dark and visible on the light TopAppBar background.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 07:58:12 -04:00

57 lines
1.9 KiB
Kotlin

package me.hgsky.synq
import android.content.Intent
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.runtime.Composable
import androidx.navigation.NavType
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import androidx.navigation.navArgument
import me.hgsky.synq.ui.capture.CaptureScreen
import me.hgsky.synq.ui.history.HistoryScreen
import me.hgsky.synq.ui.settings.SettingsScreen
import me.hgsky.synq.ui.theme.SynqTheme
import java.net.URLDecoder
import java.net.URLEncoder
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
val sharedText = if (intent.action == Intent.ACTION_SEND)
intent.getStringExtra(Intent.EXTRA_TEXT) else null
setContent {
SynqTheme { SynqNav(sharedText = sharedText) }
}
}
}
@Composable
private fun SynqNav(sharedText: String? = null) {
val nav = rememberNavController()
val startRoute = if (sharedText != null) {
"capture/${URLEncoder.encode(sharedText, "UTF-8")}"
} else {
"capture"
}
NavHost(navController = nav, startDestination = startRoute) {
composable("capture") { CaptureScreen(nav) }
composable(
route = "capture/{prefill}",
arguments = listOf(navArgument("prefill") { type = NavType.StringType }),
) { back ->
val prefill = back.arguments?.getString("prefill")
?.let { URLDecoder.decode(it, "UTF-8") }
CaptureScreen(nav, prefill = prefill)
}
composable("history") { HistoryScreen(nav) }
composable("settings") { SettingsScreen(nav) }
}
}