[MUSIC PLAYING]
[APPLAUSE]
WOJTEK KALICINSKI: My name is Wojtek.
And in this Lightning Talk, I will
present five new and, hopefully, exciting features
in upcoming Android Studio versions
that you might not have seen yet, although there were
some spoilers in the keynote.
So first up, we have some improvements
in the network inspector.
As you can see, we've eliminated the need
to select a range on the timeline
before you start seeing requests.
But wait till you see this.
We're adding network request interception
based on fully customizable rule sets that you define.
[APPLAUSE]
In this demo, I'm intercepting the request for article details
in the Now in Android app.
So I filled in the hostname, path, and status code.
I can then replace the response codes, headers, and even
the full content body with replacement text.
So let's see how my app behaves and to see how my app behaves
in various scenarios.
So here you can see parts of the response JSON
in the Now in Android app replaced on the fly
without changing any app code, thanks to the network request
interception.
This was a highly requested feature.
So it's available for you to test in Android Studio Flamingo
Canaries.
At number two, we have downloads information
in the Build Analyzer.
We know build times are a hot topic for many developers.
That's why we built the Build Analyzer.
It's a tool that highlights issues that might be slowing
down your builds, such as problems with configuration
caching or showing you when you're still using the Jetifire
and you shouldn't.
But sometimes, there's only so much you
can optimize in Gradle scripts themselves
to make them run faster.
That's why we're adding a new metric, Downloads Impact.
This feature shows you what part of your
build is spent on downloading dependencies
and also helps you notice when artifacts are downloaded
needlessly on every build, most likely indicating deeper
problems with your setup, such as using Dynamic Dependency
versions or Snapshots.
This is available for you to try in Android Studio Electric Eel
Beta.
For number three, I want to show you
an early glimpse at the Android SDK version upgrade assistant
that you might have seen at the keynote already.
It's a tool that helps you target the latest and greatest
Android OS versions, ensuring that your users always
get the best quality and security and privacy
in their apps when they--
in your apps when they update.
Thanks to the built-in rules, we can
detect when you need to update your target SDK version in your
build and guide you through the required changes in the IDE
so you don't have to constantly context
switch between the browser, the documentation, and your code.
In the future, the Assistant will detect code patterns
in your project that need updating
to match the platform's behaviors and new APIs.
But this feature is still under heavy development.
So please, watch our social channels and new releases
to learn when it's ready for you to try.
At number four, we have a new feature in the Device Manager.
So that's the tool that you use for configuring
both the virtual and physical devices that you
use for running your apps.
We've made tons of improvements in this area.
So you can pair your device over Wi-Fi,
you can quickly pair Wear OS devices, and much more.
But now, we're adding physical device screen mirroring.
For any connected device, you can now
stream the UI to your IDE window and interact with it
just like you would with the emulator using simulated touch
events.
You can also drag and drop APKs onto the device
to install them and even use your keyboard for text input.
So all this leads to higher productivity
and, again, fewer contact switching between devices.
You can try it out now as an experimental feature
in Electric Eel.
And lastly, a treat for everyone developing
apps that rely on Bluetooth connections.
We're expanding our emulator's Bluetooth support.
You can now create arbitrary connections
between multiple running emulator instances,
including for discovery, pairing, and exchanging
of data.
So here, you can see two emulators seamlessly exchange
past Bluetooth messages and files with nearby sharing,
just like real devices.
This edition of a functional Bluetooth stack
is useful for local development currently.
But we're working on enabling even more use
cases, such as being able to programmatically define
Bluetooth devices for your tests.
Let us know what kind of support you'd like to see here.
That's it for this talk.
I would like to ask everyone to try out
other features in our Beta and Canary releases
to help us build the features that you'll like.
So thanks for coming, and see you on the conference floor
if you have any questions.
[APPLAUSE]