[workstation] Writing refinement for Report an Issue and Usage & Diagnostics

Updated writings to improve UX of Report an Issue and Usage &
Diagnostics. It is based on the suggestions we got from the UX writing review with @guinevere.

Change-Id: If4bc8953adcc2166ff022b8012d87e91619c8f02
Reviewed-on: https://fuchsia-review.googlesource.com/c/experiences/+/678352
Commit-Queue: Yeonhee Lee <yhlee@google.com>
Reviewed-by: Charles Whitten <cwhitten@google.com>
Reviewed-by: Sanjay Chouksey <sanjayc@google.com>
diff --git a/session_shells/ermine/internationalization/lib/strings.dart b/session_shells/ermine/internationalization/lib/strings.dart
index eebed96..65fff0a 100644
--- a/session_shells/ermine/internationalization/lib/strings.dart
+++ b/session_shells/ermine/internationalization/lib/strings.dart
@@ -1205,20 +1205,23 @@
             'Tooltip text for the wifi toggle warning icon when turning off wifi fails.',
       );
 
-  static String get usageDiagnostics => Intl.message('Usage & Diagnostics',
-      name: 'usage and diagnostics',
-      desc: 'The title for "Usage & Diagnostics" menu in Quick Settings');
-
-  static String get enabled => Intl.message(
-        'Enabled',
-        name: 'enabled',
-        desc: 'A text indicator for enabled feature',
+  static String get usageAndDiagnostics => Intl.message(
+        'Usage & Diagnostics',
+        name: 'usage and diagnostics',
+        desc:
+            'The title for "Usage & Diagnostics Sharing" menu in Quick Settings',
       );
 
-  static String get disabled => Intl.message(
-        'Disabled',
-        name: 'disabled',
-        desc: 'A text indicator for disabled feature',
+  static String get sharingOn => Intl.message(
+        'Sharing on',
+        name: 'sharing on',
+        desc: 'A text indicator of the data sharing opt-in status',
+      );
+
+  static String get sharingOff => Intl.message(
+        'Sharing off',
+        name: 'sharing off',
+        desc: 'A text indicator of the data sharing opt-out status',
       );
 
   static String get helpFuchsia => Intl.message(
@@ -1234,19 +1237,19 @@
         desc: 'The text link to the Google\'s privacy and terms webpage.',
       );
 
-  static String get enableDataSharingTitle => Intl.message(
-        'Enable Usage & Diagnostics to send feedback',
-        name: 'the title for enable usage & diagnostics',
-        desc: 'The title for the alert that pops up when the user tries to '
+  static String get turnOnDataSharingTitle => Intl.message(
+        'Turn on sharing to send feedback',
+        name: 'the title of the alert dialog to turn on data sharing',
+        desc: 'The title of the alert that pops up when the user tries to '
             'open User Feedback when the data sharing is disabled',
       );
 
-  static String get enableDataSharingBody => Intl.message(
-        'User Feedback is available only when you have consented to sharing '
+  static String get turnOnDataSharingBody => Intl.message(
+        'Report an Issue is available only when you have consented to sharing '
         'usage and diagnostics data. You can update the preference in Quick '
         'Settings > Usage & Diagnostics.',
-        name: 'the body text for enable usage & diagnostics',
-        desc: 'The body text for the alert that pops up when the user tries to '
+        name: 'the body text of the alert dialog to turn on data sharing',
+        desc: 'The body text of the alert that pops up when the user tries to '
             'open User Feedback when the data sharing is disabled',
       );
 
@@ -1274,9 +1277,9 @@
             'first-time dialog',
       );
 
-  static String get acknowledged => Intl.message(
-        'Acknowledged',
-        name: 'acknowledged',
+  static String get okGotIt => Intl.message(
+        'OK, got it',
+        name: 'ok got it',
         desc: 'The label of the button on the user feedback first-time dialog',
       );
 
@@ -1287,17 +1290,17 @@
       );
 
   static String get noPII => Intl.message(
-        'Please do not include personal information in the summary or '
-        'description unless it is necessary to describe the issue.',
+        'Please do not include personal information in the description unless '
+        'it is necessary to describe the issue.',
         name: 'noPII',
         desc:
             'A warning message not to include personal data in the user feedback form',
       );
 
-  static String get summary => Intl.message(
-        'Summary',
-        name: 'issue summary',
-        desc: 'The label for the issue summary input field',
+  static String get issueTitle => Intl.message(
+        'Issue Title',
+        name: 'issue title',
+        desc: 'The label for the issue title input field',
       );
 
   static String get description => Intl.message(
@@ -1326,25 +1329,22 @@
         desc: 'The lable of the Submit button',
       );
 
-  static String get submittedTitle =>
-      Intl.message('Your feedback report is on its way.',
-          name: 'user feedback submitted title',
-          desc: 'The title for the user feedback submission complete page');
-
-  static String get submittedDesc1 => Intl.message(
-        'Thanks for taking the time to submit your report. '
-        'It is successfully filed and you will be able to see the submitted data '
-        'on crash once the upload is done. Here is the UUID of the report:',
-        name: 'user feedback submission description 1',
-        desc:
-            'The first sentence of the description on the user feedback submission complete page',
+  static String get submittedTitle => Intl.message(
+        'Feedback has been sent.',
+        name: 'feedback submitted title',
+        desc: 'The title for the user feedback submission complete page',
       );
 
-  static String get submittedDesc2 => Intl.message(
-        'You will also be notified when its auto-created Monorail bug is ready.',
-        name: 'user feedback submission description 2',
-        desc:
-            'The second sentence of the description on the user feedback submission complete page',
+  static String submittedDesc(String id) => Intl.message(
+        'Thanks for submitting your report. It has been filed successfully and '
+        'will appear on the crash server when the upload is complete.\n\n'
+        'This report will also create a Monorail bug. You\'ll be notified by '
+        'email when the bug is ready.\n\n'
+        'Report ID: $id',
+        name: 'user feedback submission description',
+        desc: 'The description on the user feedback submission complete page',
+        examples: const {'id': '271649084504292-5ts4-8ew5'},
+        args: [id],
       );
 
   static String dataSharingLegalStatement(String legalHelpUrl,
diff --git a/session_shells/ermine/shell/lib/src/services/user_feedback_service.dart b/session_shells/ermine/shell/lib/src/services/user_feedback_service.dart
index 87cb2f5..68c5c34 100644
--- a/session_shells/ermine/shell/lib/src/services/user_feedback_service.dart
+++ b/session_shells/ermine/shell/lib/src/services/user_feedback_service.dart
@@ -15,7 +15,7 @@
   late final FeedbackSubmitCallback onSubmit;
   late final VoidCallback onError;
 
-  Future<void> submit(String summary, String desc, String username) async {
+  Future<void> submit(String title, String desc, String username) async {
     final uptime = zircon.System.clockGetMonotonic();
 
     final eventId = Uuid().v4();
@@ -28,7 +28,7 @@
       crashSignature: crashSignature,
       annotations: [
         Annotation(key: 'feedback.description', value: desc),
-        Annotation(key: 'feedback.summary', value: summary),
+        Annotation(key: 'feedback.summary', value: title),
         Annotation(key: 'feedback.username', value: username),
       ],
     );
diff --git a/session_shells/ermine/shell/lib/src/states/app_state.dart b/session_shells/ermine/shell/lib/src/states/app_state.dart
index 0b6cca0..fca6a27 100644
--- a/session_shells/ermine/shell/lib/src/states/app_state.dart
+++ b/session_shells/ermine/shell/lib/src/states/app_state.dart
@@ -81,7 +81,7 @@
   void launchLicense();
   void checkingForUpdatesAlert();
   void userFeedbackSubmit(
-      {required String desc, required String username, String summary});
+      {required String desc, required String username, String title});
   void setScale(double scale);
   void dismissDialogs();
 
diff --git a/session_shells/ermine/shell/lib/src/states/app_state_impl.dart b/session_shells/ermine/shell/lib/src/states/app_state_impl.dart
index 3f0eb50..c62a663 100644
--- a/session_shells/ermine/shell/lib/src/states/app_state_impl.dart
+++ b/session_shells/ermine/shell/lib/src/states/app_state_impl.dart
@@ -436,8 +436,8 @@
   void showUserFeedback() async {
     if (!settingsState.dataSharingConsentEnabled) {
       _displayDialog(AlertDialogInfo(
-        title: Strings.enableDataSharingTitle,
-        body: Strings.enableDataSharingBody,
+        title: Strings.turnOnDataSharingTitle,
+        body: Strings.turnOnDataSharingBody,
         actions: [Strings.close],
         width: 714,
       ));
@@ -464,8 +464,8 @@
               _feedbackPage.value = FeedbackPage.ready;
             });
           },
-          actions: [Strings.acknowledged],
-          defaultAction: Strings.acknowledged,
+          actions: [Strings.okGotIt],
+          defaultAction: Strings.okGotIt,
           width: 790,
         ));
 
@@ -489,8 +489,8 @@
   void userFeedbackSubmit(
       {required String desc,
       required String username,
-      String summary = 'New user feedback for Workstation'}) {
-    userFeedbackService.submit(summary, desc, username);
+      String title = 'New user feedback for Workstation'}) {
+    userFeedbackService.submit(title, desc, username);
   }
 
   @override
diff --git a/session_shells/ermine/shell/lib/src/widgets/quick_settings.dart b/session_shells/ermine/shell/lib/src/widgets/quick_settings.dart
index 64ca587..6fac772 100644
--- a/session_shells/ermine/shell/lib/src/widgets/quick_settings.dart
+++ b/session_shells/ermine/shell/lib/src/widgets/quick_settings.dart
@@ -339,13 +339,13 @@
                     title: Row(
                       crossAxisAlignment: CrossAxisAlignment.center,
                       children: [
-                        Text(Strings.usageDiagnostics),
+                        Text(Strings.usageAndDiagnostics),
                         SizedBox(width: 48),
                         Expanded(
                           child: Text(
                             appState.settingsState.dataSharingConsentEnabled
-                                ? Strings.enabled
-                                : Strings.disabled,
+                                ? Strings.sharingOn
+                                : Strings.sharingOff,
                             overflow: TextOverflow.ellipsis,
                             textAlign: TextAlign.right,
                             maxLines: 1,
diff --git a/session_shells/ermine/shell/lib/src/widgets/settings/data_sharing_consent_settings.dart b/session_shells/ermine/shell/lib/src/widgets/settings/data_sharing_consent_settings.dart
index 495c656..32b94ea 100644
--- a/session_shells/ermine/shell/lib/src/widgets/settings/data_sharing_consent_settings.dart
+++ b/session_shells/ermine/shell/lib/src/widgets/settings/data_sharing_consent_settings.dart
@@ -23,7 +23,7 @@
             ? 'https://policies.google.com/privacy'
             : 'https://policies.google.com/privacy?hl=${app.simpleLocale}';
         return SettingDetails(
-          title: Strings.usageDiagnostics,
+          title: Strings.usageAndDiagnostics,
           onBack: state.showAllSettings,
           trailing: Switch(
             value: state.dataSharingConsentEnabled,
diff --git a/session_shells/ermine/shell/lib/src/widgets/user_feedback.dart b/session_shells/ermine/shell/lib/src/widgets/user_feedback.dart
index 8d0fc23..6d646a9 100644
--- a/session_shells/ermine/shell/lib/src/widgets/user_feedback.dart
+++ b/session_shells/ermine/shell/lib/src/widgets/user_feedback.dart
@@ -47,7 +47,7 @@
   final AppState app;
   final bool isOutFocused;
   final _formKey = GlobalKey<FormState>();
-  final _summaryController = TextEditingController();
+  final _titleController = TextEditingController();
   final _descController = TextEditingController();
   final _usernameController = TextEditingController();
   final _descFocusNode = FocusNode();
@@ -88,13 +88,6 @@
                           Strings.sendFeedback,
                           style: Theme.of(context).textTheme.headline5,
                         ),
-                        SizedBox(height: 24),
-                        // Warning
-                        Text(
-                          Strings.noPII,
-                          style: _theme.textTheme.bodyText1!
-                              .copyWith(color: _theme.errorColor),
-                        ),
                         SizedBox(height: 40),
                       ]),
 
@@ -107,13 +100,13 @@
                           key: _formKey,
                           child: Column(
                             children: [
-                              // Summary
+                              // IssueTitle
                               TextFormField(
                                 maxLines: 1,
-                                controller: _summaryController,
+                                controller: _titleController,
                                 autofocus: !isOutFocused,
                                 decoration: InputDecoration(
-                                  labelText: Strings.summary,
+                                  labelText: Strings.issueTitle,
                                   border: OutlineInputBorder(
                                       borderRadius: BorderRadius.zero),
                                 ),
@@ -132,6 +125,7 @@
                                     AutovalidateMode.onUserInteraction,
                                 decoration: InputDecoration(
                                   labelText: '${Strings.description}*',
+                                  hintText: Strings.noPII,
                                   alignLabelWithHint: true,
                                   border: OutlineInputBorder(
                                       borderRadius: BorderRadius.zero),
@@ -216,7 +210,7 @@
                         onPressed: () =>
                             _formKey.currentState?.validate() ?? false
                                 ? app.userFeedbackSubmit(
-                                    summary: _summaryController.text,
+                                    title: _titleController.text,
                                     desc: _descController.text,
                                     username: _usernameController.text,
                                   )
@@ -259,13 +253,7 @@
                         Text(Strings.submittedTitle,
                             style: Theme.of(context).textTheme.headline5),
                         SizedBox(height: 32),
-                        Text(Strings.submittedDesc1,
-                            style: Theme.of(context).textTheme.bodyText1),
-                        SizedBox(height: 24),
-                        Text(app.feedbackUuid,
-                            style: Theme.of(context).textTheme.headline6),
-                        SizedBox(height: 24),
-                        Text(Strings.submittedDesc2,
+                        Text(Strings.submittedDesc(app.feedbackUuid),
                             style: Theme.of(context).textTheme.bodyText1),
                       ],
                     ),