@@ -14,8 +14,10 @@ import androidx.compose.runtime.mutableStateOf
14
14
import androidx.compose.runtime.remember
15
15
import androidx.compose.runtime.setValue
16
16
import androidx.compose.ui.platform.LocalContext
17
+ import androidx.compose.ui.res.stringResource
17
18
import androidx.compose.ui.text.AnnotatedString
18
19
import androidx.compose.ui.tooling.preview.Preview
20
+ import androidx.compose.ui.tooling.preview.PreviewParameter
19
21
import androidx.core.net.toUri
20
22
import androidx.lifecycle.Lifecycle
21
23
import androidx.lifecycle.LifecycleEventObserver
@@ -36,6 +38,9 @@ import org.thoughtcrime.securesms.ui.DialogButtonData
36
38
import org.thoughtcrime.securesms.ui.GetString
37
39
import org.thoughtcrime.securesms.ui.OpenURLAlertDialog
38
40
import org.thoughtcrime.securesms.ui.theme.LocalColors
41
+ import org.thoughtcrime.securesms.ui.theme.PreviewTheme
42
+ import org.thoughtcrime.securesms.ui.theme.SessionColorsParameterProvider
43
+ import org.thoughtcrime.securesms.ui.theme.ThemeColors
39
44
40
45
private const val SESSION_FEEDBACK_BASE_URL = " https://getsession.org/feedback?platform=android"
41
46
@@ -123,6 +128,8 @@ private fun InAppReviewDialog(
123
128
message : String ,
124
129
positiveButtonText : String ,
125
130
negativeButtonText : String ,
131
+ positiveButtonQaTag : String ,
132
+ negativeButtonQaTag : String ,
126
133
sendCommands : (InAppReviewViewModel .UiCommand ) -> Unit ,
127
134
) {
128
135
AlertDialogContent (
@@ -133,14 +140,16 @@ private fun InAppReviewDialog(
133
140
buttons = listOf (
134
141
DialogButtonData (
135
142
text = GetString .FromString (positiveButtonText),
136
- color = LocalColors .current.accent,
143
+ color = LocalColors .current.accentText,
144
+ qaTag = positiveButtonQaTag,
137
145
dismissOnClick = false
138
146
) {
139
147
sendCommands(InAppReviewViewModel .UiCommand .PositiveButtonClicked )
140
148
},
141
149
142
150
DialogButtonData (
143
151
text = GetString .FromString (negativeButtonText),
152
+ qaTag = negativeButtonQaTag,
144
153
dismissOnClick = false
145
154
) {
146
155
sendCommands(InAppReviewViewModel .UiCommand .NegativeButtonClicked )
@@ -150,7 +159,6 @@ private fun InAppReviewDialog(
150
159
}
151
160
152
161
@Composable
153
- @Preview
154
162
private fun InAppReviewStartPrompt (
155
163
sendCommands : (InAppReviewViewModel .UiCommand ) -> Unit = {}
156
164
) {
@@ -173,12 +181,13 @@ private fun InAppReviewStartPrompt(
173
181
.put(EMOJI_KEY , " \uD83D\uDE15 " )
174
182
.format()
175
183
.toString(),
184
+ positiveButtonQaTag = stringResource(R .string.qa_inapp_review_dialog_button_great),
185
+ negativeButtonQaTag = stringResource(R .string.qa_inapp_review_dialog_button_work),
176
186
sendCommands = sendCommands
177
187
)
178
188
}
179
189
180
190
@Composable
181
- @Preview
182
191
private fun InAppReviewPositivePrompt (
183
192
storeReviewManager : StoreReviewManager ? = null,
184
193
sendCommands : (InAppReviewViewModel .UiCommand ) -> Unit = {}
@@ -197,15 +206,17 @@ private fun InAppReviewPositivePrompt(
197
206
.toString(),
198
207
positiveButtonText = context.getString(R .string.rateSessionApp),
199
208
negativeButtonText = context.getString(R .string.notNow),
209
+ positiveButtonQaTag = stringResource(R .string.qa_inapp_review_dialog_button_rate),
210
+ negativeButtonQaTag = stringResource(R .string.qa_inapp_review_dialog_button_not_now),
200
211
sendCommands = sendCommands
201
212
)
202
213
}
203
214
204
215
@Composable
205
- @Preview
206
216
private fun InAppReviewNegativePrompt (
207
217
sendCommands : (InAppReviewViewModel .UiCommand ) -> Unit = {}
208
218
) {
219
+
209
220
val context = LocalContext .current
210
221
211
222
InAppReviewDialog (
@@ -216,6 +227,18 @@ private fun InAppReviewNegativePrompt(
216
227
.toString(),
217
228
positiveButtonText = context.getString(R .string.openSurvey),
218
229
negativeButtonText = context.getString(R .string.notNow),
230
+ positiveButtonQaTag = stringResource(R .string.qa_inapp_review_dialog_button_survey),
231
+ negativeButtonQaTag = stringResource(R .string.qa_inapp_review_dialog_button_not_now),
219
232
sendCommands = sendCommands
220
233
)
234
+ }
235
+
236
+ @Composable
237
+ @Preview
238
+ fun PreviewInAppReviewPrompt (
239
+ @PreviewParameter(SessionColorsParameterProvider ::class ) colors : ThemeColors
240
+ ){
241
+ PreviewTheme (colors = colors) {
242
+ InAppReviewStartPrompt ()
243
+ }
221
244
}
0 commit comments