Skip to content

Commit 07e71af

Browse files
committed
Add a setting to confirm prompts before using them.
Signed-off-by: Katharine Berry <ktbry@google.com>
1 parent a19a01a commit 07e71af

File tree

6 files changed

+23
-3
lines changed

6 files changed

+23
-3
lines changed

app/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,8 @@
105105
"IMAGE_ID",
106106
"MAP_WIDGET",
107107
"MAP_WIDGET_IMAGE_ID",
108-
"MAP_WIDGET_USER_LOCATION"
108+
"MAP_WIDGET_USER_LOCATION",
109+
"CONFIRM_TRANSCRIPTS"
109110
],
110111
"resources": {
111112
"media": [

app/src/c/converse/session_window.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "conversation.h"
2020
#include "conversation_manager.h"
2121
#include "segments/segment_layer.h"
22+
#include "../settings/settings.h"
2223
#include "../util/thinking_layer.h"
2324
#include "../util/style.h"
2425
#include "../util/action_menu_crimes.h"
@@ -135,7 +136,7 @@ static void prv_window_load(Window *window) {
135136
conversation_manager_set_handler(sw->manager, prv_conversation_manager_handler, sw);
136137
conversation_manager_set_deletion_handler(sw->manager, prv_conversation_entry_deleted_handler);
137138
sw->dictation = dictation_session_create(0, prv_dictation_status_callback, sw);
138-
dictation_session_enable_confirmation(sw->dictation, false);
139+
dictation_session_enable_confirmation(sw->dictation, settings_get_should_confirm_transcripts());
139140

140141
sw->segment_space = 3;
141142
sw->segment_count = 0;

app/src/c/settings/settings.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ VibePatternSetting settings_get_timer_vibe_pattern() {
5656
return result;
5757
}
5858

59+
bool settings_get_should_confirm_transcripts() {
60+
// the default is false, so we don't have to check whether it exists.
61+
return persist_read_bool(PERSIST_KEY_CONFIRM_TRANSCRIPTS);
62+
}
63+
5964
static void prv_app_message_handler(DictionaryIterator *iter, void *context) {
6065
for (Tuple *tuple = dict_read_first(iter); tuple; tuple = dict_read_next(iter)) {
6166
if (tuple->key == MESSAGE_KEY_QUICK_LAUNCH_BEHAVIOUR) {
@@ -65,6 +70,8 @@ static void prv_app_message_handler(DictionaryIterator *iter, void *context) {
6570
persist_write_int(PERSIST_KEY_ALARM_VIBE_PATTERN, atoi(tuple->value->cstring));
6671
} else if (tuple->key == MESSAGE_KEY_TIMER_VIBE_PATTERN) {
6772
persist_write_int(PERSIST_KEY_TIMER_VIBE_PATTERN, atoi(tuple->value->cstring));
73+
} else if (tuple->key == MESSAGE_KEY_CONFIRM_TRANSCRIPTS) {
74+
persist_write_bool(PERSIST_KEY_CONFIRM_TRANSCRIPTS, tuple->value->int8);
6875
}
6976
}
7077
}

app/src/c/settings/settings.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
#pragma once
1818

19+
#include <pebble.h>
20+
1921
typedef enum {
2022
QuickLaunchBehaviourConverseWithTimeout = 1,
2123
QuickLaunchBehaviourConverseForever = 2,
@@ -35,3 +37,4 @@ void settings_deinit();
3537
QuickLaunchBehaviour settings_get_quick_launch_behaviour();
3638
VibePatternSetting settings_get_alarm_vibe_pattern();
3739
VibePatternSetting settings_get_timer_vibe_pattern();
40+
bool settings_get_should_confirm_transcripts();

app/src/c/util/persist_keys.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
// These keys are stored centrally so we can avoid accidental collisions.
2121
// Remember: these numbers can *never* be changed.
2222

23-
// next key: 13
23+
// next key: 14
2424

2525
// We write the alarm count twice - once before doing any work, and once after.
2626
// If they disagree we assume the lower number is correct.
@@ -44,5 +44,6 @@
4444
#define PERSIST_KEY_QUICK_LAUNCH_BEHAVIOUR 9
4545
#define PERSIST_KEY_ALARM_VIBE_PATTERN 10
4646
#define PERSIST_KEY_TIMER_VIBE_PATTERN 11
47+
#define PERSIST_KEY_CONFIRM_TRANSCRIPTS 13
4748

4849
#endif //APP_PERSIST_KEYS_H

app/src/pkjs/config.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,13 @@
113113
{"label": "Start conversation then stay open", "value": "2"},
114114
{"label": "Open home screen", "value": "3"}
115115
]
116+
},
117+
{
118+
"type": "toggle",
119+
"messageKey": "CONFIRM_TRANSCRIPTS",
120+
"defaultValue": false,
121+
"label": "Confirm prompts before responding",
122+
"description": "When enabled, after dictating to the watch, you'll always be asked to confirm your input before Bobby takes action. When disabled, Bobby will respond immediately to whatever was recognised."
116123
}
117124
]
118125
},

0 commit comments

Comments
 (0)