From ab529dbe77e715d7ee6b701a7ef5c0e198eb5239 Mon Sep 17 00:00:00 2001 From: Anh Nguyen Date: Tue, 3 Dec 2024 16:04:10 +0700 Subject: [PATCH] fix android compilation issue --- android/app/build.gradle | 249 +++++++--- android/app/google-services.json | 69 +++ android/app/proguard-rules.pro | 50 ++ android/app/src/main/AndroidManifest.xml | 270 ++++++++++- .../app/src/main/ic_launcher-playstore.png | Bin 32868 -> 0 bytes .../src/main/ic_launcher_dev-playstore.png | Bin 0 -> 4218 bytes .../autonomywallet/AuthenticatorActivity.kt | 73 +++ .../autonomywallet/BackupDartPlugin.kt | 436 ++++++++++++++++++ .../com/bitmark/autonomywallet/Const.kt | 11 + .../bitmark/autonomywallet/EmergencyLog.kt | 88 ++++ .../com/bitmark/autonomywallet/FileLogger.kt | 43 ++ .../bitmark/autonomywallet/MainActivity.kt | 301 +++++++++++- .../bitmark/autonomywallet/app/AutonomyApp.kt | 29 ++ .../bitmark/autonomywallet/util/JsonUtil.kt | 18 + .../res/drawable-night-v21/background.png | Bin 0 -> 69 bytes .../drawable-night-v21/launch_background.xml | 6 + .../main/res/drawable-night/background.png | Bin 0 -> 69 bytes .../res/drawable-night/launch_background.xml | 6 + .../drawable-v21/app_widget_background.xml | 10 + .../app_widget_inner_view_background.xml | 10 + .../src/main/res/drawable-v21/background.png | Bin 0 -> 69 bytes .../res/drawable-v21/launch_background.xml | 8 +- .../app/src/main/res/drawable/background.png | Bin 0 -> 69 bytes .../main/res/drawable/daily_preview_image.png | Bin 0 -> 24026 bytes .../src/main/res/drawable/enter_passcode.xml | 9 + .../main/res/drawable/failed_daily_image.png | Bin 0 -> 11081 bytes .../src/main/res/drawable/feralfile_logo.png | Bin 0 -> 579 bytes .../src/main/res/drawable/ic_launch_image.xml | 12 - .../res/drawable/ic_launcher_foreground.xml | 20 - .../main/res/drawable/launch_background.xml | 8 +- .../src/main/res/drawable/no_thumbnail.png | Bin 0 -> 11081 bytes .../app/src/main/res/font/ppmori_regular.ttf | Bin 0 -> 101892 bytes .../res/layout/activity_authentication.xml | 28 ++ .../src/main/res/layout/feralfile_daily.xml | 90 ++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 2 +- .../res/mipmap-anydpi-v26/ic_launcher_dev.xml | 5 + .../ic_launcher_dev_round.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 2 +- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 2892 -> 1475 bytes .../main/res/mipmap-hdpi/ic_launcher_dev.png | Bin 0 -> 3222 bytes .../ic_launcher_dev_foreground.png | Bin 0 -> 3995 bytes .../res/mipmap-hdpi/ic_launcher_dev_round.png | Bin 0 -> 4970 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 4417 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 4799 -> 3352 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 1840 -> 879 bytes .../main/res/mipmap-mdpi/ic_launcher_dev.png | Bin 0 -> 1676 bytes .../ic_launcher_dev_foreground.png | Bin 0 -> 2472 bytes .../res/mipmap-mdpi/ic_launcher_dev_round.png | Bin 0 -> 2674 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 2702 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2898 -> 1909 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4069 -> 1643 bytes .../main/res/mipmap-xhdpi/ic_launcher_dev.png | Bin 0 -> 2837 bytes .../ic_launcher_dev_foreground.png | Bin 0 -> 3936 bytes .../mipmap-xhdpi/ic_launcher_dev_round.png | Bin 0 -> 5585 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 4174 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 6871 -> 4555 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 6285 -> 2638 bytes .../res/mipmap-xxhdpi/ic_launcher_dev.png | Bin 0 -> 5816 bytes .../ic_launcher_dev_foreground.png | Bin 0 -> 23708 bytes .../mipmap-xxhdpi/ic_launcher_dev_round.png | Bin 0 -> 9977 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 24296 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10926 -> 7206 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 8766 -> 3878 bytes .../res/mipmap-xxxhdpi/ic_launcher_dev.png | Bin 0 -> 5825 bytes .../ic_launcher_dev_foreground.png | Bin 0 -> 27180 bytes .../mipmap-xxxhdpi/ic_launcher_dev_round.png | Bin 0 -> 11696 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 27812 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15478 -> 10827 bytes .../src/main/res/values-night-v31/themes.xml | 10 + .../app/src/main/res/values-night/styles.xml | 7 +- .../app/src/main/res/values-v21/styles.xml | 14 + .../app/src/main/res/values-v31/styles.xml | 32 ++ .../app/src/main/res/values-v31/themes.xml | 11 + android/app/src/main/res/values/attrs.xml | 7 + android/app/src/main/res/values/colors.xml | 6 + android/app/src/main/res/values/dimens.xml | 10 + .../res/values/ic_launcher_background.xml | 2 +- .../res/values/ic_launcher_dev_background.xml | 4 + android/app/src/main/res/values/strings.xml | 3 + android/app/src/main/res/values/styles.xml | 17 +- android/app/src/main/res/values/themes.xml | 17 + .../src/main/res/xml/feralfile_daily_info.xml | 14 + .../main/res/xml/network_security_config.xml | 12 + android/build.gradle | 19 +- android/gradle.properties | 3 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- android/gradlew | 0 android/settings.gradle | 7 +- lib/screen/scan_qr/scan_qr_page.dart | 363 +++++++++------ lib/util/error_handler.dart | 7 +- pubspec.lock | 16 - pubspec.yaml | 4 +- 92 files changed, 2148 insertions(+), 297 deletions(-) create mode 100644 android/app/google-services.json create mode 100644 android/app/proguard-rules.pro delete mode 100644 android/app/src/main/ic_launcher-playstore.png create mode 100644 android/app/src/main/ic_launcher_dev-playstore.png create mode 100644 android/app/src/main/kotlin/com/bitmark/autonomywallet/AuthenticatorActivity.kt create mode 100644 android/app/src/main/kotlin/com/bitmark/autonomywallet/BackupDartPlugin.kt create mode 100644 android/app/src/main/kotlin/com/bitmark/autonomywallet/Const.kt create mode 100644 android/app/src/main/kotlin/com/bitmark/autonomywallet/EmergencyLog.kt create mode 100644 android/app/src/main/kotlin/com/bitmark/autonomywallet/FileLogger.kt create mode 100644 android/app/src/main/kotlin/com/bitmark/autonomywallet/app/AutonomyApp.kt create mode 100644 android/app/src/main/kotlin/com/bitmark/autonomywallet/util/JsonUtil.kt create mode 100644 android/app/src/main/res/drawable-night-v21/background.png create mode 100644 android/app/src/main/res/drawable-night-v21/launch_background.xml create mode 100644 android/app/src/main/res/drawable-night/background.png create mode 100644 android/app/src/main/res/drawable-night/launch_background.xml create mode 100644 android/app/src/main/res/drawable-v21/app_widget_background.xml create mode 100644 android/app/src/main/res/drawable-v21/app_widget_inner_view_background.xml create mode 100644 android/app/src/main/res/drawable-v21/background.png create mode 100644 android/app/src/main/res/drawable/background.png create mode 100644 android/app/src/main/res/drawable/daily_preview_image.png create mode 100644 android/app/src/main/res/drawable/enter_passcode.xml create mode 100644 android/app/src/main/res/drawable/failed_daily_image.png create mode 100644 android/app/src/main/res/drawable/feralfile_logo.png delete mode 100644 android/app/src/main/res/drawable/ic_launch_image.xml delete mode 100644 android/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 android/app/src/main/res/drawable/no_thumbnail.png create mode 100644 android/app/src/main/res/font/ppmori_regular.ttf create mode 100644 android/app/src/main/res/layout/activity_authentication.xml create mode 100644 android/app/src/main/res/layout/feralfile_daily.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev_round.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_dev.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_dev_foreground.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_dev_round.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_dev.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_dev_foreground.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_dev_round.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_dev.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_dev_foreground.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_dev_round.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_dev.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_dev_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_dev_round.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_dev.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_dev_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_dev_round.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/values-night-v31/themes.xml create mode 100644 android/app/src/main/res/values-v21/styles.xml create mode 100644 android/app/src/main/res/values-v31/styles.xml create mode 100644 android/app/src/main/res/values-v31/themes.xml create mode 100644 android/app/src/main/res/values/attrs.xml create mode 100644 android/app/src/main/res/values/colors.xml create mode 100644 android/app/src/main/res/values/dimens.xml create mode 100644 android/app/src/main/res/values/ic_launcher_dev_background.xml create mode 100644 android/app/src/main/res/values/strings.xml create mode 100644 android/app/src/main/res/values/themes.xml create mode 100644 android/app/src/main/res/xml/feralfile_daily_info.xml create mode 100644 android/app/src/main/res/xml/network_security_config.xml mode change 100644 => 100755 android/gradlew diff --git a/android/app/build.gradle b/android/app/build.gradle index 42e768f8a..e8540c56f 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,7 +1,26 @@ +buildscript { + repositories { + // ... + maven { url 'https://plugins.gradle.org/m2/' } // Gradle Plugin Portal + google() // Google's Maven repository + } + ext.kotlin_version = '1.9.0' + dependencies { + // ... + // OneSignal-Gradle-Plugin + classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.10, 0.99.99]' + classpath 'com.google.gms:google-services:4.3.14' + } +} + plugins { id "com.android.application" id "kotlin-android" + id "kotlinx-serialization" + id "com.google.gms.google-services" id "dev.flutter.flutter-gradle-plugin" + id 'kotlin-kapt' + id 'kotlin-parcelize' } def localProperties = new Properties() @@ -12,97 +31,162 @@ if (localPropertiesFile.exists()) { } } -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +def environment = System.getenv() + +def flutterVersionCode = environment["FLUTTER_VERSION_CODE"] + +if (flutterVersionCode == null) { + flutterVersionCode = localProperties.getProperty('flutter.versionCode') +} + if (flutterVersionCode == null) { flutterVersionCode = '1' } -def flutterVersionName = localProperties.getProperty('flutter.versionName') +def flutterVersionName = environment["FLUTTER_VERSION_NAME"] + +if (flutterVersionName == null) { + flutterVersionName = localProperties.getProperty('flutter.versionName') +} + if (flutterVersionName == null) { flutterVersionName = '1.0' } -def keystoreProperties = new Properties() -def keystorePropertiesFile = rootProject.file('key.properties') -if (keystorePropertiesFile.exists()) { - keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +def branchKey = localProperties["branch.key"] ?: environment["BRANCH_KEY"] +if (branchKey == null) { + throw new GradleException("Branch key not found.") } -android { - namespace "com.bitmark.autonomywallet" - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion +def branchKeyTest = localProperties["branch.keyTest"] ?: environment["BRANCH_KEY_TEST"] +if (branchKeyTest == null) { + throw new GradleException("Branch test key not found.") +} - compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } +def branchTestMode = localProperties["branch.testMode"] ?: environment["BRANCH_IS_TEST"] ?: false - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8 - } +def signature_hash = localProperties["signature.hash"] ?: environment["SIGNATURE_HASH"] + +def signature_hash_inhouse = localProperties["signature.hashInhouse"] ?: environment["SIGNATURE_HASH_INHOUSE"] + +android { + compileSdkVersion 34 + flavorDimensions 'env' sourceSets { main.java.srcDirs += 'src/main/kotlin' } + defaultConfig { + resConfigs 'en', 'US' + } + + signingConfigs { + release { + def releaseProperties = new Properties() + def releasePropertiesFile = rootProject.file('release.properties') + if (releasePropertiesFile.exists()) { + releasePropertiesFile.withReader('UTF-8') { reader -> + releaseProperties.load(reader) + } + } + + keyAlias releaseProperties['key.alias'] + keyPassword releaseProperties['key.alias.password'] + storePassword releaseProperties['key.store.password'] + storeFile rootProject.file('release.keystore') + // Update this with the path to your keystore + } + } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.bitmark.autonomywallet" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion flutter.minSdkVersion - targetSdkVersion flutter.targetSdkVersion + applicationId "com.bitmark.autonomy_client" + minSdkVersion 29 + targetSdkVersion 34 versionCode flutterVersionCode.toInteger() versionName flutterVersionName + + manifestPlaceholders = [ + branchKey : branchKey, + branchKeyTest : branchKeyTest, + branchTestMode: branchTestMode + ] } - signingConfigs { - if (System.getenv("ANDROID_KEYSTORE_PATH")) { - release { - storeFile file(System.getenv("ANDROID_KEYSTORE_PATH")) - keyAlias System.getenv("ANDROID_KEYSTORE_ALIAS") - keyPassword System.getenv("ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD") - storePassword System.getenv("ANDROID_KEYSTORE_PASSWORD") - } - } else { - release { - keyAlias keystoreProperties['keyAlias'] - keyPassword keystoreProperties['keyPassword'] - storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null - storePassword keystoreProperties['storePassword'] + buildFeatures { + compose true + } + + composeOptions { + kotlinCompilerExtensionVersion = "1.5.2" + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = "17" + } + + buildTypes { + release { + if (rootProject.file('release.keystore').exists()) { + signingConfig signingConfigs.release + } else { + signingConfig signingConfigs.debug } + minifyEnabled true + shrinkResources true + + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } } - flavorDimensions "default" - productFlavors { + productFlavors { + dev { + dimension "env" + applicationIdSuffix ".inhouse" + resValue "string", "app_name", "Feral File (Dev)" + manifestPlaceholders = [ + appIcon : "@mipmap/ic_launcher_dev", + appIconRound: "@mipmap/ic_launcher_dev_round" + ] + buildConfigField "boolean", "ENABLE_DEBUGGER_DETECTION", "false" + buildConfigField "String", "SIGNATURE_HASH", '\"' + signature_hash_inhouse + '\"' + } + production { - dimension "default" - applicationIdSuffix "" - manifestPlaceholders = [appName: "Feralfile App"] + dimension "env" + resValue "string", "app_name", "Feral File" + manifestPlaceholders = [ + appIcon : "@mipmap/ic_launcher", + appIconRound: "@mipmap/ic_launcher_round" + ] + buildConfigField "boolean", "ENABLE_DEBUGGER_DETECTION", "true" + // SIGNATURE_HASH with value from local.properties + + buildConfigField "String", "SIGNATURE_HASH", '\"' + signature_hash + '\"' } - staging { - dimension "default" - applicationIdSuffix ".stg" - manifestPlaceholders = [appName: "[STG] Feralfile App"] + } + packagingOptions { + jniLibs { + excludes += ['META-INF/*'] + pickFirsts += ['**/*.so'] } - development { - dimension "default" - applicationIdSuffix ".dev" - manifestPlaceholders = [appName: "[DEV] Feralfile App"] + resources { + excludes += ['META-INF/*', '**/lib/libsodiumjni.dylib'] } } - buildTypes { - release { - signingConfig signingConfigs.release - minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android.txt') - } - debug { - signingConfig signingConfigs.debug - } + namespace 'com.bitmark.autonomy_flutter' + lint { + checkReleaseBuilds false + } + buildFeatures { + viewBinding true } } @@ -111,5 +195,52 @@ flutter { } dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.20" + implementation 'com.google.firebase:protolite-well-known-types:18.0.0' + def lifecycle_version = "2.6.0-alpha03" + def beacon_version = "c2434dcc73" + + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1") + implementation 'com.google.android.gms:play-services-auth-blockstore:16.2.0' + implementation 'io.reactivex.rxjava2:rxjava:2.2.10' + implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' + implementation('com.github.bitmark-inc:libauk-kotlin:ad2d4519bd') { + exclude group: 'com.google.protobuf' + exclude module: 'jetified-protobuf-java' + } + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4") + implementation 'androidx.appcompat:appcompat:1.5.1' + implementation 'com.google.android.material:material:1.6.1' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation("androidx.lifecycle:lifecycle-process:$lifecycle_version") + implementation("com.google.code.gson:gson:2.9.1") + implementation("com.android.installreferrer:installreferrer:2.2") + implementation("com.google.android.gms:play-services-ads-identifier:18.0.1") + implementation(platform("com.walletconnect:android-bom:1.12.0")) + implementation("com.walletconnect:android-core:1.17.0") + implementation("com.walletconnect:sign:2.15.0") + implementation("com.scottyab:rootbeer-lib:0.1.0") + + implementation("com.github.autonomy-system:beacon-android-sdk:$beacon_version") { + exclude group: 'com.goterl' + exclude module: 'lazysodium-android' + exclude group: 'net.java.dev.jna' + exclude module: 'jna' + exclude group: 'com.google.protobuf' + exclude module: 'jetified-protobuf-java' + } + + implementation 'com.github.bumptech.glide:glide:4.12.0' +// kapt 'com.github.bumptech.glide:compiler:4.12.0' + implementation 'androidx.glance:glance-appwidget:LATEST-VERSION' } + +configurations.all { + resolutionStrategy.eachDependency { details -> + if (details.requested.group == 'androidx.work') { + details.useVersion '2.8.1' + } + } +} \ No newline at end of file diff --git a/android/app/google-services.json b/android/app/google-services.json new file mode 100644 index 000000000..4ee48a285 --- /dev/null +++ b/android/app/google-services.json @@ -0,0 +1,69 @@ +{ + "project_info": { + "project_number": "1049339402213", + "firebase_url": "https://bitmark-autonomy.firebaseio.com", + "project_id": "bitmark-autonomy", + "storage_bucket": "bitmark-autonomy.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:1049339402213:android:7265dc65bcc4e82715c10c", + "android_client_info": { + "package_name": "com.bitmark.autonomy_client" + } + }, + "oauth_client": [ + { + "client_id": "1049339402213-4p8ded0ahoujss4hq73mlk46d4kmg3vo.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyD9pZXBE637fqM-Qz8mxhqMGpaWyENrm2w" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "1049339402213-4p8ded0ahoujss4hq73mlk46d4kmg3vo.apps.googleusercontent.com", + "client_type": 3 + } + ] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:1049339402213:android:ac2e79b3a7b8853215c10c", + "android_client_info": { + "package_name": "com.bitmark.autonomy_client.inhouse" + } + }, + "oauth_client": [ + { + "client_id": "1049339402213-4p8ded0ahoujss4hq73mlk46d4kmg3vo.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyD9pZXBE637fqM-Qz8mxhqMGpaWyENrm2w" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "1049339402213-4p8ded0ahoujss4hq73mlk46d4kmg3vo.apps.googleusercontent.com", + "client_type": 3 + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro new file mode 100644 index 000000000..e45001115 --- /dev/null +++ b/android/app/proguard-rules.pro @@ -0,0 +1,50 @@ +-keep class com.bitmark.autonomy_flutter.** { *; } +-keep class it.airgap.beaconsdk.** { *; } + +# Keep `Companion` object fields of serializable classes. +# This avoids serializer lookup through `getDeclaredClasses` as done for named companion objects. +-if @kotlinx.serialization.Serializable class ** +-keepclassmembers class <1> { + static <1>$Companion Companion; +} + +# Keep `serializer()` on companion objects (both default and named) of serializable classes. +-if @kotlinx.serialization.Serializable class ** { + static **$* *; +} +-keepclassmembers class <2>$<3> { + kotlinx.serialization.KSerializer serializer(...); +} + +# Keep `INSTANCE.serializer()` of serializable objects. +-if @kotlinx.serialization.Serializable class ** { + public static ** INSTANCE; +} +-keepclassmembers class <1> { + public static <1> INSTANCE; + kotlinx.serialization.KSerializer serializer(...); +} + +# @Serializable and @Polymorphic are used at runtime for polymorphic serialization. +-keepattributes RuntimeVisibleAnnotations,AnnotationDefault + +# Serializer for classes with named companion objects are retrieved using `getDeclaredClasses`. +# If you have any, uncomment and replace classes with those containing named companion objects. +-keepattributes InnerClasses # Needed for `getDeclaredClasses`. +-if @kotlinx.serialization.Serializable class +com.bitmark.autonomy_flutter.** +{ + static **$* *; +} +-keepnames class <1>$$serializer { # -keepnames suffices; class is kept when serializer() is kept. + static <1>$$serializer INSTANCE; +} + +# https://help.branch.io/developers-hub/docs/android-basic-integration +-keep class com.google.android.gms.** { *; } +-keep class com.walletconnect.** { *; } +-keep class net.sqlcipher.** { *; } +-keep class net.sqlcipher.database.** { *; } +-keep class **BackgroundFetchHeadlessTask { *; } +-keep class com.pauldemarco.flutter_blue.** { *; } +-keep class com.google.protobuf.** { *; } \ No newline at end of file diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 810c6a70b..2d29178c2 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,33 +1,267 @@ - + + + + + + + + + + + + + + + + + + + + + + + android:name=".app.AutonomyApp" + android:allowBackup="false" + android:icon="${appIcon}" + android:label="@string/app_name" + android:networkSecurityConfig="@xml/network_security_config" + android:roundIcon="${appIconRound}" + tools:replace="android:label,allowBackup"> + + + + + + + + + + + + + + - + to determine the Window background behind the Flutter UI. + --> + + + android:name="io.flutter.embedding.android.SplashScreenDrawable" + android:resource="@drawable/launch_background" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + android:value="2" /> + + + + + + + + + - + + \ No newline at end of file diff --git a/android/app/src/main/ic_launcher-playstore.png b/android/app/src/main/ic_launcher-playstore.png deleted file mode 100644 index d920815d38d2392bda953fb2c019604b20b12ce9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32868 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 diff --git a/android/app/src/main/ic_launcher_dev-playstore.png b/android/app/src/main/ic_launcher_dev-playstore.png new file mode 100644 index 0000000000000000000000000000000000000000..74d26effcb1bd8f85f94ff47e0fb32eada8605c0 GIT binary patch literal 4218 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 KcgnZtzV#o<=0?5% literal 0 HcmV?d00001 diff --git a/android/app/src/main/kotlin/com/bitmark/autonomywallet/AuthenticatorActivity.kt b/android/app/src/main/kotlin/com/bitmark/autonomywallet/AuthenticatorActivity.kt new file mode 100644 index 000000000..295662aed --- /dev/null +++ b/android/app/src/main/kotlin/com/bitmark/autonomywallet/AuthenticatorActivity.kt @@ -0,0 +1,73 @@ +package com.bitmark.autonomy_flutter + +import android.app.KeyguardManager +import android.os.Bundle +import android.view.View +import androidx.appcompat.app.AppCompatActivity +import androidx.biometric.BiometricManager +import androidx.biometric.BiometricPrompt +import androidx.core.content.ContextCompat +import java.util.concurrent.Executor + +class AuthenticatorActivity : AppCompatActivity() { + + private lateinit var executor: Executor + private lateinit var biometricPrompt: BiometricPrompt + private lateinit var promptInfo: BiometricPrompt.PromptInfo + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_authentication) + + setupBiometricPrompt() + + authenticate() + + + findViewById(R.id.enter_passcode).setOnClickListener { + authenticate() + } + } + + private fun setupBiometricPrompt() { + executor = ContextCompat.getMainExecutor(this) + biometricPrompt = BiometricPrompt(this, executor, + object : BiometricPrompt.AuthenticationCallback() { + + override fun onAuthenticationSucceeded( + result: BiometricPrompt.AuthenticationResult + ) { + MainActivity.isAuthenticate = true + finish() + } + }) + + promptInfo = if (android.os.Build.VERSION.SDK_INT >= 30) { + BiometricPrompt.PromptInfo.Builder() + .setTitle("Authentication required") + .setDescription("Authentication for \"Feral File\"") + .setAllowedAuthenticators(BiometricManager.Authenticators.BIOMETRIC_STRONG or BiometricManager.Authenticators.DEVICE_CREDENTIAL) + .build() + } else { + BiometricPrompt.PromptInfo.Builder() + .setTitle("Authentication required") + .setDescription("Authentication for \"Feral File\"") + .setDeviceCredentialAllowed(true) + .build() + } + } + + private fun authenticate() { + val biometricManager = BiometricManager.from(this) + val keyguardManager = getSystemService(KEYGUARD_SERVICE) as KeyguardManager + + if (biometricManager.canAuthenticate(BiometricManager.Authenticators.BIOMETRIC_STRONG) + == BiometricManager.BIOMETRIC_SUCCESS || keyguardManager.isDeviceSecure + ) { + biometricPrompt.authenticate(promptInfo) + } else { + MainActivity.isAuthenticate = true + finish() + } + } +} \ No newline at end of file diff --git a/android/app/src/main/kotlin/com/bitmark/autonomywallet/BackupDartPlugin.kt b/android/app/src/main/kotlin/com/bitmark/autonomywallet/BackupDartPlugin.kt new file mode 100644 index 000000000..436c35684 --- /dev/null +++ b/android/app/src/main/kotlin/com/bitmark/autonomywallet/BackupDartPlugin.kt @@ -0,0 +1,436 @@ +/* SPDX-License-Identifier: BSD-2-Clause-Patent + * Copyright © 2022 Bitmark. All rights reserved. + * Use of this source code is governed by the BSD-2-Clause Plus Patent License + * that can be found in the LICENSE file. + */ + +package com.bitmark.autonomy_flutter + +import android.content.Context +import android.util.Log +import androidx.annotation.NonNull +import com.bitmark.libauk.LibAuk +import com.google.android.gms.auth.blockstore.* +import com.google.android.gms.auth.blockstore.BlockstoreClient.DEFAULT_BYTES_DATA_KEY +import io.flutter.embedding.engine.FlutterEngine +import io.flutter.plugin.common.MethodCall +import io.flutter.plugin.common.MethodChannel +import io.reactivex.Completable +import io.reactivex.Observable +import io.reactivex.Single +import io.reactivex.disposables.CompositeDisposable +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import java.util.* + +class BackupDartPlugin : MethodChannel.MethodCallHandler { + /// The MethodChannel that will the communication between Flutter and native Android + /// + /// This local reference serves to register the plugin with the Flutter Engine and unregister it + /// when the Flutter Engine is detached from the Activity + private lateinit var channel: MethodChannel + private lateinit var context: Context + private lateinit var disposables: CompositeDisposable + private lateinit var client: BlockstoreClient + private val primaryAddressStoreKey = "primary_address" + private val jwtStoreKey = "jwt" + private val didRegisterPasskeys = "did_register_passkeys" + + fun createChannels(@NonNull flutterEngine: FlutterEngine, @NonNull context: Context) { + this.context = context + channel = MethodChannel(flutterEngine.dartExecutor.binaryMessenger, "backup") + channel.setMethodCallHandler(this) + disposables = CompositeDisposable() + client = Blockstore.getClient(context) + } + + override fun onMethodCall(@NonNull call: MethodCall, @NonNull result: MethodChannel.Result) { + when (call.method) { + "isEndToEndEncryptionAvailable" -> isEndToEndEncryptionAvailable(result) + "backupKeys" -> backupKeys(call, result) + "restoreKeys" -> restoreKeys(call, result) + "setPrimaryAddress" -> setPrimaryAddress(call, result) + "getPrimaryAddress" -> getPrimaryAddress(call, result) + "clearPrimaryAddress" -> clearPrimaryAddress(call, result) + "deleteKeys" -> deleteKeys(call, result) + "setDidRegisterPasskey" -> setDidRegisterPasskey(call, result) + "didRegisterPasskey" -> didRegisterPasskey(call, result) + "setJWT" -> setJWT(call, result) + "getJWT" -> getJWT(call, result) + "clearJWT" -> clearJWT(call, result) + else -> { + result.notImplemented() + } + } + } + + private fun isEndToEndEncryptionAvailable(result: MethodChannel.Result) { + client.isEndToEndEncryptionAvailable + .addOnSuccessListener { isE2EEAvailable -> + result.success(isE2EEAvailable) + } + .addOnFailureListener { + //Block store not available + result.success(null) + } + } + + private fun backupKeys(call: MethodCall, result: MethodChannel.Result) { + val uuids: List = call.argument("uuids") ?: return + + Observable + .fromIterable(uuids) + .flatMap { + Single.zip( + LibAuk.getInstance().getStorage(UUID.fromString(it), context) + .exportMnemonicWords(), + LibAuk.getInstance().getStorage(UUID.fromString(it), context) + .exportMnemonicPassphrase(), + LibAuk.getInstance().getStorage(UUID.fromString(it), context).getName() + ) { mnemonic, passphrase, name -> + BackupAccount(it, mnemonic, passphrase, name) + }.toObservable() + } + .toList() + .subscribe({ keys -> + val data = BackupData(keys) + val backupJson = jsonKT.encodeToString(BackupData.serializer(), data) + val storeBytesDataBuilder = StoreBytesData.Builder() + .setBytes(backupJson.toByteArray(Charsets.UTF_8)) + + client.isEndToEndEncryptionAvailable + .addOnSuccessListener { isE2EEAvailable -> + if (isE2EEAvailable) { + storeBytesDataBuilder.setShouldBackupToCloud(true) + } + client.storeBytes(storeBytesDataBuilder.build()) + .addOnSuccessListener { + result.success("") + } + .addOnFailureListener { e -> + Log.e("BackupDartPlugin", e.message ?: "") + result.error("backupKeys error", e.message, e) + } + } + .addOnFailureListener { + //Block store not available + Log.e("BackupDartPlugin", it.message ?: "") + result.error("backupKeys error", it.message, it) + } + }, { + Log.e("BackupDartPlugin", it.message ?: "") + result.error("backupKeys error", it.message, it) + }) + .let { disposables.add(it) } + + } + + private fun restoreKeys(call: MethodCall, result: MethodChannel.Result) { + val retrieveBytesRequestBuilder = RetrieveBytesRequest.Builder() + .setRetrieveAll(true) + client.retrieveBytes(retrieveBytesRequestBuilder.build()) + .addOnSuccessListener { bytes -> + try { + val dataMap = bytes.blockstoreDataMap; + val defaultBytesData = dataMap[DEFAULT_BYTES_DATA_KEY]; + val data = jsonKT.decodeFromString( + BackupData.serializer(), + defaultBytesData?.bytes?.toString(Charsets.UTF_8) ?: "" + ) + + Observable.fromIterable(data.accounts) + .flatMap { account -> + LibAuk.getInstance() + .getStorage(UUID.fromString(account.uuid), context) + .isWalletCreated() + .flatMapCompletable { isCreated -> + if (!isCreated) { + LibAuk.getInstance() + .getStorage(UUID.fromString(account.uuid), context) + .importKey( + account.mnemonic.split(" "), + account.passphrase ?: "", + account.name, + Date() + ) + } else { + Completable.complete() + } + } + .andThen( + Observable.just( + BackupAccount( + account.uuid, + "", + account.passphrase ?: "", + account.name + ) + ) + ) + } + .toList() + .subscribe({ + val resultData = + jsonKT.encodeToString(BackupData.serializer(), BackupData(it)) + result.success(resultData) + }, { + result.error("restoreKey error", it.message, it) + }) + .let { disposables.add(it) } + } catch (e: Exception) { + //No accounts found + result.success("") + } + } + .addOnFailureListener { e -> + // Block store not available or error occurred during retrieval + Log.e("RestoreDartPlugin", e.message ?: "Blockstore retrieval error") + result.error("restorePrimaryAddress error", e.message, e) + } + } + + private fun setPrimaryAddress(call: MethodCall, result: MethodChannel.Result) { + val data: String = call.argument("data") ?: return + + val storeBytesBuilder = StoreBytesData.Builder() + .setKey(primaryAddressStoreKey) + .setBytes(data.toByteArray(Charsets.UTF_8)) + + + Log.e("setPrimaryAddress", "Primary address setting"); + + client.isEndToEndEncryptionAvailable + .addOnSuccessListener { isE2EEAvailable -> + if (isE2EEAvailable) { + storeBytesBuilder.setShouldBackupToCloud(true) + } + client.storeBytes(storeBytesBuilder.build()) + .addOnSuccessListener { + + Log.e("setPrimaryAddress", "Primary address set successfully"); + result.success("") + } + .addOnFailureListener { e -> + Log.e("setPrimaryAddress", e.message ?: "") + result.error("setPrimaryAddress error", e.message, e) + } + } + .addOnFailureListener { + // Block store not available + Log.e("setPrimaryAddress", it.message ?: "") + result.error("setPrimaryAddress error", it.message, it) + } + } + + private fun getPrimaryAddress(call: MethodCall, result: MethodChannel.Result) { + val request = RetrieveBytesRequest.Builder() + .setKeys(listOf(primaryAddressStoreKey)) // Specify the key + .build() + client.retrieveBytes(request) + .addOnSuccessListener { + try { // Retrieve bytes using the key + val dataMap = it.blockstoreDataMap[primaryAddressStoreKey] + if (dataMap != null) { + val bytes = dataMap.bytes + val jsonString = bytes.toString(Charsets.UTF_8) + Log.d("getPrimaryAddress", "Retrieved JSON: $jsonString") + + + result.success(jsonString) + } else { + Log.e("getPrimaryAddress", "No data found for the key") + result.success(null) + } + } catch (e: Exception) { + Log.e("getPrimaryAddress", e.message ?: "Error decoding data") + //No primary address found + result.success("") + } + } + .addOnFailureListener { + //Block store not available + result.error("getPrimaryAddress Block store error", it.message, it) + } + } + + private fun setDidRegisterPasskey(call: MethodCall, result: MethodChannel.Result) { + val data: Boolean = call.argument("data") ?: false + + val storeBytesBuilder = StoreBytesData.Builder() + .setKey(didRegisterPasskeys) + .setBytes(data.toString().toByteArray(Charsets.UTF_8)) + + client.storeBytes(storeBytesBuilder.build()) + .addOnSuccessListener { + + Log.e("setDidRegisterPasskey", data.toString()); + result.success(true) + } + .addOnFailureListener { e -> + Log.e("setDidRegisterPasskey", e.message ?: "") + result.success(false) + } + } + + private fun didRegisterPasskey(call: MethodCall, result: MethodChannel.Result) { + didRegisterPasskeyResult { + result.success(it) + } + } + + fun didRegisterPasskeyResult(callback: (Boolean) -> Unit) { + val request = RetrieveBytesRequest.Builder() + .setKeys(listOf(didRegisterPasskeys)) // Specify the key + .build() + + client.retrieveBytes(request) + .addOnSuccessListener { + try { + val dataMap = it.blockstoreDataMap[didRegisterPasskeys] + if (dataMap != null) { + val bytes = dataMap.bytes + val resultString = bytes.toString(Charsets.UTF_8) + Log.d("didRegisterPasskey", resultString) + callback(resultString.toBoolean()) + } else { + Log.e("didRegisterPasskey", "No data found for the key") + callback(false) + } + } catch (e: Exception) { + Log.e("didRegisterPasskey", e.message ?: "Error decoding data") + callback(false) + } + } + .addOnFailureListener { + Log.e("didRegisterPasskey", "Block store error: ${it.message}") + callback(false) + } + } + + fun getJWT(callback: (String?) -> Unit) { + val request = RetrieveBytesRequest.Builder() + .setKeys(listOf(jwtStoreKey)) // Specify the key + .build() + + client.retrieveBytes(request) + .addOnSuccessListener { + val dataMap = it.blockstoreDataMap[jwtStoreKey] + if (dataMap != null) { + val bytes = dataMap.bytes + val jsonString = bytes.toString(Charsets.UTF_8) + Log.d("getJWT", "Retrieved JSON: $jsonString") + callback(jsonString) + } else { + callback(null) + } + } + .addOnFailureListener { + Log.e("didRegisterPasskey", "Block store error: ${it.message}") + callback(null) + } + } + + + private fun clearPrimaryAddress(call: MethodCall, result: MethodChannel.Result) { + val retrieveRequest = DeleteBytesRequest.Builder() + .setKeys(listOf(primaryAddressStoreKey)) + .build() + client.deleteBytes(retrieveRequest) + .addOnSuccessListener { + result.success(it) + } + .addOnFailureListener { + result.error("deletePrimaryAddress error", it.message, it) + } + } + + private fun deleteKeys(call: MethodCall, result: MethodChannel.Result) { + val deleteRequestBuilder = DeleteBytesRequest.Builder() + .setDeleteAll(true) + client.deleteBytes(deleteRequestBuilder.build()) + .addOnSuccessListener { + result.success("") + } + .addOnFailureListener { e -> + Log.e("BackupDartPlugin", e.message ?: "") + result.error("deleteKeys error", e.message, e) + } + } + + private fun setJWT(call: MethodCall, result: MethodChannel.Result) { + val data: String = call.argument("data") ?: return + + val storeBytesBuilder = StoreBytesData.Builder() + .setKey("jwt") + .setBytes(data.toByteArray(Charsets.UTF_8)) + + client.storeBytes(storeBytesBuilder.build()) + .addOnSuccessListener { + result.success("") + } + .addOnFailureListener { e -> + Log.e("setJWT", e.message ?: "") + result.error("setJWT error", e.message, e) + } + } + + private fun getJWT(call: MethodCall, result: MethodChannel.Result) { + val request = RetrieveBytesRequest.Builder() + .setKeys(listOf(jwtStoreKey)) // Specify the key + .build() + client.retrieveBytes(request) + .addOnSuccessListener { + try { // Retrieve bytes using the key + val dataMap = it.blockstoreDataMap[jwtStoreKey] + if (dataMap != null) { + val bytes = dataMap.bytes + val jsonString = bytes.toString(Charsets.UTF_8) + Log.d("getJWT", "Retrieved JSON: $jsonString") + result.success(jsonString) + } else { + Log.e("getJWT", "No data found for the key") + result.success(null) + } + } catch (e: Exception) { + Log.e("getJWT", e.message ?: "Error decoding data") + result.success("") + } + } + .addOnFailureListener { + //Block store not available + result.error("getJWT Block store error", it.message, it) + + } + }// Specify the key + + private fun clearJWT(call: MethodCall, result: MethodChannel.Result) { + val retrieveRequest = DeleteBytesRequest.Builder() + .setKeys(listOf(jwtStoreKey)) + .build() + client.deleteBytes(retrieveRequest) + .addOnSuccessListener { + result.success(it) + } + .addOnFailureListener { + result.error("deleteJWT error", it.message, it) + } + } +} + +@Serializable +data class BackupData( + @SerialName("accounts") + val accounts: List +) + +@Serializable +data class BackupAccount( + @SerialName("uuid") + val uuid: String, + @SerialName("mnemonic") + val mnemonic: String, + @SerialName("passphrase") + val passphrase: String?, + @SerialName("name") + val name: String, +) \ No newline at end of file diff --git a/android/app/src/main/kotlin/com/bitmark/autonomywallet/Const.kt b/android/app/src/main/kotlin/com/bitmark/autonomywallet/Const.kt new file mode 100644 index 000000000..cca297ee3 --- /dev/null +++ b/android/app/src/main/kotlin/com/bitmark/autonomywallet/Const.kt @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: BSD-2-Clause-Patent + * Copyright © 2022 Bitmark. All rights reserved. + * Use of this source code is governed by the BSD-2-Clause Plus Patent License + * that can be found in the LICENSE file. + */ + +package com.bitmark.autonomy_flutter + +import kotlinx.serialization.json.Json + +val jsonKT = Json { ignoreUnknownKeys = true } diff --git a/android/app/src/main/kotlin/com/bitmark/autonomywallet/EmergencyLog.kt b/android/app/src/main/kotlin/com/bitmark/autonomywallet/EmergencyLog.kt new file mode 100644 index 000000000..722ad8bb5 --- /dev/null +++ b/android/app/src/main/kotlin/com/bitmark/autonomywallet/EmergencyLog.kt @@ -0,0 +1,88 @@ +package com.bitmark.autonomy_flutter + +import android.app.Activity +import android.net.Uri +import android.os.Bundle +import com.google.gson.Gson +import okhttp3.MediaType.Companion.toMediaTypeOrNull +import okhttp3.* +import okhttp3.OkHttpClient +import okhttp3.RequestBody.Companion.toRequestBody +import java.io.File +import java.io.IOException +import java.util.Base64 + +class EmergencyLog : Activity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + val logger = FileLogger.init(applicationContext) + val data: Uri? = intent.data + val token: String? = data?.lastPathSegment + + if (token != null) { + uploadLogFile(logger.getFile(), token) + } + } + + private fun uploadLogFile(file: File, token: String) { + val client = OkHttpClient() + + val requestBody = buildRequestBody(file) + + // Build the request + val url = if (BuildConfig.FLAVOR.contains("inhouse")) { + "https://support.test.autonomy.io/v1/issues/" + } else { + "https://support.autonomy.io/v1/issues/" + } + + val request = Request.Builder() + .url(url) + .post(requestBody) + .header("Authorization", "Emergency $token") + .build() + + client.newCall(request).enqueue(object : Callback { + override fun onFailure(call: Call, e: IOException) { + e.printStackTrace() + // Handle failure + } + + override fun onResponse(call: Call, response: Response) { + if (response.isSuccessful) { + // Handle successful upload + println("Log file uploaded successfully") + } else { + // Handle unsuccessful upload + println("Failed to upload log file") + } + } + }) + } + + private fun buildRequestBody(file: File): RequestBody { + // Read the log file content as base64 + val base64Content = Base64.getEncoder().encodeToString(file.readBytes()) + + // Construct the attachments array with base64 data and file name + val attachments = listOf( + mapOf("data" to base64Content, "title" to file.name, "path" to "", "contentType" to "") + ) + + // Construct the request body as JSON + val requestBodyMap = mapOf( + "attachments" to attachments, + "title" to "Emergency log", + "message" to "message", + "tags" to listOf("emergency", "android"), + "announcement_context_id" to "" + ) + + val gson = Gson() + val json = gson.toJson(requestBodyMap) + + return json.toRequestBody("application/json".toMediaTypeOrNull()) + } + +} \ No newline at end of file diff --git a/android/app/src/main/kotlin/com/bitmark/autonomywallet/FileLogger.kt b/android/app/src/main/kotlin/com/bitmark/autonomywallet/FileLogger.kt new file mode 100644 index 000000000..8c38cf49f --- /dev/null +++ b/android/app/src/main/kotlin/com/bitmark/autonomywallet/FileLogger.kt @@ -0,0 +1,43 @@ +package com.bitmark.autonomy_flutter + +import android.content.Context +import android.util.Log +import java.io.File +import java.io.FileOutputStream + +class FileLogger(context: Context) { + + companion object { + private var INSTANCE: FileLogger? = null + + fun init(context: Context) = INSTANCE ?: FileLogger(context).also { INSTANCE = it } + + fun log(tag: String, message: String) { + INSTANCE?.log(tag, message) + } + } + + private val _fileLogger: File + + fun getFile(): File { + return _fileLogger + } + + init { + _fileLogger = File(context.cacheDir, "app.log") + if (!_fileLogger.exists()) { + _fileLogger.createNewFile() + } + } + + private fun log(tag: String, message: String) { + if (_fileLogger.canWrite()) { + Log.d(tag, message) + FileOutputStream(_fileLogger, true).apply { + write("$tag: $message\n".encodeToByteArray()) + flush() + close() + } + } + } +} \ No newline at end of file diff --git a/android/app/src/main/kotlin/com/bitmark/autonomywallet/MainActivity.kt b/android/app/src/main/kotlin/com/bitmark/autonomywallet/MainActivity.kt index 2168769d7..5d1f6687f 100644 --- a/android/app/src/main/kotlin/com/bitmark/autonomywallet/MainActivity.kt +++ b/android/app/src/main/kotlin/com/bitmark/autonomywallet/MainActivity.kt @@ -1,6 +1,299 @@ -package com.bitmark.autonomywallet +/* SPDX-License-Identifier: BSD-2-Clause-Patent + * Copyright © 2022 Bitmark. All rights reserved. + * Use of this source code is governed by the BSD-2-Clause Plus Patent License + * that can be found in the LICENSE file. + */ -import io.flutter.embedding.android.FlutterActivity +package com.bitmark.autonomy_flutter -class MainActivity: FlutterActivity() { -} +import android.app.KeyguardManager +import android.content.Context +import android.content.Intent +import android.content.SharedPreferences +import android.os.Build +import android.os.Bundle +import android.util.Log +import android.view.View.ACCESSIBILITY_DATA_SENSITIVE_YES +import android.view.WindowManager.LayoutParams +import androidx.biometric.BiometricManager +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import io.flutter.embedding.android.FlutterFragmentActivity +import io.flutter.embedding.android.FlutterView +import io.flutter.embedding.engine.FlutterEngine +import io.flutter.plugin.common.MethodChannel +import java.time.format.DateTimeParseException +import java.util.concurrent.TimeUnit + +class MainActivity : FlutterFragmentActivity() { + companion object { + var isAuthenticate: Boolean = false + private const val CHANNEL = "migration_util" + private val secureScreenChannel = "secure_screen_channel" + private var lastAuthTime: Long = 0 + private val authenticationTimeout = TimeUnit.MINUTES.toMillis(3) + private var isThisFirstOnResume = true + } + + var flutterSharedPreferences: SharedPreferences? = null + + private val backupDartPlugin: BackupDartPlugin = BackupDartPlugin() + + //DONT REMOVE; We will bring back this code when we need to verify the signature + // check if the signature is valid +// private fun isSignatureValid( +// context: Context, +// expectedSignatureHash: String +// ): Boolean { +// try { +// val packageInfo = context.packageManager.getPackageInfo( +// context.packageName, +// PackageManager.GET_SIGNING_CERTIFICATES +// ) +// val signatures = packageInfo.signingInfo.apkContentsSigners +// val md = MessageDigest.getInstance("SHA-256") +// for (signature in signatures) { +// md.update(signature.toByteArray()) +// val currentSignatureHash = Base64.encodeToString(md.digest(), Base64.NO_WRAP) +// if (currentSignatureHash == expectedSignatureHash) { +// return true +// } +// } +// } catch (e: Exception) { +// Log.e("Signature", e.message.toString()) +// } +// return false +// } + + override fun configureFlutterEngine(flutterEngine: FlutterEngine) { + super.configureFlutterEngine(flutterEngine) + FileLogger.init(applicationContext) + // verity signing certificate + + // DONT REMOVE, we will bring back this code when we need to verify the signature +// checkSecurity() + MethodChannel( + flutterEngine.dartExecutor.binaryMessenger, + CHANNEL + ).setMethodCallHandler { call, result -> + if (call.method == "getExistingUuids") { + val uuids = getExistingUuids() + result.success(uuids) + } else { + result.notImplemented() + } + } + + backupDartPlugin.createChannels(flutterEngine, applicationContext) + + MethodChannel( + flutterEngine.dartExecutor.binaryMessenger, + secureScreenChannel + ).setMethodCallHandler { call, result -> + if (call.method == "setSecureFlag") { + val secure = call.argument("secure") ?: false + setSecureFlag(secure) + result.success(null) + } else { + result.notImplemented() + } + } + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + window.setHideOverlayWindows(true) + } + } + + // DONT REMOVE, we will bring back this code when we need to verify the signature + // detect frida +// private fun detectFrida(): Boolean { +// return detectFridaPort() || detectFridaMem() +// } + + // DONT REMOVE, we will bring back this code when we need to verify the signature + // check security +// private fun checkSecurity() { +// val handler = Handler(Looper.getMainLooper()) +// +// handler.postDelayed({ +// if (detectFrida()) { +// captureMessage("[Security check] Reverse engineering tool detected") +// finish() +// } +// val isSignatureValid = isSignatureValid(this, BuildConfig.SIGNATURE_HASH) +// if (!isSignatureValid) { +// captureMessage("[Security check] Invalid signature detected") +// Toast.makeText(this, "Invalid signature", Toast.LENGTH_SHORT).show() +// finish() +// } +// +// // Detect rooted devices +// // Create a RootBeer instance +// val rootBeer = RootBeer(this) +// if (rootBeer.isRooted) { +// captureMessage("[Security check] Rooted device detected") +// Toast.makeText(this, "This app cannot be used on rooted devices.", Toast.LENGTH_SHORT) +// .show() +// finish() // Close the app +// } +// +// // debugger detection +// val hasTracerPid = hasTracerPid() +// if (BuildConfig.ENABLE_DEBUGGER_DETECTION && hasTracerPid) { +// captureMessage("[Security check] Debugger detected") +// Toast.makeText( +// this, +// "Debugging detected. Please try again without any debugging tools.", +// Toast.LENGTH_SHORT +// ) +// .show() +// finish() +// } +// }, 5000L) +// } + + // DONT REMOVE, we will bring back this code when we need to verify the signature +// private fun captureMessage(message: String) { +// try { +// Sentry.captureMessage(message) +// } catch (e: Exception) { +// e.printStackTrace() +// } +// } + + + // DONT REMOVE, we will bring back this code when we need to verify the signature + // detect frida +// private fun detectFridaPort(): Boolean { +// return try { +// val socket = Socket() +// socket.connect(InetSocketAddress("127.0.0.1", 27042), 1000) +// socket.close() +// true +// } catch (e: Exception) { +// false +// } +// } + + // DONT REMOVE, we will bring back this code when we need to verify the signature +// private fun detectFridaMem(): Boolean { +// try { +// val mapsFile = BufferedReader(FileReader("/proc/self/maps")) +// var isFridaDetected = false +// +// while (true) { +// val line = mapsFile.readLine() ?: break +// +// if (line.contains("frida")) { +// isFridaDetected = true +// break +// } +// } +// +// mapsFile.close() +// return isFridaDetected +// } catch (e: Exception) { +// e.printStackTrace() +// return false +// } +// } + + private fun getExistingUuids(): String { + val sharedPreferences = this.getSharedPreferences( + BuildConfig.APPLICATION_ID, Context.MODE_PRIVATE + ) + return sharedPreferences.getString("persona_uuids", "") ?: "" + } + + private fun setSecureFlag(secure: Boolean) { + if (secure) { + window.addFlags(LayoutParams.FLAG_SECURE) + } else { + window.clearFlags(LayoutParams.FLAG_SECURE) + } + } + + override fun onResume() { + super.onResume() + + val sharedPreferences = flutterSharedPreferences ?: this.getSharedPreferences( + "FlutterSharedPreferences", + Context.MODE_PRIVATE + ) + val isEnabled = sharedPreferences.getBoolean("flutter.device_passcode", false) + + backupDartPlugin.getJWT { jsonString -> + if (jsonString.isNullOrEmpty()) { + Log.e("getJWT", "JWT retrieval failed or returned null") + return@getJWT + } + // decode jsonString + val type = object : TypeToken>() {}.type + val map: Map = Gson().fromJson(jsonString, type) + val refreshTokenExpiredAtString = map["refresh_expire_at"] as? String ?: run { + Log.e("getJWT", "Missing 'refresh_expire_at' in JWT") + return@getJWT + } + + val refreshTokenExpiredAt = try { + java.time.Instant.parse(refreshTokenExpiredAtString) + } catch (e: DateTimeParseException) { + Log.e("getJWT", "Invalid date format: $refreshTokenExpiredAtString") + return@getJWT + } + val isExpired = refreshTokenExpiredAt.isBefore(java.time.Instant.now()) + if (isExpired) { + updateAuthenticationTime() + return@getJWT + } + if (isEnabled && !isAuthenticate && needsReAuthentication()) { + val biometricManager = BiometricManager.from(this) + val keyguardManager = getSystemService(KEYGUARD_SERVICE) as KeyguardManager + if (biometricManager.canAuthenticate(BiometricManager.Authenticators.BIOMETRIC_STRONG) + == BiometricManager.BIOMETRIC_SUCCESS || keyguardManager.isDeviceSecure + ) { + val intent = Intent(this@MainActivity, AuthenticatorActivity::class.java) + updateAuthenticationTime() + startActivity(intent) + } + } + } + } + + private fun updateAuthenticationTime() { + lastAuthTime = System.currentTimeMillis() + } + + private fun needsReAuthentication(): Boolean { + val currentTime = System.currentTimeMillis() + return (currentTime - lastAuthTime) > authenticationTimeout + } + + override fun onPause() { + super.onPause() + isAuthenticate = false + } + + // DONT REMOVE, we will bring back this code when we need to verify the signature +// private fun hasTracerPid(): Boolean { +// val tracerpid = "TracerPid" +// try { +// val file = File("/proc/self/status") +// val lines = file.readLines() +// for (line in lines) { +// if (line.length > tracerpid.length) { +// if (line.substring(0, tracerpid.length).equals(tracerpid, ignoreCase = true)) { +// val pid = line.substring(tracerpid.length + 1).trim().toInt() +// if (pid > 0) { +// return true +// } +// break +// } +// } +// } +// } catch (exception: Exception) { +// println(exception) +// } +// return false +// } +} \ No newline at end of file diff --git a/android/app/src/main/kotlin/com/bitmark/autonomywallet/app/AutonomyApp.kt b/android/app/src/main/kotlin/com/bitmark/autonomywallet/app/AutonomyApp.kt new file mode 100644 index 000000000..7c54b0a5c --- /dev/null +++ b/android/app/src/main/kotlin/com/bitmark/autonomywallet/app/AutonomyApp.kt @@ -0,0 +1,29 @@ +package com.bitmark.autonomy_flutter.app + +import android.app.Application +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.LifecycleEventObserver +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.ProcessLifecycleOwner +import com.bitmark.autonomy_flutter.BuildConfig +import timber.log.Timber + +class AutonomyApp : Application(), LifecycleEventObserver { + + override fun onCreate() { + super.onCreate() + ProcessLifecycleOwner.get().lifecycle.addObserver(this) + if (BuildConfig.DEBUG) { + Timber.plant(Timber.DebugTree()) + } + } + + override fun onStateChanged(source: LifecycleOwner, event: Lifecycle.Event) { + isInForeground = event.targetState.isAtLeast(Lifecycle.State.RESUMED) + } + + companion object { + var isInForeground: Boolean = false + private set + } +} \ No newline at end of file diff --git a/android/app/src/main/kotlin/com/bitmark/autonomywallet/util/JsonUtil.kt b/android/app/src/main/kotlin/com/bitmark/autonomywallet/util/JsonUtil.kt new file mode 100644 index 000000000..f7eabd9c8 --- /dev/null +++ b/android/app/src/main/kotlin/com/bitmark/autonomywallet/util/JsonUtil.kt @@ -0,0 +1,18 @@ +package com.bitmark.autonomy_flutter.util + +import kotlinx.serialization.json.* + +fun Collection<*>.toJsonElement(): JsonElement = JsonArray(mapNotNull { it.toJsonElement() }) + +fun Map<*, *>.toJsonElement(): JsonElement = JsonObject( + mapNotNull { + (it.key as? String ?: return@mapNotNull null) to it.value.toJsonElement() + }.toMap(), +) + +fun Any?.toJsonElement(): JsonElement = when (this) { + null -> JsonNull + is Map<*, *> -> toJsonElement() + is Collection<*> -> toJsonElement() + else -> JsonPrimitive(toString()) +} \ No newline at end of file diff --git a/android/app/src/main/res/drawable-night-v21/background.png b/android/app/src/main/res/drawable-night-v21/background.png new file mode 100644 index 0000000000000000000000000000000000000000..71e9c817e8c3531d8b353b9818aeece0e1e64971 GIT binary patch literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*|ti3tfno(Kc$izVN6 PfGh@2S3j3^P6 + + + + + diff --git a/android/app/src/main/res/drawable-night/background.png b/android/app/src/main/res/drawable-night/background.png new file mode 100644 index 0000000000000000000000000000000000000000..71e9c817e8c3531d8b353b9818aeece0e1e64971 GIT binary patch literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*|ti3tfno(Kc$izVN6 PfGh@2S3j3^P6 + + + + + diff --git a/android/app/src/main/res/drawable-v21/app_widget_background.xml b/android/app/src/main/res/drawable-v21/app_widget_background.xml new file mode 100644 index 000000000..785445c66 --- /dev/null +++ b/android/app/src/main/res/drawable-v21/app_widget_background.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/drawable-v21/app_widget_inner_view_background.xml b/android/app/src/main/res/drawable-v21/app_widget_inner_view_background.xml new file mode 100644 index 000000000..007e2872f --- /dev/null +++ b/android/app/src/main/res/drawable-v21/app_widget_inner_view_background.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/drawable-v21/background.png b/android/app/src/main/res/drawable-v21/background.png new file mode 100644 index 0000000000000000000000000000000000000000..3107d37fa533216ce211fdcdd7c9b8633fab4cc4 GIT binary patch literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*|tKmY%?XJF%FW@0Ma R`v54;;OXk;vd$@?2>`rk4}t&y literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml index bdf0fcc4b..f88598cf6 100644 --- a/android/app/src/main/res/drawable-v21/launch_background.xml +++ b/android/app/src/main/res/drawable-v21/launch_background.xml @@ -1,8 +1,6 @@ - - - - - + + + diff --git a/android/app/src/main/res/drawable/background.png b/android/app/src/main/res/drawable/background.png new file mode 100644 index 0000000000000000000000000000000000000000..3107d37fa533216ce211fdcdd7c9b8633fab4cc4 GIT binary patch literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*|tKmY%?XJF%FW@0Ma R`v54;;OXk;vd$@?2>`rk4}t&y literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable/daily_preview_image.png b/android/app/src/main/res/drawable/daily_preview_image.png new file mode 100644 index 0000000000000000000000000000000000000000..c9b23d7d6f3c70ef2db8c7044dd9529f6010f53a GIT binary patch literal 24026 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable/enter_passcode.xml b/android/app/src/main/res/drawable/enter_passcode.xml new file mode 100644 index 000000000..09d4f34c1 --- /dev/null +++ b/android/app/src/main/res/drawable/enter_passcode.xml @@ -0,0 +1,9 @@ + + + diff --git a/android/app/src/main/res/drawable/failed_daily_image.png b/android/app/src/main/res/drawable/failed_daily_image.png new file mode 100644 index 0000000000000000000000000000000000000000..fdba5d430dd136d1437990d4a5db709c550af841 GIT binary patch literal 11081 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 DxbC=O literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable/feralfile_logo.png b/android/app/src/main/res/drawable/feralfile_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6624bb4b1a53efd40b1fcfe0bfcd4c3ca198d25f GIT binary patch literal 579 zcmeAS@N?(olHy`uVBq!ia0vp^HbAV&!3HEVpL<0yFfeg>x;TbZ#J!#2D0tgIz*WA* zNdSmM3^OE`2%Jh#+`_}MPymQ-RVe*l5bGXR)?a7*{?X6-_dSobbL9D4x?JBFmZbTD z*Zbv9P0rYF5uHmHnCmQkzFei`X0qzErh6Nv%$q;yLTdli2(GHbK~;5LPSb6%YDg)$ z`Pe^6@Jrj%X}gc;19dC)ec7_mT<2+M<$31VFA*J&PhYlw(QEuP^m2~*sXh0$Zv4_& zUwKzs`0%%y*4O*rtV@WQvvcaFFrG)!ulehqeLMOu;nS&}rR8<+=W1wGJr0(h%)iT6 z?EI9y0!NtlKHOL^abv}^>w5)Uobzk4k{dVHq^aDVZhr6n<9soR)6?F19G`GeTCSD# z*rrtLONJ?5+T0TxH|E^zE8&sc`!FyfK__~fvaGXPeuW6K@&uu(Bc%BnXE3= - - - diff --git a/android/app/src/main/res/drawable/ic_launcher_foreground.xml b/android/app/src/main/res/drawable/ic_launcher_foreground.xml deleted file mode 100644 index 4e37e1072..000000000 --- a/android/app/src/main/res/drawable/ic_launcher_foreground.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml index bdf0fcc4b..f88598cf6 100644 --- a/android/app/src/main/res/drawable/launch_background.xml +++ b/android/app/src/main/res/drawable/launch_background.xml @@ -1,8 +1,6 @@ - - - - - + + + diff --git a/android/app/src/main/res/drawable/no_thumbnail.png b/android/app/src/main/res/drawable/no_thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..fdba5d430dd136d1437990d4a5db709c550af841 GIT binary patch literal 11081 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 DxbC=O literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/font/ppmori_regular.ttf b/android/app/src/main/res/font/ppmori_regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..cd21b3147a32ac532e17796761362257e05ed391 GIT binary patch literal 101892 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 VK1|u3v-u%>Tf@WbXFF*8{15Sdj->zq literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/layout/activity_authentication.xml b/android/app/src/main/res/layout/activity_authentication.xml new file mode 100644 index 000000000..1a9d636e4 --- /dev/null +++ b/android/app/src/main/res/layout/activity_authentication.xml @@ -0,0 +1,28 @@ + + + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/layout/feralfile_daily.xml b/android/app/src/main/res/layout/feralfile_daily.xml new file mode 100644 index 000000000..bab649bdc --- /dev/null +++ b/android/app/src/main/res/layout/feralfile_daily.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index 7353dbd1f..036d09bc5 100644 --- a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev.xml new file mode 100644 index 000000000..a01c12111 --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev_round.xml new file mode 100644 index 000000000..a01c12111 --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml index 7353dbd1f..036d09bc5 100644 --- a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index 2c681ca3431baad8985aaa3c5ba8fbdde8833994..6c5dc8027cd7a80f03fd5d40d827bc02ecb7fab3 100644 GIT binary patch delta 1458 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 k?4(5K`z5oCK diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_dev.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_dev.png new file mode 100644 index 0000000000000000000000000000000000000000..b48fd875232ae3da2f88746095278f6fe079e8ef GIT binary patch literal 3222 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..dc95d67d906b618de0d6d180d1f53dada352cf47 GIT binary patch literal 4417 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 literal 4799 zcmV;w5M(Zi4X))iUKMf6?ur1krAHgNKsVKIEqRU5tXL$=r>}rh&e1=1gwx-Q92Zzvui<+3((KuDODjQYy?y zxF6Ajkq^N514`dhu1n0x*Ie@z9Qj*PKw0h3nACg( z#i!Ug7~WgM9PRyJ4iS;7o>ju^;flc@nS894fgV=I(hPBu7HHL%ly^xx;T>9mgUz+BMxjAB-5|EwYoV2{+j5%}W zXn+O|9H<5i7@%Lzn>Q~vO<03;{`~m^Nl8hioombyKr-&?+$Ll=;o`-M>g?IG>i6G& zSKog7tr|amyar|T=+Ww#XP(ioA9&ya-H!ITN!(((>ty_}Yy)J~@6SK~{AX^0Bi=-t z(zDM#tGajZu4>n=t$}b#LPCOCzka=bUAAmlb=O^YsoAq%!NwLjnN)IevYI=0uDbEY8&$b-QZ;DMK!ftu zTW_h9loVC4U_o{5wb$x)w69R1f@;^Uoti&?K8wpyoP@JEckbMUZ@&4aj&sc+0VG

9938Z}bk;o%;w=-aoiUg)-M+mw)|x^(H1TC--2{`|!kUu5#CPMtd1tI>}3 z^yBl$$Vd(JJMX*$>1Ny1Fxz9tj=gV8Eg~e-l7+Q1E1|=+Vut2-~WeEU={w2t(B% zA$6?@#ful$lgBiE{`qHDUZ`{D&YHA|pwWuQ9(zoK^!)SB`}Bg0iw1EY%n$A2{-IO> zSSOC->#x6V7nF;viU}Xg&93%5{`lj1QIIP@;l|zcgOnj^G)9QiL+sV7SJ!6huivRt zr*ueAq(~9HDKlrz3|Wf+`@n$%ivpUNRWDJua?{=*MH^o%8uuv)rwse1L*S9OqS=P+r~Bn>d! zBqkG*+XrOP+>w5@$k<+(nAeA)n3rV8>fwhUR%ObRQDI?WdNHVa`}Xa1bZj+b_3G8C za^=c8wz>ZL>vhb-VrYw&pmFRzi`=<$rv|5H&6@f>+CBK-gC2f?@NIlFb?Vei<~Dfn zU_FmpZ@txZqHEVG;l^5-f7YVEJ*N5e(@)Dt+oOTZ%a$aFgdt#vl?AZlM8*>)Oi(x7 zbd!!%aM2{2OuSXARyq#CeM7E$_UutlKmD`@jrY+gz?(jOx(0%{2ra-|0JC-L*4lds z1!%8jH-pV_&X2j(s8K_6(#tQu?AFw@nMtOfGHceXN={5Nc`vzntgS2i8w{RdXPv15 z#JYCv+Dz#LoB&8sQBi96@Zoy#n4otIw15A8^~fWSsM4iNd$jM-M;|3N@$d`DD*)o| z$BY@H0j*M{icf$Lycv!HlZE`<#zf3}^XAR*U?KO4%)&pi)8hk~7evZ}QEjw^NLGkV z^N2SgbF;hezFPwWP~4_>@7`*`f(1Hj$CPm6BS(%@@$vDhO`A5VQ>RWIlfrvpc0}3q zp+6dX-F4S#nK*Hxe(%XApY&<=adC0_b3z1{iEbJ^CbaM`6B9*xYf!il>!LvQ9wx)? zL9T(kic{S?bm)*J8TBPBn1x|d&6_vZ?*SCRS%56i@DZG56I);RUb19~{=9A5wxkoT z-ThBL{j?+#4>=w&i4ZN=8VDc=5r7EJ-hcmn%_G60SG){SE?x*pOia|~^W%>{YR}c8 zMGLK!Cr+Hm1;n?}rv5OqaHB5x@ij2vFccJm$)kD_z%$#N@ZjxCK49STYi? zQ&<+e$29gy(1#8k(y9vqV&f!}m<7bl&L<@$5pZem;ifF{)mL9>o)|T1RF(*s-Nd}^ zyYD^^ArlV)2*mr+OE2m7FmHbmJ@caP*s){X0HldXz)zOcsJMryZBQgTR$dyV1Pc&J z9N8KA=&u9F#d2pU?p_&ub?-dLn%p20D@2*|D z+(y)AXV0EpFAG4z6Lkfk3;q&RCO%}y5bc>DOSA_U>g^#=ZL|!2A_l_6)1JDIudKgI zmo6G?f=XVaErbIs40jJf<25luxXJdlHEXym(82+k7!B@oleh{%7X+ZjSpX6utLG0O zOoaT%>2=r@N}kJ}1G5CwH{X0yj~NpaqpObI z@eCWpxM*>ph4<{)Q=1t@H@5(Z$v4RY(Bj35qs8ve`Z6)dm*B8u$&zZ?v}rm9f@@e9 zBuEfPxdGFom_;sz*`RTl5N-V(0unKkQ=vs@52i)^8IB<$hQu*n@8r~OSTKN?3m%Yr zxG^#DrsrhS8#n>dUQAqgB{2`5ByGJ7`46!TW+d@~+PHC}E?g1avZJH`fCld%0NSx* zM{S;gLVm_WlOT8c;jI9j@&_S;w?~9q*a+6ZJc0p4JVoinElEo{RMY9jG(ci9#bqKs z-8@9hLg~X_avT=q&#c&0@~u#hjscN=5HAU9ptj@2jnngCgMtC%#>A|f7X{cSn_MOn zKnA2@5=n3K7brrw)QH&)NEZ^VTD7V+AGC+GVd27s+RNcF2>f#EEX$XyTD3|8gwqHV ztoG{FO9KR_xd{|^@7}#b#x0TQ8Eq3*7ZD;{><=Ioi)TW6@E}c_Hq~Ge=>nD|Zzcm@ zVJ=h`@lJUG5LycF;iX7;{k0=)ff_JXH>rlu$#SsBRPr#1SwXSqNp5RFg!_;xH|I56 zux!~feJV;(3@)dV+`s^XfTxlUu_67 zA$$sSc*{UzaS_alx9bBI-sKK#Excd9el-NeBW~-_lqy&}gz4)v0T93V;tMr&=umBX zv~AX`nVX=^m2f5i{#p8Sv^pBw&>ylZ``kzf*!#AlE#PJleiO$`Sj_ahadJmQ_GV*Yqu z%sR+Z{ON=%@4fflV_+aa74Z2@9QjkAZ{NPxOOABht(m>>!V6j}D0{dmq9FvBctT6$ z2xM!|-pShC#!#=n{<`i%1a5hT#rEjYL%;vT6HmA@uS16poe0L^qu;L&qY$%VSnDOdsD5;650NEo2(g9dKA5JxnCL!#f?Yy%!SvY3LqvE44e#;y>l3GFKd47wb$G|`8sgm zz{2vUvLvG`F$FgdP|=R!H~_&%94z`%Z)!wj>$qt9ph8Xr?m-(Z;X~Xm!iQADJ)EXi zHfwfw2~ojC#qYW2p0<=AjTX5&tDiM%md87xN%rjA3MZowDxXvL3E?3Fzv%=|cK{Ig z<^FC9^g<(NC0&VSty88<3GF#W=>Vb?CCHjWX;eT;bL*X0IQb7+Lbknc-#)EjfWczW zGJ;E6fX{BKLEOaQ0D&Ul;4FgWd-P*1+YpL--RCJ4j}5}9*)66~nSfTK-Ia>YbhTP?H3 z?0u8ks9k9xza|omCWrEsCnm$G#hrKFsS`#_z#iXl@Q7B13Jfs~u@etMpoR7boQkKL zxQV$#7dvef*clgo8a0>I)q4 zcIgr;jgYabnKk9wj}(MSQdmm<)|6cvm6DQ@ZXWVX4W+h2TeO1o01rocL9GVUBYtrn zE1@O4kEYO$_VlB_ThC`h6bp`Q@EFz*A0J;jH^H%2xTFLO94*{5RQTYG$%Iq0TL8o3 zP^9Njk%}WvWLTj(!26U$vQvq)gbe41S)H9YaUz-%E&N46KF_}B8{V;FM}GMrN>YmM zyLRo`XQJ)&P@ZYbhi@9DGbg<1ci(-tuXpd>J(;tad!By_Iy^2ej$NoBu}6!oTeof` z7<8Ci#uWsHdux+oPKk+$|B*SiWUgk;`Sum@uuh#i@onNNA~Eyk&6_Gg+i7;}N&w{q zhB-(`a(d33IWuH#e3`e3nQOlPYD}28-J+5h^3Y@5*x1;(O`A5YK7RbTCQ$=aT3(u- z{pkwhRXG)YF=E7kwQJWdO-@ceM!m>t zmHFw4H0N)e$Y<$h;U00kr`yuU_Gc{4#Tc7=3>!9#as`j9L^Fr0L2LY75faFiFlGl( z4dseWNJyBxWy_Wgd-m)(L>xoS*p@4vwng~y9HIm)EdF4ey%buZg_hFTYan=Ry`^~a z=s`Sr^DZPuzdveyRM}U{8-U_ zX69M5@4RL=HrBDip_K9y0gv(Xz7__F?g9S3SMgW<=qJ+aEq@|RJo5r5~MEBOr+3WbQ?>rAW-xWw83PiS&_daAP7>_WIs zLdw->G~6|CaB!d?TLjlhNV(3=&fGPyzrSxOD#3LUQZCmGq*5tMQBF7ZTwY$P zR;x8_0LM%w^GB~^m#fq1IA;J?1E=Wh?CdBy&vHdMdwY8pEypgGYX)+;oTZpVAP}%< zId-{RGk~R!7n9&R3Ayp`NHByjjQD^87+(4?!*JsR&n_2+r(*`B zRS4rB+W>w=IoM8MTfy~r&E=W_Y`}Oi32f-NmSdO8H3QfJ^I{TQCt;V%H3N3TM~CYq z>~c9`06*{ePd@w%fKb05-vnvh|4b&JQ!wIHn6>-; zzPh=&`9i&Is(Fu?5XOi8Xf(P_yTPx`X0uH@(VyhLi{mmeYtl}(eRXy9jdrN`^TBiL z`BDZD#tECm^H?nQE}c$)NG6k>fZFdV&Nkl<2C*$0%75P@B z^XmMEvV03%u6zklzh z0A%tebuLurVs+NVO6D$PFqL0f7cN}z(E3^yfIZLY>FNI8zJ1Fp0Z^=Wjb6o6b?1h9Yq{$O(fSZoDeym)~tSFYg0hY$Z5z@9yOLaYj)u&@w4 zdh~#+t1H&7UCZbFe*k>>@&y?g888?Om^pJM`t|FFj~_qUE&xVXO@edh&SBxgg@}oX zL5B_C&a}_V&h|J9n%DfDW8Ic@nK#w}!K`Gq!HsDgapT`}XaN;NW0M zr+M?{Va}X67&~?>MvopX*SBoh60cvs7H1o$ zC4Xkmo-I)yG-wb)LqpNFZClCz88c=`q?keiz; z6@&Ht>C>mk%gZYjsY{nGAvQJ^t5&TNTeD`3ICJaPEm=AKk9i$}Wx_3G6EPB~J0(yq|!%g5(H`fffMAm||QtivpN5X%cuzy?XWJcS1q}E`MLX zjCb$e$s{{>?!<%%6HJpbg6s_>EAyVEmX(G?XZOv?$w63HSUCVJ!30UtTNFV1_U$E) z&zw1fB}`X3uxixw^L^5x6g z>BNjQD-a!KiadDmK$;oTAs`?Cn>K9{No@`Q>LXS(BadkD@$o`#tsu0xlz$*0ne*B{ zz!V{|xgycg(LzRJDP#%NmRO_FaRNVf?3n3)lp@qd+Lg380Ltfv4I5S{zF1yKRuXZ* zfB^z_WP?^&YKgmj`*tb0lP6CWu~%7I zQ9iKYafJwU+_-V&HaWE-r+-OU?gI`TI#iCh%-?|n2Z}@0@qp!$-I;`L)Tohg$}0N- zI!))P^{IojW9-mWtLf?K)dC<`iaL9Hdl88hRk2##kuh>CtK7IS4JZM)k*6Xx=amcl z30IQO(Pc}?d}rj?e3-wK3)~;Sefzdb=Sg--627Tm8Lo&+R@>Bb*?(`|yeYbeDb=M* z7g-Tj6G{gfr2|DEr82oe$Jy0+U)c?eZtsQI zlHhCCuKlfYIajI90);-GXKR{qPPL!NO-oDrNA0DVJ_d8YRMu7I8yOiHuIlxlYTv7i zac(8ABj`)D(Ju>P=+L2#>Zg-37oE+CzSQW$JISJQ&p}VClpC)STUxO+Q4jt%#wFQo_RpIh zX5V}B=DpcJNo?pBhS`}nGw=JG@BDrP|?yj$bBGZRFnih2x~Rf4r(8sHKo z>?zQ1%>L3PnQ-JrX*As~g~e zFI#A7C2?t|U?nhJ2%(hJ^Q>&9ES$i?FnkqsqOL~BnC_XNX@|EA^<3(&m63Jq`+;tN zRRP_br3|N;fahm=F7($5i4jq(3b^qKyk1O4fx3KPHV~#Pqj9B@*Qvnk^?^8q-zZEG zLJD{x$yY$&hpURL!fL|9hj9BgOiso>|M=th`g~sXd-O<^dwO8?YDlF#%HCce{IW?N zf_*?g9b)!C3vniX`wb2rglEqhGa#FVQ>WnSRaO4*LpXXAIy*zJ4Sri@&@;d>^2n;O z4KOwaPoJt}!kf)F6bh=(lP9V?IvVT&!q|@ex)_*e{ICLE!al(5+b}*Jt#4|AO`Gfn z3=hM-d-mrZ1*q5t6pW#Y1juQCKTz*msNSi3OIBKHf{{7B!r4_hY!Q8TTm>9 zNo6vye?RQo2Z=<`-U`bKn34~;u1Ww)m%_4TibNa+2IA{mTb1$E{6s&I+789jjzZHx ztugC~LXMWeRKQEx0Nvei>5^K<1j0%y-E!CTOqsmlFQ| z8-|908Q1&!OH11iY{tah3spwa*$0E>^D2Zsc%XLQGiQ_|Zrc`i3r(DvSawUk>Nasl6Z$TergX z>q;#hnG75_07s5Q`{?mM<|Jw%tkAFz^!BPyYQv2iQSzV+ShdRD&*WV15~`_y<3L9T zELx<>U0u-JY$wvu5ntcg32klme!*!pD952;A82ofy?bHD4prCF19RuviJUwcU!P9H z%9YW2sWF~X6jGg}>-F|#!5cW8h7B9459*yN0Y3SpdRud8dgXfeO#A7>3ul!N?6?na z9rf(eHa{{i3PMh-ZKjPGP#H+bumX{jqCrldeH&4;&i4K)MITdEz}jt^&#Tah#gr8Y zHMN}AtM#c?-v}C3z}j3}Le((SCtCY|WHR_HE#i=s&DLAwkiPl@^PW8Jw`F2VbzV(H z4Uj@zWr%=FSvuN9t6_on)7vZJo2YiS^M72O(ODwmZs?+B7V>klZn-(@e}{(7B{4ak z!NPxutQ_d2F}+fXr~!3Gp>i>uElkcCt7$;?^(Um7KSj@ zD3r_g+!@dIJT~hiOX%uPT@Tm2z3<5KwLi9|Gb78LM4@BGJ+E#EO2w9JF1z^doxxAP zxj#HIWVVPHaQ^&xH<9>ksHN?rFVd|qdxcZ#t~_!;xFC)EbwPp@luPO7xv>TJ?hlXL zy?F6r$!sNJjBo)`sT94vy`Zd;lBfv2BZ{CWFP>yi zdQ$WtUc7h{j~@2mA)q3Hio)Jh(33cQjyex2o#Rf(x{{!`+^n?6lz6brhHhWa)K1* zmvNkfU#l=hR1}spnQOE(kwu9h=lxQZ-_%W%mNxu)812hVVU4DNiUYI?t0Alp%NVr# zvp%fGsU?M(p3BQ5wWKgvlxpFqgI|B!)RW8DUO4gp&^Xy+=*XC>VfJ#79s-$&Bv+y#u*#KnwA#)1z-)io^{^-_<_?c zE%?_&VP1qtH^%S;ZK6^6O}^$K1XRJbVb0N_u7V_38PzQVHnq2kzb#=XdH9 zux_33l2L_;!g^UCLX8^ASitCBT zqC`;|HvHC&8bgwb52F>}3G2h8##HrT0Px`hQ<)AcR#fuiQwm?+^fWL!s#ne&sVK~A z_*BMWvT@h=I504v7jP_C030|_$wM@*qvru&WQ6(45Tv3oKIkwWCC<(Q-@a9@mrB6% z=fK5_z`J+sTyrz9aA8G}G=RwEfF(+nsl_-(-Wr;_L9-hL6hkCco8c#);Bjkq{n$*oWOp0tA7KHBp z4c$7097tP*$w+b*J}U|njlCRl0Kt~mf;Q~ly==_HALTMT#>auyR`zNY3hF7%Pj-0a zjE%9eSD_$29zBvi&hMu%KZQhi^Xq;+4CErXYesySY*$m*hSlBk5fZDgut5o>o)zYu z6e%VZg}E-90~{RGTfEHYfnB?*^YQQtcD{aPQ&}NMMPUxP7`wtm3zdEfE0usJPnf}U zl(2j`aQJX_eja|xdi)r8`c%Cfj`|#j(WMhF&E`U(Y6;0anMhHfga& z6(%y6$glC;B~6u}3gc(ZhlhcaC#$=#i3!%2g#w#0I)5HmwW`vHB8o*|=~C8jeEP)p zXI#6+4CgrFWf{i-e*R>}0)Tz{fD;QDp8-la-c7jW|?Gr9(;_%L2oar-a_fYaDm zc@uSJI<{;9R<2~9Rp$_07r1|4&sfDGuzR<*u>iw9Ow|2}D&&`HqZ3}Yx3fh{-D#=! z@Ac|bC;*+EdiTtgm!F!d>S+>9>A#TzVjmV8vYk>{C6{A?iYY`pe-lMypnP7w4kaAg zE1 zvX{uA`rq6{28-qGnVdv-b2I)1&>cs9HN@+wDg3#3F!U zb%b_rrt?oYu^2V%;-cSuG0nQiO;CIJDNlM`HqMG2ZF!h(#Erm>a9MfSvuP}aHCox2uZnBK&85_~Q#6)l$%m8>R*xQlllDa}FL)BNmoqM*Z zD3xa{N*o%(NKX$=3;xi!CJZL{-;Vt3EHL+{W>UPrLDy@I@X*(5Bxz=_3d@+$jE}=4ScNIVD=g93dLPnOn1?Cjg<5ImZwA!D+$6CIQ$%G? z2Y)RIYDHllek;LI$8CHbvi!7GoJE+39@A8q$>=z8IW|g+{(MF^GTA6GW7sG$V@9(I z%NW*&Wz1++VHrb3VIK854&%o~{P(D+?5)=>&nm3C4skwzP=2Axvp!7y`Am(slxI3j zj`%6HpfHs>nrI*2a_l%PV}XbDVHqQg4@)YVN{dVx%_=No*l}3KjHaS66VZ`Xm?Abx m41PXSTPKua1G}dqWBdoZ@dsdb$wasS0000BwK3~i^IEhhA2+09Xl^TKs zl^Qh<)xZVkW^<8*IljvIlq%@aq{>FA7K>#5#HHC;##t&S(iccQ6AJcHQ1Z1nS zDMIBdSKY;$hL0ITf^!I~!q|^5#&dG&gr?!+|6Y-cH*Y4E91Z0g7c^aD0QB+|uRo=b zml;FCc<4_hfI~^76#VJR_wFJS$J~0MRP|f$kcU;@zBxw6?TG&j77(06#2FnQR($(@ z_e@b<7LZp}d*rLp((o|z^~^HKk^IkK0Wr%YF|7G|Zj6_PH$?7`b1h(=Dk%V*{*Sk^ zbcJ#d5Y<)zCq#Bx4iMs8gNo`Rf9l|;jdG=#Ypwts052{PTR{24%R?cl~AqWV? z!~Ou@l5R0(N#z0a7^EM35U8yMB*{FA zr2oW*2kT=SUfdIEIrL5+khTN`Ah-728N8+V4@a3#M43;FFrS!Zl5KD)3dHf_5P)-8 zEJ%0kfS@!p{@r&W5{aB3W`VCz={;N%37zPw zRX|BeHi@-sffruT$&HR??lUko1vEASJw1TeoALXK3VX{603gB#!q=JG>8@S70ucIxu6sXg`CL)z|fF$e|fp?hD!ke>-AE~7=x;+oO4M(705FW*tIPOEUjUL zJpjRFMO9UYGUpwdY0ZN%{zQs_yssf*W3LHA5Ywr4WKv95w`+#lRfIz_X z3IbGB=`&1YBXH~(@WT(;lqM$hMck@Y!0z3^qmO3pGiJ8Ta@ueMfOAPx6<>QpLxTpS zGjUf}7gY7WP6#Op!ivnqjai6uJrlRIWJuK10Q>jr+RoZpnDFMCz_;J(3b4Y?oxn>k z0i~tZ{kaf=CN+!(WSwNspRq(D5&2T*wzvBeU48+b5`2R5i##W7FPH$29zCw~ z{ZMf(Hnia!(+ZTOYJM?NOI_J&T7fbV-EeN8J9O^z&re!@#mPNuqyT8cslTqje&bii z6~(peagcj1YIkI*C@yjR#$(4DP9Ingli$NG2GXDa=vU{*dwY8xdT(^JwwE#2qOp*V zW^MPnVqsy-h0)R4-rk;v-n-P2?6!R-96oRa0s(yT&wX2}t1rB^@~#WNkzEPd*mBy! zn0s%#pFmT6+ECvwPxkiKAAEYpJI!-*bGE~+HiYw5nVOoy_t$tUV_RR3!xb#M^KxB5 z;eO)lD_B8BuI0r)R9b-Dr2|qZyD;^@_I*y(&0qjc!J|6CPSd3 z#|{U}Dn|aW=DvTwRu~wl^mwP`c~a(;U$$)eqDsKzKO(0e5Q0ES`jxq%W(!(9LAL%Ia+s2Gj7Ju?xXKf2BBnO@^98mV-9 zre%+B5>!$k0C46;DqaF5<=2w4<%3Gf-yNT>XiO#VXdN9aZSC%kPJZyghuYNC)RM^C z3E*gf1rH#EuU@?xd-m*+OG-+LJRVP&5E7)628Ga%Y6u}o&iRNCVq|V^ZlJHPFMjy& zVP$M=ENz+F$8A|4rv?DHTrQNCm(#ksI)uYvT2@v@UFj1mRaG%IHpct<`uKO>eTP^q g21QYptZgg&47GnxNF1UDV!{yxPf!yP1`&-CaH$K| zccVx)qF`1B-1s+~Rlr3yvrv?SxDxSWp(02S(TEsDa}~rxV$hfvXPC@KSKmd_b8E_~ z?yCNrj{SqC(qC28_4ZTmTh*0G0npG2yYB=M+{Yfb+vnv$9M19TOW&jV9CnEE^Sd0! zdT8qf+7(J1HqVuCc}{dKoAUl<^A+9ebe-(|ex*pk*)nh++LD8+=5S#tJ_aChF#7 z(*y#Rdm%-crrurdnPQX>3qY7`wmG z6lVKo2Y{>cR22r!@kC)ElK8Ng8I3j=-8HBf!;c2{IyCT-#tJVAqtAPxT@)6U5A#%x zlfvvW_H*!?C`=L=g#}IQ8ZAmhQ6iY*cB#xY8zxGN8v1(}+n0w$Vl)M09AKibHX`w1 zF@x>?5+By)w3EWZp393R?W8bKl$t=%4y&dTBPozXi7~@TVSY_L;r8v@nIlJz{Gsc5 z)-+9|QYo0G30>D?VKl40EQFBS%*@QcBO@cLq0|GdYbAIf9nz8n<1z2xy5UE9w_iLJ#v2A4^ z5qu+oGo>VH;+^l^Xr+pFZbzT}>)&&>7-D*>#RC>OxXoRfg%brR97`A!8V>x4X2#?1pR^s zp3=($M1yGBa56rRMFRlCFq-+$4af6iVWo6kJmAzmzNVomtX{7-|85tB`J}W^6~;3d zVKzW6QWQY|kZd;F%um!{JSFfNRYghk{k(l2h)iKtgNE+IEKJjEZq`11j{RFzK~DQF ziNuGohNJQ7!+ycZhgpae;Ko;p_T%cq*f9RLh!W$jFwul;s0w3!%#9m2aR2^&G#U-1 zGK$5bl8QW#wtwIPQIkP^&F}Sv%8OX z{1=5;@O%s*1dT=mhGB53Y7eUKz-A}q(I``no0FdDlkk(as+zg43~mqg;j*b30N z^`1I+Mvj5t(YgaQrI%T2Dt5hnOo10TAXPrnCW;J{y<1o><>)W?)c=F_l zQg@ik<#6J}iDn+WaUFXcSbH&^KY#A#aUxL|9dv{qCDv*+EG{lK&l`q;>FH@qOibYO z=g$Dv4AIrqg^rF6Zl0Q^p{uJ4V`F0&8ykaZnjnN=Wn~4ctEJ6sVJYn0yLY&B=@Ni7Bi3p)%+AhYetsSR zkj-Xs{``3q3I*izd2U|1u4D7&%@`UQ!lq4|&}cO9`t@r}PEO*>moLI@wOlS^etsUa zv$G(CptrXdCr_Tl@#DwQ+1c5wCqo8Hor8+%{NRw|YD8HO=q z7=}r2gb?$=g9j!6?zVI1PV?HeYbGH?X`7s!H2eGeh57Qf?(S~$;lqb!wOTdVdfIGn zOQq6&g?93^wN;eJEOYG7#SHsI<2&N{r8$nq*ESy z_wL1(En5KC&%(3m)YKFRk*``uM+XXpg3w3W@cWL#cyx4h*hZ7QbC1X&4z9Y01aJ zF4$RGTEg46Z(Tf1GzufkN#7O5`%r18utuYSsi`SEd-hDJ+v@AMD*qGxmw)?TtR4RqV#YId_O*M~It5w{+dl$EE-9o8Uf~IL092`V{e?Pjq zy14nL(`jtmwhd>`p2fa>`#=c6&!0c>=FJ-{FE0zb)|HhNOixea^5x4|U0p>clRe_$2j*gCEe0&^*LIIkl$ry}Pn5donNzL)zyNZ&obt5P zhYuf=>Xc5Wn=gh6rfF)GN`-b0fu`)QkpeD5by-9!rQ%8|m9kqt;5)pPzk$LtP%4#b zSwBIeamV(~i1Oo=ZC&rOERs&AUH3Msu#0d4HyTf2eSLj6b?OxN`r+YW>BgrKIu_Z#Lo8?dpsnup~r za|@J>=EFRqY&4Z$!tq6EZa*&C-RIM+yWcpqm!0y2=SAZz-?2WESf5i=zH>PlBT8d= z`TXMsnJCd0BU%P(LnU~^%Li5gw(ZT1!y<_i6Xa=&aae*pZ7~i@kjG7w=qYLx&2%J& zlcOyZmKaMO8HKS*@)R|0G~?!u{m7B z&ern?x|W}z8R1UbAu#Nm?Sc5I_Psj&@KwIu=^71b=*ehA<9qbi!+ZfqQ@u|7G`wpxtt_Q z^!|LljDfmSj>=7n8ijNhtcCAdfzKDYwMNEOBB{x z2S1#w%#0?ZurQ*dL}8L7QKIwng|&1-DmF;gbi|DR0a24-;-4ANfdBvi07*qo IM6N<$f}|)r2mk;8 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png index fac2554a59bba904a3289ebc9f476ac8abc49a26..9c22ce6deaacebd771a9c7b3d9b94b359893d66d 100644 GIT binary patch delta 1895 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 Qul_^;-h<$N-8CxhKQP=PIsgCw literal 4069 zcmV?+80y zi&`|^qF9U0S(IeaCC6(pk$&cL4qm{MqIO>SUGlBh2#ew^Qnzp4R<~~5GUOomVNv{* zD_3gzbtPytlai8(Sr<6uVEpx)H*Y3euQv_dy6ND>b$DX|aCpm>EhYW767(d=$;lIt zeCuL2tc%??Qhx`*lN zke!DalK%Mk_;73D^Nx$$GR$@hz%8`I*|TRaELyZEBEze|adOV>+qc)WE^x&F;2i*e z{q@(?1q&85fOq}?AlIf%n`#*Vya(XixpPqMj8No0^sWV@4w#| z-WdQ40C$%*ZrrFwjvT4x&6}q#T)1EW$i#06@^)mqYlWyF&p%N1l)z3fwtUmqpQ!%(bd-hb1J@%Lr zfPMS+saIZkMgFc;tCrfeYnS@-&p+i{13)?`IXRh!P)n99QO`a1oT^r>n#!F!x0B&^ z%9%5#7~W4l`9$T)l}p~^*xI#g%egC8u9Uej+6DkG7#|-WuU>uiRTUl{o`T7EJ4K5Y zRrTxF7jNgq7hhB*OO{k6N|X?LuyyNJ`5fkREa&L+t5m6?CQqKM{`lh$xrPBC6+%i! zjT)tj6e;3l9L#Lqyt#Vw%{SGK9Xo{4`uNM2FN@(VSg;`JUv>KQX;q;@1@-8okBUur z>#es`)22;RtQL&+gb5SmTmyhj>OcSdbEg-h88vk1P<8O&LAR;{Y1YSAu3TASf|@mJ z$~>$h9V`6)`|oPdpg~TL3F5ezm>2^9y8ES=xfvk zLDco@*S$I)iRTuF3>hL4kD6-PvZcKD{PWMJdJfg9@4ov^HE7Vlsp7hK@9wwgIbZ-d zbLNa{)25AhEkv&a1`H5De3@h1xN*Wn7_ZgT&Ye3|@#4kB6}@=zqT6#%oH(I+_wMan zHBUbIq`0j?0l=k8msGoU?L_J^pl`hKhR;S3h9l+NA}%U=UeDdIVMFnTP*I-L-)pbE zChCuS>C~x{oS&@$ATSy>Y?v?(S8?LRiR#~f|8=`czWL@GwS4(<@oJDzE$QTeo__ji znWsR30;+D^x@yguHNsR}SQv^I{-#uPNIf8DxuqDHhYkE%ejKl|)6ky03~^*D@1?Eok)E5!Rm%J#XhUcIWOO`E1( ze)(nf>#x720DlSz=YkqcRLwor}E{?tJ$+>i$v?=F_I5F@PK@d ziXzbB6$SwWwgV>NZt@-s{Px>#Rf`ra#EU|jdB1Ggvg-KpWj~g9690yRlBYjV*5P<7Pf=WyLIc9LMQ?X zfWwCmtHzBRr$_}rJe=J>2PC3WR0kl87%@V<`|i8W;tKlTJ}>U+iWMtVojP?=M9SoQ z4jnp_s)vMX0iZ5jx;W?MzF3W^RnO+moh!!x9%?Y)07ytkkh}}0BCY6S@;2!21q&A3 zp<7|j=+UF)SV(&$(b3V)V@WZbJb6;2d)u~cYQu&N;zeo02@zb84b@W3am+`Ayn6L& zr!e&G+gAj^9RN54jT$wQV{uKf8vz3V3?nGwVKIuR0@Ml*g`4Rvz~ZxBy?Uicym3D2 z1%hD^`W;(<5l2sN*|J5A88b$XV&ts8d&CouzF6dK&4{$u*WT-V93~K=9*XBn*bBzWCdCRTxN; zcWHq*cI;TEw*-|bQ^x6z;_`Y^wxptlYGWQ&O+a};EaB?at2@&KHEPrlUtas*NG4qj zB+gJf)BxtspD*C0m5AdQ&L^01cU_`oRt@@JtD|?`dB=GSsR!Ptn3L8suwrp#IhM#h zpa4LPkm^MZkRCuPV`F2*xWQ~410Z4OZ7r?j>yc1*t76rvRWheu0WciNhFSdm!V51* zFh$y#V2wHPXzb}`Y!mNuAD)=0b4}PDZ|&JV0|2J&-Md%R1Q92y0z-55{#4 z;tOv9`1&P6+~wP zc^>{xPY#}xGJzY?$~>M{kM@F|dFC09wP*A`F+@NBz=M+qvM0z;J*WeGa)LAbX?pn4 z@h~j2y4CDNP=(sUc)Rn^G?8mUJz@t)i)Z;bfXv~dMT^7^;40E8qFV(4M*oevz}+O@ zf}NN%XO2i)dh+kS5-~zpSeV>{r@kO!7*;jMBQOC~kU_ff$MK<2_UyCIO1?j%g>g^BYSi`Lw2s40a2%0*S{)Wyx+IB&GmUHZk=Am8Hc|qt2JO1y z#n5I>KL2iYHcy%~No*BGqqMp)=oixQMZngC*({;Ui|(RHRtrX()uIb0g5k%%*ikLqjSwwHB!Gw?Q{B5 z`JBMb+t?(_wxtk&X-1}&9&p!H@!osyIm?aM1`Ia=AGQOKIEGXNMR@@7MO}UT@y9YR zYQ|MHlIYWAOp=5F-xoxnq2c;n z&A6s5*vNrXKxx#SjR+_J@Mds7nU06{b`{u*BLIQ)>sW%^5w?P)8=e%&IA8lybyANC zn!Ps7O5+;T7d%DQ0n?gDrx_2%19$G++2?ISfPkveAY#ywV!%xAmLr|NqAgw*_|g5` zBiHa%`m;0uJRD6|_6-!iq#^K1XiZ@Suye*A`@9JHm=8Nc;{Xi=dT$x4!rOfc0n?m| zo2g5Mg!iN$ya9m}hdz%k1z%NITDFP%AWcGn26d*(m;{R1vOS%`I{^?=Q}iY`Z)in$33hC@@y+MO-H_@pFIwR8B8AA?+<}BUW=8I46%Pt#D>^06v zhBjcfDA5F~L7=GOt`JW;0-HfZ>T8>zCnCbu-E-W_^y$-sXO9@JDbhxo0;5NM9;0YC zu9P-)AchCzi=Xd_D6p`yxHjsCV9_7Rzku2$srLs{_S5a_csTgt_6`Va2FUaG}(o?Rx~+jpNU> zcffvC0g)`N<~j$X2^EC8NKdtlb8vNuKk&G82Oe`0g!$5R8x-Fafh5u|M5fZdod`A2 zwryK6$aqkc2XS9fC&U&IDQ4cIlYyNz9LqV{<<%;VO&8R9{iSlU<=52!1QjthZ(|?q zoz4*8kk6;4jOv2;1{K~zx7)WyaW26YMx4C9ueqI||H39z6D{p*ErP*FF)k^Lb=`x8 zD@nk{x21&;O93&TC`|U z((>jF2pj$!y6Zt`t- zLoZZJOw2-f=HOipe*jP@Iy$<(74DxRQsqL{MUz^9egNfvst>`=nUMyd}d}+&; zE!)8(Yw$yEe*H~Jkjz)DTD4FvU{USR(9mX|QU37o@Y2=@xBjkTQ4NbCf}G$%6?g(~;E{t@cV&PoM!8^ESXl9j6)Tph zP@zKE^5x5i1|#w8@Bm)G69;c{=E#J>MM4~UE>DnCZU-+ih4E&XVTKuIm|=z)*<<_< XW|WCn`})*100000NkvXXu0mjfhA-0A diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_dev.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_dev.png new file mode 100644 index 0000000000000000000000000000000000000000..6191d0d1f92d1b9cbe1b3e5b0996d5f638a98f58 GIT binary patch literal 2837 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_dev_foreground.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_dev_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..0fbd576c44ed916b852a53d22d8f2dd03e27bf37 GIT binary patch literal 3936 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3e92d76ef1f30e379d323bc5bb7490e1677516 GIT binary patch literal 4174 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 N(193gpw$qe{{zGe{}%uN literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png index 8d12806d681ab21ed97af7289ee6766863468223..58f6d9dce654750cb67c555c6ad957b8ddf2f19e 100644 GIT binary patch literal 4555 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 R3u#D0W(YRct<-sj_#Z~P(P#hw literal 6871 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 R%ryW2002ovPDHLkV1k=@OsxO_ diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index 2b00529368359e2d63cdd9b2880bda1af027809b..4f7671c0f2cd228a45233473fcb3f194706d3d73 100644 GIT binary patch literal 2638 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 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_dev.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_dev.png new file mode 100644 index 0000000000000000000000000000000000000000..3e1a0db4c3a1f1ef7f83682d21921f3b5738281d GIT binary patch literal 5816 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

WhHk^-br~IhXg+)*q7 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

{~+Q*LhRvZyXEMYygtVa=G6S;PMi+PT`>*h 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 JQK?`V`hS)UVweB` literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..220a1451569bf4f12f69e7485c84289ded0d43fe GIT binary patch literal 27812 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 literal 15478 zcmY*gRajJA+a87-Lb{c15D<{=?rx9{X^@a+K)PEx1*B8DySuw3rMtfU{%8Ne%v^J_ zW38v|SYgVFQfSCT$RH31O-5Q=75MG^?}LN@e5h8;@nTRRsb4vpS zA3x|D(T_}Pg-^rf=Y@V1mO#_wP=Wl$k&8?TC9sJVuZC8Wfx~~(g-Ecfdho;Tj~##N-?D>rdl1GLVO z4Z0ZJ|KFd!E94;2yW4zLtTTlEr(o#pVz`J1)46|z3WwRhB4_R&SgXA$_e%b z=K8GZHCd_=LS19DC&F)nwI57;=;rZFUdZNQs^5ia&}ph1yctSdeh=C8@{P@YQ1%@l zzT`WL8#thj(GeK+(2!5$LN+KcJovcv>A5^y`?R-NyR0MPCS04i?@tI&`{e32|_%X z!n;Of$bFL*IAslN3LNjK+>=yO@?WBbzolr)p^8@K$d@3uG6pFx7%2x+UoPtrwTgmb zWEn@}=Ksl8XC?UmN=QOas?qqp8Sgf>G3ez~xQ`3#u1>W09&H7ipxqQnU#@ggN)_P) zZ5!p8%I7FWG=9-$(GM5SAFC_yZQ8n)@qf{`USQGS610Nvju5J?5hv-!0`ykiO69sX z@~AVIMzn&1)>Q~m4U8jNL*_omV8D&ghhB})OVH8LHHtpBFk?I~;);x@JF~nQbqt7j z$EIm!d!{vTbg>}830X+cP4a{9>ZLZ(RK@O31F}EXW+U36qePG*)ga1w!rk!Fow?Q@ z>cFvNm$yUtUi#h|YywENpL<0pZ@*{coav@^Sfm3?xRPs=bTa#9Zo z;Va=pNQ^yvSzbFBp?vhP5pEaqVCh8eK{b(AeZ8^^m{l1a?d!VX4~wZyn|m<3Jl^-L z@cP8y((KE1qnFp0CnX43Tu7|c>Mr^A+f(AEm;*w<&$K<jatD(Q z0k-zb^%VktkyyyPs7yg0&mdul3C3%i*WElOms5TJC7ft7NvSZsKUB=Q-hNG&MLB>j z(6DhrUymM^i#>;H1_O&e-}QX6>#qIza)i?#t5Mn>(y*lQ{A>lilS7oF$~KlJ_;YIL zb2AqvGR=fK=5c?%wGp1(k<{(?n@NNO23OS3@5S|?<*Z#yTUJlsQJSHvVZ-}sYzam| zSO0!wWLMMh;%dTN;r{M)1wW0~)%qaD@7eSqQB4t&>HBz?n=2L)jK{1mjiGatDBPKw z9fYNCOUW~wDaQx$bYjx7TDTIy=<3 zb2vn}_sx-(h86<;z0XK*XTy2tXN%R8vn}7xumT(m_eOrAzZ@$0A-`PDC>1C|;CA`W zAO2<=QY7V=q~iGcKTK57HV$L$lk$8s)85i5{kAup+pz9gs=klxi&uHN(vbb7Fi{xt z#?tXTE%E&9s)O_2`UXey{o~d`?rh$TmlN&QPUNMIz1vPl7kWP5Wy^&ln&>EJsu3u= z+wc>b{jHLZ72vz>@i(a1ogJpwm(pce^3#+79i1%k%2xQ%oW+!RyU{%9TDxQ?7Q z`b%i7IM7i4M6CW|-JG-M30R*H2F)^U`N7(nnzBV^3pyKp-kz; zp@g&gq#C)!DvFT3aPflo`@fUNTIG^9&l_Zc%R$OqG-A#~A{OD#WvmE>%=(S73jD)u zPybqQ)kq!(Nk>p@I6klCqT>-B^IA>+Qf{yZHdxL-?PtJ5iS8fkgT0@I%x)(lKM*8d z1cW~x%nJHE2JVk%q7FHrC&{tD-(F?)WQR3M8&UN3)k z1TO!v!B3b>810rb%IvzD%y5sEV`-ZWVE$|~&wpv)oAud7v)Z{cZ6IG=qeQ)0wjA=C zK3{rf9W3WY2f>fMI!d$%!nwxeYVnVKC_hBSJx8b3qA%WP*-%%eWC^V zQp#nM(I5Eg$Fc-kWQIk_d0z8cG4iSpIs0I`@Vhh*D*awcHGb{Wr0fYGF>Agg>)BTa ze(0icj4-p)D%aIu8kAUq3g439F>T~YM3{(1QX|Hz$ciiw;AJ^GI=6RH2HX^7c`{rB zD_Ho&7fSXf^!6|@Gnhj3C;r={<=g8E?b0&QOu!9{X*4kxv&-nGfyVmZK=#)#l~jpq z?z1hM?(gj-Dl9sU;mgz)@)xtW{%r#v|905a*Kr9)aoFyuA`_P_c3;Fqe-R$)5+tlEWVKwT6P6C&kVc;Tb?bO?T zW-NIYE-`w$?0z(iXZB~Azj=K+i$NmAP?g2V5dLvV=cqb2#tIH`h*6kQHh>?hPlw#y0)33^gCJ z=J6jYK|apTem75Q>od;tH<6Bqb8hqPD*LU@v2Ec2PMeGiZ+RT2I*rRA8s5c+X*+GJ zCxp0m*ptMcElQo`PbZ2p3-xx6Yr~qGp28t~ycXw2CvA@lE^;2aq7n`tTt#)CTB(83TQ>SJg*O`z`|_E6J)D4qCdpIU)Cr# zyw2M2UWOBqjzYTWVVtDP5RBGaJ@A|pyriayt(6-;9fA04Wz-SkK;)6$1DLo4BcNULW<32-d<|3X7{QYLd1Mc7E-0VG^~t}IrfL}KJA`9uB1D{j!-sGP*H zQmo5GA3h&KQn~J*8t}GR#!BY*b)5h^@Ec!S_6du6*$aCwgOO+D_@Uw3<4@Cv&&VNI zz47OAb@(7;`^75bIPMA5jY}}{Qv{-O$#M#BQa!DNku+Iq84j^9RM z#%q@bxEm=IQe45xZTEh2Ia!RGUjCIy+<3FLOSPXOxp9*x>xw(?yDbBnJH+?kRcE) zaT=yO?Ie|iGi2XmH4((rd70!vQw5$$;ym)` z={o2@gw+3~?ffAlWZ^Du2N~8oD%8dUHFQ$#prLg?*zvb$YZxl*l4IG>|E-C7F;NM%0Wjaad&cu~L>FcWkzj+d8|VKQX19=|PF zX1n6*HgIVK7?!cj5F9|KNpYzAXD0@(UanyhBNzdi5ei9D1>78q(un<9B_0xeC6G5k7 z8tCmSv?kD*xT(NSGD0KuXP|34C}8%hT}C*keQk1A7U$O zXJOJRr}Nf|^=tVFwZY&Vs63sCujHW?8aKSGJQ#idaFBm5&( zc!?U>1&hufi**62L3(O18;VDaRhjrVNoA`8HqtA|eXtxr? zAel;Sdk;!x+Uk^qxBM4R=F8 z9|r&GB$BMr?Iejezfkld16d-!4{}H1#!Y?nI$7n71t(Lhb}g&a7f;byH+J)(2F`F2CcOSz4-MdgW$vl77+ctjjE*Nf&rR*e$H2|cVsnuIFt72Fym zvlOP(o#cFdN-RoQfmow5b+ztB`gF`F_^a`=TU#lzc~T!jJupWjE^ViTKoqWRuO zj9hPN%s#~WxO!Elz?b-;_f(#ob^VaE{t+nw)9r!Rj?&DzbS2Kyu~ch`9&f8G**e5x z{dxf+>=uo=O?&Ol`$RcFzlCLg0WFSm;ya8AmrQt)3`3&2ASuk$>D+|tn=&9q2czRa zqUj}a{%t52g1gJr@_L!V$H>(b1iJ(8TnotP@#Wai7R@ffv8V=`#r>ioSg|OxY$T}? zZaXCy8bJ;w8knMWlQxeD>FDpGlc&1=^q5Mi6-65<(^>N3#iHa+<)WOKA81gOuTJXWiwPdFqI9tPl9Iu(Y0cW8KA* zeK3uW%rc3Fpay7QI|;XQXA=!paBMnly@hXY=vQ6{;Y}BNi;yC^&+Ay~oM~W$wa;k} z6H6x_bYt6#G+?RqdPY&Dg-TVOxWjVELa|J6puB}d-a$R5-64qN!Zg9T)oZiQJ?&ru z5DSj5LIZmo{HkF`dgO@{=+5$Lf2>6^hGY%06vg;1mb9YRe*K#%-$eMvfjAp{gmM&s z)av`nI!$*}b+px1i3<=e5;-U*w@N;o2DsnMY3X^uTJQPm!F5vwNta9wMoY9^4l{nN z$UHOanudnx&@pxK;}Mbv<>uXz!bjuefIlraI5>2neZeGv7SN6khO&=!!zpkJp(5Pr zS00A_k;aIyNi!Pr@!Ct$ikAuLPQwj%z89!rp=5N>>gH z+!wGheV;q zPz2#mUtqS2>4L1-;h!Qc8)|KQyUEOOD7H7=UhjnBzR>sVnQXrSSPKGILIK{iZ0mlj zqSqEl==&iMhU*}eZiB%^XT2_%CDDMJkaq*Yl=pY;@!gV8CcF8dp4&Vm?p)dQ*Imsz z|HN;gCze0lGP2cb5MQ?1<#75}A51S@1U`#}l0UCVRJ=7 z#)cMeLpL!>5<|(db#e&ttKZC~a zH-DfjVj4D2l)@4G3)B7fVk}aMY4&fiy5}yvpC>MerqS$zeMy7+yCw&B>S^Nj6ovg2 zE>lf0U4bA()X=@cQEfNJ^;9+l4C=YInl)JM08sL>cI(eyy(vi;*iQQsN&+|Pq^ank zyco=Pz+9w(`KGzvtwT4rm{oKZnI=$|oE`5Eci z=Q)IM{3kc$2!pj26x;jZUY>6c;vo#(j^nB9A;XglpXfUkxYpEDOL&dv`l<3>Nf}}# z&%UM-#B)vB&Mx*$blk0bC6_9}_d!eQcD@H_vhp&T)v2QicCVLwxrrTVIQnY+&jP#hBNI2%>e^6*GCoH95YmzG-X^ulm$gcS>Zu3 zL{H&-Rmmt-GWT8VXVhLKlN+PYSt9k#SmF#02q80I>&NF6hmJ4XFI3m9&2EqI@=dt1 zeDOIT_*i7QWTqjp-~y%=EvWCyqsm)Pi1mAJ$IVl5b?DKKsPwSA1fNM5hTtM(xU_4U zmBR6@4#|@`@iC3x<6GDxF-uW#uF)3QFee^+g#$=7th1uHzL8wRYr1sV_Jk?An5~hC z2}AO6f4m`C)x!KdVRmt0T|Kx@HcUwjbkZqc<@KC}A*gvZi3>lbba!~*v3+=5HJohj zfkHHVkn|9I6A0WZP6y&JEhAKErTi2m@F_Ic(R#XQI-!uT=;gxZP!-;?>%RO;F)~Fb%rlg(39y+(F_?zeI(fLAvo^BO_wP!C zD|2zwMW)x03PQ+QiaWj^;YM>AnWiNEE0~={6nHvT4}f-qs842#7?^h)3Zp-p0uaBQe7NX7hQxezzUbF7pdaM&=0taYbQL z*gFuN!CFK8=pn(dMa)^8GKGW~D8fT3#bFDM)+T=iE=JLVmcVx_9ars7{}|mqM7oG< zSxM$b2di3rH4aSQ%tTh_OAm0R75UBCHe;o^E=TJ8%L{%d-;gD#!l2<#T771L_3U47 z;oQXX{|Kw^TxO|b`udE}&R{%vUYq%{itPyBb6J>1NEM+lQ5jz{25QBOWhYT!*9ZtL z1HDeW)xCNSAyi{}ptLiO^%Dh2p`=nEjE=g%J2?m0t@r8^uvJP*o+@s+tQ>y}Yt7B( z)~>hXtrp-D+*DZLWBx{fj|a%-FKg9Mb*PD%FuK=O@+EJ?lTB5j08M*Lbs-^iWq!c` zvPH7jZjvV9FAK8Lwrz1c^=?w>M1ULhwJl-VF%G-t200Y|7A~P3`qmO;-iv{pOuk#L z*TDQ~AtbfHejM2MI`C#tj;6weeqKt0BQjamnXmDIr$jmEa%?UTtc>VFW&od)=wCb# z7v6e;_TCKR94{u><^BbG1zTH-L zP!VKH2&WRPEH8Ojt~Y`R2d3@0&EeK=5~r@~T<~1;ZJqfw5JPH6LC}k=dK)R65MjiW zTl}25OTs#2Fj5Pk2CN;liwt|doko&O0gC*8H#D0}-#!+G;q(gnGC~`LLjD7WSFz^C zv!zWM&`VjEb?++$oK2%vWZ@yv)-M{~B-9iv!t|`>h_;t_O0Z~nshXmhEivB*T=?&pd0=lNDo)CVK`eM4TSyG>KpPqHE^_zy5gD$+yw1XUtP zHABv1+5nf-BlwyQ!Vz4H_=3rU*iUmL@-bW<9Y$bctEQI@vZObRa^e`4P460wpq4(2 z6I$CU3pyGuWY=KoGkYilA^z)ldv%U8hxo73L%p4EQrRutunh^mW7r;n^6@fxzv+TA zIfJ5I$v$pKnL_+Y(-nUtE$yQ1hv<6w77A&G&^Ov|25X^%fA6SoiwFq8eENJ9P7R(& zc+SUp&pDL%P#86psE5>$qjb~QTN)*{$^cR?-w-(mII_EloM$F8kHJ{-xjaqKmW2|A zVI!>pJgZ%e@K##h_-2SR-IIPhDZm|78br~kIXq2u=dq`7Fd@F*P{lVt@S z(jNXSk1YI+6>}j%1lEAMiJ?wewBzhQa{k{So0pz=IY`uIB@|_uq!J9&#@x7y+8=Pu zjXu`0P}bRgu_Tke3{F4CW6V%;I+H6(HJL(!d-LT}YJFxXq4-54i@(GStqm;$lAGtc zFC)k)3u&-}fYnHN;WuuMQnnyfcZs1>AMTjAa3i$=JSZeRtlu@=fOUFAT`{PeKb_m@jUO_if9#I6CgYsS1j&ZI( znsVj^1MM9Wdfs15ERA2u$jF@ndI0-Q3lQSgAxse|wc$4K%44i1<}a5cETuadpfnEo zFw!FnBSfeGk|YIO+!_4wvR287`?#x`uoR^rD&81BM@5-o$NCKBr&X;sxF7HZ8Ay$m z3`-W3h(aT|^ljRJ%p>V^(mzI?coZxb*hR#OkI2|XgM(xB zDXI&FmrXlJDtJFF{H-;sFVPlHdK`hFcM!spM^1yHlgxH13p1FkfkV{evgQd0TE6t_ z(X5K$HRfE{lSUGqgRD|i(BBb=uwrP_WQq`ug5II`J(=J(9Eq#D_1jJxLERY zytrHlHm3^~NVRKZhxKxugQBlezREfr@d#O(hmbJ2=6w=ay%7KnhXrM|0OzOIMie1x z1pe@~2IGP`5%w|ak(@KTe^2ZUrX#-9Ur&~48$?!^1qG6KEG;Hs(`I2K=8>eO! z{F#-kL9xU4#d^etd6f}*k6};g{BXIaB@2IU#)>Bk?F&W-!jG|JS(jEuMvfCsFJoT^ z&;RIEFM;dwWtk~lF#FXOm|*0yHj?jhF|Q@TM<6F$o%f#>p)}~Y(e7g-Sq`$ybj4$u zoJyco68!RYZe3hH81z#W8AL7p9S4VcX;K`mcuyp@pjQsV_UT?()ub99YL&s`Dr2By z*jj0&>%!DFbrC7K+UT^SL@62B2qMHosFJKhR&Lj8u%~)wZ3s}>c5v;l9C3DWjg|+p z$O}0LhpTL-b8wQ4eor=^khT2x_>pSw$i@jg^8^F?52 zp9}1DC+h7;{H7HBEko0!fgCMD`2rBQwilPgAP*U;{JHw39DCj|-6#-Vm^TSdSTLxwXSRJe4 z2l@g&=CdO)w)*ZsUo83OEsd{A4P3C?66?@lY_M?yrJ8%_%hO#$_~o=Yn=3~cgAb)Z zE13r#OCn>cvwtr;Er=OR7`o`nQNw87s9J|?Gyy-G{>fC*aE>r}5HrkEEYwO;Fhu~b zb@)zX>cRtu97|l3PWmw4(bslmcL5xpVqM#sf>VC?v6QJJCSj{gGG#2Ci{Cc5xP9V^y~c-c0Pi!R@Y>JQ)Q!od`CX0c->LFgH6K2Kq=(56jO4` zPX{c5rp#`}#mCp8%YpOt6GLL$w{Q8?lG}w*w|wt%o`yJ#Hvx&|F3|~m%-+VN+9_X3 z4fCZLaj@#MX9B)E??Im}x6A3{<=~ht^I))NDHL+|1q>7`uDo(PIo^&JB+kUkYEyFJ5?aL~ z(-5@COyY>+mh9J>=fZ+u82aIc$S7<8X(;pVY~#%4J=C=jI?iFxdn#V{6@ST?0Fx|6 zEeBPCf0E6@juC~B+O zg!{n8tmdAA6j5bNfQszIaJp*JUa- z7`L~kHh+dW?xGi`8m^Np7+{`Q;NB=}vEH;I;a}fF0#nNvIf}FHx%9*rdYsq|aQmCu zxMzBe!CEvJRB3Fz#FKdh#aJ5jqD;1!!;%xV*)W`Ub9Ego65&(5+;EwNXqWDSg8i~3 zplF!x^S33i?-Y_6buvgBJ&;|z6ApVeR;HzU%=?(@!!VrH3+i2H?B`l=SVB`$# z(|pC37E8dM;S;BUNo%ou?kA7zNcC=Tc({aIZzK)H=1->sZ{j7QS~h*c!gI;NE;s6Q zLGQAi4!l_PL7&e_^+4G;W3a(gO28k>x?I7UjKyF{pN@ZwFIY6Zv!^_p)zUes2qaVt zlFoTT9)bX&G=e|i5L70c8b$bq9|23i@-aXVCuit#Z{#c%@#7^n!l%P74)LEx;}c8_ zZK$@*m}80@?(Yut6A`zJ`s3*9b0h~whFt82r*0tc;O=b|w>ACc_ZVD`9~#MnCHzdN z2BL`Xkk}Z^|5)?i8^*w@3z9wEt~i|0uU>Qc_K;cskQeCdMC|bJaChmiVy%mK4RXJw ztL;Ik_qeQ;f@w5gu7sB8a!C%Eyp^I+_c(&nYy0TkP_AMg0cA|glp<2OVjtNnkyynmv}($>}zRKo3+1+Ys0 z)rF+$_DayOAQ0wo-dshz_%~+)qI3(^>+HnnXxRt!w==jOC4U??+F?G=dw6(o8N0p| zil-tQTj!eX%2LpLkiw?x+3h6o&t1DE-xT2fjLyPF{}%a495L3iq^3m>-^jUlWql}yjA7f{n~_6JX)iw`kfZT(^jtIX zhFLv$3q(&=pe?8UYNLJYbrB^hR;figr(KP|$XVOnI`%ZmeF^9!L)0?GDqYRZNG2Jh z>m(%@^dqcoJ$CsR{;o2ci&EXFOn#=~292+kt}w#&8RGv8=t>6SGzGTv*I2KKP!T|Z zqj>j~B4EooaOHK%fdK9%*mZi1CHW`XzxYqA5oD2QAcX>Kj%_Ml4=#`?Wp^GFy}1NZ~#f;wBZ%pOYjG!X&>cC7jQwLIh5VZi-kF!j>rZ-HCO? zY2p-EmPk!i<;#eG;!ivIRnYhO{#EGZTFrmM07@+UP;M|<5YKvj{mA1K_2o44>zK;{ z4XjkU+eI#>^u@!h*&+2T@;0X5gN%gfOPs&!@jNczxt1g^9-nysz^GTykMfLe0AS{-IPY5|V-dN-veKxmcTaq0cH1on{_-IcUSS z%?rL3JEy6JlBDBlpKYSJL+S_fm=?>@knYv;I75Z=f!jr9+S8x!xSlWgdcoj*_);j) z*tyO6F|58_`KO{hk^Nnx;?TZI{Swbf50$;tb<^E^F2vIW3)6ioS}si}!a z_dFc~o(>NcB`ROE4njoND%|dp)b0sm59j>{g6yv$75zT7Dkp^-)@^`_K>myL>_5gZ z-73Dq60NU#YTXg{`^80Bm$;8~$4c8awnQ4sD@%aD zxz;~1bb)KBt+aQKUntGa-kUa79Qv!Q1Yo&qNb7b6EXI#5ZkY*txX>+rq+0_d8MXP;i!^LVi*g9??v3J)j{v9L=J{vm zUF7+yfdU<6C+CMBLs*CWoI&pNs}1<643@JDTL4$uWklTPu}7_IwR>0D*=4yhz_azSufq-yqe%+hCx@o!d>o>aGZJDb z8vkgmX~bf(Lb^Oi$%ifz%}uW?og~L?th@NGj3?8=-sAEXun^pnSU>V8@*)d8xrtcvjtNm< z2A|WKVr2ygcFy54YQ85D^ycoVSe7O%E&U`UqXNb9fN8$yQ|J-+<8@r#P{>*oq)n!i z!JP%|{OS37lXwQH-58Ws%p%1y3cvzB9-Hw;q6ABY) z-~srZ!f)!ZnEvx<_TQ-qCo_8?PWImqGgfND+iwMClWQeP(asndKZNllGkQ}7bC|+v25sy5&$HR1-rFoSD{7b)C;JAIG69U`@m@ROt^VK4Jn%FuHa(A z0{vUAQf~e@slVK96XWW{XC|GR-A=%M^{QniIjmTZ;4@5`)Ln_C9BQB0?0P)?XT}#u zc=YY{Uw`Q3aku>Ka+X$38^r<Gs81mR*pRT`J2Moa z*r*IZxiBS>()=~L`wR9Of*8c48QM*~W#5$Z&iU`SPnfFi1t=o^1J3atXtLnM#UzhE zlWkbumB!tS1|x+yE$-}+ZGNkzDjN08gbCFkA}85Ys{8KNSWDh6Kbb!163@DyiPd(y zH;g?F(@bJe9)Y6#08Ep zh*DNnr@Vy?8>C?#ts%ttX-ONok)KWc-0?1JjC8tB3^Y7M3P=?~l~w zPsMJ zKO}-78p;f*J{}0K3Q9`Px;g4{0T%`QN8e9dh|~X}keL}Jp*D23DWI#majs_1%1(&) z!D^zI1CeNDY2ycY8@@CG-mi&0N#~H6T;sq)2;8V}raGo~bKU>BN^L6JEX=*t9!Qo$ zbi>>oe}*=t9L*aHi>uL7T7^BW^}<^Bde+h?q}9=G60(^|cRW8oe>u#9D+x@wqV5@% zoIHt*-utXjB%PR4WM&LlnC5qR5Kao^WDvTQ%sX2>uG;Ys&SlNWXlaXjRNht=o7)rP z7!HL!BvFFYeRJyNZ8@}LSzQh$g^;-GB6d|7dU73+MS6m(zTy$XiNWdzFiRL6lI6b! zpM3lE;n0ILV&Ytf3|}K1U*FMRBaYYW*7jK2_aF5>^+{avTe?3i;%x)O&slHM=I_(U z2Mt+++Z=7`p~g)-3hmlNqsbhRpS1&w^IHJ53tucA*U$dV5wNW$Cs{D6SRWIfMC@6p z6n3h?LgD(x-a*Y4^@ZJ&F*ebzX-vQPtH~JBlY#$VQ6ow^@;yQ>Qw?!zp2yYtM zrS+s{gxULU?Yq#vBw(WcUBy8s^2;;REb0AI=$%J!5Y;-M_FWim4Rt<$=wm;l3+hm@ zGVaV={c7#;u=kV8<#_(|eHKu| zqUgWb6i;Om7JRu^xc=(8v}r`|?-=%B7ww2fe~)kWe8gZjK=}8x;yntThrehRoB43f z$;pYDM?K(8I{S+K%BzYn9C@Ce_Vq;8k&5QGda>%yVzr`n)ZpaeCt*N*U8H^`kK+a= z(FKoWtgG*_RZ{q`$mTNlJ@o##*k%?M4AckDy9r8ybrxf3FZF>sDr9EGRyP_|DCu|O zd}r?o1U#?v`NgsdybF=9etK+uR|Vq|u-_anMnR+8Fovu-#-xSpunb{k4;<9X2lqul6KWa`y zh1@Cy!m_}gpk`6hwJ9P zsFzVl=nY>(fyn*GuCC9m1bGuR|1}GMTvF*S+L7I2;wGy6y$j6)j;b?{8V}CUD zN-#O}A){u4TNy4Ui1hc5^IBt))mO&K)*4>`mM>hO;;aiD`Kbw~t)yfTT@oU6ljdVB z66WPoC)bh1RdJjqabX+>4v=`ATm+%u`zn0Lgdz0T*~Dz^dRUb!QD|y#XuarP0Q~ct z+)fipbviG%oP#sMf{c7K*hqdE9L3=%)=OlV8Q+LoxVZmjI6o?;vYGD#aNMu(AuEK2 z)F=l@1*uKp9L1{L612G87vY!1YTTVsJI;G7YJSsn#}E6!gtJ?0-tz=AlK^eZ3Eqt- zmJKH7qNLp6-U^8Mxt=pJnJZR_%lx>eQL6bNuS$_YbQ5zG#TO<3ecY1m>S{u$!wg7g zvBri~(|@1u^mShfFLlg@EwML!NXg>zWKY*~TrDgt29D-RziWm&0)y5&z*YtNk+{l9~ zU2Jmx_kmi{FiUxOPM|>)g-STOv*gYgpqanC{E|u7N5f;Wy1;FLUFFg2&a}8BSxCC$ zuX>bG2WK*C$g3o~j7>TX4BqFYP-OVMKHv*n^kQTG7cf%*SA_yeDbT7C`$dsHnTVI$ za4%mbP#xEJ8vwY_?EuY9iuUH;+7pGsIiFmHUu5ggsJ%7~)EGqvgzjuJhn$|g$NKwD zRk+ng?Eyv!4ENhvOiIaBPV?c!2cRP__DS2HSN>9oaojk}!=PcD`0PmDD^!;r&$6W( zM4Q2qvxW4}AItk+R3NYHIqrC+1C-ByPD!PZPHfuov)zSA^d*vs&L>fz>oyM>EvW`) z33z1*S?ookr9sTa$FN)g%#u}K zcL(F{fQpb`IkxE|4j6T}=I7&JQ{hM^ z`sxJ0F8~em%;vD(s?-?l1?--nlLG!=&ODZPg^q!j)X*MdcSj!*6j?Bp#~nAwfuUHRdC}c}&Fffs!A#5trYnY-?P^L}Ms1 zh7k(7+pq6R&*C<$+LVO@Gs#F;Bvg!ieP5LTwkO*$`oE(+jlju=FB@e#wd}L5bh$ql zej6#;c%Y{Zd&T1-`5tNo62&)EFk*8fljs=0bO{SX;p=zPR6{EOVn^WV?o0@ylou%a zKl^OLl*7vbGtoM*3r8#%#!*{6vq3^KWO9zAG?xINK)%EpDMLbpDaf6`Hp=#T~VxJCm^UZ~%9) z?1kq9m`h|Yw~1o6utCFc<)=-8ckGgH0wtq}G7)Tv*vtl_z&uez>=vVH*fjF)A8h!6 z>OTjTwCm?ZdHr7|?4!F8b0iNYgR zDobr|NODe0$|3~Y1;N|JC_@O0MIeD?z&Vov;zZH%3RP*P(a}-aB`yKr!|Zl}v%IN-yq zFLc^}oNeOH!J| z@5b)Iyu|5W$vDxJ+=}q!0M>@IRi9BT_@jj~axTBP0ECf9HgrlG*;I`_Wvn2!zK%Xj zci`*DYlG$``^Vky90?ms;w1TT{1!eQ?}ob>{k2jADKQ>5aVyzUa6~;qt+6y`6T$9v zs7%MQU8C`$%fiTIsyKgY_G;b~+baE^ZIhoXnlD>ok_SrYW4?@8Y$KC7V3N|niU31hfPxg*Qn0@ClOgT5=FI83*IN$%ElY3 z;my=^47@IdzY8Ei@;aC033618zI-=qf^~Fh9LSI1j&AsdNbdf8O1|h093%#TWF!>D JD@2U~{s%Msv1$MS diff --git a/android/app/src/main/res/values-night-v31/themes.xml b/android/app/src/main/res/values-night-v31/themes.xml new file mode 100644 index 000000000..f253c9da8 --- /dev/null +++ b/android/app/src/main/res/values-night-v31/themes.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml index 449a9f930..9b81bac66 100644 --- a/android/app/src/main/res/values-night/styles.xml +++ b/android/app/src/main/res/values-night/styles.xml @@ -1,10 +1,13 @@ - - diff --git a/android/app/src/main/res/values-v21/styles.xml b/android/app/src/main/res/values-v21/styles.xml new file mode 100644 index 000000000..0b35f7d83 --- /dev/null +++ b/android/app/src/main/res/values-v21/styles.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/values-v31/styles.xml b/android/app/src/main/res/values-v31/styles.xml new file mode 100644 index 000000000..aad4c5331 --- /dev/null +++ b/android/app/src/main/res/values-v31/styles.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + diff --git a/android/app/src/main/res/values-v31/themes.xml b/android/app/src/main/res/values-v31/themes.xml new file mode 100644 index 000000000..badd306ab --- /dev/null +++ b/android/app/src/main/res/values-v31/themes.xml @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/values/attrs.xml b/android/app/src/main/res/values/attrs.xml new file mode 100644 index 000000000..7781ac86b --- /dev/null +++ b/android/app/src/main/res/values/attrs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml new file mode 100644 index 000000000..b2bffa8df --- /dev/null +++ b/android/app/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ + + #FFE1F5FE + #FF81D4FA + #FF039BE5 + #FF01579B + \ No newline at end of file diff --git a/android/app/src/main/res/values/dimens.xml b/android/app/src/main/res/values/dimens.xml new file mode 100644 index 000000000..4db8c5906 --- /dev/null +++ b/android/app/src/main/res/values/dimens.xml @@ -0,0 +1,10 @@ + + + + + 0dp + + \ No newline at end of file diff --git a/android/app/src/main/res/values/ic_launcher_background.xml b/android/app/src/main/res/values/ic_launcher_background.xml index c5d5899fd..ab9832824 100644 --- a/android/app/src/main/res/values/ic_launcher_background.xml +++ b/android/app/src/main/res/values/ic_launcher_background.xml @@ -1,4 +1,4 @@ - #FFFFFF + #ffffff \ No newline at end of file diff --git a/android/app/src/main/res/values/ic_launcher_dev_background.xml b/android/app/src/main/res/values/ic_launcher_dev_background.xml new file mode 100644 index 000000000..dfd0d30f7 --- /dev/null +++ b/android/app/src/main/res/values/ic_launcher_dev_background.xml @@ -0,0 +1,4 @@ + + + #ECFF0C + \ No newline at end of file diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml new file mode 100644 index 000000000..16edb10cb --- /dev/null +++ b/android/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + Daily Artwork + \ No newline at end of file diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml index d74aa35c2..2485fea2b 100644 --- a/android/app/src/main/res/values/styles.xml +++ b/android/app/src/main/res/values/styles.xml @@ -1,10 +1,13 @@ - - + + + + diff --git a/android/app/src/main/res/values/themes.xml b/android/app/src/main/res/values/themes.xml new file mode 100644 index 000000000..54b1ca651 --- /dev/null +++ b/android/app/src/main/res/values/themes.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/xml/feralfile_daily_info.xml b/android/app/src/main/res/xml/feralfile_daily_info.xml new file mode 100644 index 000000000..d20b3623b --- /dev/null +++ b/android/app/src/main/res/xml/feralfile_daily_info.xml @@ -0,0 +1,14 @@ + + + diff --git a/android/app/src/main/res/xml/network_security_config.xml b/android/app/src/main/res/xml/network_security_config.xml new file mode 100644 index 000000000..31cc78110 --- /dev/null +++ b/android/app/src/main/res/xml/network_security_config.xml @@ -0,0 +1,12 @@ + + + + + localhost + 127.0.0.1 + + + \ No newline at end of file diff --git a/android/build.gradle b/android/build.gradle index bc157bd1a..4085d2c03 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,7 +1,23 @@ -allprojects { +buildscript { repositories { google() mavenCentral() + gradlePluginPortal() + } + + dependencies { + classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0' + } +} +allprojects { + repositories { + google() + mavenCentral { + content { + excludeGroup("com.facebook.react") + } + } + maven { url 'https://jitpack.io' } } } @@ -9,6 +25,7 @@ rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } + subprojects { project.evaluationDependsOn(':app') } diff --git a/android/gradle.properties b/android/gradle.properties index 94adc3a3f..e1d2afa72 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,3 +1,4 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx2048M android.useAndroidX=true android.enableJetifier=true +android.jetifier.ignorelist=bcprov-jdk15on,moshi \ No newline at end of file diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index e6b38c2d6..bfd989017 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip diff --git a/android/gradlew b/android/gradlew old mode 100644 new mode 100755 diff --git a/android/settings.gradle b/android/settings.gradle index 562fda8ca..c1fcb3bf1 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -7,6 +7,7 @@ pluginManagement { return flutterSdkPath } settings.ext.flutterSdkPath = flutterSdkPath() + ext.kotlin_version = '1.9.0' includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") @@ -19,8 +20,10 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.1.0" apply false - id "org.jetbrains.kotlin.android" version "1.8.22" apply false + id "com.android.application" version '7.4.2' apply false + id "org.jetbrains.kotlin.android" version "1.9.0" apply false + id "org.jetbrains.kotlin.plugin.serialization" version "1.9.0" apply false + id "com.google.gms.google-services" version "4.3.14" apply false } include ":app" diff --git a/lib/screen/scan_qr/scan_qr_page.dart b/lib/screen/scan_qr/scan_qr_page.dart index 5818372ef..d00e58057 100644 --- a/lib/screen/scan_qr/scan_qr_page.dart +++ b/lib/screen/scan_qr/scan_qr_page.dart @@ -15,6 +15,7 @@ import 'package:autonomy_flutter/service/deeplink_service.dart'; import 'package:autonomy_flutter/service/metric_client_service.dart'; import 'package:autonomy_flutter/service/navigation_service.dart'; import 'package:autonomy_flutter/util/constants.dart'; +import 'package:autonomy_flutter/util/log.dart'; import 'package:autonomy_flutter/util/style.dart'; import 'package:autonomy_flutter/util/ui_helper.dart'; import 'package:autonomy_flutter/view/back_appbar.dart'; @@ -29,7 +30,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:permission_handler/permission_handler.dart'; -import 'package:qr_code_scanner/qr_code_scanner.dart'; +import 'package:mobile_scanner/mobile_scanner.dart'; // ignore_for_file: constant_identifier_names @@ -46,20 +47,20 @@ enum QRScanTab { } class ScanQRPagePayload { + final ScannerItem scannerItem; + final Function? onHandleFinished; + const ScanQRPagePayload({ required this.scannerItem, this.onHandleFinished, }); - - final ScannerItem scannerItem; - final Function? onHandleFinished; } class ScanQRPage extends StatefulWidget { - const ScanQRPage({required this.payload, super.key}); - final ScanQRPagePayload payload; + const ScanQRPage({required this.payload, super.key}); + @override State createState() => ScanQRPageState(); } @@ -133,13 +134,12 @@ class ScanQRPageState extends State action: Row( children: [ IconButton( - onPressed: () { - Navigator.pop(context); - }, - icon: closeIcon( - color: AppColor.white, - ), - ), + onPressed: () { + Navigator.pop(context); + }, + icon: closeIcon( + color: AppColor.white, + )), ], ), ), @@ -160,29 +160,23 @@ class ScanQRPageState extends State @override void didPushNext() { super.didPushNext(); - unawaited( - SystemChrome.setEnabledSystemUIMode( - SystemUiMode.manual, - overlays: SystemUiOverlay.values, - ), - ); + unawaited(SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, + overlays: SystemUiOverlay.values)); unawaited(pauseCamera()); } @override void dispose() { routeObserver.unsubscribe(this); - unawaited( - SystemChrome.setEnabledSystemUIMode( - SystemUiMode.manual, - overlays: SystemUiOverlay.values, - ), - ); + unawaited(SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, + overlays: SystemUiOverlay.values)); super.dispose(); } } enum ScannerItem { + WALLET_CONNECT, + BEACON_CONNECT, ETH_ADDRESS, XTZ_ADDRESS, GLOBAL, @@ -190,11 +184,16 @@ enum ScannerItem { List get instructions { switch (this) { + case WALLET_CONNECT: + case BEACON_CONNECT: + return [ScannerInstruction.web3Connect]; case ETH_ADDRESS: case XTZ_ADDRESS: return []; case GLOBAL: return [ + ScannerInstruction.web3Connect, + ScannerInstruction.signTransaction, ScannerInstruction.displayFF, ]; case CANVAS: @@ -206,69 +205,81 @@ enum ScannerItem { } class ScannerInstruction { + final String name; + final String detail; + final Widget? icon; + const ScannerInstruction({ required this.name, required this.detail, this.icon, }); - final String name; - final String detail; - final Widget? icon; + static ScannerInstruction web3Connect = ScannerInstruction( + name: 'apps'.tr(), + detail: 'such_as_openSea'.tr(), + ); + + static ScannerInstruction signTransaction = ScannerInstruction( + name: 'sign_transaction'.tr(), + detail: 'after_connecting'.tr(), + ); static ScannerInstruction displayFF = ScannerInstruction( name: 'display_with_ff'.tr(), detail: 'on_tv_or_desktop'.tr(), icon: IconButton( - onPressed: () { - final context = - injector().navigatorKey.currentContext!; - UIHelper.showDialog( - context, - 'display_art'.tr(), - Column( - children: [ - DisplayInstructionView( - onScanQRTap: () { - Navigator.pop(context); - }, + onPressed: () { + final context = + injector().navigatorKey.currentContext!; + UIHelper.showDialog( + context, + 'display_art'.tr(), + Column( + children: [ + DisplayInstructionView( + onScanQRTap: () { + Navigator.pop(context); + }, + ), + const SizedBox(height: 10), + ], ), - const SizedBox(height: 10), - ], - ), - isDismissible: true, - withCloseIcon: true, - ); - }, - constraints: const BoxConstraints( - maxWidth: 44, - maxHeight: 44, - minWidth: 44, - minHeight: 44, - ), - icon: SvgPicture.asset('assets/images/info_white.svg'), - ), + isDismissible: true, + withCloseIcon: true); + }, + constraints: const BoxConstraints( + maxWidth: 44, + maxHeight: 44, + minWidth: 44, + minHeight: 44, + ), + icon: SvgPicture.asset('assets/images/info_white.svg')), ); } class QRScanView extends StatefulWidget { - const QRScanView({ - required this.scannerItem, - super.key, - this.onHandleFinished, - }); - final ScannerItem scannerItem; final Function? onHandleFinished; + const QRScanView( + {required this.scannerItem, super.key, this.onHandleFinished}); + @override State createState() => QRScanViewState(); } class QRScanViewState extends State - with RouteAware, AutomaticKeepAliveClientMixin { + with + RouteAware, + WidgetsBindingObserver, + AutomaticKeepAliveClientMixin { final GlobalKey qrKey = GlobalKey(debugLabel: 'QR'); - QRViewController? _controller; + final MobileScannerController _controller = MobileScannerController( + autoStart: false, + torchEnabled: true, + useNewCameraSelector: true, + ); bool isScanDataError = false; bool _isLoading = false; bool? _cameraPermission; @@ -276,6 +287,9 @@ class QRScanViewState extends State final metricClient = injector(); Timer? _timer; + Barcode? _barcode; + StreamSubscription? _subscription; + static const _qrSize = 260.0; static const double _topPadding = 144; @@ -286,6 +300,12 @@ class QRScanViewState extends State super.initState(); _shouldPop = true; unawaited(_checkPermission()); + + WidgetsBinding.instance.addObserver(this); + + _subscription = _controller.barcodes.listen(_handleBarcode); + + unawaited(_controller.start()); } @override @@ -305,27 +325,47 @@ class QRScanViewState extends State @override void didPushNext() { super.didPushNext(); - unawaited( - Future.delayed(const Duration(milliseconds: 300)).then((_) { - pauseCamera(); - }), - ); + unawaited(Future.delayed(const Duration(milliseconds: 300)).then((_) { + pauseCamera(); + })); + } + + @override + void didChangeAppLifecycleState(AppLifecycleState state) { + if (!_controller.value.hasCameraPermission) { + return; + } + + switch (state) { + case AppLifecycleState.detached: + case AppLifecycleState.hidden: + case AppLifecycleState.paused: + return; + case AppLifecycleState.resumed: + _subscription = _controller.barcodes.listen(_handleBarcode); + + unawaited(_controller.start()); + case AppLifecycleState.inactive: + unawaited(_subscription?.cancel()); + _subscription = null; + unawaited(_controller.stop()); + } } @override void dispose() { routeObserver.unsubscribe(this); _timer?.cancel(); - _controller?.dispose(); + _controller.dispose(); super.dispose(); } Future resumeCamera() async { - await _controller?.resumeCamera(); + await _controller.start(); } Future pauseCamera() async { - await _controller?.pauseCamera(); + await _controller.stop(); } Future _checkPermission() async { @@ -345,7 +385,9 @@ class QRScanViewState extends State }); if (Platform.isAndroid) { _timer?.cancel(); - _timer = Timer(const Duration(seconds: 1), resumeCamera); + _timer = Timer(const Duration(seconds: 1), () { + resumeCamera(); + }); } } } @@ -365,7 +407,7 @@ class QRScanViewState extends State padding: const EdgeInsets.fromLTRB(0, _qrSize + _topPadding + 30, 0, 15), child: _instructionView(context), - ), + ) ], if (_isLoading) ...[ Center( @@ -381,34 +423,16 @@ class QRScanViewState extends State Widget _qrView(BuildContext context) { final theme = Theme.of(context); - var cutOutBottomOffset = + double cutOutBottomOffset = MediaQuery.of(context).size.height / 2 - (_qrSize / 2 + _topPadding); if (cutOutBottomOffset < 0) { cutOutBottomOffset = 0; } return Stack( children: [ - QRView( + MobileScanner( key: qrKey, - overlay: QrScannerOverlayShape( - borderLength: _qrSize / 2, - borderColor: - isScanDataError ? Colors.red : theme.colorScheme.secondary, - overlayColor: const Color.fromRGBO(196, 196, 196, 0.6), - cutOutSize: _qrSize, - borderWidth: 2, - cutOutBottomOffset: cutOutBottomOffset, - borderRadius: 40, - ), - onQRViewCreated: _onQRViewCreated, - onPermissionSet: (ctrl, p) { - setState(() { - _cameraPermission = ctrl.hasPermissions; - }); - }, - ), - if (isScanDataError) - Positioned( + errorBuilder: (context, error, stack) => Positioned( left: (MediaQuery.of(context).size.width - _qrSize) / 2, top: _topPadding, child: SizedBox( @@ -423,6 +447,7 @@ class QRScanViewState extends State ), ), ), + ), ], ); } @@ -452,7 +477,7 @@ class QRScanViewState extends State await openAppSettings(); }, ), - ), + ) ], ), ), @@ -462,27 +487,24 @@ class QRScanViewState extends State Widget _instructionViewNoPermission(BuildContext context) { final theme = Theme.of(context); return SplittedBanner( - headerWidget: Row( - children: [ - SvgPicture.asset( - 'assets/images/iconController.svg', - colorFilter: const ColorFilter.mode( - AppColor.white, - BlendMode.srcIn, - ), - ), - const SizedBox(width: 20), - Text( - 'allow_camera_permission'.tr(), - style: theme.textTheme.ppMori400White14, - ), - ], - ), - bodyWidget: Text( - 'allow_camera_permission_desc'.tr(), - style: theme.textTheme.ppMori400White14, - ), - ); + headerWidget: Row( + children: [ + SvgPicture.asset('assets/images/iconController.svg', + colorFilter: const ColorFilter.mode( + AppColor.white, + BlendMode.srcIn, + )), + const SizedBox(width: 20), + Text( + 'allow_camera_permission'.tr(), + style: theme.textTheme.ppMori400White14, + ) + ], + ), + bodyWidget: Text( + 'allow_camera_permission_desc'.tr(), + style: theme.textTheme.ppMori400White14, + )); } Widget _instructionView(BuildContext context) { @@ -490,15 +512,13 @@ class QRScanViewState extends State return const SizedBox(); } return Padding( - padding: const EdgeInsets.symmetric(horizontal: 44), - child: SingleChildScrollView( - child: SplittedBanner( - headerWidget: _instructionHeader(context), - bodyWidget: - _instructionBody(context, widget.scannerItem.instructions), - ), - ), - ); + padding: const EdgeInsets.symmetric(horizontal: 44), + child: SingleChildScrollView( + child: SplittedBanner( + headerWidget: _instructionHeader(context), + bodyWidget: + _instructionBody(context, widget.scannerItem.instructions)), + )); } Widget _instructionHeader(BuildContext context) { @@ -533,9 +553,7 @@ class QRScanViewState extends State } Widget _instructionBody( - BuildContext context, - List instructions, - ) { + BuildContext context, List instructions) { final theme = Theme.of(context); return Column( children: instructions @@ -556,7 +574,7 @@ class QRScanViewState extends State Text( instruction.detail, style: theme.textTheme.ppMori400Grey14, - ), + ) ], ), ), @@ -569,22 +587,21 @@ class QRScanViewState extends State ); } - void _onQRViewCreated(QRViewController controller) { - // Dispose of the previous controller if it exists - _controller?.dispose(); - - _controller = controller; - controller.scannedDataStream.listen((scanData) async { + Future _handleBarcode(BarcodeCapture scanData) async { + if (mounted) { if (_isLoading) { return; } - if (scanData.code == currentCode && isScanDataError) { + if (scanData.barcodes.isEmpty) { return; } - currentCode = scanData.code; - final code = scanData.code; + if (scanData.barcodes.first.rawValue == currentCode && isScanDataError) { + return; + } + currentCode = scanData.barcodes.first.rawValue; + String code = scanData.barcodes.first.rawValue!; - if (DEEP_LINKS.any(code.startsWith)) { + if (DEEP_LINKS.any((prefix) => code.startsWith(prefix))) { setState(() { _isLoading = true; }); @@ -617,6 +634,19 @@ class QRScanViewState extends State // dont need to do anything here, // it has been processed in the branch deeplink /// handled with deeplink + case ScannerItem.WALLET_CONNECT: + if (code.startsWith('wc:')) { + await _handleAutonomyConnect(code); + } else { + _handleError(code); + } + + case ScannerItem.BEACON_CONNECT: + if (code.startsWith('tezos://')) { + await _handleBeaconConnect(code); + } else { + _handleError(code); + } case ScannerItem.ETH_ADDRESS: case ScannerItem.XTZ_ADDRESS: @@ -632,6 +662,13 @@ class QRScanViewState extends State } await Future.delayed(const Duration(milliseconds: 300)); case ScannerItem.GLOBAL: + if (code.startsWith('wc:')) { + await _handleAutonomyConnect(code); + } else if (code.startsWith('tezos:')) { + await _handleBeaconConnect(code); + } else { + _handleError(code); + } } if (mounted) { await resumeCamera(); @@ -643,7 +680,55 @@ class QRScanViewState extends State widget.onHandleFinished?.call(); } } + } + } + + void _handleError(String data) { + setState(() { + isScanDataError = true; }); + Future.delayed(const Duration(seconds: 4), () { + if (mounted) { + setState(() { + isScanDataError = false; + }); + } + }); + + log + ..info('[Scanner][start] scan ${widget.scannerItem}') + ..info('[Scanner][incorrectScanItem] item: ' + '${data.substring(0, data.length ~/ 2)}'); + } + + Future _handleAutonomyConnect(String code) async { + setState(() { + _isLoading = true; + }); + await pauseCamera(); + if (!mounted) { + return; + } + if (_shouldPop) { + Navigator.pop(context); + } + await Future.delayed(const Duration(seconds: 1)); + } + + Future _handleBeaconConnect(String code) async { + setState(() { + _isLoading = true; + }); + await pauseCamera(); + if (!mounted) { + return; + } + if (_shouldPop) { + Navigator.pop(context); + } + await Future.delayed(const Duration(seconds: 1)); + + await Future.wait([injector().showContactingDialog()]); } @override diff --git a/lib/util/error_handler.dart b/lib/util/error_handler.dart index eb1ee4c57..aa9a1e6c3 100644 --- a/lib/util/error_handler.dart +++ b/lib/util/error_handler.dart @@ -27,7 +27,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_vibrate/flutter_vibrate.dart'; import 'package:permission_handler/permission_handler.dart'; -import 'package:qr_code_scanner/qr_code_scanner.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:tezart/tezart.dart'; @@ -100,9 +99,9 @@ ErrorEvent translateError(Object exception) { if (dioErrorEvent != null) { return dioErrorEvent; } - } else if (exception is CameraException) { - return ErrorEvent(null, 'enable_camera'.tr(), 'qr_scan_require'.tr(), - ErrorItemState.camera); + // } else if (exception is CameraException) { + // return ErrorEvent(null, 'enable_camera'.tr(), 'qr_scan_require'.tr(), + // ErrorItemState.camera); } else if (exception is PlatformException) { switch (exception.code) { case 'invalidDeeplink': diff --git a/pubspec.lock b/pubspec.lock index 4e0a5b3c8..5a2eb2727 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1356,14 +1356,6 @@ packages: url: "https://pub.dev" source: hosted version: "4.3.0" - image_gallery_saver: - dependency: "direct main" - description: - name: image_gallery_saver - sha256: "0aba74216a4d9b0561510cb968015d56b701ba1bd94aace26aacdd8ae5761816" - url: "https://pub.dev" - source: hosted - version: "2.0.3" image_picker: dependency: "direct main" description: @@ -2141,14 +2133,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.2" - qr_code_scanner: - dependency: "direct main" - description: - name: qr_code_scanner - sha256: "24250bf4874679b60abf7cb4b92cd62dbdc08a3081773bed234b4fbc31baa81c" - url: "https://pub.dev" - source: hosted - version: "0.4.0" qr_flutter: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index d523dbcaa..913216ab4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -64,7 +64,6 @@ dependencies: page_transition: ^2.0.5 path_provider: ^2.1.1 permission_handler: ^11.3.1 - qr_code_scanner: qr_flutter: ^4.0.0 mobile_scanner: ^6.0.2 @@ -72,7 +71,7 @@ dependencies: roundcheckbox: ^2.0.4+1 sentry_dio: ^8.10.1 sentry_flutter: ^8.10.1 - shake: ^2.0.0 + shake: ^2.2.0 share_plus: ^10.0.3 shared_preferences: ^2.0.0 synchronized: ^3.0.0+2 @@ -124,7 +123,6 @@ dependencies: graphql_flutter: card_swiper: ^3.0.1 marqueer: ^1.2.0 - image_gallery_saver: ^2.0.3 hand_signature: ^3.0.1 flutter_pdfview: ^1.3.2 network_info_plus: ^6.0.1

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 Ee_T4tDF6Tf literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_dev_round.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_dev_round.png new file mode 100644 index 0000000000000000000000000000000000000000..902eb193197db99727adf11e5a9b096dfd273db2 GIT binary patch literal 9977 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 P|Mjo2g;BY|z32Z2`}D(W literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png index 479b9682a15852a52b11fdf28ac23115e28b7290..dbe16dae76a738b70ee55c72da0c1cbfdd51b4e2 100644 GIT binary patch literal 7206 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 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 5f55d972c691ef7748027a6aed21254068641d61..221c1e3729e91522ec86956ceb64d1add179afe5 100644 GIT binary patch literal 3878 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 literal 8766 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 V75{QCi+CpuXx!6QD^YnG@_$Qq1g-!8 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_dev_foreground.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_dev_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..69f2ab15aaaaaeb69cb2016bec1e9e44a9a304d0 GIT binary patch literal 27180 zcmeFYdpy(s|NmdwOLK~n!yIx>a)?T0!#10j z!zekQmN2%3a!70=vI*h$^m>2ZpWpBE`(3`D%jNUW@2}4vF1uV@w&xy)`{8!K-tUWb zx@@y+$Nn7~Hf-2sd(rC3h7B9b*8jF|1^&}=`S>y5Me?tUF#io3q#M@%Hl~B5l{aiS zxWU%S@>bFZxW#rGSWmG