Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
db54298
Migrate main screens to Material3 excepet settings
kul3r4 Jul 3, 2025
0fa6198
Remove deprecated WearDataLayerAppHelper methods (#2446)
oas004 Jul 1, 2025
416e498
Update dependency com.squareup.okio:okio 3.14.0 to v3.15.0 (#2639)
renovate-bot Jul 2, 2025
4147852
Update all dependencies (#2641)
yschimke Jul 3, 2025
038b704
Update all dependencies 5.0.0-alpha.17 to v5.0.0 (#2642)
renovate-bot Jul 3, 2025
cf82876
Update dependency gradle 8.14.2 to v8.14.3 (#2644)
renovate-bot Jul 5, 2025
1e8ff35
Update all dependencies 1.45.1 to v1.46.1 (#2645)
renovate-bot Jul 6, 2025
bfff7a3
Update all dependencies (#2646)
renovate-bot Jul 8, 2025
75f9906
Update dependency com.google.android.gms:play-services-base 18.7.1 to…
renovate-bot Jul 10, 2025
2cc2dd7
Switch AI module to m3 (#2647)
yschimke Jul 10, 2025
1fc71d5
Update dependency com.android.tools.build:gradle 8.11.0 to v8.11.1 (#…
renovate-bot Jul 11, 2025
2bddee1
Updates to M3 and genai SDK (#2650)
yschimke Jul 11, 2025
e97b16e
Refactor hiltViewModel import (#2652)
yschimke Jul 11, 2025
6621853
Support images in AI sample (#2651)
yschimke Jul 11, 2025
e607941
Use Tools in the Standalone sample (#2653)
yschimke Jul 11, 2025
acc3c63
Update gradle.properties
yschimke Jul 14, 2025
0f6ba04
Increase text contrast (#2655)
ithinkihaveacat Jul 18, 2025
6dfa95c
Update publishing setup (#2658)
yschimke Jul 18, 2025
5ffa2b9
Update all dependencies (#2656)
renovate-bot Jul 18, 2025
db789b7
Update dependency com.diffplug.spotless 7.1.0 to v7.2.0 (#2660)
renovate-bot Jul 21, 2025
001f45a
Update dependency com.diffplug.spotless 7.2.0 to v7.2.1 (#2661)
renovate-bot Jul 22, 2025
8704345
Update all dependencies (#2663)
renovate-bot Jul 24, 2025
6f1f403
Update all dependencies 1.8.0-rc01 to v1.8.0-rc02 (#2664)
renovate-bot Jul 26, 2025
69780ac
Adds the FastScrollingTransformingLazyColumn into Horologist (#2662)
brysonPaul Jul 28, 2025
75bd5a2
Update screenshots (#2666)
yschimke Jul 28, 2025
d30af1f
using RotaryScrollableBehavior to perform RSB actions + speedups to t…
brysonPaul Jul 29, 2025
cc18616
use flingBehavior to disable fast scrolling on a fling action instead…
brysonPaul Jul 30, 2025
2106dd6
Fix R8 build issue (#2671)
yschimke Jul 31, 2025
0eed652
Update gradle.properties
yschimke Aug 12, 2025
2c51f12
Add API for capturing composable in Tiles (#2674)
yschimke Aug 14, 2025
43c14ca
Cleanup the coroutines code in CaptureComposable.kt (#2676)
yschimke Aug 15, 2025
b961b7c
Update CaptureComposable.kt (#2677)
yschimke Aug 15, 2025
36fc5d0
Update kotlin (#2675)
renovate-bot Aug 15, 2025
5ec6654
Update all dependencies (#2678)
yschimke Aug 15, 2025
6a5351b
Speed ups to the SectionIndicator composable to prevent unnecessary r…
brysonPaul Aug 18, 2025
2d09ee2
Tiles: Use a display context as was intended (#2680)
yschimke Aug 19, 2025
57b497a
Handle other dispatchers (#2682)
yschimke Aug 20, 2025
34c423d
Support configurable encoding (#2683)
yschimke Aug 20, 2025
870c74d
Switch away from ProcessLifecycleOwner (#2684)
yschimke Aug 22, 2025
4de2c16
Fix closing the activity scenario (#2686)
yschimke Aug 27, 2025
79f318b
Bump VERSION_NAME to 0.8.3-alpha
yschimke Aug 27, 2025
975f67a
Remove extra withContext (#2687)
yschimke Aug 27, 2025
e095b79
Implement material3 SelectAccountScreen (#2659)
caleb-allen Aug 28, 2025
844cc01
Update all dependencies (#2670)
renovate-bot Sep 2, 2025
1f15492
Update VERSION_NAME to 0.8.3 (#2689)
yschimke Sep 2, 2025
43c4bfd
Material3 SignedInConfirmationScreen (#2688)
caleb-allen Sep 3, 2025
35cd28b
Update SignInPromptScreen to compose-material3 (#2691)
jason-sigma Sep 4, 2025
96cba4a
Revert "Update SignInPromptScreen to compose-material3 (#2691)" (#2694)
luizgrp Sep 10, 2025
d9b2a6d
Adds yields to animations to ensure subcompositions during compositio…
brysonPaul Sep 17, 2025
fa6f566
Migrate main screens to Material3 excepet settings
kul3r4 Jul 3, 2025
2e8dd4b
Separate colors for Tiles
kul3r4 Sep 19, 2025
13d57fe
update target sdk
kul3r4 Sep 19, 2025
130a9c0
updates navigation to nav3 for media sample
kul3r4 Jun 18, 2026
58df463
Merge branch 'main' into m3
kul3r4 Jun 18, 2026
0ac2523
Update wearcompose to 1.6.2 and finalize merge
kul3r4 Jun 18, 2026
a284378
Regenerate screenshots and fix UampEntityScreenViewModelTest
kul3r4 Jun 18, 2026
fb82f94
Apply spotless formatting
kul3r4 Jun 18, 2026
0f6aa73
Regenerate all project-wide screenshots
kul3r4 Jun 18, 2026
4a01655
Update UampPlayerScreenshotTest to use ui-material3 and regenerate sc…
kul3r4 Jun 18, 2026
c04183a
Add percentage padding to UampSettingsButtons and regenerate screenshots
kul3r4 Jun 18, 2026
9d62452
Merge remote-tracking branch 'origin/main' into m3
kul3r4 Jun 22, 2026
a566823
chore: Update metalava API signatures for media:ui-material3
kul3r4 Jun 22, 2026
6c623c4
Remove .idea directories from tracking and ignore them
kul3r4 Jun 22, 2026
e541bf8
adds back javalite
kul3r4 Jun 22, 2026
84bd63d
Revert removal of root .idea/.name, .idea/.gitignore, and .idea/icon.svg
kul3r4 Jun 22, 2026
76f3472
revert more javalite
kul3r4 Jun 22, 2026
a2991fb
chore: Update metalava API signatures for media:ui-material3
kul3r4 Jun 22, 2026
afe6136
Fix Apple Silicon compilation by removing unused javalite protobuf pl…
kul3r4 Jun 22, 2026
e38c5f9
reviews fixes
kul3r4 Jun 22, 2026
b09736c
Use type safe navigation
kul3r4 Jun 22, 2026
7dc8759
Updates metalava
kul3r4 Jun 22, 2026
d6726a0
Address feedback from review
kul3r4 Jun 23, 2026
7ddb15d
Address comments from review
kul3r4 Jun 23, 2026
a33d2d4
Merge branch 'main' into m3
kul3r4 Jun 23, 2026
c689460
🤖 metalava
kul3r4 Jun 23, 2026
6d4f4d8
🤖 Updates screenshots
kul3r4 Jun 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ checksum.txt
# Paparazzi failures output folder
out/

/.idea/shelf
/.idea/deploymentTargetSelector.xml
/.idea/appInsightsSettings.xml
# Android Studio / IntelliJ caches and user-specific settings
**/.idea/*
!/.idea/.gitignore
!/.idea/.name
!/.idea/icon.svg
/.kotlin/**/*
/.idea/runConfigurations.xml
/.idea/assetWizardSettings.xml
1 change: 0 additions & 1 deletion ai/sample/core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ android {
protobuf {
protoc { artifact = libs.protobuf.protoc.stnd.get().toString() }
plugins {
create("javalite") { artifact = libs.protobuf.protoc.gen.javalite.get().toString() }
create("grpc") { artifact = libs.protobuf.protoc.gen.grpc.java.get().toString() }
create("grpckt") { artifact = libs.protobuf.protoc.gen.grpc.kotlin.get().toString() }
}
Expand Down
1 change: 0 additions & 1 deletion auth/sample/shared/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ android {
protobuf {
protoc { artifact = libs.protobuf.protoc.stnd.get().toString() }
plugins {
create("javalite") { artifact = libs.protobuf.protoc.gen.javalite.get().toString() }
create("grpc") { artifact = libs.protobuf.protoc.gen.grpc.java.get().toString() }
create("grpckt") { artifact = libs.protobuf.protoc.gen.grpc.kotlin.get().toString() }
}
Expand Down
1 change: 0 additions & 1 deletion datalayer/core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ android {

protobuf {
protoc { artifact = libs.protobuf.protoc.stnd.get().toString() }
plugins { create("javalite") { artifact = libs.protobuf.protoc.gen.javalite.get().toString() } }
generateProtoTasks {
all().forEach { task ->
task.builtins {
Expand Down
1 change: 0 additions & 1 deletion datalayer/grpc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ android {
protobuf {
protoc { artifact = libs.protobuf.protoc.stnd.get().toString() }
plugins {
create("javalite") { artifact = libs.protobuf.protoc.gen.javalite.get().toString() }
create("grpc") { artifact = libs.protobuf.protoc.gen.grpc.java.get().toString() }
create("grpckt") { artifact = libs.protobuf.protoc.gen.grpc.kotlin.get().toString() }
}
Expand Down
1 change: 0 additions & 1 deletion datalayer/sample/shared/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ android {
protobuf {
protoc { artifact = libs.protobuf.protoc.stnd.get().toString() }
plugins {
create("javalite") { artifact = libs.protobuf.protoc.gen.javalite.get().toString() }
create("grpc") { artifact = libs.protobuf.protoc.gen.grpc.java.get().toString() }
create("grpckt") { artifact = libs.protobuf.protoc.gen.grpc.kotlin.get().toString() }
}
Expand Down
1 change: 0 additions & 1 deletion datalayer/sample/wear/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ android {
protobuf {
protoc { artifact = libs.protobuf.protoc.stnd.get().toString() }
plugins {
create("javalite") { artifact = libs.protobuf.protoc.gen.javalite.get().toString() }
create("grpc") { artifact = libs.protobuf.protoc.gen.grpc.java.get().toString() }
create("grpckt") { artifact = libs.protobuf.protoc.gen.grpc.kotlin.get().toString() }
}
Expand Down
8 changes: 6 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ androidx-test-espresso = "3.7.0"
androidx-test-ext = "1.3.0"
androidx-test-runner = "1.7.0"
androidx-wear-watchface = "1.3.0"
androidx-wear-watchface-rendering = "1.2.1"
androidxActivity = "1.13.0"
androidxComposeBom = "2026.03.01"
androidxCore = "1.18.0"
Expand Down Expand Up @@ -71,7 +72,7 @@ tiles-tooling-preview = "1.6.0"
truth = "1.4.5"
wearInput = "1.2.0"
wearToolingPreview = "1.0.0"
wearcompose = "1.6.1"
wearcompose = "1.6.2"
agp = "9.1.0"

[libraries]
Expand All @@ -86,7 +87,7 @@ androidx-benchmark-junit4 = { module = "androidx.benchmark:benchmark-junit4", ve
androidx-benchmark-macro-junit4 = { module = "androidx.benchmark:benchmark-macro-junit4", version.ref = "androidx-benchmark" }
androidx-complications-data = { module = "androidx.wear.watchface:watchface-complications-data", version.ref = "androidx-complications-data" }
androidx-complications-datasource-ktx = { module = "androidx.wear.watchface:watchface-complications-data-source-ktx", version.ref = "androidx-wear-watchface" }
androidx-complications-rendering = { module = "androidx.wear.watchface:watchface-complications-rendering", version = "1.2.1" }
androidx-complications-rendering = { module = "androidx.wear.watchface:watchface-complications-rendering", version.ref = "androidx-wear-watchface-rendering" }
androidx-concurrent-future = { module = "androidx.concurrent:concurrent-futures", version.ref = "androidx-concurrent" }
androidx-concurrent-future-ktx = { module = "androidx.concurrent:concurrent-futures-ktx", version.ref = "androidx-concurrent" }
androidx-constraintlayout-compose = { module = "androidx.constraintlayout:constraintlayout-compose", version.ref = "androidx-constraintlayout-compose" }
Expand Down Expand Up @@ -237,6 +238,9 @@ turbine = { module = "app.cash.turbine:turbine", version.ref = "app-cash-turbine
wearcompose-foundation = { module = "androidx.wear.compose:compose-foundation", version.ref = "wearcompose" }
wearcompose-material = { module = "androidx.wear.compose:compose-material", version.ref = "wearcompose" }
wearcompose-navigation = { module = "androidx.wear.compose:compose-navigation", version.ref = "wearcompose" }
wearcompose-navigation3 = { module = "androidx.wear.compose:compose-navigation3", version = "1.6.2" }
navigation3-runtime = { module = "androidx.navigation3:navigation3-runtime", version = "1.1.1" }
navigation3-ui = { module = "androidx.navigation3:navigation3-ui", version = "1.1.1" }
wearcompose-tooling = { module = "androidx.wear.compose:compose-ui-tooling", version.ref = "wearcompose" }

[plugins]
Expand Down
65 changes: 65 additions & 0 deletions media/data/api/current.api
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,17 @@ package com.google.android.horologist.media.database {
method public abstract com.google.android.horologist.media.database.dao.PlaylistMediaDao playlistMediaDao();
}

@javax.annotation.processing.Generated({"androidx.room.RoomProcessor"}) public final class MediaDatabase_Impl extends com.google.android.horologist.media.database.MediaDatabase {
ctor public MediaDatabase_Impl();
method public void clearAllTables();
method protected androidx.room.InvalidationTracker createInvalidationTracker();
method protected androidx.room.RoomOpenDelegate createOpenDelegate();
method public com.google.android.horologist.media.database.dao.MediaDao mediaDao();
method public com.google.android.horologist.media.database.dao.MediaDownloadDao mediaDownloadDao();
method public com.google.android.horologist.media.database.dao.PlaylistDao playlistDao();
method public com.google.android.horologist.media.database.dao.PlaylistMediaDao playlistMediaDao();
}

}

package com.google.android.horologist.media.database.dao {
Expand All @@ -226,6 +237,17 @@ package com.google.android.horologist.media.database.dao {
method @androidx.room.Insert(onConflict=androidx.room.OnConflictStrategy.Companion.REPLACE) public suspend Object? upsert(java.util.List<com.google.android.horologist.media.database.model.MediaEntity> mediaList, kotlin.coroutines.Continuation<? super kotlin.Unit>);
}

@javax.annotation.processing.Generated({"androidx.room.RoomProcessor"}) public final class MediaDao_Impl implements com.google.android.horologist.media.database.dao.MediaDao {
ctor public MediaDao_Impl(androidx.room.RoomDatabase __db);
method public suspend Object? delete(java.util.List<java.lang.String> mediaIds, kotlin.coroutines.Continuation<? super kotlin.Unit>);
method public suspend Object? upsert(java.util.List<com.google.android.horologist.media.database.model.MediaEntity> mediaList, kotlin.coroutines.Continuation<? super kotlin.Unit>);
field public static final com.google.android.horologist.media.database.dao.MediaDao_Impl.Companion Companion;
}

public static final class MediaDao_Impl.Companion {
method public java.util.List<kotlin.reflect.KClass<? extends java.lang.Object?>> getRequiredConverters();
}

@androidx.room.Dao @com.google.android.horologist.annotations.ExperimentalHorologistApi public interface MediaDownloadDao {
method @androidx.room.Query("\n DELETE FROM MediaDownloadEntity\n WHERE mediaId = :mediaId\n ") public suspend Object? delete(String mediaId, kotlin.coroutines.Continuation<? super kotlin.Unit>);
method @androidx.room.Query("\n DELETE FROM MediaDownloadEntity\n WHERE mediaId in (:mediaIds)\n ") public suspend Object? delete(java.util.List<java.lang.String> mediaIds, kotlin.coroutines.Continuation<? super kotlin.Unit>);
Expand Down Expand Up @@ -264,6 +286,23 @@ package com.google.android.horologist.media.database.dao {
property public com.google.android.horologist.media.database.model.MediaDownloadEntityStatus status;
}

@javax.annotation.processing.Generated({"androidx.room.RoomProcessor"}) public final class MediaDownloadDao_Impl implements com.google.android.horologist.media.database.dao.MediaDownloadDao {
ctor public MediaDownloadDao_Impl(androidx.room.RoomDatabase __db);
method public suspend Object? delete(String mediaId, kotlin.coroutines.Continuation<? super kotlin.Unit>);
method public suspend Object? delete(java.util.List<java.lang.String> mediaIds, kotlin.coroutines.Continuation<? super kotlin.Unit>);
method public suspend Object? getAllByStatus(com.google.android.horologist.media.database.model.MediaDownloadEntityStatus status, kotlin.coroutines.Continuation<? super java.util.List<com.google.android.horologist.media.database.model.MediaDownloadEntity>>);
method public kotlinx.coroutines.flow.Flow<java.util.List<com.google.android.horologist.media.database.model.MediaDownloadEntity>> getList(java.util.List<java.lang.String> mediaIds);
method public suspend Object? insert(com.google.android.horologist.media.database.model.MediaDownloadEntity mediaDownloadEntity, kotlin.coroutines.Continuation<? super java.lang.Long>);
method public suspend Object? updateProgress(String mediaId, float progress, long size, kotlin.coroutines.Continuation<? super kotlin.Unit>);
method public suspend Object? updateStatus(String mediaId, com.google.android.horologist.media.database.model.MediaDownloadEntityStatus status, kotlin.coroutines.Continuation<? super kotlin.Unit>);
method public suspend Object? updateStatusAndProgress(com.google.android.horologist.media.database.dao.MediaDownloadDao.StatusAndProgress statusAndProgress, kotlin.coroutines.Continuation<? super kotlin.Unit>);
field public static final com.google.android.horologist.media.database.dao.MediaDownloadDao_Impl.Companion Companion;
}

public static final class MediaDownloadDao_Impl.Companion {
method public java.util.List<kotlin.reflect.KClass<? extends java.lang.Object?>> getRequiredConverters();
}

@androidx.room.Dao @com.google.android.horologist.annotations.ExperimentalHorologistApi public interface PlaylistDao {
method @androidx.room.Query("\n DELETE FROM PlaylistEntity\n WHERE playlistId in (:playlistIds)\n ") public void delete(java.util.List<java.lang.String> playlistIds);
method @androidx.room.Query("\n SELECT * FROM PlaylistEntity\n WHERE EXISTS (\n SELECT 1 FROM PlaylistMediaEntity\n WHERE PlaylistMediaEntity.playlistId = PlaylistEntity.playlistId\n AND EXISTS (\n SELECT 1 FROM MediaDownloadEntity\n WHERE MediaDownloadEntity.mediaId = PlaylistMediaEntity.mediaId\n )\n )\n ") @androidx.room.Transaction public kotlinx.coroutines.flow.Flow<java.util.List<com.google.android.horologist.media.database.model.PopulatedPlaylist>> getAllDownloaded();
Expand All @@ -273,11 +312,37 @@ package com.google.android.horologist.media.database.dao {
method @androidx.room.Insert(onConflict=androidx.room.OnConflictStrategy.Companion.REPLACE) public suspend Object? upsert(com.google.android.horologist.media.database.model.PlaylistEntity playlistEntity, java.util.List<com.google.android.horologist.media.database.model.MediaEntity> mediaEntityList, java.util.List<com.google.android.horologist.media.database.model.PlaylistMediaEntity> playlistMediaEntityList, kotlin.coroutines.Continuation<? super kotlin.Unit>);
}

@javax.annotation.processing.Generated({"androidx.room.RoomProcessor"}) public final class PlaylistDao_Impl implements com.google.android.horologist.media.database.dao.PlaylistDao {
ctor public PlaylistDao_Impl(androidx.room.RoomDatabase __db);
method public void delete(java.util.List<java.lang.String> playlistIds);
method public kotlinx.coroutines.flow.Flow<java.util.List<com.google.android.horologist.media.database.model.PopulatedPlaylist>> getAllDownloaded();
method public kotlinx.coroutines.flow.Flow<java.util.List<com.google.android.horologist.media.database.model.PopulatedPlaylist>> getAllPopulated();
method public suspend Object? getPopulated(String playlistId, kotlin.coroutines.Continuation<? super com.google.android.horologist.media.database.model.PopulatedPlaylist?>);
method public kotlinx.coroutines.flow.Flow<com.google.android.horologist.media.database.model.PopulatedPlaylist?> getPopulatedStream(String playlistId);
method public suspend Object? upsert(com.google.android.horologist.media.database.model.PlaylistEntity playlistEntity, java.util.List<com.google.android.horologist.media.database.model.MediaEntity> mediaEntityList, java.util.List<com.google.android.horologist.media.database.model.PlaylistMediaEntity> playlistMediaEntityList, kotlin.coroutines.Continuation<? super kotlin.Unit>);
field public static final com.google.android.horologist.media.database.dao.PlaylistDao_Impl.Companion Companion;
}

public static final class PlaylistDao_Impl.Companion {
method public java.util.List<kotlin.reflect.KClass<? extends java.lang.Object?>> getRequiredConverters();
}

@androidx.room.Dao @com.google.android.horologist.annotations.ExperimentalHorologistApi public interface PlaylistMediaDao {
method @androidx.room.Query("\n DELETE FROM PlaylistMediaEntity\n WHERE mediaId in (:mediaIds)\n ") public void deleteByMediaId(java.util.List<java.lang.String> mediaIds);
method @androidx.room.Query("\n DELETE FROM PlaylistMediaEntity\n WHERE playlistId in (:playlistIds)\n ") public void deleteByPlaylistId(java.util.List<java.lang.String> playlistIds);
}

@javax.annotation.processing.Generated({"androidx.room.RoomProcessor"}) public final class PlaylistMediaDao_Impl implements com.google.android.horologist.media.database.dao.PlaylistMediaDao {
ctor public PlaylistMediaDao_Impl(androidx.room.RoomDatabase __db);
method public void deleteByMediaId(java.util.List<java.lang.String> mediaIds);
method public void deleteByPlaylistId(java.util.List<java.lang.String> playlistIds);
field public static final com.google.android.horologist.media.database.dao.PlaylistMediaDao_Impl.Companion Companion;
}

public static final class PlaylistMediaDao_Impl.Companion {
method public java.util.List<kotlin.reflect.KClass<? extends java.lang.Object?>> getRequiredConverters();
}

}

package com.google.android.horologist.media.database.mapper {
Expand Down
11 changes: 8 additions & 3 deletions media/sample/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@ if (localFile.exists()) {
}

android {
compileSdk = 36
compileSdk = 37

defaultConfig {
applicationId = "com.google.android.horologist.mediasample"
// Min because of Tiles
minSdk = 26
targetSdk = 34
targetSdk = 37

versionCode = 1
versionName = "1.0"
Expand Down Expand Up @@ -106,7 +106,7 @@ android {

protobuf {
protoc { artifact = libs.protobuf.protoc.stnd.get().toString() }
plugins { create("javalite") { artifact = libs.protobuf.protoc.gen.javalite.get().toString() } }

generateProtoTasks {
all().forEach { task ->
task.builtins {
Expand All @@ -121,6 +121,7 @@ dependencies {
api(projects.annotations)

implementation(projects.media.audio)
implementation(projects.media.audioUiMaterial3)
implementation(projects.media.audioUi)
implementation(projects.composables)
implementation(projects.composeLayout)
Expand All @@ -130,6 +131,7 @@ dependencies {
implementation(projects.media.backendMedia3)
implementation(projects.media.data)
implementation(projects.media.sync)
implementation(projects.media.uiMaterial3)
implementation(projects.media.ui)
implementation(projects.networkAwareness.core)
implementation(projects.networkAwareness.ui)
Expand All @@ -151,6 +153,9 @@ dependencies {
implementation(libs.wearcompose.material)
implementation(libs.wearcompose.foundation)
implementation(libs.wearcompose.navigation)
implementation(libs.wearcompose.navigation3)
implementation(libs.navigation3.runtime)
implementation(libs.navigation3.ui)

implementation(libs.androidx.corektx)
implementation(libs.androidx.lifecycle.runtime)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ package com.google.android.horologist.mediasample
import androidx.compose.ui.test.junit4.createAndroidComposeRule
import androidx.lifecycle.Lifecycle
import androidx.test.filters.LargeTest
import com.google.android.horologist.media.ui.navigation.MediaNavController.navigateToLibrary
import com.google.android.horologist.media.ui.navigation.NavigationScreen
import com.google.android.horologist.media.ui.material3.navigation.MediaNavController.navigateToLibrary
import com.google.android.horologist.media.ui.material3.navigation.MediaNavController.navigateToVolume
import com.google.android.horologist.mediasample.ui.app.MediaActivity
import org.junit.Ignore
import org.junit.Rule
Expand Down Expand Up @@ -49,12 +49,12 @@ class MediaActivityTest {

private fun toListAndBack() {
rule.runOnUiThread {
rule.activity.navController.navigate(NavigationScreen.Volume)
rule.activity.backStack.navigateToVolume()
}
rule.waitForIdle()

rule.runOnUiThread {
rule.activity.navController.navigateToLibrary()
rule.activity.backStack.navigateToLibrary()
}
rule.waitForIdle()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,8 @@ import androidx.wear.tiles.tooling.preview.TilePreviewData
import androidx.wear.tooling.preview.devices.WearDevices
import com.google.android.horologist.compose.tools.tileRendererPreviewData
import com.google.android.horologist.media.ui.tiles.MediaCollectionsTileRenderer
import com.google.android.horologist.media.ui.tiles.toTileColors
import com.google.android.horologist.mediasample.BuildConfig
import com.google.android.horologist.mediasample.R
import com.google.android.horologist.mediasample.ui.app.UampColors
import com.google.android.horologist.tiles.images.drawableResToImageResource
import com.google.android.horologist.tiles.images.toImageResource

Expand All @@ -36,7 +34,6 @@ import com.google.android.horologist.tiles.images.toImageResource
fun SampleTilePreview(context: Context): TilePreviewData = tileRendererPreviewData(
renderer = MediaCollectionsTileRenderer(
context = context,
materialTheme = UampColors.toTileColors(),
debugResourceMode = BuildConfig.DEBUG,
),
tileState = MediaCollectionsTileRenderer.MediaCollectionsState(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,16 @@ package com.google.android.horologist.mediasample.data.service.tile
import androidx.wear.protolayout.ActionBuilders
import androidx.wear.protolayout.ActionBuilders.AndroidActivity
import androidx.wear.protolayout.ResourceBuilders.Resources
import androidx.wear.protolayout.material.Colors
import androidx.wear.tiles.RequestBuilders.ResourcesRequest
import androidx.wear.tiles.RequestBuilders.TileRequest
import androidx.wear.tiles.TileBuilders.Tile
import coil.ImageLoader
import com.google.android.horologist.media.repository.PlaylistRepository
import com.google.android.horologist.media.ui.tiles.MediaCollectionsTileRenderer
import com.google.android.horologist.media.ui.tiles.toTileColors
import com.google.android.horologist.mediasample.BuildConfig
import com.google.android.horologist.mediasample.R
import com.google.android.horologist.mediasample.ui.app.MediaActivity
import com.google.android.horologist.mediasample.ui.app.UampColors
import com.google.android.horologist.tiles.SuspendingTileService
import com.google.android.horologist.tiles.images.loadImageResource
import dagger.hilt.android.AndroidEntryPoint
Expand All @@ -52,7 +51,8 @@ class MediaCollectionsTileService : SuspendingTileService() {

private val renderer: MediaCollectionsTileRenderer = MediaCollectionsTileRenderer(
context = this,
materialTheme = UampColors.toTileColors(),
// TO DO Migrate Tile to Material 3 theme from app
materialTheme = Colors.DEFAULT,
debugResourceMode = BuildConfig.DEBUG,
)

Expand Down
Loading
Loading