Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions differences.md
Original file line number Diff line number Diff line change
Expand Up @@ -432,6 +432,19 @@ To turn the circle menu on, go to **Backtalk menu** and turn on **Circle menu**.

Say "call Mom", or "call" followed by a phone number, to place a call. Backtalk reads back who it will call and asks you to say yes, then calls at once. Add "on speaker" to start the call on the speaker. If two contacts match, Backtalk reads their names and you say a number. Say "answer the call" or "pick up the call" to answer, "decline" to turn a call away, and "hang up" to end one. The first time, Backtalk asks for the phone, contacts and answer-calls permissions. Ending a call needs Android 9 or later. Turning the speaker on or off during a call isn't included, because Android doesn't let apps like Backtalk do it.

### System controls

Backtalk adds voice commands for settings that Android lets apps change:
* **Do Not Disturb**: Say "turn on Do Not Disturb" or "turn on DND" to silence notifications, and "turn off DND" to restore them. If notification policy access has not been granted yet, Backtalk asks for permission and opens the setting.
* **System settings**: Say "open settings" or "settings" to open the Android system Settings app.
* **Backtalk settings**: Say "open Backtalk settings" or "Backtalk settings" to open screen reader preferences directly.
* **Device status and battery**: Say "battery" to hear the battery level and charging state, or "status" to hear the time, network, and device status.
* **Volume**: Say "volume up", "volume down", "mute", or "unmute".

### Finding controls on screen

Say "find [name]", "focus [name]", "search for [name]", or "locate [name]" (for example, "find play button", "focus search", "locate cancel") to search the screen and move accessibility focus directly to the matching control.

## Screen and brightness

### Brightness reading control
Expand Down
15 changes: 15 additions & 0 deletions lint.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,21 @@
Keep MissingTranslation enabled globally and suppress it only for these exact resources.
-->
<issue id="MissingTranslation">
<ignore regexp="voice_commands_help_dnd" />
<ignore regexp="voice_commands_help_dnd_description" />
<ignore regexp="voice_commands_backtalk_settings" />
<ignore regexp="voice_commands_backtalk_setting" />
<ignore regexp="voice_commands_open_backtalk_settings" />
<ignore regexp="voice_commands_dnd_on" />
<ignore regexp="voice_commands_dnd_off" />
<ignore regexp="voice_commands_dnd_permission_required" />
<ignore regexp="voice_commands_opening_settings" />
<ignore regexp="voice_commands_opening_backtalk_settings" />
<ignore regexp="voice_commands_volume_set" />
<ignore regexp="voice_commands_muted" />
<ignore regexp="voice_commands_unmuted" />
<ignore regexp="voice_commands_found" />
<ignore regexp="voice_commands_element_not_found" />
<ignore regexp="voice_commands_help_call" />
<ignore regexp="voice_commands_help_call_description" />
<ignore regexp="voice_commands_help_call_control" />
Expand Down
2 changes: 2 additions & 0 deletions talkback/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@

<!-- Required to monitor phone busy state. -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- Required for toggling Do Not Disturb by voice command -->
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />

<!-- Required for haptic feedback. -->
<uses-permission android:name="android.permission.VIBRATE" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2344,6 +2344,8 @@ public long getSpeechCacheWindowCounts() {

voiceCommandProcessor =
new VoiceCommandProcessor(this, accessibilityFocusMonitor, selectorController, analytics);
voiceCommandProcessor.setBatteryMonitor(batteryMonitor);
voiceCommandProcessor.setStatusReader(statusReader);
voiceCommandActor =
new VoiceCommandActor(
this,
Expand Down
Loading
Loading