Welcome to Now in Android, your ongoing information to what’s new and notable on this planet of Android growth.
The Compatibility Check Suite (CTS) is a key a part of the Android Compatibility Program that helps to make sure that gadgets present a secure, constant atmosphere to your apps. To boost CTS, we’re including a new check suite referred to as CTS-D that’s constructed and run by builders such as you. You may construct and contribute check circumstances to CTS-D to assist catch ache factors that you’re seeing within the subject — locations the place system conduct doesn’t match the Android public APIs and the Android Compatibility Definition Doc (CDD). Anybody can run the CTS-D suite to confirm compatibility, because it’s open-sourced and obtainable on AOSP. In case you are considering studying extra, we’ve got tutorials on contributing to and using CTS-D.
We introduced that the assorted Jetpack Compose libraries will transfer to impartial versioning schemes, making it simpler to incrementally improve your utility and keep up-to-date with the newest Compose options.
The primary library with impartial versioning is the Compose Compiler, which is tightly coupled with the Kotlin model. Compose Compiler 1.2.0 brings help for Kotlin 1.7.0 whereas being each backwards and forwards suitable with the Compose UI libraries and the Compose Runtime library; you may improve your Compose Compiler to 1.2.0 secure and use Kotlin 1.7.0 whereas leaving your different Compose libraries on their present model.
Transferring the Compiler library to a special versioning scheme is step one in decoupling versioning for the totally different Compose library teams. Put together your construct for particular person versioning and begin utilizing the newest Compose Compiler and Kotlin variations now!
Within the newest version of Notes from Google Play, we touched on the Play Integrity API, the Knowledge Security part, the Privateness Sandbox on Android, and the newly-launched Google Play SDK Index, which offers information and insights about over 100 of essentially the most broadly used business SDKs. We lined new subscription capabilities that assist you to create a number of base plans and gives for every subscription, in addition to the choice to decrease costs beginning on the equal of 5 US cents to adapt to native buying energy.
We shared the story of OLIO, a community-driven app that’s combating to scale back meals waste, started the Google Play espresso break collection with Jimjum studios, one of many finalists in final years’ Indie Video games Accelerator and Indie Video games Pageant program, and launched the #WeArePlay marketing campaign that celebrates the worldwide neighborhood of individuals behind apps and video games.
After you add and publish a check Android App Bundle to Google Play, we set up it on a set of Android gadgets, launch and crawl your app for a number of minutes, and compile your outcomes into the pre-launch report. We’ve launched a brand new check within the Pre-Launch Report that runs accessibility checks on a tool switched to darkish theme; this may detect coloration distinction points that make it troublesome to distinguish textual content and icons from a background. You may as well use the screenshots generated throughout the check to test that every one components in your UI have darkish theme styling utilized accurately or when you missed styling any of the weather.
The Efficiency tricks to obtain App Excellence video lined 5 app efficiency points together with the instruments that Android Studio and Google Play Console present that can assist you diagnose and troubleshoot them.
This week in articles, Todd lined conduct adjustments with Intent Filters in Android 13, which now delivers intents that specify actions and originate from exterior apps to an exported element if and provided that the intent matches its declared <intent-filter> components.
Rebecca lined utilizing AnimatedContent to transition between totally different composables with a smoother and extra customized transition impact. Even the default conduct of AnimatedContent could make a giant distinction to the appear and feel of your app, with out a lot effort.
Ben did a detailed exploration of how Compose determines the steadiness of every parameter of your composables to see what could be skipped throughout recomposition, together with utilizing compiler reviews to find out what stability is being inferred about your courses. For instance, since assortment courses like Listing, Set and Map will not be assured to be immutable, utilizing Kotlinx immutable collections as a substitute or annotating your courses as @Immutable or @Steady can enable compose to skip recompositions. There’s heaps extra within the put up.
kotlinx.coroutines 1.6 introduces a set of latest testing APIs, and the earlier testing APIs are actually deprecated. Marton talked about how we’ve migrated a few of our personal samples to the brand new APIs, overlaying a bunch of the required work for many Android tasks.
Because the final episode of Now in Android, there was a bunch of fascinating stuff launched in AndroidX. With a lot on the market, I’ll simply be overlaying what’s newly secure:
Exercise Model 1.5.0
Provides ComponentDialog, a subclass of Dialog that features an OnBackPressedDispatcher. modular Callback Interfaces in ComponentActivity, and ComponentActivity can now present a stateless ViewModelProvider.Manufacturing facility by way of Lifecycle 2.5.0’s CreationExtras.
Digicam Model 1.1.0
Provides video seize use circumstances by means of the official camera-video library, YUV to RGB conversion, rotation, multi-window mode help, a CameraState API, JPEG output for OnImageCapturedCallback when Extensions are enabled, ExperimentalCameraFilter and publicity compensation APIs, and rather more.
Compose Compiler Model 1.2.0
Helps Kotlin 1.7 and impartial Compose library versioning.
Fragment Model 1.5.0
Provides CreationExtras Integration, provides Part Dialog Integration, and refactors Saved Occasion State.
Lifecycle Model 2.5.0
Provides getStateFlow() API to SavedStateHandle that returns a StateFlow for monitoring worth adjustments, provides CreationExtras to the ViewModelProvider.Manufacturing facility subclass by way of the brand new overload of create: create(Class<T>, CreationExtras) to simplify having access to an Utility or SavedStateHandle, and extra.
Navigation Model 2.5.0
Gives a stateless ViewModelProvider.Manufacturing facility by way of Lifecycle 2.5.0’s CreationExtras, Secure Args has upgraded the Android Gradle Plugin dependency to depend on 7.0.4,and added help for the namespace construct.gradle attribute for use as a substitute of applicationId.
SavedState Model 1.2.0
SavedStateRegistryController permits early attachment of the SavedStateRegistry by way of performAttach(), now you can retrieve a beforehand registered SavedStateProvider from a SavedStateRegistry by way of getSavedStateProvider(), and the library has been rewritten in Kotlin which causes just a few supply incompatible adjustments.
That’s it for this time, with CTS-D, impartial versioning of Compose libraries, Compose stability, customized Compose AnimatedContent, coroutine check migration, Android 13 Intent Filters, and a bunch of stuff from Play and AndroidX, Come again right here quickly for the following replace from the Android developer universe.