Before diving into the information, I want to share that this is @AsssembleDebug from Gapps Flags & Leaks channel on telegram. I share information about unreleased/upcoming features in Google Apps or whatever I could find about Android. This is my old blog which I decided to open again and will post new things here. Please ignore the old posts on blog. I will cleanup them in some days. So let's come to the topic.
Google and Samsung (Snapdragon too!!) has been working on the XR headset since a while and not much is released or shared about the product itself. The only thing confirmed is - Google is working on the "Micro XR" (as reported by different news outlets) platform based on Android which will power the XR headset of Samsung, if they ever launch it.
There is not much information available about the Micro XR platform itself as well because Google is keeping it a secret. But they can't keep it a secret if they keep adding the code about XR in their apps which they release publicly, which is what I discovered in Google Play Store and Google Play Services. The code itself doesn't reveal anything about the Samsung's XR headset but provides a few bits of information about XR platform. So let's get started.
1. XR is a new form factor and Samsung's XR headset isn't alone
There are different type of products which are powered by Android. Google referes to them as form factors. Phone, Tablets, Foldables, Wear, Android TV, Auto and Chromebooks are different kind of form factors. Code in Google Play Store reveals that Google added the new "ANDROID_XR" as a form factor. So you may see products from different companies, not just Samsung's XR headset, powered by XR platform. Here is a screenshot of the code that I found.
2. Play Store
Since XR Platform will be running on Android you can expect Google Play Store to be pre-installed on it. In the code I found, there is a flag AndroidXr__is_android_xr in Google Play Store which is currently set to false. This flag can be used by the Play Store to check for device properties and based on it, it can set the flag to true or false if the device properties indicates that it is an Android XR powered device.
3. Setup Wizard
Just like Phones, Wear, TV and all other form factors, Google is making a specific Setup Wizard for the XR devices which will be used for the initial setup. Google lists the package name as "com.google.android.xr.setupwizard" followed by some kind of hash code or checksum for the setup wizard's package name. There were other setup wizard packages in the list which are used for Phones, Wear, TV etc. Check the screenshot below, I removed other setup wizard's package name and showing the specific one for XR devices.
4. Google Play Services, Flip that flag bro.
After digging through the Play Store code, my excitement was on another level and I immediately checked Google Play Service's code and wasn't disappointed. Since Google Play Service is an important part of Android Devices (except the one's which doesn't ship with GMS), it was evident that Play Services will be used to enable and disable features of XR devices and do some other kinds of things specific to XR devices, which we will know in upcoming months.
There is a flag named "Common__android_xr_feature_flag_enabled" in Play Services which is specifically for XR devices. There was another same flag below it, but it had "tv" written instead of "xr". So I immediately understood that it's for the XR devices, not just some random flag because there are literally 100s of flags in GMS code.
I really don't know what this flag do but I am pretty sure enabling on it Phone will do nothing. It is supposed to be enabled on the XR device itself to enable features related to the device.
5. System Feature Defined
This is last thing and is kinda important. Basically every Android powered device or product can make itself distinguishable from other products by defining a "uses-feature" tag in a XML file inside the system or product partition. This feature tag/flag thing can be queried by the apps to check if the device supports a specific feature (hasSystemFeature).
So in case of XR devices, all devices will have android.software.xr.immersive as a feature defined in system. Every product based on Micro XR platform will declare this so the apps can determine if it is actually running on a XR device and not on some other Android phone or tablet. Google Play Services is using the hasSystemFeature (some api or code, idk) to query the android.software.xr.immersive feature and if the Play services find the feature in XR device, it can enable the features specific to XR device which we currently do not know.
This is all I found for now about Android XR Platform. If anything new appears, I will share it on my GApps Flags & Leaks channel on telegram as well as on this blog if it makes an article long enough like this. Join and support (Patreon) :p
Post a Comment