diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 628e7234..d17111b0 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -84,8 +84,11 @@ include_directories(src/main/secp/secp256k1/src/) include_directories(src/main/secp/secp256k1/) include_directories(src/main/secp/) +# support compiling 16 KB-aligned: https://developer.android.com/guide/practices/page-sizes#cmake +target_link_options(core-lib PRIVATE "-Wl,-z,max-page-size=16384") + # add lib dependencies target_link_libraries( core-lib android - log) + log) \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index d0d593ec..6d5a7797 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -14,14 +14,14 @@ val localProperties = gradleLocalProperties(rootDir, providers) android { namespace = "com.brainwallet" - compileSdk = 34 + compileSdk = 36 defaultConfig { applicationId = "ltd.grunt.brainwallet" minSdk = 29 - targetSdk = 34 - versionCode = 202506291 - versionName = "4.6.2" + targetSdk = 36 + versionCode = 202506293 + versionName = "v4.7.0" multiDexEnabled = true base.archivesName.set("${defaultConfig.versionName}(${defaultConfig.versionCode})") diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 7ab25998..44883644 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -40,7 +40,7 @@ -dontwarn org.slf4j.impl.StaticLoggerBinder -dontwarn org.slf4j.impl.StaticMDCBinder -dontwarn org.slf4j.impl.StaticMarkerBinder - +-dontwarn java.lang.reflect.AnnotatedType -keepclasseswithmembernames class * { native ; diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index dd68f40a..303a4051 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -51,15 +51,16 @@ tools:ignore="GoogleAppIndexingWarning,UnusedAttribute" tools:replace="android:fullBackupContent,android:allowBackup"> + + - + - diff --git a/app/src/main/java/com/brainwallet/BrainwalletApp.kt b/app/src/main/java/com/brainwallet/BrainwalletApp.kt index 03fd029e..8a55523b 100644 --- a/app/src/main/java/com/brainwallet/BrainwalletApp.kt +++ b/app/src/main/java/com/brainwallet/BrainwalletApp.kt @@ -16,11 +16,6 @@ import com.brainwallet.tools.listeners.SyncReceiver import com.brainwallet.tools.manager.AnalyticsManager import com.brainwallet.tools.util.BRConstants import com.brainwallet.tools.util.Utils -import com.google.firebase.analytics.FirebaseAnalytics -import com.google.firebase.analytics.ktx.analytics -import com.google.firebase.analytics.setConsent -import com.google.firebase.crashlytics.FirebaseCrashlytics -import com.google.firebase.ktx.Firebase import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidLogger import org.koin.core.context.GlobalContext.startKoin diff --git a/app/src/main/java/com/brainwallet/di/Module.kt b/app/src/main/java/com/brainwallet/di/Module.kt index e1bb915f..29bcb4c2 100644 --- a/app/src/main/java/com/brainwallet/di/Module.kt +++ b/app/src/main/java/com/brainwallet/di/Module.kt @@ -23,8 +23,8 @@ import com.brainwallet.ui.screens.yourseedwords.YourSeedWordsViewModel import com.brainwallet.util.cryptography.KeyStoreKeyGenerator import com.brainwallet.util.cryptography.KeyStoreManager import com.brainwallet.worker.CurrencyUpdateWorker -import com.google.firebase.ktx.Firebase -import com.google.firebase.remoteconfig.ktx.remoteConfig +import com.google.firebase.Firebase +import com.google.firebase.remoteconfig.remoteConfig import kotlinx.serialization.json.Json import okhttp3.MediaType.Companion.toMediaType import okhttp3.OkHttpClient @@ -35,7 +35,6 @@ import org.koin.core.component.inject import org.koin.core.module.dsl.viewModel import org.koin.core.module.dsl.viewModelOf import org.koin.dsl.module -import retrofit2.HttpException import retrofit2.Retrofit import retrofit2.converter.kotlinx.serialization.asConverterFactory diff --git a/app/src/main/java/com/brainwallet/navigation/LegacyNavigation.kt b/app/src/main/java/com/brainwallet/navigation/LegacyNavigation.kt index 6a157e42..b11a8d9c 100644 --- a/app/src/main/java/com/brainwallet/navigation/LegacyNavigation.kt +++ b/app/src/main/java/com/brainwallet/navigation/LegacyNavigation.kt @@ -10,6 +10,7 @@ import androidx.core.net.toUri import com.brainwallet.BuildConfig import com.brainwallet.R import com.brainwallet.data.repository.LtcRepository +import com.brainwallet.data.source.RemoteApiSource import com.brainwallet.di.getKoinInstance import com.brainwallet.presenter.activities.BreadActivity import com.brainwallet.ui.BrainwalletActivity diff --git a/app/src/main/java/com/brainwallet/ui/screens/buylitecoin/BuyLitecoinScreen.kt b/app/src/main/java/com/brainwallet/ui/screens/buylitecoin/BuyLitecoinScreen.kt index f206096a..ad6b3cf5 100644 --- a/app/src/main/java/com/brainwallet/ui/screens/buylitecoin/BuyLitecoinScreen.kt +++ b/app/src/main/java/com/brainwallet/ui/screens/buylitecoin/BuyLitecoinScreen.kt @@ -1,9 +1,5 @@ package com.brainwallet.ui.screens.buylitecoin -import android.os.Bundle -import android.os.Handler -import android.os.Looper -import android.provider.Settings.Global.putString import android.widget.Toast import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -39,7 +35,6 @@ import com.brainwallet.ui.composable.LargeButton import com.brainwallet.ui.composable.LoadingDialog import com.brainwallet.ui.screens.home.receive.ReceiveDialogEvent import com.brainwallet.ui.theme.BrainwalletTheme -import com.google.firebase.analytics.FirebaseAnalytics import org.koin.compose.koinInject //TODO: wip @@ -52,10 +47,6 @@ fun BuyLitecoinScreen( val loadingState by viewModel.loadingState.collectAsState() val appSetting by viewModel.appSetting.collectAsState() val context = LocalContext.current - val firebaseAnalytics = FirebaseAnalytics.getInstance(LocalContext.current) - val bundle = Bundle().apply { - putString("buy_tapped_location", "buy_litecoin_screen") - } LaunchedEffect(Unit) { viewModel.onEvent(BuyLitecoinEvent.OnLoad(context)) viewModel.uiEffect.collect { effect -> @@ -158,9 +149,7 @@ fun BuyLitecoinScreen( enabled = loadingState.visible.not(), onClick = { //open bread activity first then open moonpay widget - // Needs Refactor: This causes crashes ruining the UX - // LegacyNavigation.restartBreadActivity(context) - + LegacyNavigation.restartBreadActivity(context) LegacyNavigation.showMoonPayWidget( context = context, params = mapOf( @@ -170,7 +159,6 @@ fun BuyLitecoinScreen( "walletAddress" to state.address ) ) - firebaseAnalytics.logEvent("will_show_mp_widget", bundle) } ) { Text(stringResource(R.string.buy_litecoin_button_moonpay)) diff --git a/app/src/main/java/com/brainwallet/ui/screens/home/receive/ReceiveDialog.kt b/app/src/main/java/com/brainwallet/ui/screens/home/receive/ReceiveDialog.kt index 6d9e12f7..e96a1f2a 100644 --- a/app/src/main/java/com/brainwallet/ui/screens/home/receive/ReceiveDialog.kt +++ b/app/src/main/java/com/brainwallet/ui/screens/home/receive/ReceiveDialog.kt @@ -71,7 +71,6 @@ import com.brainwallet.ui.composable.WheelPickerFocusVertical import com.brainwallet.ui.composable.rememberWheelPickerState import com.brainwallet.ui.theme.BrainwalletAppTheme import com.brainwallet.ui.theme.BrainwalletTheme -import com.google.firebase.analytics.FirebaseAnalytics import kotlinx.coroutines.FlowPreview import kotlinx.coroutines.delay import kotlinx.coroutines.flow.debounce @@ -91,10 +90,6 @@ fun ReceiveDialog( val appSetting by viewModel.appSetting.collectAsState() val context = LocalContext.current val wheelPickerFiatCurrencyState = rememberWheelPickerState(0) - val firebaseAnalytics = FirebaseAnalytics.getInstance(LocalContext.current) - val bundle = Bundle().apply { - putString("buy_tapped_location", "buy_receive_dialog") - } LaunchedEffect(Unit) { viewModel.onEvent(ReceiveDialogEvent.OnLoad(context)) viewModel.uiEffect.collect { effect -> @@ -384,7 +379,6 @@ fun ReceiveDialog( ), isDarkMode = appSetting.isDarkMode ) - firebaseAnalytics.logEvent("will_show_mp_widget", bundle) onDismissRequest.invoke() }, ) diff --git a/app/src/main/java/com/brainwallet/ui/screens/welcome/WelcomeScreen.kt b/app/src/main/java/com/brainwallet/ui/screens/welcome/WelcomeScreen.kt index 845a9073..d5a1fd2b 100644 --- a/app/src/main/java/com/brainwallet/ui/screens/welcome/WelcomeScreen.kt +++ b/app/src/main/java/com/brainwallet/ui/screens/welcome/WelcomeScreen.kt @@ -7,12 +7,15 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.asPaddingValues import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.systemBars import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape @@ -93,39 +96,44 @@ fun WelcomeScreen( modifier = Modifier .fillMaxSize() .background(BrainwalletTheme.colors.surface) - .verticalScroll(rememberScrollState()), + .verticalScroll(rememberScrollState()) + .padding(WindowInsets.systemBars.asPaddingValues()), ) { - Image( - painterResource(R.drawable.brainwallet_logotype_white), - contentDescription = "brainwallet_logotype_white", - contentScale = ContentScale.Fit, - colorFilter = ColorFilter.tint( - BrainwalletTheme.colors.content, - ), + Column( modifier = Modifier .align(Alignment.TopCenter) - .fillMaxWidth() - .padding(horizontal = 55.dp) - .padding(vertical = 30.dp) - ) + .padding(vertical = 20.dp) + ) { + Image( + painterResource(R.drawable.brainwallet_logotype_white), + contentDescription = "brainwallet_logotype_white", + contentScale = ContentScale.Fit, + colorFilter = ColorFilter.tint( + BrainwalletTheme.colors.content, + ), + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 55.dp) + ) + + // Animation Placeholder + LottieAnimation( + modifier = Modifier + .fillMaxWidth() + .padding(leadTrailPadding.dp) + .background( + BrainwalletTheme.colors.surface, + BrainwalletTheme.shapes.large + ) + .height(thirdOfScreenHeight.dp) + .clip(BrainwalletTheme.shapes.large), + composition = composition, + contentScale = ContentScale.FillWidth, + alignment = Alignment.Center, + progress = { progress } + ) + } - // Animation Placeholder - LottieAnimation( - modifier = Modifier - .offset(y = 120.dp) - .fillMaxWidth() - .padding(leadTrailPadding.dp) - .background( - BrainwalletTheme.colors.surface, - BrainwalletTheme.shapes.large - ) - .height(thirdOfScreenHeight.dp) - .clip(BrainwalletTheme.shapes.large), - composition = composition, - contentScale = ContentScale.FillWidth, - alignment = Alignment.Center, - progress = { progress } - ) Column( modifier = Modifier.align(Alignment.BottomCenter), diff --git a/app/src/main/java/com/brainwallet/ui/screens/yourseedproveit/YourSeedProveItScreen.kt b/app/src/main/java/com/brainwallet/ui/screens/yourseedproveit/YourSeedProveItScreen.kt index 182dcd34..e505438c 100644 --- a/app/src/main/java/com/brainwallet/ui/screens/yourseedproveit/YourSeedProveItScreen.kt +++ b/app/src/main/java/com/brainwallet/ui/screens/yourseedproveit/YourSeedProveItScreen.kt @@ -164,10 +164,10 @@ fun YourSeedProveItScreen( ) if (text.toString() == expectedWord) { - clickAudioPlayer.start() // success sound + clickAudioPlayer.start() // Success sound } else { - errorAudioPlayer.start() // error sound + errorAudioPlayer.start() // Success sound } return true } @@ -231,9 +231,7 @@ fun YourSeedProveItScreen( LargeButton( onClick = { if (state.orderCorrected) { - //onNavigate.invoke(UiEffect.Navigate(Route.)) - viewModel.onEvent(YourSeedProveItEvent.OnGameAndSync) - AnalyticsManager.logCustomEvent(BRConstants._20250303_DSTU) + onNavigate.invoke(UiEffect.Navigate(Route.TopUp)) } else { viewModel.onEvent(YourSeedProveItEvent.OnClear) } diff --git a/app/src/main/res/drawable-hdpi/brainwallet_logotype_white.png b/app/src/main/res/drawable-hdpi/brainwallet_logotype_white.png new file mode 100644 index 00000000..673e5859 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/brainwallet_logotype_white.png differ diff --git a/app/src/main/res/drawable-mdpi/brainwallet_logotype_white.png b/app/src/main/res/drawable-mdpi/brainwallet_logotype_white.png new file mode 100644 index 00000000..1f1ddde1 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/brainwallet_logotype_white.png differ diff --git a/app/src/main/res/drawable-xhdpi/brainwallet_logotype_white.png b/app/src/main/res/drawable-xhdpi/brainwallet_logotype_white.png new file mode 100644 index 00000000..fbeb2b26 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/brainwallet_logotype_white.png differ diff --git a/app/src/main/res/drawable-xxhdpi/brainwallet_logotype_white.png b/app/src/main/res/drawable-xxhdpi/brainwallet_logotype_white.png new file mode 100644 index 00000000..dc83ec43 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/brainwallet_logotype_white.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/brainwallet_logotype_white.png b/app/src/main/res/drawable-xxxhdpi/brainwallet_logotype_white.png new file mode 100644 index 00000000..83c8c67a Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/brainwallet_logotype_white.png differ diff --git a/app/src/main/res/drawable/brainwallet_logotype_black.png b/app/src/main/res/drawable/brainwallet_logotype_black.png deleted file mode 100644 index 6ce1d0b7..00000000 Binary files a/app/src/main/res/drawable/brainwallet_logotype_black.png and /dev/null differ diff --git a/app/src/main/res/drawable/brainwallet_logotype_color.png b/app/src/main/res/drawable/brainwallet_logotype_color.png deleted file mode 100644 index 2afba56d..00000000 Binary files a/app/src/main/res/drawable/brainwallet_logotype_color.png and /dev/null differ diff --git a/app/src/main/res/drawable/brainwallet_logotype_white.png b/app/src/main/res/drawable/brainwallet_logotype_white.png deleted file mode 100644 index cc0f84e7..00000000 Binary files a/app/src/main/res/drawable/brainwallet_logotype_white.png and /dev/null differ diff --git a/app/src/test/java/com/brainwallet/tools/util/BRConstantsTest.kt b/app/src/test/java/com/brainwallet/tools/util/BRConstantsTest.kt index 5779b8df..34514666 100644 --- a/app/src/test/java/com/brainwallet/tools/util/BRConstantsTest.kt +++ b/app/src/test/java/com/brainwallet/tools/util/BRConstantsTest.kt @@ -16,46 +16,46 @@ class BRConstantsTest { @Test fun `validate App external URL constant`(){ - assertSame(BRConstants.TWITTER_LINK,"https://twitter.com/Brainwallet_App"); - assertSame(BRConstants.INSTAGRAM_LINK,"https://www.instagram.com/brainwalletapp"); - assertSame(BRConstants.WEB_LINK,"https://brainwallet.co"); - assertSame(BRConstants.TOS_LINK,"https://brainwallet.co/privacy-policy.html"); - assertSame(BRConstants.MOBILE_MP_LINK,"https://brainwallet.co/mobile-top-up.html"); - assertSame(BRConstants.BITREFILL_AFFILIATE_LINK,"https://www.bitrefill.com/"); + assertSame(BRConstants.TWITTER_LINK,"https://twitter.com/Brainwallet_App") + assertSame(BRConstants.INSTAGRAM_LINK,"https://www.instagram.com/brainwalletapp") + assertSame(BRConstants.WEB_LINK,"https://brainwallet.co") + assertSame(BRConstants.TOS_LINK,"https://brainwallet.co/privacy-policy.html") + assertSame(BRConstants.MOBILE_MP_LINK,"https://brainwallet.co/mobile-top-up.html") + assertSame(BRConstants.BITREFILL_AFFILIATE_LINK,"https://www.bitrefill.com/") } @Test fun `validate Firebase Analytics constants`(){ - assertSame(BRConstants._20191105_AL,"app_launched"); - assertSame(BRConstants._20191105_VSC,"visit_send_controller"); - assertSame(BRConstants._20202116_VRC,"visit_receive_controller"); - assertSame(BRConstants._20191105_DSL,"did_send_ltc"); - assertSame(BRConstants._20191105_DTBT,"did_tap_buy_tab"); - assertSame(BRConstants._20200111_RNI,"rate_not_initialized"); - assertSame(BRConstants._20200111_FNI,"feeperkb_not_initialized"); - assertSame(BRConstants._20200111_TNI,"transaction_not_initialized"); - assertSame(BRConstants._20200111_WNI,"wallet_not_initialized"); - assertSame(BRConstants._20200111_PNI,"phrase_not_initialized"); - assertSame(BRConstants._20200111_UTST,"unable_to_sign_transaction"); - assertSame(BRConstants._20200112_ERR,"brainwallet_android_error"); - assertSame(BRConstants._20200112_DSR,"did_start_resync"); - assertSame(BRConstants._20200125_DSRR,"did_show_review_request"); - assertSame(BRConstants._20201118_DTGS,"did_tap_get_support"); - assertSame(BRConstants._20200217_DUWP,"did_unlock_with_pin"); - assertSame(BRConstants._20200217_DUWB,"did_unlock_with_biometrics"); - assertSame(BRConstants._20201121_SIL,"started_IFPS_lookup"); - assertSame(BRConstants._20201121_DRIA,"did_resolve_IPFS_address"); - assertSame(BRConstants._20201121_FRIA,"failed_resolve_IPFS_address"); - assertSame(BRConstants._20200207_DTHB,"did_tap_header_balance"); - assertSame(BRConstants._20210427_HCIEEH,"heartbeat_check_if_event_even_happens"); - assertSame(BRConstants._20220822_UTOU,"user_tapped_on_ud"); - assertSame(BRConstants._20230131_NENR,"no_error_nominal_response"); - assertSame(BRConstants._20230407_DCS,"did_complete_sync"); - assertSame(BRConstants._20240123_RAGI,"registered_android_general_interest"); - assertSame(BRConstants._20231225_UAP,"user_accepted_push"); - assertSame(BRConstants._20240101_US,"user_signup"); - assertSame(BRConstants._20241006_DRR,"did_request_rating"); - assertSame(BRConstants._20241006_UCR,"user_completed_rating"); + assertSame(BRConstants._20191105_AL,"app_launched") + assertSame(BRConstants._20191105_VSC,"visit_send_controller") + assertSame(BRConstants._20202116_VRC,"visit_receive_controller") + assertSame(BRConstants._20191105_DSL,"did_send_ltc") + assertSame(BRConstants._20191105_DTBT,"did_tap_buy_tab") + assertSame(BRConstants._20200111_RNI,"rate_not_initialized") + assertSame(BRConstants._20200111_FNI,"feeperkb_not_initialized") + assertSame(BRConstants._20200111_TNI,"transaction_not_initialized") + assertSame(BRConstants._20200111_WNI,"wallet_not_initialized") + assertSame(BRConstants._20200111_PNI,"phrase_not_initialized") + assertSame(BRConstants._20200111_UTST,"unable_to_sign_transaction") + assertSame(BRConstants._20200112_ERR,"brainwallet_android_error") + assertSame(BRConstants._20200112_DSR,"did_start_resync") + assertSame(BRConstants._20200125_DSRR,"did_show_review_request") + assertSame(BRConstants._20201118_DTGS,"did_tap_get_support") + assertSame(BRConstants._20200217_DUWP,"did_unlock_with_pin") + assertSame(BRConstants._20200217_DUWB,"did_unlock_with_biometrics") + assertSame(BRConstants._20201121_SIL,"started_IFPS_lookup") + assertSame(BRConstants._20201121_DRIA,"did_resolve_IPFS_address") + assertSame(BRConstants._20201121_FRIA,"failed_resolve_IPFS_address") + assertSame(BRConstants._20200207_DTHB,"did_tap_header_balance") + assertSame(BRConstants._20210427_HCIEEH,"heartbeat_check_if_event_even_happens") + assertSame(BRConstants._20220822_UTOU,"user_tapped_on_ud") + assertSame(BRConstants._20230131_NENR,"no_error_nominal_response") + assertSame(BRConstants._20230407_DCS,"did_complete_sync") + assertSame(BRConstants._20240123_RAGI,"registered_android_general_interest") + assertSame(BRConstants._20231225_UAP,"user_accepted_push") + assertSame(BRConstants._20240101_US,"user_signup") + assertSame(BRConstants._20241006_DRR,"did_request_rating") + assertSame(BRConstants._20241006_UCR,"user_completed_rating") } @Test @@ -89,7 +89,7 @@ class BRConstantsTest { // public ActivityScenarioRule mActivityRule = new ActivityScenarioRule<>(IntroActivity.class); // @Before // public void setUp() { -// Log.e(TAG, "setUp: "); +// Log.e(TAG, "setUp: ") // } // // @After @@ -97,48 +97,48 @@ class BRConstantsTest { // } // @Test // public void testLitecoinSymbolConstants() { -// Assert.assertSame(BRConstants.litecoinLowercase,"ł"); -// Assert.assertSame(BRConstants.litecoinUppercase,"Ł"); +// Assert.assertSame(BRConstants.litecoinLowercase,"ł") +// Assert.assertSame(BRConstants.litecoinUppercase,"Ł") // } // @Test // public void testAppExternalURLConstants() { -// Assert.assertSame(BRConstants.TWITTER_LINK,"https://twitter.com/Brainwallet_App"); -// Assert.assertSame(BRConstants.WEB_LINK,"https://brainwallet.co"); -// Assert.assertSame(BRConstants.TOS_LINK,"https://brainwallet.co/privacy"); -// Assert.assertSame(BRConstants.CUSTOMER_SUPPORT_LINK,"https://support.brainwallet.co/hc/en-us/requests/new"); -// Assert.assertSame(BRConstants.BITREFILL_AFFILIATE_LINK,"https://www.bitrefill.com/"); +// Assert.assertSame(BRConstants.TWITTER_LINK,"https://twitter.com/Brainwallet_App") +// Assert.assertSame(BRConstants.WEB_LINK,"https://brainwallet.co") +// Assert.assertSame(BRConstants.TOS_LINK,"https://brainwallet.co/privacy") +// Assert.assertSame(BRConstants.CUSTOMER_SUPPORT_LINK,"https://support.brainwallet.co/hc/en-us/requests/new") +// Assert.assertSame(BRConstants.BITREFILL_AFFILIATE_LINK,"https://www.bitrefill.com/") // } // @Test // public void testFirebaseAnalyticsConstants() { -// Assert.assertSame(BRConstants._20191105_AL,"app_launched"); -// Assert.assertSame(BRConstants._20191105_VSC,"visit_send_controller"); -// Assert.assertSame(BRConstants._20202116_VRC,"visit_receive_controller"); -// Assert.assertSame(BRConstants._20191105_DSL,"did_send_ltc"); -// Assert.assertSame(BRConstants._20191105_DTBT,"did_tap_buy_tab"); -// Assert.assertSame(BRConstants._20200111_RNI,"rate_not_initialized"); -// Assert.assertSame(BRConstants._20200111_FNI,"feeperkb_not_initialized"); -// Assert.assertSame(BRConstants._20200111_TNI,"transaction_not_initialized"); -// Assert.assertSame(BRConstants._20200111_WNI,"wallet_not_initialized"); -// Assert.assertSame(BRConstants._20200111_PNI,"phrase_not_initialized"); -// Assert.assertSame(BRConstants._20200111_UTST,"unable_to_sign_transaction"); -// Assert.assertSame(BRConstants._20200112_ERR,"error"); -// Assert.assertSame(BRConstants._20200112_DSR,"did_start_resync"); -// Assert.assertSame(BRConstants._20200125_DSRR,"did_show_review_request"); -// Assert.assertSame(BRConstants._20201118_DTGS,"did_tap_get_support"); -// Assert.assertSame(BRConstants._20200217_DUWP,"did_unlock_with_pin"); -// Assert.assertSame(BRConstants._20200217_DUWB,"did_unlock_with_biometrics"); -// Assert.assertSame(BRConstants._20201121_SIL,"started_IFPS_lookup"); -// Assert.assertSame(BRConstants._20201121_DRIA,"did_resolve_IPFS_address"); -// Assert.assertSame(BRConstants._20201121_FRIA,"failed_resolve_IPFS_address"); -// Assert.assertSame(BRConstants._20200207_DTHB,"did_tap_header_balance"); -// Assert.assertSame(BRConstants._20210427_HCIEEH,"heartbeat_check_if_event_even_happens"); -// Assert.assertSame(BRConstants._20220822_UTOU,"user_tapped_on_ud"); -// Assert.assertSame(BRConstants._20230131_NENR,"no_error_nominal_response"); -// Assert.assertSame(BRConstants._20230407_DCS,"did_complete_sync"); -// Assert.assertSame(BRConstants._20240123_RAGI,"registered_android_general_interest"); -// Assert.assertSame(BRConstants._20231225_UAP,"user_accepted_push"); -// Assert.assertSame(BRConstants._20240101_US,"user_signup"); -// Assert.assertSame(BRConstants._20241006_DRR,"did_request_rating"); -// Assert.assertSame(BRConstants._20241006_UCR,"user_completed_rating"); +// Assert.assertSame(BRConstants._20191105_AL,"app_launched") +// Assert.assertSame(BRConstants._20191105_VSC,"visit_send_controller") +// Assert.assertSame(BRConstants._20202116_VRC,"visit_receive_controller") +// Assert.assertSame(BRConstants._20191105_DSL,"did_send_ltc") +// Assert.assertSame(BRConstants._20191105_DTBT,"did_tap_buy_tab") +// Assert.assertSame(BRConstants._20200111_RNI,"rate_not_initialized") +// Assert.assertSame(BRConstants._20200111_FNI,"feeperkb_not_initialized") +// Assert.assertSame(BRConstants._20200111_TNI,"transaction_not_initialized") +// Assert.assertSame(BRConstants._20200111_WNI,"wallet_not_initialized") +// Assert.assertSame(BRConstants._20200111_PNI,"phrase_not_initialized") +// Assert.assertSame(BRConstants._20200111_UTST,"unable_to_sign_transaction") +// Assert.assertSame(BRConstants._20200112_ERR,"error") +// Assert.assertSame(BRConstants._20200112_DSR,"did_start_resync") +// Assert.assertSame(BRConstants._20200125_DSRR,"did_show_review_request") +// Assert.assertSame(BRConstants._20201118_DTGS,"did_tap_get_support") +// Assert.assertSame(BRConstants._20200217_DUWP,"did_unlock_with_pin") +// Assert.assertSame(BRConstants._20200217_DUWB,"did_unlock_with_biometrics") +// Assert.assertSame(BRConstants._20201121_SIL,"started_IFPS_lookup") +// Assert.assertSame(BRConstants._20201121_DRIA,"did_resolve_IPFS_address") +// Assert.assertSame(BRConstants._20201121_FRIA,"failed_resolve_IPFS_address") +// Assert.assertSame(BRConstants._20200207_DTHB,"did_tap_header_balance") +// Assert.assertSame(BRConstants._20210427_HCIEEH,"heartbeat_check_if_event_even_happens") +// Assert.assertSame(BRConstants._20220822_UTOU,"user_tapped_on_ud") +// Assert.assertSame(BRConstants._20230131_NENR,"no_error_nominal_response") +// Assert.assertSame(BRConstants._20230407_DCS,"did_complete_sync") +// Assert.assertSame(BRConstants._20240123_RAGI,"registered_android_general_interest") +// Assert.assertSame(BRConstants._20231225_UAP,"user_accepted_push") +// Assert.assertSame(BRConstants._20240101_US,"user_signup") +// Assert.assertSame(BRConstants._20241006_DRR,"did_request_rating") +// Assert.assertSame(BRConstants._20241006_UCR,"user_completed_rating") // } //} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 90f8dedd..ad269697 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] kotlin = "2.0.0" -agp = "8.5.0" +agp = "8.7.3" androidx-core-ktx = "1.12.0" androidx-appcompat = "1.6.1" androidx-legacy-support = "1.0.0" @@ -25,7 +25,7 @@ google-play-feature-delivery = "2.1.0" google-play-review = "2.0.1" squareup-okhttp-bom = "4.12.0" squareup-retrofit = "2.11.0" -firebase-bom = "32.7.1" +firebase-bom = "34.0.0" jakewarthon-timber = "4.7.1" eclipse-jetty = "9.2.19.v20160908" junit = "4.13.2" @@ -87,7 +87,7 @@ firebase-analytics = { module = "com.google.firebase:firebase-analytics" } firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics" } firebase-crashlytics-ndk = { module = "com.google.firebase:firebase-crashlytics-ndk" } #firebase-iid = { module = "com.google.firebase:firebase-iid" } -firebase-config = { module = "com.google.firebase:firebase-config-ktx" } +firebase-config = { module = "com.google.firebase:firebase-config" } firebase-messaging = { module = "com.google.firebase:firebase-messaging" } firebase-inappmessaging = { module = "com.google.firebase:firebase-inappmessaging-display" } jakewarthon-timber = { module = "com.jakewharton.timber:timber", version.ref = "jakewarthon-timber" }