Yesterday’s Google event finally brought us the Google Pixel 2 and Pixel 2 XL, the Pixelbook, and the Home Mini/Max but even though the Google fervor is now dying down, there’s still much for Android enthusiasts to look forward to in the coming weeks. The mighty Huawei Mate 10 will soon make its debut on October 16th at a press event in Munich, Germany, and it will be the first public look we will have on Huawei’s upcoming EMUI 6 based on Android 8.0 Oreo. Ahead of this event, we have obtained access to a pre-release firmware build of Android Oreo/EMUI 6 for the Huawei Mate 9, and there are quite a few interesting changes to note for this upcoming update.
The Huawei Mate 9 was unveiled in only November of last year with top-tier hardware specifications, so it’s unsurprising to see this device receive an Android Oreo update. There were hints of early work being done on an Android 8.0 update even as far back as April of this year, though the build that was leaked at that time was fairly barebones. Now, the build that we have obtained is fully functional and can actually install right on top of MHA-L29C432 (the international Huawei Mate 9 variant) so we did just that to start digging in to what’s new in the EMUI 6 update.
EMUI 6 based on Android Oreo for the Huawei Mate 9
The Things You Would Expect
For starters, let’s get the uninteresting details out of the way. As you would expect, most of the required Android Oreo features are available in this build. That means picture-in-picture mode support, the strict background app limitations, notification channels, and even that annoying “app is running in the background” notification that you can thankfully still hide using an app.
We should note that although Huawei implemented notification channels, their notification importance controls is actually a holdover from EMUI 5 and not based on the AOSP version that you may be familiar with. I see this as a boon because it means you don’t need a third-party app to bring back notification importance controls for apps that don’t target Android Oreo.
EMUI 6 Updates
Here is where things get a little bit more interesting. Overall, I would say there aren’t many changes between EMUI 5 and EMUI 6 on the surface, but there are a few new software additions that should make some people happy.
First up, there is a new “screen resolution” option in display settings. This builds upon EMUI 5’s dynamic screen resolution feature called “smart resolution” (which is also present in EMUI 6). While smart resolution would automatically switch between 720p and 1080p in order to conserve power, this new option allows you to manually change between the two resolutions. This method likely beats using the ADB “wm size” command, as that ADB command only adjusts the virtual resolution rather than actually having the display render at a lower resolution.
Next, there is a new button that can be placed on the navigation bar. When the button is enabled, it adds a small arrow to the left side of the navigation bar. Pressing this button will temporarily hide the navigation bar until you swipe up from the bottom. For those of you who like having the stock navigation bar but want to occasionally make use of the full-screen real estate on-demand, this new button beats the ADB command that permanently hides the navigation bar or enables immersive mode. This button isn’t technically new as it is present on the Chinese Huawei Mate 9 firmware, but it’s new to the international variant.
If you aren’t a fan of the software navigation bar, then there is another new navigation option available for you to try. It’s called navigation dock and what it does is it places a movable floating button that can replace the navigation bar for all back, home, or recent button presses. This is distinct from EMUI 5’s “floating dock” as that feature acted like a pseudo-pie control wherein pressing the button would expand a list of available navigation options. EMUI 6’s navigation dock instead uses gesture controls such as slide up to go home, slide right for recents, and touch to go back.
Lastly, in developer options, there is something strange that we found. The usual Bluetooth audio codec customization features are present, as is the ability to switch between various Bluetooth audio codecs—including aptX and aptX HD. aptX and aptX HD are proprietary Bluetooth audio codecs that are owned by Qualcomm, so companies that wish to use them must pay licensing fees to Qualcomm.
We’re not sure why Huawei even made it a selectable option as it doesn’t even work here (picking either of these options simply reverts the selection back to SBC), but then again this is a pre-release build so it’s possible these options will disappear in the final release. Perhaps with root access and a Magisk Module we can enable support for it much like Google Nexus 6P owners can.
You might be wondering by this point why we haven’t yet shown a screenshot of the “About Phone” section. That’s because, like every beta/testing build that Huawei releases internally, the software version is changed to mitigate leaks. Fortunately, it’s rather easy to verify the true software build by taking a peek at the build.prop file. In it, we can see that the following:
[ro.build.version.security_patch]: [2017-09-05] [ro.build.version.release]: [8.0.0] [ro.build.version.sdk]: 
and from a separate command, we can find the Linux kernel version
Linux version 4.4.23+ (android@localhost) (gcc version 4.9.x 20150123 (prerelease) (GCC) ) #1 SMP PREEMPT Thu Sep 14 04:10:43 CST 2017
So, it’s pretty clear from this information that the Huawei Mate 9 build we have obtained is indeed based on Android 8.0 Oreo (SDK level 26). The Linux kernel version is 4.4, updated from 4.1 in the Nougat-based EMUI 5 on the Mate 9. Furthermore, the security patch level is September 2017 which means that the Mate 9 is safe from the Blueborne vulnerability.
Finally, there are a few things we discovered that are especially interesting to Android enthusiasts. First, Project Treble support is there. Though the kernel sources for the Mate 9 have been available for several months, there aren’t any custom AOSP-based ROMs available for the device. Maybe Project Treble support will change that, maybe not. This is still interesting as it is the first confirmed device that has Project Treble support even though it did not launch with Android Oreo.
Last but not least, here’s a thing that nobody expected to happen: Substratum support in EMUI. Yes, Substratum themes work on EMUI 6. This is all thanks to the Overlay Manager Service (OMS) commits that Sony made to AOSP that have finally made their way in a fully working state in Android Oreo. It’s thanks to this that Google Nexus and Pixel users are able to enjoy full custom theme support using the Andromeda add-on for Substratum. We tested both the command line interface as well as a dark theme in certain apps and can confirm it does indeed work.
Substratum support may not seem as interesting at first glance since Huawei already has its own theme engine, but it should be noted that Substratum will allow you to theme more than just system applications as can be seen in the above screenshot of the Google Messenger application.
That’s all we’ve discovered in this internal, beta build of Android 8.0 Oreo for the Huawei Mate 9. Stay tuned to the XDA Portal as we have more to share about upcoming Huawei and Honor devices. The best way to follow the Portal is by installing the XDA Labs application!
The firmware was provided for me to install on my Huawei Mate 9 by FunkyHuawei.club, a service which lets you install pre-release Huawei firmwares, recover bricked devices, and rebrand/convert China region phones to international variants. The service will support the Mate 10 upon release.