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 802fe2e6..66c1b24e 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -14,12 +14,12 @@ val localProperties = gradleLocalProperties(rootDir, providers)
android {
namespace = "com.brainwallet"
- compileSdk = 34
+ compileSdk = 36
defaultConfig {
applicationId = "ltd.grunt.brainwallet"
minSdk = 29
- targetSdk = 34
+ targetSdk = 36
versionCode = 202506271
versionName = "v4.6.2"
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 b95bbeec..d8f47bd3 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/ui/screens/welcome/WelcomeScreen.kt b/app/src/main/java/com/brainwallet/ui/screens/welcome/WelcomeScreen.kt
index 845a9073..cec6d05a 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,14 @@ 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 +95,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/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/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 90f8dedd..cd3b7691 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.5.1"
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" }