One of the features I was expecting to see in Android 14 was the ability to turn your phone into a USB webcam for your PC. Google hasn't talked about this feature yet, but I hope they still plan to ship it!
Here's some tidbits about Android 14's USB webcam feature 👇
So back in February, I discovered code changes in AOSP that hinted at a new "DeviceAsWebcam" service (which upon re-reading the code changes I now believe to be a separate system app) that "turns an Android device into a webcam."
Android devices that support the UVC gadget mode (ie. the kernel is compiled with CONFIG_USB_CONFIGFS_F_UVC=y) can be set up to send camera frames to a /dev/video* node that a host device supporting UVC webcams can read from.
A dedicated DeviceAsWebcam app - which I should note has not yet been shipped on any Pixel builds - is what, I believe, would be responsible for actually using Android's Camera API to forward frames.
Only system apps-like DeviceAsWebcam-would have permission to R/W data to the /dev/video* node. In fact, the USB configuration file for all Tensor & Tensor 2-based (but not SM7250) Pixels already sets up the UVC function. Attached to this post is a snippet from init.gs101.usb.rc/init.gs201.usb.rc.
But since the DAW app is not present in current Android 14 beta builds, we can't actually use this functionality, though we can surface the "Webcam" option in "USB Preferences" as shown in the first post. The "Webcam" option appears when the system property ro.usb.uvc.enabled is set to true. Settings calls UsbManager#isUvcSupportEnabled(), which reads this property, to decide whether to show this option.
When you select "webcam", UsbDeviceManager sets the USB config to "uvc" and the android.hardware.usb.action.USB_STATE broadcast is sent with the USB_FUNCTION_UVC boolean extra. DAW presumably listens for this broadcast to know when to start forwarding frames.
Here's some tidbits about Android 14's USB webcam feature 👇
So back in February, I discovered code changes in AOSP that hinted at a new "DeviceAsWebcam" service (which upon re-reading the code changes I now believe to be a separate system app) that "turns an Android device into a webcam."
Android devices that support the UVC gadget mode (ie. the kernel is compiled with CONFIG_USB_CONFIGFS_F_UVC=y) can be set up to send camera frames to a /dev/video* node that a host device supporting UVC webcams can read from.
A dedicated DeviceAsWebcam app - which I should note has not yet been shipped on any Pixel builds - is what, I believe, would be responsible for actually using Android's Camera API to forward frames.
Only system apps-like DeviceAsWebcam-would have permission to R/W data to the /dev/video* node. In fact, the USB configuration file for all Tensor & Tensor 2-based (but not SM7250) Pixels already sets up the UVC function. Attached to this post is a snippet from init.gs101.usb.rc/init.gs201.usb.rc.
But since the DAW app is not present in current Android 14 beta builds, we can't actually use this functionality, though we can surface the "Webcam" option in "USB Preferences" as shown in the first post. The "Webcam" option appears when the system property ro.usb.uvc.enabled is set to true. Settings calls UsbManager#isUvcSupportEnabled(), which reads this property, to decide whether to show this option.
When you select "webcam", UsbDeviceManager sets the USB config to "uvc" and the android.hardware.usb.action.USB_STATE broadcast is sent with the USB_FUNCTION_UVC boolean extra. DAW presumably listens for this broadcast to know when to start forwarding frames.
Here's a look at potentially all of the custom clock options Pixel users will get in Android 14, courtesy of Kamila Wojciechowska (Za_Raczke on Twitter)!
Google said at I/O that lock screen clock customization will be available "next month", so expect to see these in Android 14 Beta 3.
For comparison, I've also attached the screen recording Google shared at I/O that shows off some of the lock screen clock options. (Google's is the higher resolution one). Kamila's video shows more of the clocks that will likely be available to choose from.
Google said at I/O that lock screen clock customization will be available "next month", so expect to see these in Android 14 Beta 3.
For comparison, I've also attached the screen recording Google shared at I/O that shows off some of the lock screen clock options. (Google's is the higher resolution one). Kamila's video shows more of the clocks that will likely be available to choose from.
This media is not supported in your browser
VIEW IN TELEGRAM
Want to try Android 14's forced themed icon & app cloning features?
Check out Siavash7999's AOSPMods project, which has just been updated to enable both features on Android 14! Best part is that they forced the Cloned Apps feature to support ALL apps not just a limited number.
AOSPMods requires a phone with Magisk + LSPosed, but if you're looking to customize your Pixel phone without installing a custom ROM, then this is a great way to do so. It's open source so you can see for yourself how the dev enabled these features.
You can download the latest version (canary-252 at the time of writing) from this link.
For more reading on the forced themed icon feature. For more reading on the app cloning feature.
Check out Siavash7999's AOSPMods project, which has just been updated to enable both features on Android 14! Best part is that they forced the Cloned Apps feature to support ALL apps not just a limited number.
AOSPMods requires a phone with Magisk + LSPosed, but if you're looking to customize your Pixel phone without installing a custom ROM, then this is a great way to do so. It's open source so you can see for yourself how the dev enabled these features.
You can download the latest version (canary-252 at the time of writing) from this link.
For more reading on the forced themed icon feature. For more reading on the app cloning feature.
Google completed the May 2023 Google Play System Update rollout on Friday, so if you're interested, here are the modules that were updated:
Name| Old version code | New version code
AdServices: 331611190 --> 331710270
ART: 331612010 --> 331711080
Cell Broadcast: 331610010 --> 331710020
Conscrypt: 331411000 --> 331413000
IPsec: 331310000 --> 331312000
Media: 331612000 --> 331712010
Media Codecs: 331612000 --> 331712000
Media Provider: 331613010 --> 331711020
Network Stack: 331610000 --> 331710000
On Device Personalization: 330442000 --> 330442040
Statsd: 331610000 --> 331711010
Permission Controller: 331611010 --> 331710050
Device Scheduling: 331111000 --> 331113000
SDK Extensions: 331410000 --> 331412000
Tethering: 331511160 --> 331711040
UWB: 331611010 --> 331613010
WiFi: 331613000 --> 331710030
If you want the full changelog, I generated one you can see here.
Name| Old version code | New version code
AdServices: 331611190 --> 331710270
ART: 331612010 --> 331711080
Cell Broadcast: 331610010 --> 331710020
Conscrypt: 331411000 --> 331413000
IPsec: 331310000 --> 331312000
Media: 331612000 --> 331712010
Media Codecs: 331612000 --> 331712000
Media Provider: 331613010 --> 331711020
Network Stack: 331610000 --> 331710000
On Device Personalization: 330442000 --> 330442040
Statsd: 331610000 --> 331711010
Permission Controller: 331611010 --> 331710050
Device Scheduling: 331111000 --> 331113000
SDK Extensions: 331410000 --> 331412000
Tethering: 331511160 --> 331711040
UWB: 331611010 --> 331613010
WiFi: 331613000 --> 331710030
If you want the full changelog, I generated one you can see here.
Amidst the news that Arm's new mobile CPU designs support 64-bit instructions only, I was wondering what happened to that feature which would have added a warning to Android when you try to run a 32-bit app on a build that supports 64-bit code. Turns out it's been revived!
(For context, refer to this tweet from last year.)
According to a Googler, the company is now "looking into it as one of the final stages of the move to 64-bit only." The reason it wasn't merged before was "just bureaucracy". The feature hasn't been merged in AOSP yet but I bet we'll see it in Android 15.
(For context, refer to this tweet from last year.)
According to a Googler, the company is now "looking into it as one of the final stages of the move to 64-bit only." The reason it wasn't merged before was "just bureaucracy". The feature hasn't been merged in AOSP yet but I bet we'll see it in Android 15.
Android will add a new developer option to enable ANGLE as the system OpenGL ES driver. ANGLE currently ships on Pixel not as the default OpenGL ES driver but as a data driver, but that could change in a future release.
ANGLE is an open source, cross-platform OpenGL driver that translates OpenGL ES calls to one of the hardware-supported APIs available for that platform.
Currently most Android devices ship with native OpenGL ES drivers developed by the GPU vendor.
Sources: [1] [2] [3]
ANGLE is an open source, cross-platform OpenGL driver that translates OpenGL ES calls to one of the hardware-supported APIs available for that platform.
Currently most Android devices ship with native OpenGL ES drivers developed by the GPU vendor.
Sources: [1] [2] [3]
YouTube
Android game graphics - OpenGL ES vs. Vulkan case study
This session will explore the two graphics APIs available to games running on Android: OpenGL ES and Vulkan. The pros and cons of each API will be discussed. A case study of the performance and power benefits of Vulkan will be presented. Recommendations will…
A few folks have asked me if Pixels will still get that "battery health" feature I spotted in the Android 13 QPR betas.
While the feature was removed from the SettingsIntelligence app in Android 14 Beta 1, there's a chance it could be brought back.
Android 14 adds new public APIs to get the battery charging cycle count and the battery charging status (normal, static threshold, adaptive threshold, always on power).
There are also new system APIs to get the battery manufacturing date, date of first usage, and state of health (remaining estimated full charge capacity relative to the rated capacity in %).
My guess (or rather hope) is that Google implements these directly into Android's Settings app, so that any device (not just Pixel) that adds support for reporting this information to the OS will have this data readily available to users.
I think this would be a better solution than having a standalone, proprietary battery health app. OEMs/Google could still add to this by providing custom recommendations and charging/power management features.
There's still time for this feature to make it into Android 14, since it wouldn't involve tweaking any of the APIs. But it's probably too late, and if they add it, it might be something we'll see in Android 15 (I hope).
While the feature was removed from the SettingsIntelligence app in Android 14 Beta 1, there's a chance it could be brought back.
Android 14 adds new public APIs to get the battery charging cycle count and the battery charging status (normal, static threshold, adaptive threshold, always on power).
There are also new system APIs to get the battery manufacturing date, date of first usage, and state of health (remaining estimated full charge capacity relative to the rated capacity in %).
My guess (or rather hope) is that Google implements these directly into Android's Settings app, so that any device (not just Pixel) that adds support for reporting this information to the OS will have this data readily available to users.
I think this would be a better solution than having a standalone, proprietary battery health app. OEMs/Google could still add to this by providing custom recommendations and charging/power management features.
There's still time for this feature to make it into Android 14, since it wouldn't involve tweaking any of the APIs. But it's probably too late, and if they add it, it might be something we'll see in Android 15 (I hope).
This media is not supported in your browser
VIEW IN TELEGRAM
In this video posted by the official Made by Google account, we can see a little chip animation play in the status bar when the device starts charging.
This isn't enabled yet in the current Android 13 QPR or Android 14 betas, but we could see this in Android 14 Beta 3. A concept of this status bar charging chip animation was shown in a Google I/O 2021 session two years ago.
This isn't enabled yet in the current Android 13 QPR or Android 14 betas, but we could see this in Android 14 Beta 3. A concept of this status bar charging chip animation was shown in a Google I/O 2021 session two years ago.
Android's new userfaultfd-based garbage collection algorithm is now enabled by default when building the ART module.
This change was announced at I/O 2022 and has been in testing for a while, but it could soon roll out in an upcoming Google Play System Update for Android 12+.
This change was announced at I/O 2022 and has been in testing for a while, but it could soon roll out in an upcoming Google Play System Update for Android 12+.
On phones, the default lock screen shortcuts are Device Controls on the left and Quick Access Wallet on the right.
On tablets/large screens, the default lock screen shortcuts are Device Controls on the left and notetaking on the right.
The Notes role is currently disabled by default in Android 14 beta builds, but when it's enabled, you'll be able to set a default Notes app through Settings. To qualify, the default Notes app needs an activity with the android.intent.action.CREATE_NOTE intent filter.
Once the user sets the app as the Notes role holder, the app is granted the LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE permission (if it requests it), which lets it use the API to request SystemUI to take a screenshot on its behalf.
When you use a Stylus, you'll be able to access Stylus settings, where a shortcut to the default Notes app settings page can be accessed.
(The default keyguard quick affordances for tablets as shown above may be Pixel-exclusive, ie. intended for the Pixel Tablet. It wouldn't make sense to have the notetaking shortcut be the default on all large screen devices especially ones that don't support styli.)
On tablets/large screens, the default lock screen shortcuts are Device Controls on the left and notetaking on the right.
The Notes role is currently disabled by default in Android 14 beta builds, but when it's enabled, you'll be able to set a default Notes app through Settings. To qualify, the default Notes app needs an activity with the android.intent.action.CREATE_NOTE intent filter.
Once the user sets the app as the Notes role holder, the app is granted the LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE permission (if it requests it), which lets it use the API to request SystemUI to take a screenshot on its behalf.
When you use a Stylus, you'll be able to access Stylus settings, where a shortcut to the default Notes app settings page can be accessed.
(The default keyguard quick affordances for tablets as shown above may be Pixel-exclusive, ie. intended for the Pixel Tablet. It wouldn't make sense to have the notetaking shortcut be the default on all large screen devices especially ones that don't support styli.)
As part of Google's latest Android Feature Drop, the company has announced 7 new features for phones, tablets, and Wear OS smartwatches. These features aren't limited to Pixel devices, either! Here's what's new!
Quick summary: New widgets for Google TV, Finance, and News; reading practice; new emoji kitchen stickers; updates to the Spotify, Wallet, and Keep apps for Wear OS; and expansion of dark web reports in Google One.
1) Google TV's new widget lets you quickly find personalized movie & TV show suggestions. The Google Finance widget helps you track selected stocks. Finally, Google News has a revamped widget to show curated headlines.
2) Reading practice helps kids improve their vocabulary & comprehension. It's available on thousands of children's ebooks marked with a "Practice" badge on Play Books. They'll hear the pronunciation of unknown words, practice mispronounced words & receive feedback in real time.
3) Emoji Kitchen now has new aquatic-themed emoji (🦈🐬🐋) combinations you can turn into stickers via Gboard.
4) Spotify for Wear OS is adding new tiles (podcasts, heavy rotation, and DJ). The "AI DJ" delivers a personalized lineup of music and podcasts.
5) Google Wallet for Wear OS now lets commuters in D.C. and the San Francisco Bay Area import SmarTrip and Clipper cards.
6) Meanwhile, Google Keep for Wear OS now lets you add a tile for a single note or to-do list.
7) Dark web reports in Google One are now available for everyone in the U.S. with a consumer Google Account and will expand to 20 more countries in the coming months. However, only paying subscribers get automatic monitoring & monitoring for more personal info like SSNs.
—-
Availability:
- Widgets for Google TV, Finance, and News: Globally on Android 6+
- Reading practice: U.S. only in English on Android 8+
- Emoji Kitchen stickers - Summer edition: Globally on Android 6+
- Spotify DJ for Wear OS: U.S., Canada, U.K., and Ireland in English for Spotify Premium users on Wear OS 2+
- Wallet on Wear OS: Washington, D.C. and San Francisco Bay Area in all languages on Wear OS 2+
- Keep for Wear OS: Globally on Wear OS 3+
Here's Google's blog post on these announcements; their YouTube video teasing the announcement; and finally, the page highlighting these features.
One interesting thing I noticed from this announcement is the navigation bar in the reading practice assets: It's totally different than the regular nav bar! In fact, it matches the "kids mode" navigation bar I discovered in Android 13.
Quick summary: New widgets for Google TV, Finance, and News; reading practice; new emoji kitchen stickers; updates to the Spotify, Wallet, and Keep apps for Wear OS; and expansion of dark web reports in Google One.
1) Google TV's new widget lets you quickly find personalized movie & TV show suggestions. The Google Finance widget helps you track selected stocks. Finally, Google News has a revamped widget to show curated headlines.
2) Reading practice helps kids improve their vocabulary & comprehension. It's available on thousands of children's ebooks marked with a "Practice" badge on Play Books. They'll hear the pronunciation of unknown words, practice mispronounced words & receive feedback in real time.
3) Emoji Kitchen now has new aquatic-themed emoji (🦈🐬🐋) combinations you can turn into stickers via Gboard.
4) Spotify for Wear OS is adding new tiles (podcasts, heavy rotation, and DJ). The "AI DJ" delivers a personalized lineup of music and podcasts.
5) Google Wallet for Wear OS now lets commuters in D.C. and the San Francisco Bay Area import SmarTrip and Clipper cards.
6) Meanwhile, Google Keep for Wear OS now lets you add a tile for a single note or to-do list.
7) Dark web reports in Google One are now available for everyone in the U.S. with a consumer Google Account and will expand to 20 more countries in the coming months. However, only paying subscribers get automatic monitoring & monitoring for more personal info like SSNs.
—-
Availability:
- Widgets for Google TV, Finance, and News: Globally on Android 6+
- Reading practice: U.S. only in English on Android 8+
- Emoji Kitchen stickers - Summer edition: Globally on Android 6+
- Spotify DJ for Wear OS: U.S., Canada, U.K., and Ireland in English for Spotify Premium users on Wear OS 2+
- Wallet on Wear OS: Washington, D.C. and San Francisco Bay Area in all languages on Wear OS 2+
- Keep for Wear OS: Globally on Wear OS 3+
Here's Google's blog post on these announcements; their YouTube video teasing the announcement; and finally, the page highlighting these features.
One interesting thing I noticed from this announcement is the navigation bar in the reading practice assets: It's totally different than the regular nav bar! In fact, it matches the "kids mode" navigation bar I discovered in Android 13.
Google
Connect on the go and learn new skills with new Android features
Android is announcing new features to help you get information quickly, have more fun and protect your devices.
Google Wallet will soon:
* Let you add any pass that contains a barcode or QR code by taking a photo of it
* Let you digitize your Humana health insurance card (private pass)
* Let you add your U.K. National Insurance Number through the HMRC app (private pass)
* Let residents of Arizona, Colorado, and Georgia add their driver's licenses
* Let you use your ID in Wallet to book a car with Turo or verify your online accounts
* Let you complete your travel check-in entirely in the Messages app (RCS required). You'll receive your boarding pass or train ticket directly in Messages. This will roll out with Vietnam Airlines and Renfe in Spain.
* Let you add your corporate badge
Starting today, Google Wallet can:
* Let people in Maryland add their driver's licenses to the app
* Let people in Germany save a Deutschlandticket purchased at select transit agencies to their Wallet.
(Private passes are labeled as such in the card details and require you to verify your ID through fingerprint, PIN, or other methods before you can add, view, or use them.)
Full details in Google's blog post.
* Let you add any pass that contains a barcode or QR code by taking a photo of it
* Let you digitize your Humana health insurance card (private pass)
* Let you add your U.K. National Insurance Number through the HMRC app (private pass)
* Let residents of Arizona, Colorado, and Georgia add their driver's licenses
* Let you use your ID in Wallet to book a car with Turo or verify your online accounts
* Let you complete your travel check-in entirely in the Messages app (RCS required). You'll receive your boarding pass or train ticket directly in Messages. This will roll out with Vietnam Airlines and Renfe in Spain.
* Let you add your corporate badge
Starting today, Google Wallet can:
* Let people in Maryland add their driver's licenses to the app
* Let people in Germany save a Deutschlandticket purchased at select transit agencies to their Wallet.
(Private passes are labeled as such in the card details and require you to verify your ID through fingerprint, PIN, or other methods before you can add, view, or use them.)
Full details in Google's blog post.
Google
5 new ways to add more to Google Wallet
Google Wallet introduces new features bringing even more convenience and security to accessing your everyday essentials.
Mishaal's Android News Feed
As part of Google's latest Android Feature Drop, the company has announced 7 new features for phones, tablets, and Wear OS smartwatches. These features aren't limited to Pixel devices, either! Here's what's new! Quick summary: New widgets for Google TV, Finance…
Haven't confirmed yet, but given that this demo is shown on a device with Google Kids Space installed, I'm guessing that this new "kids mode" navigation bar is tied to it.
As in, once Kids Space is enabled on a device running Android 13+, this new "kids mode" nav bar will be shown. The nav bar buttons are larger, the recents overview button is missing, and the nav bar always appears even in full screen apps.
Google hasn't commented/announced this change yet, but I did ask for information on this and am waiting to hear back. I'm assuming it's as simple as what I just described, though.
The "Kids Mode" nav bar is activated when the Settings.Secure value "nav_bar_kids_mode" is set to 1. Launcher3 listens for this value and changes the nav bar accordingly.
This should work on any Android 13+ device.
As in, once Kids Space is enabled on a device running Android 13+, this new "kids mode" nav bar will be shown. The nav bar buttons are larger, the recents overview button is missing, and the nav bar always appears even in full screen apps.
Google hasn't commented/announced this change yet, but I did ask for information on this and am waiting to hear back. I'm assuming it's as simple as what I just described, though.
The "Kids Mode" nav bar is activated when the Settings.Secure value "nav_bar_kids_mode" is set to 1. Launcher3 listens for this value and changes the nav bar accordingly.
This should work on any Android 13+ device.
I bought a used Pixel 7 Pro recently and thought it was a shame that Google's battery health feature hasn't been released.
It'd be nice to see how many charge cycles it's had or the estimated % of its original capacity. Fortunately, Google's made it possible in Android 14!
A few days back, I commented on some new BatteryManager APIs Google added in Android 14. Two of the APIs (cycle count & charging status) are public while the rest (manufacturing date, date of first use, charging policy, state of health) are system APIs.
Taking a deeper look, though, and it seems like the new system APIs can be called by any app that holds the BATTERY_STATS permission. This is a signature|privileged|development permission; "development" permissions can be granted to non-system apps through the 'pm grant' command!
Using that knowledge, developer
@thegreatporg whipped up a quick proof-of-concept battery health app that uses these new Android 14 APIs. Their app, Batt, is open source and available to download from GitLab. If you have a phone running Android 14 and want to see its battery health stats, try this app out!
Just install it and then run
Fair warning, though: I don't know how accurate the stats will be. The app just reports what the APIs return, which in turn depends on whether the stats are actually tracked by the charging IC and whether the HAL supports this feature. In other words, YMMV.
When Google inevitably releases its own battery health feature (hopefully baked directly into the Settings app!), then this app won't be necessary.
As an alternative, Tasker by João Dias is also adding these battery health stats. You'll be able to get them through the "Get Battery Info" action in case you want to run some automations based on this info.
It'd be nice to see how many charge cycles it's had or the estimated % of its original capacity. Fortunately, Google's made it possible in Android 14!
A few days back, I commented on some new BatteryManager APIs Google added in Android 14. Two of the APIs (cycle count & charging status) are public while the rest (manufacturing date, date of first use, charging policy, state of health) are system APIs.
Taking a deeper look, though, and it seems like the new system APIs can be called by any app that holds the BATTERY_STATS permission. This is a signature|privileged|development permission; "development" permissions can be granted to non-system apps through the 'pm grant' command!
Using that knowledge, developer
@thegreatporg whipped up a quick proof-of-concept battery health app that uses these new Android 14 APIs. Their app, Batt, is open source and available to download from GitLab. If you have a phone running Android 14 and want to see its battery health stats, try this app out!
Just install it and then run
pm grant com.porg.batt android.permission.BATTERY_STATS
(or install with the -g
flag), or use Shizuku to have the app grant itself the permission.Fair warning, though: I don't know how accurate the stats will be. The app just reports what the APIs return, which in turn depends on whether the stats are actually tracked by the charging IC and whether the HAL supports this feature. In other words, YMMV.
When Google inevitably releases its own battery health feature (hopefully baked directly into the Settings app!), then this app won't be necessary.
As an alternative, Tasker by João Dias is also adding these battery health stats. You'll be able to get them through the "Get Battery Info" action in case you want to run some automations based on this info.