A cheap attempt at a native Bluesky client for Android

*: add splash screen, match device color

Add the `core-splashscreen` library to implement a splash screen on app startup. The `MainActivity` theme was updated in the manifest and a new starting theme was created to support this.

+10 -1
+1
app/build.gradle.kts
··· 56 56 } 57 57 58 58 dependencies { 59 + implementation("androidx.core:core-splashscreen:1.0.1") 59 60 implementation("io.ktor:ktor-client-cio:3.0.1") // Or another engine like OkHttp 60 61 implementation("io.ktor:ktor-client-plugins:3.0.1") // Or more specifically: 61 62 implementation("io.ktor:ktor-client-core:3.0.1") // Or the version aligned with the library
+1 -1
app/src/main/AndroidManifest.xml
··· 16 16 <activity 17 17 android:name=".MainActivity" 18 18 android:exported="true" 19 - android:theme="@style/Theme.Monarch" 19 + android:theme="@style/Theme.App.Starting" 20 20 android:windowSoftInputMode="adjustResize"> 21 21 <intent-filter> 22 22 <action android:name="android.intent.action.MAIN" />
+2
app/src/main/java/industries/geesawra/monarch/MainActivity.kt
··· 20 20 import androidx.compose.ui.Modifier 21 21 import androidx.compose.ui.graphics.TransformOrigin 22 22 import androidx.compose.ui.platform.LocalContext 23 + import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen 23 24 import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel 24 25 import androidx.navigation.compose.NavHost 25 26 import androidx.navigation.compose.composable ··· 50 51 class MainActivity : ComponentActivity() { 51 52 @OptIn(ExperimentalSharedTransitionApi::class) 52 53 override fun onCreate(savedInstanceState: Bundle?) { 54 + installSplashScreen() 53 55 super.onCreate(savedInstanceState) 54 56 enableEdgeToEdge() 55 57
+6
app/src/main/res/values/themes.xml
··· 2 2 <resources> 3 3 4 4 <style name="Theme.Monarch" parent="android:Theme.Material.Light.NoActionBar" /> 5 + 6 + <style name="Theme.App.Starting" parent="Theme.SplashScreen"> 7 + <item name="windowSplashScreenBackground">@style/Theme.Monarch</item> 8 + <item name="windowSplashScreenAnimatedIcon">@mipmap/ic_launcher</item> 9 + <item name="postSplashScreenTheme">@style/Theme.Monarch</item> 10 + </style> 5 11 </resources>