From 49cc4aa7d3bd5e8a976062a2a83381e25f48a336 Mon Sep 17 00:00:00 2001 From: Daniel Shokouhi Date: Mon, 2 Oct 2023 15:24:39 -0700 Subject: [PATCH] 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 --- gradle/libs.versions.toml | 2 ++ wear/build.gradle.kts | 1 + wear/src/main/AndroidManifest.xml | 3 ++- .../android/conversation/ConversationActivity.kt | 2 ++ .../companion/android/splash/SplashActivity.kt | 2 ++ wear/src/main/res/drawable/splash_background.xml | 9 +++------ .../main/res/drawable/splash_background_assist.xml | 9 +++++++++ wear/src/main/res/values/dimens.xml | 5 +++++ wear/src/main/res/values/styles.xml | 12 ++++++++++-- 9 files changed, 36 insertions(+), 9 deletions(-) create mode 100755 wear/src/main/res/drawable/splash_background_assist.xml diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4f1689267..c1d560c41 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -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" } diff --git a/wear/build.gradle.kts b/wear/build.gradle.kts index 2376e4513..dc077b1b9 100644 --- a/wear/build.gradle.kts +++ b/wear/build.gradle.kts @@ -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) diff --git a/wear/src/main/AndroidManifest.xml b/wear/src/main/AndroidManifest.xml index 7052fc714..f4d31032c 100644 --- a/wear/src/main/AndroidManifest.xml +++ b/wear/src/main/AndroidManifest.xml @@ -63,7 +63,7 @@ @@ -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"> diff --git a/wear/src/main/java/io/homeassistant/companion/android/conversation/ConversationActivity.kt b/wear/src/main/java/io/homeassistant/companion/android/conversation/ConversationActivity.kt index adae55d4d..6b5898ad0 100755 --- a/wear/src/main/java/io/homeassistant/companion/android/conversation/ConversationActivity.kt +++ b/wear/src/main/java/io/homeassistant/companion/android/conversation/ConversationActivity.kt @@ -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 { diff --git a/wear/src/main/java/io/homeassistant/companion/android/splash/SplashActivity.kt b/wear/src/main/java/io/homeassistant/companion/android/splash/SplashActivity.kt index 783f0e551..e3d91df8d 100755 --- a/wear/src/main/java/io/homeassistant/companion/android/splash/SplashActivity.kt +++ b/wear/src/main/java/io/homeassistant/companion/android/splash/SplashActivity.kt @@ -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) diff --git a/wear/src/main/res/drawable/splash_background.xml b/wear/src/main/res/drawable/splash_background.xml index d75370b2a..7cb402f18 100755 --- a/wear/src/main/res/drawable/splash_background.xml +++ b/wear/src/main/res/drawable/splash_background.xml @@ -1,12 +1,9 @@ - - - \ No newline at end of file diff --git a/wear/src/main/res/drawable/splash_background_assist.xml b/wear/src/main/res/drawable/splash_background_assist.xml new file mode 100755 index 000000000..874e53e83 --- /dev/null +++ b/wear/src/main/res/drawable/splash_background_assist.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/wear/src/main/res/values/dimens.xml b/wear/src/main/res/values/dimens.xml index 1a7ba4a1a..3ede01ee9 100644 --- a/wear/src/main/res/values/dimens.xml +++ b/wear/src/main/res/values/dimens.xml @@ -12,4 +12,9 @@ inner_frame_layout_padding (below variable) on round screens. --> 5dp + + + 48dp \ No newline at end of file diff --git a/wear/src/main/res/values/styles.xml b/wear/src/main/res/values/styles.xml index be36ff588..9d044a7d3 100644 --- a/wear/src/main/res/values/styles.xml +++ b/wear/src/main/res/values/styles.xml @@ -30,7 +30,15 @@ sans-serif-medium - + +