@@ -14,8 +14,10 @@ import androidx.compose.runtime.mutableStateOf
1414import androidx.compose.runtime.remember
1515import androidx.compose.runtime.setValue
1616import androidx.compose.ui.platform.LocalContext
17+ import androidx.compose.ui.res.stringResource
1718import androidx.compose.ui.text.AnnotatedString
1819import androidx.compose.ui.tooling.preview.Preview
20+ import androidx.compose.ui.tooling.preview.PreviewParameter
1921import androidx.core.net.toUri
2022import androidx.lifecycle.Lifecycle
2123import androidx.lifecycle.LifecycleEventObserver
@@ -36,6 +38,9 @@ import org.thoughtcrime.securesms.ui.DialogButtonData
3638import org.thoughtcrime.securesms.ui.GetString
3739import org.thoughtcrime.securesms.ui.OpenURLAlertDialog
3840import 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
3944
4045private const val SESSION_FEEDBACK_BASE_URL = " https://getsession.org/feedback?platform=android"
4146
@@ -123,6 +128,8 @@ private fun InAppReviewDialog(
123128 message : String ,
124129 positiveButtonText : String ,
125130 negativeButtonText : String ,
131+ positiveButtonQaTag : String ,
132+ negativeButtonQaTag : String ,
126133 sendCommands : (InAppReviewViewModel .UiCommand ) -> Unit ,
127134) {
128135 AlertDialogContent (
@@ -133,14 +140,16 @@ private fun InAppReviewDialog(
133140 buttons = listOf (
134141 DialogButtonData (
135142 text = GetString .FromString (positiveButtonText),
136- color = LocalColors .current.accent,
143+ color = LocalColors .current.accentText,
144+ qaTag = positiveButtonQaTag,
137145 dismissOnClick = false
138146 ) {
139147 sendCommands(InAppReviewViewModel .UiCommand .PositiveButtonClicked )
140148 },
141149
142150 DialogButtonData (
143151 text = GetString .FromString (negativeButtonText),
152+ qaTag = negativeButtonQaTag,
144153 dismissOnClick = false
145154 ) {
146155 sendCommands(InAppReviewViewModel .UiCommand .NegativeButtonClicked )
@@ -150,7 +159,6 @@ private fun InAppReviewDialog(
150159}
151160
152161@Composable
153- @Preview
154162private fun InAppReviewStartPrompt (
155163 sendCommands : (InAppReviewViewModel .UiCommand ) -> Unit = {}
156164) {
@@ -173,12 +181,13 @@ private fun InAppReviewStartPrompt(
173181 .put(EMOJI_KEY , " \uD83D\uDE15 " )
174182 .format()
175183 .toString(),
184+ positiveButtonQaTag = stringResource(R .string.qa_inapp_review_dialog_button_great),
185+ negativeButtonQaTag = stringResource(R .string.qa_inapp_review_dialog_button_work),
176186 sendCommands = sendCommands
177187 )
178188}
179189
180190@Composable
181- @Preview
182191private fun InAppReviewPositivePrompt (
183192 storeReviewManager : StoreReviewManager ? = null,
184193 sendCommands : (InAppReviewViewModel .UiCommand ) -> Unit = {}
@@ -197,15 +206,17 @@ private fun InAppReviewPositivePrompt(
197206 .toString(),
198207 positiveButtonText = context.getString(R .string.rateSessionApp),
199208 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),
200211 sendCommands = sendCommands
201212 )
202213}
203214
204215@Composable
205- @Preview
206216private fun InAppReviewNegativePrompt (
207217 sendCommands : (InAppReviewViewModel .UiCommand ) -> Unit = {}
208218) {
219+
209220 val context = LocalContext .current
210221
211222 InAppReviewDialog (
@@ -216,6 +227,18 @@ private fun InAppReviewNegativePrompt(
216227 .toString(),
217228 positiveButtonText = context.getString(R .string.openSurvey),
218229 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),
219232 sendCommands = sendCommands
220233 )
234+ }
235+
236+ @Composable
237+ @Preview
238+ fun PreviewInAppReviewPrompt (
239+ @PreviewParameter(SessionColorsParameterProvider ::class ) colors : ThemeColors
240+ ){
241+ PreviewTheme (colors = colors) {
242+ InAppReviewStartPrompt ()
243+ }
221244}
0 commit comments