Posted by Diana Wong (Android Product Manager), Kseniia Shumelchyk (Developer Relations Engineer) and Sara Vickerman (Android Developer Marketing)
This week, Samsung launched the latest devices to come to the Android ecosystem at their Galaxy Unpacked event. If you haven’t already, check out their two new foldables, the Galaxy Z Fold4 and Z Flip4, and their new lineup of watches running on Wear OS, the Galaxy Watch5 series. You can learn more about their announcements here.
Posted by Patricia Correa, Director, Global Developer Marketing
The Indie Games Festival shines a spotlight on some of the best games on Google Play, and celebrates the passion and creativity that small games studios bring to gamers worldwide. This year we are hosting Festival in South Korea, Japan and Europe, for local developers and gamers from all over the world.
Earlier this summer, we opened submissions, and today we’re revealing the finalists. Scroll down to see the shortlisted games!
September 3rd will be a jam packed day for indie games fans. Everyone is invited to attend the finals for the three Festivals, starting with South Korea at 2pm KST, followed shortly after by Japan at 3pm JST, and wrapping up with Europe at 11am CET.The finals will be held in a custom virtual world where you can meet the people behind the finalist games, explore the titles, have fun with gamers from around the world, and be the first to discover the winners.
The events will be hosted by Julia Hardy (Europe), Inho Jung (Korea) and Kajisac (Japan).
At the European finals we will also reveal the class of 2022 of the Indie Games Accelerator, a program that helps small game studios take their game to the next level by providing them training and mentorship.
Without further ado, please meet the finalists and join us in congratulating them!
(in alphabetical order, also in this collection)
Blacken Slash
DT Space Races
Dungeons of Dreadrock
Find Hidden Objects Game (AR)
Fury Unleashed
Get Together: A Coop Adventure
Gladiators: Survival in Rome
Hygge is...
Kingdom: Idle Gold Tycoon
Kitty Q
Light It Up: Energy Loops
Luna Ravel
Paths: Beatrice's adventure
Pawnbarian
Please, Touch The Artwork
Quadline
Rhythmer_
Square Valley
sugar game
Wingspan
—--
(in alphabetical order)
A Year of Springs
Attack on Tankette
Brave Farm Survival
Cards and Dragons Sealed
Catastrophe Restaurant
Crazy Donuts
DeathAntique (Early Access not yet available globally)
Dungeon and Gravestone
exp!A
GenEi AP: Empty Heart
HUNGRY PIG
Jack & Detectives
Raspberry Mash
SOULVARS
Statute of Limitations "1 minute" world
SUSHI ALONE
Sushi Food Cart
Time for Coffee in the Strange Forest
Train's Run
UnionShooter360
Bingo Star
Calibur League
Connect
Counting Star
Cube Of Life: Resurrection
Drawing Beats!
Dungeon Rogue
FIND ALL 3D
Idle Ghost Hotel
Lost Pages
Meow Tower: Nonogram
Merge of Mini : with your legion
Pa!nt
Random Card
Shambles
Soul Launcher
SuperBattle
The Greater
Uglyhood
Undead vs Demon
At Google Play we’re committed to helping developers of all sizes succeed on our platform. Programs like the Festival and the Accelerator are here to help small games studios:
Learn more about the programs.
For more updates about all of our programs, resources and tools for indie game developers, follow us on Twitter @GooglePlayBiz and Google Play business community on LinkedIn.
How useful did you find this blog post?
★ ★ ★ ★ ★
Posted by Jason Tang, Product Management, Diego Zuluaga, Developer Relations, and Michael Mauzy, Developer Documentation
Since we introduced gesture navigation in Android 10, users have signaled they want to understand where a back gesture will take them before they complete it.
As the first step to addressing this need, we've been developing a predictive back gesture. When a user starts their gesture by swiping back, we’ll show an animated preview of the destination UI, and the user can complete the gesture to navigate to that UI if they want – as shown in the following example.
Although the predictive back gesture won’t be visible to users in Android 13, we’re making an early version of the UI available as a developer option for testing starting in Beta 4. We plan to make the UI available to users in a future Android release, and we’d like all apps to be ready. We’re also working with partners to ensure it’s consistent across devices.
Read on for details on how to try out the new gesture and support it in your apps. Adding support for predictive back gesture is straightforward for most apps, and you can get started today.
We also encourage you to submit your feedback.
To try out the early version of the predictive back gesture available through the developer option, you’ll need to first update your app to support the predictive back gesture, and then enable the developer option.
To help make predictive back gesture helpful and consistent for users, we're moving to an ahead-of-time model for back event handling by adding new APIs and deprecating existing APIs.
The new platform APIs and updates to AndroidX Activity 1.6+ are designed to make your transition from unsupported APIs (KeyEvent#KEYCODE_BACK and OnBackPressed) to the predictive back gesture as smooth as possible.
The new platform APIs include OnBackInvokedCallback and OnBackInvokedDispatcher, which AndroidX Activity 1.6+ supports through the existing OnBackPressedCallback and OnBackPressedDispatcher APIs.
OnBackInvokedCallback
OnBackPressedDispatcher
You can start testing this feature in two to four steps, depending on your existing implementation.
1. Upgrade to AndroidX Activity 1.6.0-alpha05. By upgrading your dependency on AndroidX Activity, APIs that are already using the OnBackPressedDispatcher APIs such as Fragments and the Navigation Component will seamlessly work when you opt-in for the predictive back gesture.
// In your build.gradle file:dependencies {
// Add this in addition to your other dependencies implementation "androidx.activity:activity:1.6.0-alpha05"
2. Opt-in for the predictive back gesture. Opt-in your app by setting the EnableOnBackInvokedCallback flag to true at the application level in the AndroidManifest.xml.
<application
...
android:enableOnBackInvokedCallback="true"
... >
</application>
If your app doesn’t intercept the back event, you're done at this step.
Note: Opt-in is optional in Android 13, and it will be ignored after this version.
3. Create a callback to intercept the system Back button/event. If possible, we recommend using the AndroidX APIs as shown below. For non-AndroidX use cases, check the platform API mentioned above.
This snippet implements handleOnBackPressed and adds the OnBackPressedCallback to the OnBackPressedDispatcher at the activity level.
val onBackPressedCallback = object: OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
// Your business logic to handle the back pressed event
}
requireActivity().onBackPressedDispatcher
.addCallback(onBackPressedCallback)
4. When your app is ready to stop intercepting the system Back event, disable the onBackPressedCallback callback.
onBackPressedCallback.isEnabled = webView.canGoBack()
Posted by Kseniia Shumelchyk, Android Developer Relations Engineer
Today we’re launching version 1.0 of Compose for Wear OS, the first stable release of our modern declarative UI toolkit designed to help developers create beautiful, responsive apps for Google’s smartwatch platform.
Compose for Wear OS was built from the bottom up in Kotlin with assumptions of modern app architecture. It makes building apps for Wear OS easier, faster, and more intuitive by following the declarative approach and offering powerful Kotlin syntax.
The toolkit not only simplifies UI development, but also provides a rich set of UI components optimized for the watch experience with built-in support of Material design for Wear OS, and it’s accompanied by many powerful tools in Android Studio to streamline UI iteration.
The Compose for Wear OS 1.0 release means that the API is stable and has what you need to build production-ready apps. Moving forward, Compose for Wear OS is our recommended approach for building user interfaces for Wear OS apps.
Your feedback has helped shape the development of Compose for Wear OS; our developer community has been with us each step of the way, engaging with us on Slack and providing feedback on the APIs, components, and tooling. As we are working on bringing new features to future versions of Compose for Wear OS, we will continue to welcome developer feedback and suggestions.
We are also excited to share how developers have already adopted Compose in their Wear OS apps and what they like about it.
Todoist helps people organize, plan and collaborate on projects. They are one of the first companies to completely rebuild their Wear OS app using Compose and redesign all screens and interactions:
“When the new Wear design language and Compose for Wear OS were announced, we were thrilled. It gave us new motivation and opportunity to invest into the platform.”
“Huge improvement is how lists are created. Thanks to ScalingLazyColumn it is easier (compared to RecyclerView) to create scrolling screens without wasting resources. Availability of standard components like Chip helps saving time by being able to use pre-fabricated design-/view-components. What would have taken us days now takes us hours.”
The Outdooractive team also highlighted that Compose for Wear OS usage help them to strive for better app quality:
“Improved animations were a nice surprise, allowing smoothly hiding/revealing components by just wrapping components in “AnimatedVisibility” for example, which we used in places where we would normally not have invested any time in implementing animations.”
Another developer we’ve been working with, Period Tracker helps keep track of period cycles, ovulation, and the chance of conception.
Similarly to other developers, Period Tracker noted that Compose for Wear OS helped them to achieve better developer experience and improved collaboration with design and development teams:
“For example, before Chips components were available, we had to use a custom way to load images on buttons which caused a lot of adaptation work. Yes, Compose for Wear OS improved our productivity and made our designers more willing to design a better user experience on wearables.”
Check out the in-depth case studies to learn more about how other developers are using Jetpack Compose.
Let’s look into the key features available with 1.0 release:
Note that using version 1.0 of Compose for Wear OS requires using the version 1.2 of androidx.compose libraries and therefore Kotlin 1.7.0. Read more about Jetpack Compose 1.2 release here.
The declarative paradigm shift also alters the development workflow. The Compose tooling available in Android Studio will help you build apps more productively.
Android Studio Dolphin includes a new project template with Compose for Wear OS to help you get started.
The Composable Preview annotation allows you to instantly verify how your app’s layout behaves on different watch shapes and sizes. You can configure the device preview to show different Wear OS device types (round, rectangle, etc):
import androidx.compose.ui.tooling.preview
@Preview(
device = Devices.WEAR_OS_LARGE_ROUND,
showSystemUi = true,
backgroundColor = 0xff000000,
showBackground = true
)
@Composable
fun PreviewCustomComposable() {
CustomComposable(...)
Horologist is a group of open-source libraries from Google that supplement Wear OS development, which we announced with the beta release of Compose for Wear OS. Horologist has graduated a number of experimental APIs to stable including TimeText fadeAway modifiers, WearNavScaffold, the Date and Time pickers.
To learn more about Compose for Wear OS check out:
Now that Compose for Wear OS has reached its first stable release, it’s time to create beautiful apps built for the wrist with Compose!
Join the community
Join the discussion in the Kotlin Slack #compose-wear channel to connect with the team and other developers and share what you’re building.
Provide feedback
Please keep providing us feedback on the issue tracker and let us know your experience!
For more information about building apps for Wear OS, check out the developer site.
Posted by Jolanda Verhoef, Android Developer Relations Engineer
Today, we’re releasing version 1.2 of Jetpack Compose, Android's modern, native UI toolkit, continuing to build out our roadmap. This release contains new features like downloadable fonts, lazy grids, and improvements for tablets and Chrome OS with better focus, mouse, and input handling.
Compose is our recommended way to build new Android apps for phone, tablets and foldables. Today we also released Compose for Wear OS 1.0 - making Compose the best way to build a Wear OS app as well.
We continue to see developers like the Twitter engineering team ship faster using Compose:
“Compose increased our productivity dramatically. It’s much easier and faster to write a Composable function than to create a custom view, and it’s also made it much easier to fulfill our designers’ requirements.”
Compose 1.2 includes a number of updates for Compose on Phones, Tablets and Foldables - it contains new stable APIs graduated from being experimental, and supports newer versions of Kotlin. We've already updated our samples, codelabs, Accompanist library and MDC-Android Compose Theme Adapter to work with Compose 1.2.
Note: Updating the Compose Compiler library to 1.2 requires using Kotlin 1.7.0. From this point forward the Compiler releases will be decoupled from the releases of other Compose libraries. Read more about the rationale for this in our blog post on independent versioning of Jetpack Compose libraries.
Several features and APIs were added as stable. Highlights include:
LazyHorizontalGrid
LazyVerticalGrid
@Experimental
WindowInsets
windowInsetsPadding
systemBarsPadding
windowInsetsTopHeight
Modifier.nestedScroll
PointerEvent.scrollDelta
We’re continuing to bring new features to Compose. Here are a few highlights:
LazyLayout
Modifier.overscroll
GoogleFont
includeFontPadding
Brush
pluralStringResource
performKeyInput
Try out the new APIs using @OptIn and give us feedback!
@OptIn
We fixed a lot of issues raised by the community, most notably:
userScrollEnabled
TextField
EditText
We’re grateful for all of the bug reports and feature requests submitted to our issue tracker - they help us to improve Compose and build the APIs you need. Do continue providing your feedback and help us make Compose better!
Wondering what’s next? Check out our updated roadmap to see the features we’re currently thinking about and working on, such as animations for lazy item additions and removals, flow layouts, text editing improvements and more!
Jetpack Compose continues to evolve with the features you’ve been asking for. We’ve been thrilled to see tens of thousands of apps using Jetpack Compose in production already, and many of you shared how it’s improved your app development. We can’t wait to see what you’ll build next!
Happy composing!