Google is working on a new Settings Routines feature for Pixel phones on Android Q
The freedom which Google gave developers in the early days of Android allowed for the flourishing of apps that aren’t possible on iOS. Automation apps like Tasker, MacroDroid, Automate, and Llama let users take full control over the apps and settings on their phones, though recent Android releases have scaled back what these apps are capable of. While third-party automation apps have lost some of their luster, first-party services like Google Assistant and Samsung Bixby have added limited automation capabilities with features like Assistant Routines and Bixby Routines respectively. Now, we’ve found evidence that a new automation feature is in the works for Google Pixel smartphones running Android Q.
Settings Routines in Android Q for the Google Pixel
Strings and code for the new feature first appeared in the SettingsIntelligence system APK that was released with the Android Q betas. The latest SettingsIntelligence APK on the Android Pie release for the Google Pixel 3 XL running the May 2019 security patch is version 188.8.131.52685250. On the other hand, Android Q beta 2 for the Google Pixel 3 XL contains version 184.108.40.206052489.fishfood while Android Q beta 3 contains version 220.127.116.11603058.dogfood. “Fishfood” and “Dogfood” refer to internal releases that are undergoing testing by Google employees, so it’s strange to see them in a public beta release. Regardless, the new feature isn’t activated in Android Pie or Android Q for any Google Pixel smartphone.
The feature is referred to internally as “routines” but will be presented to the user as “rules.” The following strings describe the basic idea behind the feature:
<string name="routines_settings_summary">Rules help automate changes that you regularly make in Settings, such as switching your phone to silent whenever you get to work.</string> <string name="routines_settings_title">Rules</string>
The feature description makes it sound like you’ll have a lot of freedom in automating your device settings, but that doesn’t actually seem to be the case at this time in the feature’s development.
Currently, the feature will let you set up rules on your Google Pixel based on what Wi-Fi network you’re connected to or what location you’re at.
<string name="add_network">Add network</string> <string name="add_routine">Add rule</string> <string name="add_location_routine">Add Location rule</string> <string name="add_routine_this_location">Turn on the following at this location:</string> <string name="add_wifi_routine">Add Wi-Fi rule</string> <string name="add_routine_this_network">Turn on the following when connected to this network:</string>
The location rule creates a geofence for the latitude and longitude of the address that you input. The Wi-Fi rule lets you set up conditions based on the saved Wi-Fi SSIDs on your device.
Once a Wi-Fi or Location rule is triggered, you have the option to either turn on Do Not Disturb mode, set the phone to ring, silence the phone, or set your Google Pixel to vibration only.
<string name="routine_action_dnd">Turn on Do Not Disturb</string> <string name="routine_action_normal">Set phone to ring</string> <string name="routine_action_silent">Silence phone</string> <string name="routine_action_vibrate">Vibrate phone</string>
These strings add a bit more context to what you can do with Rules. For example, the strings confirm that a Wi-Fi rule can only be added for saved networks.
<string name="choose_routine_source">Choose rule type</string> <string name="choose_wifi_network_title">Choose Wi-Fi</string> <string name="choose_wifi_no_available_networks">"You've added rules for all saved networks. To add a new rule, connect to another network."</string> <string name="choose_wifi_no_saved_networks">To add a rule, first connect to a Wi-Fi network</string> <string name="choose_wifi_title">Choose saved network</string> <string name="chosen_location">Location:</string> <string name="chosen_network">Network:</string> <string name="edit_rule_action_header">Do the following</string> <string name="edit_rule_activity_add">Add Wi-Fi network or location</string> <string name="edit_rule_activity_header_location">When at location</string> <string name="edit_rule_activity_header_wifi">When connected to</string> <string name="edit_rule_summary_dnd">"When Do Not Disturb is on you'll see this icon at the top of your screen"</string> <string name="edit_rule_summary_ringer">"You'll be notified whenever a change occurs"</string> <string name="edit_rule_title">Edit rule</string>
Once a rule is activated, SettingsIntelligence in Android Q will display a notification informing the user what action has been action. Notifications will also be shown to inform the user when they’ve entered or exited the trigger area for a rule.
<string name="notification_action_wifi_rule_detected_positive">Tap to setup a rule</string> <string name="notification_text_rule_applied_location_enter_prefix">Arrived at</string> <string name="notification_text_rule_applied_location_exit_prefix">Left</string> <string name="notification_text_rule_applied_wifi_enter_prefix">Connected to</string> <string name="notification_text_rule_applied_wifi_exit_prefix">Disconnected from</string> <string name="notification_text_wifi_rule_detected_prefix">Set up a rule for</string> <string name="notification_title_dnd_wifi_rule_detected">Turn on Do Not Disturb each time?</string> <string name="notification_title_normal_wifi_rule_detected">Always ring when connected?</string> <string name="notification_title_rule_applied_dnd">Do Not Disturb is on</string> <string name="notification_title_rule_applied_dnd_off">Do Not Disturb is off</string> <string name="notification_title_rule_applied_normal">Phone set to ring</string> <string name="notification_title_rule_applied_silent">Phone set to silent</string> <string name="notification_title_rule_applied_vibrate">Phone set to vibrate</string> <string name="notification_title_silent_wifi_rule_detected">Always silence when connected?</string> <string name="notification_title_vibrate_wifi_rule_detected">Always vibrate when connected?</string>
Lastly, users will have the option to grant SettingsIntelligence access to their location and calendar so the app can suggest the creation of new rules.
<string name="permission_dialog_description">"%s uses your location and calendar to provide personalized suggestions based on your routines. If you don't allow location and calendar permissions, you may still receive other suggestions."</string>
Bonus: Ramping Ringer
As a bonus, there are strings and code in the SettingsIntelligence app that suggest that Google may add a “ramping ringer” feature in Android Q for the Pixel devices. During incoming calls, the Google Pixel will first vibrate for a few seconds before slowly increasing the ringtone volume over time. This feature is commonly found in custom ROMs and OEM software but has not yet made its way over to the Google Pixel.
<string name="ramping_ringer">Vibrate first then ring gradually</string>
While the new feature doesn’t seem anywhere near as robust as automation apps like Tasker, it’s possible that more will be added in the coming months before the feature set is frozen for release. Plus, most automation apps have high barriers to entry, so Google has to make Rules simple enough for the average Pixel owner, or prospective Pixel owner, to use.
Since the feature is part of the SettingsIntelligence app which is Pixel-exclusive (the feature declaration in the Manifest,
com.google.android.feature.PIXEL_EXPERIENCE, confirms this), we believe that only Google Pixel smartphones running Android Q will get the new feature. I also believe that this feature is likely to debut with the Google Pixel 4 and Pixel 4 XL since it’s still in-development and feels like something that would be held back for a new product release, but I can’t confirm a launch date. We previously spotted hints for this feature all the way back in Android P Developer Preview 2 last year, but it seems that a lot more work has gone into the feature since then. We’ll keep you updated if the feature does go live prior to the release of the next 2019 Pixel smartphones.
Thanks to PNF Software for providing us a license to use JEB Decompiler, a professional-grade reverse engineering tool for Android applications.