[#1854] Crash Reporting Opt In

- Add Crash reporting option to Advanced settings
This commit is contained in:
Honza 2025-04-16 13:19:26 +02:00
parent 7cc98528e9
commit e06e6d230f
7 changed files with 52 additions and 0 deletions

View File

@ -28,6 +28,7 @@ import co.electriccoin.zcash.ui.NavigationArguments.SEND_SCAN_ZIP_321_URI
import co.electriccoin.zcash.ui.NavigationTargets.ABOUT
import co.electriccoin.zcash.ui.NavigationTargets.ADVANCED_SETTINGS
import co.electriccoin.zcash.ui.NavigationTargets.CHOOSE_SERVER
import co.electriccoin.zcash.ui.NavigationTargets.CRASH_REPORTING_OPT_IN
import co.electriccoin.zcash.ui.NavigationTargets.DELETE_WALLET
import co.electriccoin.zcash.ui.NavigationTargets.EXCHANGE_RATE_OPT_IN
import co.electriccoin.zcash.ui.NavigationTargets.EXPORT_PRIVATE_DATA
@ -296,6 +297,9 @@ internal fun MainActivity.Navigation() {
composable(SETTINGS_EXCHANGE_RATE_OPT_IN) {
AndroidSettingsExchangeRateOptIn()
}
composable(CRASH_REPORTING_OPT_IN) {
AndroidSettingsExchangeRateOptIn()
}
composable<ScanKeystoneSignInRequest> {
WrapScanKeystoneSignInRequest()
}
@ -617,6 +621,7 @@ object NavigationTargets {
const val SEED_RECOVERY = "seed_recovery"
const val SETTINGS = "settings"
const val SETTINGS_EXCHANGE_RATE_OPT_IN = "settings_exchange_rate_opt_in"
const val CRASH_REPORTING_OPT_IN = "crash_reporting_opt_in"
const val SUPPORT = "support"
const val WHATS_NEW = "whats_new"
}

View File

@ -164,6 +164,11 @@ private fun AdvancedSettingsPreview() =
title = stringRes(R.string.advanced_settings_currency_conversion),
icon = R.drawable.ic_advanced_settings_currency_conversion,
onClick = {}
),
ZashiListItemState(
title = stringRes(R.string.advanced_settings_crash_reporting),
icon = R.drawable.ic_advanced_settings_crash_reporting,
onClick = {}
)
),
deleteButton =

View File

