A beta update to the Google app has been making the rounds. As usual, there's not much new to see after installing this release, but many changes are awaiting Google to flip a switch before going live. Also following the usual pattern, there's a teardown of the APK that provides plenty of hints about what's to come. Version 7.24 reveals plans for a floating bubble with current sports scores that remains visible on top of other apps, an effect for the Google search box, a mysterious new project called Valyrian, assorted follow-ups for the Pixel Buds, home automation, and more.

Teardown

Disclaimer: Teardowns are based on evidence found inside of apks (Android's application package) and are necessarily speculative and usually based on incomplete information. It's possible that the guesses made here are totally and completely wrong. Even when predictions are correct, there is always a chance that plans could change or may be canceled entirely. Much like rumors, nothing is certain until it's officially announced and released. Disclaimer: Teardowns are based on evidence found inside of apks (Android's application package) and are necessarily speculative and usually based on incomplete information. It's possible that the guesses made here are totally and completely wrong. Even when predictions are correct, there is always a chance that plans could change or may be canceled entirely. Much like rumors, nothing is certain until it's officially announced and released. The features discussed below are probably not live yet, or may only be live for a small percentage of users. Unless stated otherwise, don't expect to see these features if you install the apk.

Pinned matches: Floating sports scores

If you actively follow any sports teams, but can't take time out of a busy life to watch every game as it happens, you might still want to be able to glance at your phone to keep tabs on the score. It seems Google is about to add the perfect new feature for you. A new "pinned matches" feature is in the works that will produce a floating bubble containing the scores for a game you decide to follow.

<string name="permission_screen_title">Update your device settings</string>

<string name="permission_screen_message">Pinned matches lets you follow sports games and scores even while you are using other apps. Turn on permit for drawing over other apps.</string>

The text describing pinned matches is pretty clear about how it works, saying simply that it's a way to follow a game while you're using other apps, then instructing users to grant permission to draw on top of other apps. Google is even doing us a favor by including sample images (shown above) to demonstrate how these floating bubbles will be displayed, including a shot on top of Maps, search results, and YouTube.

At this time, there's no sign that it's possible to pin matches quite yet, and I haven't seen much in the way of resources that suggest it's fully implemented. On the other hand, this is the Google app, and there's not much visually necessary for this feature, so it's hard to say with certainty.

Special effects for the Google search box

If you've been using Gboard lately, you've almost certainly spotted the new Doodles that are occasionally shown on the left side of the suggestion bar. It's cute, although quite distracting.

Judging by some new text, a similar novelty feature called "searchbox effects" may be coming to the Google search bar. The names of the strings imply that this is tied to the Google Doodles, thus the expectation that this will resemble Gboard's implementation. Also notable is that the strings also include 'pixel' in the name, which might mean this will be exclusive to the Pixel-branded phones.

Quote Searchbox effects</string>

<string name="pixel_doodle_qsb_title">Searchbox effects</string>

<string name="pixel_doodle_qsb_summary">Show special Searchbox effects.</string> . /xml/pixel_search_qsb_preference.xml

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

<SwitchPreference android:persistent="true" android:title="@string/pixel_doodle_qsb_title" android:key="doodle_in_qsb_enabled" android:summary="@string/pixel_doodle_qsb_summary" android:defaultValue="true" />

</PreferenceScreen>

A new settings screen has been created to contain the toggle for the new effects. That's usually a pretty good sign that there may be more options to control this effect, or even entirely new effects planned for the future.

Valyrian

A new codename has turned up in this update: Valyrian. Right now, the only text available is for a pair of confirm/cancel labels, but the main UI is actually comprised of nine brand new layouts and a fairly huge amount of new code, plus various things that now include links into Valyrian. Despite that, it's pretty hard to tell what Valyrian will actually do at this point. There are some clues, but they only paint part of the picture.

Quote Cancel</string>

<string name="valyrian_immersive_actions_confirm">Confirm</string> /layout/valyrian_chat_ui.xml

