As Google I/O 2017 approaches, we’re going to start seeing little tidbits of information release from many different sources. This time, one of those sources is coming from within the APK file of the most recent update of the Google Home application. Version 2.3 is now rolling out to users on the Play Store, and within the APK file we’re seeing some evidence that Google may be working to bring cloud device casting, support for 3rd party Google Assistant speaker devices, listing reminders in the Google Home app, and much, much more. Let’s dive in.
Here’s something that some users may find useful. Ever since the Google Chromecast was first announced, casting has been limited to devices either on the same network or in close proximity to the device (“guest mode”). However, within the strings file of the latest Google Home app, we are seeing some evidence that Google may be changing where you can cast to:
<string name="cloudcast_device_selector">Select Cast Device</string> <string name="cloudcast_device_selector_description">Where do you want to cast to?</string> <string name="cloudcast_error">Unable to cast</string>
The major hint here is the name of the preference: cloudcast. This suggests that Google may allow you to cast videos/pictures/etc. from outside of the device’s local network. How exactly this will work in practice we aren’t sure of. Perhaps anything you cast from outside will be added to a queue and be available to you when you enter the device’s network once more. You may also have to register the device with your Google Account in the Google Home app in order to cloud cast to it. Both of these make sense to us, but there isn’t much more information to go off of as of yet.
Google Assistant Speakers
Recently, Google launched the Google Assistant SDK for third-party companies to integrate Assistant into their own products. We haven’t really seen any companies announce commercial products making use of this integration just yet, though you are free to try running Assistant on your own desktop machine right now.
Anyways, one thing I was wondering was how you would control Google Assistant on these third party devices. The Google Home app makes the most sense, as it would allow you to consolidate all of your Assistant enabled devices into a single app for easy control. It may be that this is exactly how it will work, if I’m reading this string correctly:
<string name="device_type_google_assistant_speaker">Google Assistant speaker</string> <string name="device_type_google_home">Google Home</string>
As you can see, there’s a new device type recognized in the app called a “Google Assistant speaker.” Notice that device type “Google Home” is distinct from this new device type, even though the Google Home is technically also a Google Assistant speaker. This suggests to me that the Google Home app will recognize these third-party devices and allow you to configure them.
Okay, this one is a little overdue. Currently, you can view your shopping list by opening the sidebar of the Google Home app and tapping on the “shopping list” button (though currently it takes you to a webview version of Google Express, which we still think is dumb). But one thing that has been missing is the ability to view all of your reminders – until now.
Pretty straight forward. This string sits between all of the other “drawer_item” values which represent the current items you see when you open the sidebar in the Google Home app.
Network support on the Chromecast is pretty limited. Currently all you can really do is have it connect to your WiFi network, but you can’t really modify much of the connectivity settings. That may change, however, as the Google Home app hints at allowing you to set a proxy server for your device.
<string name="proxy_setting_dialog_bypass_list_hint">Bypass list</string> <string name="proxy_setting_dialog_server_hint">Server</string> <string name="proxy_setting_dialog_title">Proxy settings</string> <string name="proxy_settings_description">"Server: %1$s Bypass list: %2$s"</string> <string name="proxy_settings_none">None</string>
We can see this activity has been defined in the following layout file.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <android.support.design.widget.TextInputLayout android:id="@id/textInputLayout3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/proxy_dialog_side_margin" android:layout_marginTop="@dimen/proxy_dialog_top_margin" android:layout_marginRight="@dimen/proxy_dialog_side_margin" android:layout_alignParentLeft="true" android:layout_alignParentTop="true"> <EditText android:id="@id/server_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/proxy_setting_dialog_server_hint" /> </android.support.design.widget.TextInputLayout> <android.support.design.widget.TextInputLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="30.0dip" android:layout_below="@id/textInputLayout3" android:layout_alignLeft="@id/textInputLayout3" android:layout_alignRight="@id/textInputLayout3"> <EditText android:id="@id/bypass_list_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/proxy_setting_dialog_bypass_list_hint" /> </android.support.design.widget.TextInputLayout> </RelativeLayout>
This new setting is also present in the device_settings_fragment.xml file, though I haven’t yet seen it on the live build of the Google Home app.
Clearing Search History
Search is the bread and butter of all Google products, but any searches made through the Google Home application would have to be cleared from your account online using a web browser. It appears that the Google Home app will allow you to now clear your search history in the Google Home app.
<string name="search_history_clear_all_description">"Clear this account's search history for all devices"</string> <string name="search_history_clear_all_done_toast">Search history cleared.</string> <string name="search_history_clear_all_title">Clear search history</string> <string name="search_history_clear_confirm_body">Are you sure you want to clear your search history?</string> <string name="search_history_description">Manage your search history</string> <string name="search_history_more_button">More from search history</string> <string name="search_history_title">Search history</string>
Additional layout files for this feature have been defined in search_history_settings.xml, search_history_more_button.xml, search_history_item.xml, and search_history_section.xml.
Bluetooth Management, Notification Sounds, and a Survey
The Google Home doesn’t allow you to pair with Bluetooth devices, so we’re not exactly sure what the following strings represent. Furthermore, these strings have empty values, so there isn’t really much to go off of.
<string name="settings_bt_date_added" /> <string name="settings_bt_dialog_body" /> <string name="settings_bt_dialog_positive_button" /> <string name="settings_bt_dialog_title" /> <string name="settings_bt_discovery_error" /> <string name="settings_bt_discovery_toast" /> <string name="settings_bt_empty" /> <string name="settings_bt_header" /> <string name="settings_bt_positive_button" /> <string name="settings_bt_removal_error" />
Within the AndroidManifest.xml file, we can see that this is in preparation for a Bluetooth device management activity.
<activity android:exported="false" android:label="@string/settings_bt_header" android:name="com.google.android.apps.chromecast.app.setup.bluetooth.BluetoothManagementActivity"/>
Next up, we have hints at allowing you to change notification sounds. A very minor feature, considering the limited amount of notifications you can even receive from the Google Home app.
<activity android:exported="false" android:label="@string/settings_notification_sounds_header" android:name="com.google.android.apps.chromecast.app.setup.NotificationSoundsActivity"/>
Finally, we are seeing strings that indicate the Google Home app will start sending you surveys rating your experience. We only encounter force-closures when attempting to forcefully access the survey, so it will likely be a server-side roll-out to only a handful of random users.
<string name="hats_lib_close_button_description">Close</string> <string name="hats_lib_default_prompt_title">Please help us improve Google.</string> <string name="hats_lib_default_star_rating_bar_description">Star Rating Bar</string> <string name="hats_lib_default_thank_you">Thank you for your feedback!</string> <string name="hats_lib_next">Next</string> <string name="hats_lib_none_of_the_above">None of the above</string> <string name="hats_lib_open_text_hint">Enter your comments here</string> <string name="hats_lib_open_text_no_pii">"Don't include personal information"</string> <string name="hats_lib_prompt_no_thanks">No thanks</string> <string name="hats_lib_prompt_take_our_survey">Show question</string> <string name="hats_lib_submit">Submit</string>
Within the APK file are a bunch of new icons and other layout files related to Bluetooth Management and the survey, but there are simply too many to really list here. In any case, those are the most interesting findings I’ve made in relation to Google Home version 2.3. I’ll continue digging around and update this article if I find anything interesting in the live build, or through an APK teardown. If you are looking for this latest release of the Google Home app, you can download it right now over at APKMirror. Follow our APK Teardown tag for more articles like this!