@ -74,6 +74,12 @@ class AdvancedSettingsViewModel(
icon =
R.drawable.ic_advanced_settings_currency_conversion,
onClick = ::onCurrencyConversionClick
),
ZashiListItemState(
title = stringRes(R.string.advanced_settings_crash_reporting),
icon =
R.drawable.ic_advanced_settings_crash_reporting,
onClick = ::onCrashReportingClick
)
).toImmutableList(),
deleteButton =
@ -89,6 +95,8 @@ class AdvancedSettingsViewModel(
private fun onCurrencyConversionClick() = navigationRouter.forward(NavigationTargets.SETTINGS_EXCHANGE_RATE_OPT_IN)
private fun onCrashReportingClick() = navigationRouter.forward(NavigationTargets.CRASH_REPORTING_OPT_IN)
private fun onTaxExportClick() =
viewModelScope.launch {
navigateToTaxExport()

View File

@ -0,0 +1,16 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="40dp"
android:height="40dp"
android:viewportWidth="40"
android:viewportHeight="40">
<path
android:pathData="M0,20C0,8.954 8.954,0 20,0C31.046,0 40,8.954 40,20C40,31.046 31.046,40 20,40C8.954,40 0,31.046 0,20Z"
android:fillColor="#454243"/>
<path
android:pathData="M23.027,16.359C22.697,16.029 22.532,15.864 22.47,15.674C22.415,15.507 22.415,15.326 22.47,15.159C22.532,14.969 22.697,14.804 23.027,14.474L25.392,12.108C24.764,11.825 24.067,11.667 23.334,11.667C20.572,11.667 18.334,13.905 18.334,16.667C18.334,17.076 18.383,17.473 18.476,17.854C18.575,18.262 18.625,18.465 18.616,18.594C18.607,18.729 18.587,18.801 18.524,18.921C18.465,19.035 18.351,19.149 18.124,19.377L12.917,24.583C12.227,25.274 12.227,26.393 12.917,27.083C13.608,27.774 14.727,27.774 15.417,27.083L20.624,21.877C20.851,21.649 20.965,21.535 21.08,21.476C21.2,21.414 21.271,21.394 21.406,21.385C21.535,21.376 21.739,21.425 22.146,21.525C22.527,21.617 22.925,21.667 23.334,21.667C26.095,21.667 28.334,19.428 28.334,16.667C28.334,15.933 28.176,15.236 27.892,14.608L25.527,16.974C25.197,17.304 25.032,17.469 24.841,17.531C24.674,17.585 24.494,17.585 24.326,17.531C24.136,17.469 23.971,17.304 23.641,16.974L23.027,16.359Z"
android:strokeLineJoin="round"
android:strokeWidth="1.66667"
android:fillColor="#00000000"
android:strokeColor="#E8E8E8"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,16 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="40dp"
android:height="40dp"
android:viewportWidth="40"
android:viewportHeight="40">
<path
android:pathData="M0,20C0,8.954 8.954,0 20,0C31.046,0 40,8.954 40,20C40,31.046 31.046,40 20,40C8.954,40 0,31.046 0,20Z"
android:fillColor="#EBEBE6"/>
<path
android:pathData="M23.027,16.359C22.697,16.029 22.532,15.864 22.47,15.674C22.415,15.507 22.415,15.326 22.47,15.159C22.532,14.969 22.697,14.804 23.027,14.474L25.392,12.108C24.764,11.825 24.067,11.667 23.334,11.667C20.572,11.667 18.334,13.905 18.334,16.667C18.334,17.076 18.383,17.473 18.476,17.854C18.575,18.262 18.625,18.465 18.616,18.594C18.607,18.729 18.587,18.801 18.524,18.921C18.465,19.035 18.351,19.149 18.124,19.377L12.917,24.583C12.227,25.274 12.227,26.393 12.917,27.083C13.608,27.774 14.727,27.774 15.417,27.083L20.624,21.877C20.851,21.649 20.965,21.535 21.08,21.476C21.2,21.414 21.271,21.394 21.406,21.385C21.535,21.376 21.739,21.425 22.146,21.525C22.527,21.617 22.925,21.667 23.334,21.667C26.095,21.667 28.334,19.428 28.334,16.667C28.334,15.933 28.176,15.236 27.892,14.608L25.527,16.974C25.197,17.304 25.032,17.469 24.841,17.531C24.674,17.585 24.494,17.585 24.326,17.531C24.136,17.469 23.971,17.304 23.641,16.974L23.027,16.359Z"
android:strokeLineJoin="round"
android:strokeWidth="1.66667"
android:fillColor="#00000000"
android:strokeColor="#231F20"
android:strokeLineCap="round"/>
</vector>

View File

@ -5,6 +5,7 @@
<string name="advanced_settings_export">Exportar Datos Privados</string>
<string name="advanced_settings_choose_server">Elegir un Servidor</string>
<string name="advanced_settings_currency_conversion">Conversión de Moneda</string>
<string name="advanced_settings_crash_reporting">Crash Reporting</string>
<string name="advanced_settings_info">Se te pedirá confirmación en la siguiente pantalla</string>
<string name="advanced_settings_delete_button">Restablecer Zashi</string>
<string name="advanced_settings_tax">Exportar Archivo de Impuestos</string>

View File

@ -5,6 +5,7 @@
<string name="advanced_settings_export">Export Private Data</string>
<string name="advanced_settings_choose_server">Choose a Server</string>
<string name="advanced_settings_currency_conversion">Currency Conversion</string>
<string name="advanced_settings_crash_reporting">Crash Reporting</string>
<string name="advanced_settings_info">You will be asked to confirm on the next screen</string>
<string name="advanced_settings_delete_button">Reset Zashi</string>
<string name="advanced_settings_tax">Export Tax File</string>