Skip to content

Comments

Migrate main screens of media sample to Material3 except settings#2643

Draft
kul3r4 wants to merge 52 commits intogoogle:mainfrom
kul3r4:m3
Draft

Migrate main screens of media sample to Material3 except settings#2643
kul3r4 wants to merge 52 commits intogoogle:mainfrom
kul3r4:m3

Conversation

@kul3r4
Copy link
Collaborator

@kul3r4 kul3r4 commented Jul 4, 2025

WHAT

Migrate most of the screens to Material 3

WHY

To update the sample to the latest recommended UI

HOW

use the material3-ui packages + use material 3 navigation

There are some issues with the material3 navigation Horologist package, such as not being Serializable, which prevents code such as private val route = savedStateHandle.toRoute<NavigationScreen.Collection>() to work properly, hence this PR needs more work.
Moreover, screens from Settings haven't been migrated and the Theme has not been updated.

Checklist 📋

  • Add explicit visibility modifier and explicit return types for public declarations
  • Run spotless check
  • Run tests
  • Update metalava's signature text files

@kul3r4 kul3r4 changed the title Migrate main screens to Material3 except settings Migrate main screens of media sample to Material3 except settings Jul 4, 2025
oas004 and others added 28 commits September 19, 2025 16:04
From version 0.8 we are removing these methods since the reccomended way
is to use updateInstalledTiles instead.
* Update all dependencies
* Update screenshots

---------

Co-authored-by: Mend Renovate <bot@renovateapp.com>
* Switch AI module to m3

---------

Co-authored-by: yschimke <231923+yschimke@users.noreply.github.com>
* Updates to M3 and genai SDK

---------

Co-authored-by: yschimke <231923+yschimke@users.noreply.github.com>
The `androidx.hilt.navigation.compose.hiltViewModel` import has been changed to `androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel` across multiple sample app files. This change reflects an update in the Hilt library where the `hiltViewModel` function is now located in a different package.
* Support images in AI sample

* 🤖 metalava

---------

Co-authored-by: yschimke <231923+yschimke@users.noreply.github.com>
* Increase text contrast

* spotlessApply
* Upgrade Publish plugin and remove explicit Sonatype host

The Publish plugin has been upgraded from v0.33.0 to v0.34.0.
This new version defaults to the Sonatype host `google.oss.sonatype.org`, allowing the removal of the explicit host configuration.

* publish javadoc

* workaround

* Don't fail on warnings

* Fix publishing?

* Fix publishing?

* Fix publishing?

* Update docs/updating.md

Co-authored-by: Gustavo Pagani <luizgrp@gmail.com>

* Update docs/updating.md

Co-authored-by: Gustavo Pagani <luizgrp@gmail.com>

---------

Co-authored-by: Gustavo Pagani <luizgrp@gmail.com>
…2662)

* Adds the FastScrollingTransformingLazyColumn into Horologist
* Add sample and test
* Added header rows to the sample and tests

---------

Co-authored-by: Bryson Paul <brysonpaul@google.com>
Co-authored-by: Yuri Schimke <yuri@schimke.ee>
* Update screenshots

* 🤖 Updates screenshots

* Avoid end screenshots for now

---------

Co-authored-by: yschimke <231923+yschimke@users.noreply.github.com>
…he FastScrollingTLC (google#2668)

* Remove all screenshots from before to get clean new ones for the test

* 🤖 Updates screenshots

* Increase scroll size in tests

* 🤖 Updates screenshots

* Update fast scrolling handling logic to be more performant

* use rotary behaviour

* spotless apply

* test clean

---------

Co-authored-by: Bryson Paul <brysonpaul@google.com>
Co-authored-by: Yuri Schimke <yschimke@google.com>
… of using custom logic (google#2669)

Co-authored-by: Bryson Paul <brysonpaul@google.com>
yschimke and others added 23 commits September 19, 2025 16:08
* Add API for capturing composable in Tiles

---------

Co-authored-by: yschimke <231923+yschimke@users.noreply.github.com>
* Cleanup the coroutines code in CaptureComposable.kt

---------

Co-authored-by: yschimke <231923+yschimke@users.noreply.github.com>
* Update CaptureComposable.kt
* Update all dependencies
* min sdk 23
* Bump to JDK 21

---------

Co-authored-by: Mend Renovate <bot@renovateapp.com>
…ecompositions (google#2679)

Co-authored-by: Bryson Paul <brysonpaul@google.com>
* Tiles: Use a display context as was intended

Also use StrictMode to flush out issues.
* Handle other dispatchers
* convert hardware to software bitmaps
* add another resource factory
* Support configurable encoding

* Update screenshot
* Switch away from ProcessLifecycleOwner

---------

Co-authored-by: yschimke <231923+yschimke@users.noreply.github.com>
* Fix closing the activity scenario

---------

Co-authored-by: yschimke <231923+yschimke@users.noreply.github.com>
---------

Co-authored-by: Jason Le <anhtuan.le@sigma.se>
* Update all dependencies

---------

Co-authored-by: Yuri Schimke <yuri@schimke.ee>
* Add SignedInConfirmationScreen

* Additional changes for confirmation screen

* Redline values for profile image, title and body

* Use updated fallback designs

* Add screenshot tests

* Remove redundant typography parameter

* Remove `duration` parameter

* run spotlessAply

* Rename image resource

* Include api files
* Update SignInPromptScreen to compose-material3

* Update metalava

---------

Co-authored-by: Jason Le <anhtuan.le@sigma.se>
…n n errors do not occur, and lowers timeout to leave skimming mode. (google#2696)

* Adds yields to animations to ensure subcompositions during composition errors do not occur, and lowers timeout to leave skimming mode.

---------

Co-authored-by: Bryson Paul <brysonpaul@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants