This is it, folks. This is the version of Play Services that will be running on our phones and tablets when Google I/O 2015 kicks off in just 6 days. There are things in here that will certainly make the keynote, so if you don't want any spoilers, close this page immediately! There's no point in beating around the bush when we've got so much to talk about, so let's get to the good stuff.

Disclaimer: Teardowns are necessarily speculative and usually based on incomplete evidence. It's possible that the guesses made here are totally and completely wrong. There is always a chance that details may change or plans may be cancelled prior to the launch of a new feature discovered in a teardown. Much like rumors, nothing is certain until it's officially announced.

A brief note: We're trying a couple of different things with this teardown. To begin with, it's split into two parts so the length isn't quite as overwhelming. Part 2 can be found here. We're also test-driving a new expandable widget for long blocks of code and strings. Regular readers will recognize that it's based on our Press Release widget, but we're looking for ways to further improve upon it. Let us know what you think in the comments.

Android@Home Reborn

If there was ever a Google project that teased us with great potential and then mysteriously vanished in a puff of smoke it was... Ok, there have actually been a few of those, but let's focus on Android@Home. It first appeared 4 years ago as a pretty cool on-stage demo at Google I/O 2011. A year went by with nary a word, but hints that the project was still alive appeared in one of the very earliest APK Teardowns by Ron Amadeo. This pattern has continued with occasional references to the project name and some of its features, but it's always been little more than a tease. However, we might finally have some substantial evidence to get excited about.

A bundle of new strings with the prefix 'smartdevice' has been added in Play services 7.5. The majority of these strings add up to very mundane button and action titles, but a few of them let us know that we're looking at an interaction between two devices, many of which may not have conventional input or pairing methods like our smartphones.

Observations:

  • There is a string that mentions downloading an app to your current device to control and manage another device. The sample data in this string specifically suggests an app named "Remote Control" and the Philips Hues Lightbulb as the device. Of course, the Philips Hue is a Wi-Fi controllable, multi-color LED light bulb, and generally accepted to be the first successful smart bulb.
  • A lot of these strings are involved in pairing two devices, but several different methods exist for initiating contact, including: NFC, Bluetooth, Wi-Fi, entering PIN codes from a sticker, and even "listening" for a code.
  • One string includes the word "whisper" in its name, along with the text "Listening for confirmation code..." This could be related to WhisperNet, a technology possibly used by Chromecast and Nearby for communication via sound waves.
  • Many of the new strings discuss copying or setting up an account on a second device. There are a lot of similar or matching strings used by the Account Transfer feature introduced in Lollipop with the help of Play services.
  • One string mentions remote access to control a device.
  • One string guides users to begin pairing with the verbal (or typed) command: "OK Google, set up my device." This is likely the start of a process for pairing with something other than a smartphone or tablet, since that process begins automatically for many new handsets after they are powered on.
  • Another string involves pairing with new devices by tapping on a button labeled "set up nearby device." This could be coincidental, but it may take advantage of Nearby to build a list of gadgets in close proximity.
  • Several of these strings indicate that you must have a Google account or that it must be copied to a given device.

Strings

There's a lot to be picked up from these strings, but not all of them fit together in a neat package. For example, a light bulb, no matter how smart it is, probably isn't going to initiate a connection using sound waves. The best explanation is that these will be used for setting up many types of devices, each with their own distinct characteristics. On the other hand, this is exactly what we expect from Android@Home – a melting pot of different gadgets, each with its own way of maintaining connections and communicating.

Unlike previous appearances of Android@Home, or something that resembled it, there's more than a handful of strings or a vague link. These look like the genuine components for an interface. Some of these strings aren't in use yet, while others appear in multiple layouts and throughout code. There's not enough evidence to make a guess as to whether Google will announce anything for the home at I/O or if things will remain quietly undercover for another six months to a year (or four), but this is starting to look like a great time to tackle the concept of the smart home.

Nearby Sharing

At this stage, it feels like Nearby should have already launched. We broke the story about Nearby at this time last year, and we've seen so many bits and pieces since then, it's getting difficult to keep track of them all. In fact, this may be the single most talked about subject across all of the teardowns, ever. As it turns out, Nearby was meant to make one more appearance in the teardown – hopefully the time before it breaks out into the world.

We know Nearby is more like an enabling technology, so it will have many applications. Judging by a few new activities, one of its features will allow users to share... something?

  • Activity names: ShareActivity, ShareHintActivity, AppNotInstalledDialogActivity, and AppNotSupportedDialogActivity
  • There are also several new layouts prefixed with 'nearby_sharing'

Activities

To begin with, these four activities are only listed in the AndroidManifest, but the code that would implement them is missing. Likewise, the new layouts have very few references to strings or images, and the few that are there mostly read "PLACEHOLDER." In other words, there's nothing to go on besides a few names.

The only safe thing to say is that there will be an interface in Nearby that will allow users to open a share window to send some kind of data out to other apps. Beyond that, there's not much that can be said without making something up.

There is one last detail of some importance, a receiver that listens for apps that have been uninstalled.

<receiver android:name="com.google.android.gms.nearby.settings.NearbyAppUninstallReceiver">

This indicates that Nearby needs to know about other apps on the device. It's possibly just there to capture the removal of an important Google app, or it may be watching for multiple apps. This is definitely speculative, but it either suggests there is a new Nearby app by Google coming to the Play Store, or it may mean there will be an API for 3rd-party developers. Of course, there are other explanations, but these two are the most interesting. We'll just have to wait for I/O to get the full rundown.

In the meantime, I can leave this with a couple of images that are used for Nearby.

nearby_icon_36_blue

udc_header

Smart Lock May Detect When Trusted Devices Are Worn

The combination of Android Wear and Lollipop makes for a killer feature we call Trusted Devices. It allows us to keep our phones at the ready so long as they're not too far away, yet we can trust that they'll lock up tight in the event of loss or theft. A new string suggests a change to the rules for wearables that are meant to keep your phone unlocked: they actually have to be worn.

<string name="auth_trust_agent_trusted_bt_device_wearable_info">" Your "<g id="device_name">%s</g>" will keep your phone unlocked when it detects it's being worn nearby. "</string>

Just to be clear, this is a very literal interpretation of a single string. It's entirely possible that the choice of wording is imprecise or accidental. On the other hand, a number of people have suggested this behavior may already be active, as they have noticed their phones tend to lock when their Wear devices are on the charger. This string doesn't appear to be in use yet, so this could very possibly change in the future.

Wrap-Up

That's it for part 1 of this teardown. Part 2 is now available for your reading enjoyment.

Download

The APK is signed by Google and upgrades your existing app. The cryptographic signature guarantees that the file is safe to install and was not tampered with in any way. Rather than wait for Google to push this download to your devices, which can take days, download and install it just like any other APK.

File Name: com.google.android.gms-7.5.66_(1939950-430)-7566430-minAPI21.apk

Version: 7.5.66 (1939950-430) (7566430)

MD5: 004c2a4ad645f0e5e0d1f12599213033