/layout/valyrian_header.xml

/layout/valyrian_immersive_actions_control_buttons.xml

/layout/valyrian_immersive_actions_editor_content.xml

/layout/valyrian_immersive_actions_execute_button.xml

/layout/valyrian_immersive_actions_header_editor.xml

/layout/valyrian_immersive_actions_ui_footer.xml

/layout/valyrian_immersive_actions_ui.xml

/layout/valyrian_profile_icon_view.xml

To begin with, the naming obviously implies Valyrian will contain "immersive actions," which most likely means they'll either go fullscreen or at least full-width within their container. Google Assistant's chat-style interface has been modified to include the Valyrian UI controls, even if they don't show up yet, so this is likely something we'll see or access through there. As for code, there's quite a bit of it, but almost everything is obfuscated to the point that it's not worth digging too deep yet.

I don't have enough to make any good guesses, but given the timing, I wouldn't be surprised if we saw a demo at the I/O stage that reveals what Valyrian might be or how it's used.

Home automation

One of the odd little additions in this update was an icon for a thermostat. What's particularly interesting about this to me is the name of the image file, quantum_ic_device_thermostat_black. While it doesn't follow any specific naming convention perfectly, it does include the word 'device,' which is rarely used outside of the context of Assistant-enabled hardware. I'm not going to predict there's a new thermostat coming with a built-in microphone and Assistant, but perhaps we should keep an eye out for that.

There are also some new lines related to home automation. The additions encompass the abilities to adjust the temperature of a thermostat, brightness of lights, and to turn them on or off. Of course, these things are already supported by the Assistant, at least for certain hardware. However, these specific strings belong to cards, which probably means they'll become part of on-screen controls in the Google app and users won't have to rely on voice (or typed) commands to do everything.

Quote Brightness</string>

<string name="opa_home_automation_temperature_card_trait_title">Temperature at %1$d°</string>

<string name="opa_home_automation_switch_card_trait_title">Switch</string> <string name="opa_home_automation_turn_off">Turn off</string>

<string name="opa_home_automation_turn_on">Turn on</string> /layout/home_automation_action_coin_view.xml

/layout/home_automation_card.xml

/layout/home_automation_section_view.xml

Notably, there are also some new layouts, though none of them are particularly exciting. What stands out to me is that this is the first time the words "home automation" are appearing prominently in the resources. This will probably be a subject to watch more closely, especially since smart displays may become featured components in Google's strategy to automate our domiciles.

Follow-up: Routines and adding actions and media

It seems like forever ago since we first learned about Routines, and I think most people expected them to be capable of more than six pre-made routines at launch. We've known for a long time that custom routines would be allowed, something that was reaffirmed in a teardown of v7.23 earlier this month.

In v7.24, there are new lines that make up the interface for building a routine. This basically just involves hitting the command to add an action, then choosing one from a list of popular actions or opting to "specify a custom command to run." The list of popular actions will be provided by Google and will probably change semi-regularly, possibly even revealing popular new actions if anything in particular becomes trendy.

Among the actions that can be performed, users can also add a step that plays 'media' of their choosing. In other words, you can play sounds when your routine is finished. From this, it's not clear if you're limited to a preselected list of sounds, if you can provide your own recordings or audio files, or if you can go so far as to pick playlists from music or podcast apps. Once this launches, we'll get a better idea of what's available.

Quote Add</string>

<string name="user_defined_action_add_action">Add action</string>

<string name="user_defined_action_add_action_browse_popular_tasks">Choose popular actions</string>

<string name="user_defined_action_add_action_custom_query_summary">e.g. \"set the volume to 50%\" or \"what\'s the weather\"</string>

<string name="user_defined_action_add_action_custom_query_title">Enter a Google Assistant command</string>

<string name="user_defined_action_add_action_empty_custom_query_message">Please specify a custom command to run.</string>

<string name="user_defined_action_add_action_popular_tasks_other_actions">More actions</string>

