Skip to content

Commit 3d2af4f

Browse files
committed
feat: Implement splash screen
1 parent 96ed159 commit 3d2af4f

File tree

7 files changed

+35
-0
lines changed

7 files changed

+35
-0
lines changed

libs.versions.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,14 @@ compose-compiler = "1.5.15"
3939
material = "1.12.0"
4040
playServicesWearable = "19.0.0"
4141
playServicesTasks = "18.2.0"
42+
splashscreen = "1.2.0-alpha02"
4243

4344
# KotlinX
4445
corutines = "1.9.0"
4546

4647
[libraries]
4748
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }
49+
androidx-splashscreen = { group = "androidx.core", name = "core-splashscreen", version.ref = "splashscreen" }
4850
androidx-activity = { group = "androidx.activity", name = "activity-compose", version.ref = "activity" }
4951
androidx-fragment = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "fragment" }
5052
androidx-lifecycle-runtime = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle" }

wearos/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ dependencies {
101101
implementation(libs.play.services.tasks)
102102

103103
implementation(libs.androidx.ktx)
104+
implementation(libs.androidx.splashscreen)
104105
implementation(libs.androidx.activity)
105106
implementation(libs.androidx.fragment)
106107
implementation(libs.androidx.lifecycle.runtime)

wearos/src/main/java/se/dennisgimbergsson/tennisscoreboard/ui/screens/MainActivity.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import androidx.compose.foundation.layout.fillMaxSize
1111
import androidx.compose.material3.MaterialTheme
1212
import androidx.compose.material3.Surface
1313
import androidx.compose.ui.Modifier
14+
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
1415
import androidx.lifecycle.compose.collectAsStateWithLifecycle
1516
import com.google.android.gms.wearable.DataClient
1617
import com.google.android.gms.wearable.PutDataMapRequest.create
@@ -35,6 +36,9 @@ class MainActivity : ComponentActivity() {
3536
private lateinit var dataClient: DataClient
3637

3738
override fun onCreate(savedInstanceState: Bundle?) {
39+
// Handle the splash screen transition.
40+
installSplashScreen()
41+
3842
super.onCreate(savedInstanceState)
3943

4044
dataClient = Wearable.getDataClient(this)
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
3+
<item
4+
android:width="@dimen/splash_screen_icon_size"
5+
android:height="@dimen/splash_screen_icon_size"
6+
android:drawable="@mipmap/ic_launcher"
7+
android:gravity="center" />
8+
</layer-list>

wearos/src/main/res/values/colors.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<color name="appPrimaryColor">#CCFF00</color>
4+
<color name="appPrimaryColorDark">#AACC00</color>
5+
</resources>

wearos/src/main/res/values/dimens.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@
1414
<dimen name="inner_frame_layout_padding">16dp</dimen>
1515
<dimen name="inner_frame_layout_top_padding">24dp</dimen>
1616
<dimen name="spacing_small">4dp</dimen>
17+
<dimen name="splash_screen_icon_size">48dp</dimen>
1718
</resources>

wearos/src/main/res/values/styles.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<style name="TennisScoreboardTheme" parent="@android:style/Theme.DeviceDefault">
4+
<item name="colorPrimary">@color/appPrimaryColor</item>
5+
<item name="colorPrimaryDark">@color/appPrimaryColor</item>
6+
<item name="android:colorBackground">@android:color/black</item>
7+
</style>
8+
9+
<style name="Theme.App.Starting" parent="Theme.SplashScreen">">
10+
<item name="windowSplashScreenBackground">@android:color/black</item>
11+
<item name="windowSplashScreenAnimatedIcon">@drawable/splash_screen</item>
12+
<item name="postSplashScreenTheme">@style/TennisScoreboardTheme</item>
13+
</style>
14+
</resources>

0 commit comments

Comments
 (0)