Slide 1

Slide 1 text

Android What’s new in Android

Slide 2

Slide 2 text

Material Design Section 1

Slide 3

Slide 3 text

● Segmented Buttons New components Material Design M2: Segmented buttons have a corner radius of 4dp and a height of 36dp M3: Segmented buttons have fully rounded corners and a height of 40dp Multi-select segmented button Single-select segmented button Before After

Slide 4

Slide 4 text

● Pull to Refresh New components Material Design @Composable @ExperimentalMaterial3Api fun PullToRefreshBox( isRefreshing: Boolean, onRefresh: () -> Unit, modifier: Modifier = Modifier, state: PullToRefreshState = rememberPullToRefreshState(), contentAlignment: Alignment = Alignment.TopStart, indicator: @Composable BoxScope.() -> Unit = { Indicator( modifier = Modifier.align(Alignment.TopCenter), isRefreshing = isRefreshing, state = state ) }, content: @Composable BoxScope.() -> Unit ): Uni

Slide 5

Slide 5 text

● Carousel [WIP] New components Material Design

Slide 6

Slide 6 text

● Adaptive libraries ○ NavigationSuiteScaffold ○ ListDetailPaneScaffold ○ SupportingPaneScaffold New components Material Design

Slide 7

Slide 7 text

Color scheme based on Contrast level Material Design

Slide 8

Slide 8 text

Accessibility Section 2

Slide 9

Slide 9 text

● Lookout ● Relate New apps Accessibility ● Container based navigation - list, grids, etc. ● Custom collection sizes ● Maximize high contrast Android 15

Slide 10

Slide 10 text

Accessibility

Slide 11

Slide 11 text

Widgets Section 3

Slide 12

Slide 12 text

● Glance 1.1.0 - compose based framework for widgets Widgets

Slide 13

Slide 13 text

Widgets

Slide 14

Slide 14 text

On Device AI Section 4

Slide 15

Slide 15 text

● Gemini nano foundation model [API 14+] ● Google AI Edge SDK On Device AI

Slide 16

Slide 16 text

Improving App experience Section 5

Slide 17

Slide 17 text

● Edge to edge ● Predictive back ● Photo picker ● App access risk App UX Edge to edge Predictive back

Slide 18

Slide 18 text

App UX

Slide 19

Slide 19 text

Compose Section 6

Slide 20

Slide 20 text

● Strong skipping mode ● Compiler moves to Kotlin [2.0] ● List Animations - Modifier.animateItem ● SharedElement transitions - [sharedElement, sharedBounds, SharedTransitionLayout] ● ContextualFlowRow/Column ● Rich content support ● camera-viewfinder-compose - To display camera preview ● UI check mode ● Accessibility Scanner support for Compose Compose

Slide 21

Slide 21 text

Compose Compiler moves to Kotlin [2.0]

Slide 22

Slide 22 text

User Security Section 7

Slide 23

Slide 23 text

User Security

Slide 24

Slide 24 text

User Security

Slide 25

Slide 25 text

Tooling Section 7

Slide 26

Slide 26 text

Tooling

Slide 27

Slide 27 text

Tooling Koala 🐨 ● Sticky lines ● Breakpoints with lambda inline

Slide 28

Slide 28 text

Tooling

Slide 29

Slide 29 text

Tooling

Slide 30

Slide 30 text

Tooling

Slide 31

Slide 31 text

Tooling

Slide 32

Slide 32 text

Tooling Profiler redesign

Slide 33

Slide 33 text

Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Tooling Studio Bot is now -> Gemini

Slide 34

Slide 34 text

Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Tooling Gemini - Transform select mode Koala 🐨

Slide 35

Slide 35 text

Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Tooling Gemini 1.5 Pro early preview

Slide 36

Slide 36 text

Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Gemini Tooling Gemini 1.5 Pro early preview

Slide 37

Slide 37 text

Kotlin multi platform on Android Mobile First-class tooling and library support for Kotlin Multiplatform on Android. Now expanded to your favourite libraries like Room. Leveraging KMP for business logic across Android, IOS and web.

Slide 38

Slide 38 text

Thank You Nav Singh He/Him Android @Manulife