<string name="user_defined_action_add_action_popular_tasks_title">Popular actions</string> <string name="user_defined_action_add_ends_with_action">Add media</string>

<string name="user_defined_action_add_ends_with_action_no_selection_message">Please choose the media to play.</string>

<string name="user_defined_action_add_ends_with_action_what_media">What media would you like to play?</string>

The Pixel Buds, despite getting middling reviews, have been an unusually active topic in the Google app lately. When we last left off, Google's first wireless earbuds were likely to receive a new feature that enabled users to decide if a double-tap should still wake the Assistant to read notifications or if it should instead skip to a new song. Later, an unconfirmed report suggested new double-tap behavior was rolling out, but was proven incorrect shortly after.

The latest update makes some simple changes in preparation for the new Pixel Buds customization options. When this goes live, the settings for double-tap behavior will be shown as radio buttons. The same options will still be offered: Notifications from Assistant or skip to the next track.

Quote

<string name="bisto_device_double_tap_subpref_title">Customize</string>

<string name="bisto_device_double_tap_next_mode_summary">Spoken notifications will not be available</string> /xml/preference_double_tap.xml

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

<PreferenceCategory android:title="@string/bisto_device_double_tap_subpref_title" android:key="@string/bisto_device_double_tap_pref_title">

<CheckBoxPreference android:persistent="false" android:layout="@layout/left_side_widget_preference" android:title="@string/bisto_device_double_tap_assistant_mode" android:key="@string/bisto_device_double_tap_assistant_mode_value" android:widgetLayout="@layout/preference_widget_radio" />

<CheckBoxPreference android:persistent="false" android:layout="@layout/left_side_widget_preference" android:title="@string/bisto_device_double_tap_next_mode" android:key="@string/bisto_device_double_tap_next_mode_value" android:summary="@string/bisto_device_double_tap_next_mode_summary" android:widgetLayout="@layout/preference_widget_radio" />

</PreferenceCategory>

</PreferenceScreen>

The explanation for in-ear detection has also been modified. In previous iterations, it was always explicitly stated that music would be paused if the right-side earbud was removed. The latest version is skipping that statement entirely and making it clear that in-ear detection turns them on or off. It also spells out the triple-tap behavior we've touched on in the past.

-- new --

<string name="smart_detection_apollo_message">Your Pixel Buds automatically turn on and off when you wear the right earbud or place them in the case. Use Triple Tap for manual power control.</string>

-- old --

<string name="smart_detection_apollo_message">To put the Pixel Buds in sleep mode and automatically pause music, take the right earbud out of your ear. To wake them, place the right earbud back in your ear.</string> -- new -- -- old --

Google Public

With the bigger topics out of the way, we've got room for a few quick hits. First up is a product name for something called Google Public.

Quote Google Public</string> <service android:name="com.google.android.apps.gsa.publicsearch.PublicSearchService" android:exported="false" android:label="@string/publicServiceLabel" android:process=":search">

<intent-filter>

<action android:name="com.google.android.apps.gsa.publicsearch.IPublicSearchService" />

</intent-filter>

</service>

So far, this is just a label and a bit of code, so there's not a ton to go on. It's possible this is related to the Google Public Data Explorer, a tool for searching through data collections provided by assorted institutions from academia, governments, and other organizations that open up their research to the world. On the other hand, it might not be that...

Group chat?

Another interesting string popped up that mentions group chats. The text isn't part of any specific layout, and it's only used in some obfuscated code, so again, there's not much to go on. My guess is it will be used for notifications from Assistant, although there are plenty of other explanations. (There's nothing to suggest it's a new messaging service. #inb4)

<string name="default_group_name">a group chat</string>

Google Search is now available to Instant Apps

Normally I skip when new stuff is made available to Instant Apps, but we're already into the teardown and this is a fairly big one. The main search activity is now flagged to be called on by Instant Apps. This means that if you load an Instant App on your phone, it will be able to redirect users to the Google app and instruct it to do a handful of things automatically, like preloading a search phrase.

