Use recommended splash screen library for Wear OS (#3908)

* Use recommended splash screen library for Wear OS

* More tweaks per recommendations

* Add splash screen to Assist

* Add splash screen for Assist

* Use mipmap instead of drawable
This commit is contained in:
Daniel Shokouhi 2023-10-02 15:24:39 -07:00 committed by GitHub
parent f9c7bceac0
commit 49cc4aa7d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 36 additions and 9 deletions

View File

@ -21,6 +21,7 @@ compose-compiler = "1.5.3"
constraintlayout = "2.1.4"
converterJackson = "2.9.0"
coreKtx = "1.12.0"
core-splashscreen = "1.1.0-alpha02"
cronet-embedded = "113.5672.61"
emojiJava = "5.1.1"
firebase-bom = "32.2.3"
@ -115,6 +116,7 @@ compose-uiTooling = { module = "androidx.compose.ui:ui-tooling" }
compose-compiler = { module = "androidx.compose.compiler:compiler", version.ref = "compose-compiler" }
converter-jackson = { module = "com.squareup.retrofit2:converter-jackson", version.ref = "converterJackson" }
core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "core-splashscreen" }
cronet-embedded = { module = "org.chromium.net:cronet-embedded", version.ref = "cronet-embedded" }
emojiJava = { module = "com.vdurmont:emoji-java", version.ref = "emojiJava" }
firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebase-bom" }

View File

@ -82,6 +82,7 @@ dependencies {
implementation(libs.wear)
implementation(libs.core.ktx)
implementation(libs.core.splashscreen)
implementation(libs.play.services.wearable)
implementation(libs.wear.input)
implementation(libs.wear.remote.interactions)

View File

@ -63,7 +63,7 @@
<activity android:name=".home.HomeActivity" />
<activity android:name=".splash.SplashActivity"
android:theme="@style/SplashTheme"
android:theme="@style/Theme.HomeAssistant.SplashTheme"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@ -107,6 +107,7 @@
android:icon="@mipmap/ic_assist_launcher"
android:label="@string/ha_assist"
android:launchMode="singleTask"
android:theme="@style/Theme.HomeAssistant.SplashThemeAssist"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

View File

@ -13,6 +13,7 @@ import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels
import androidx.core.content.ContextCompat
import androidx.core.content.getSystemService
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.lifecycle.lifecycleScope
import dagger.hilt.android.AndroidEntryPoint
import io.homeassistant.companion.android.conversation.views.LoadAssistView
@ -45,6 +46,7 @@ class ConversationActivity : ComponentActivity() {
) { conversationViewModel.onPermissionResult(it, this::launchVoiceInputIntent) }
override fun onCreate(savedInstanceState: Bundle?) {
installSplashScreen()
super.onCreate(savedInstanceState)
lifecycleScope.launch {

View File

@ -2,11 +2,13 @@ package io.homeassistant.companion.android.splash
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import io.homeassistant.companion.android.home.HomeActivity
class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
installSplashScreen()
super.onCreate(savedInstanceState)
val intent = HomeActivity.newInstance(this)

View File

@ -1,12 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/black" />
<item
android:drawable="@drawable/app_icon"
android:width="48dp"
android:height="48dp"
android:drawable="@mipmap/ic_launcher_round"
android:width="@dimen/splash_screen_icon_size"
android:height="@dimen/splash_screen_icon_size"
android:gravity="center"/>
</layer-list>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@mipmap/ic_assist_launcher"
android:width="@dimen/splash_screen_icon_size"
android:height="@dimen/splash_screen_icon_size"
android:gravity="center"/>
</layer-list>

View File

@ -12,4 +12,9 @@
inner_frame_layout_padding (below variable) on round screens.
-->
<dimen name="inner_frame_layout_padding">5dp</dimen>
<!--
Dimensions for splash screen icon size.
-->
<dimen name="splash_screen_icon_size">48dp</dimen>
</resources>

View File

@ -30,7 +30,15 @@
<item name="android:fontFamily">sans-serif-medium</item>
</style>
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/splash_background</item>
<style name="Theme.HomeAssistant.SplashTheme" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">@android:color/black</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/splash_background</item>
<item name="postSplashScreenTheme">@style/Theme.HomeAssistant</item>
</style>
<style name="Theme.HomeAssistant.SplashThemeAssist" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">@android:color/black</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/splash_background_assist</item>
<item name="postSplashScreenTheme">@style/Theme.HomeAssistant</item>
</style>
</resources>