Quote com.google.android.googlequicksearchbox.SearchActivity" android:excludeFromRecents="true" android:label="@string/search_activity_name" android:noHistory="true" android:process=":search" android:taskAffinity="" android:theme="@*android:style/Theme.NoDisplay" android:visibleToInstantApps="true">

...

<meta-data android:name="instantapps.clients.allowed" android:value="true" />

</activity>



Follow-up: Smart displays

The "Quartz" name began appearing in the Google app back in October, foretelling the upcoming Smart Display revolution, and there hasn't been a regular update since without a couple dozen new or modified lines of text bearing the codename. At this point, it's a bit exhausting to enumerate each little change, especially without an interface to compare, but we can fly right through these.

Shopping by voice

Shopping is already part of Assistant, albeit not very well-recognized or widely used. That may change with smart displays. There is already plenty of text relating to shopping, but now there's a line giving a sample of what users can say to easily add a product to their shopping cart.

<string name="quartz_shopping_cart_empty_card_subtitle">To shop, just say “add olive oil to my cart” or “buy pasta sauce”.</string>

<string name="quartz_shopping_cart_empty_card_title">Your cart is empty</string>

<string name="quartz_shopping_cart_empty_zero_qty">0</string>

<string name="quartz_shopping_cart_empty_zero_subtotal">$0.00</string>

Collapsable ingredient lists in recipes

Step-by-step recipes are going to be one of the key features in Google-powered smart displays. If you should happen upon a recipe with an overwhelming list of ingredients, or maybe you want to reclaim a part of the screen space, you'll be able to hide or show the list with the tap of a button.

<string name="quartz_ganache_hide_ingredient_label">Hide ingredients</string>

<string name="quartz_ganache_show_ingredient_label">Show ingredients</string>

Miscellaneous

The rest of the additions are pretty redundant, so they've been covered pretty thoroughly in past teardowns. However, if you'd like to skim through them, here is the rest of the new material.

Quote Untitled</string>

<string name="quartz_muted_mic_plate_description">The microphone is muted.</string> <string name="quartz_image_load_failed">Sorry, the image could not be loaded.</string>

<string name="quartz_image_load_try_again">Try again</string>

<string name="quartz_image_search_annotation_price_format">%s%.2f</string>

<string name="quartz_image_search_annotation_product_check_website_for_pricing">Check website for latest pricing</string>

<string name="quartz_image_search_annotation_product_in_stock">In stock</string>

<string name="quartz_image_search_annotation_product_out_of_stock">Out of stock</string>

<string name="quartz_image_search_annotation_recipe_cook_time_prefix">Cook Time</string>

<string name="quartz_image_search_annotation_recipe_ingredients_title">Ingredients</string>

<string name="quartz_image_search_annotation_recipe_yield_prefix">Yield</string>

<string name="quartz_image_search_annotation_reviews_count_format">(%d)</string>

<string name="quartz_image_search_annotation_stars_rating_format">%.1f</string>

<string name="quartz_image_search_annotation_string_prefix_format">%s: %s</string>

<string name="quartz_image_search_annotation_video_comments_count_prefix">Comments</string>

<string name="quartz_image_search_annotation_video_likes_count_prefix">Likes</string>

<string name="quartz_image_search_annotation_video_upload_date_prefix">Published</string>

<string name="quartz_image_search_annotation_video_uploaded_by_prefix">Uploaded by</string>

<string name="quartz_image_search_annotation_video_views_count_prefix">Views</string>

<string name="quartz_image_search_disclaimer">Images may be subject to copyright</string>

<string name="quartz_image_search_label_product">Product</string>

<string name="quartz_image_search_label_recipe">Recipe</string>

<string name="quartz_image_search_related_images">Related images</string>

<string name="quartz_image_search_visit_link_prefix">Visit</string>

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.