From b534ef0fb6448509735e9ea41466f604614cb2dd Mon Sep 17 00:00:00 2001 From: Brett <99468005+std-s@users.noreply.github.com> Date: Tue, 12 Nov 2024 10:53:26 +0800 Subject: [PATCH] feat: Error with run android (#172) --- android/build.gradle | 8 +- example/.gitignore | 5 +- example/.metadata | 39 +++- example/README.md | 12 +- example/analysis_options.yaml | 28 +++ example/android/.gitignore | 2 + example/android/app/build.gradle | 71 +++---- .../android/app/src/debug/AndroidManifest.xml | 6 +- .../android/app/src/main/AndroidManifest.xml | 30 +-- .../MainActivity.java | 6 - .../com/example/example/MainActivity.kt | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 3365 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 2132 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 4866 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 7757 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 10823 bytes .../app/src/main/res/values-night/styles.xml | 4 +- .../app/src/main/res/values/styles.xml | 4 +- .../app/src/profile/AndroidManifest.xml | 6 +- example/android/build.gradle | 25 +-- example/android/gradle.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 3 +- example/android/proguard-rules.pro | 107 ---------- example/android/settings.gradle | 30 ++- example/ios/.gitignore | 1 + example/ios/Flutter/AppFrameworkInfo.plist | 2 +- example/ios/Podfile | 4 + example/ios/Podfile.lock | 29 --- example/ios/Runner.xcodeproj/project.pbxproj | 188 +++++++++++++----- .../xcshareddata/xcschemes/Runner.xcscheme | 21 +- .../contents.xcworkspacedata | 3 - example/ios/Runner/AppDelegate.swift | 2 +- .../AppIcon.appiconset/Contents.json | 99 +++++---- .../Icon-App-1024x1024@1x.png | Bin 0 -> 50195 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 579 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 1413 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 2294 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 970 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 2214 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 3590 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 1413 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 3277 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 5301 bytes .../AppIcon.appiconset/Icon-App-50x50@1x.png | Bin 0 -> 1899 bytes .../AppIcon.appiconset/Icon-App-50x50@2x.png | Bin 0 -> 4291 bytes .../AppIcon.appiconset/Icon-App-57x57@1x.png | Bin 0 -> 2175 bytes .../AppIcon.appiconset/Icon-App-57x57@2x.png | Bin 0 -> 5052 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 5301 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 8607 bytes .../AppIcon.appiconset/Icon-App-72x72@1x.png | Bin 0 -> 2848 bytes .../AppIcon.appiconset/Icon-App-72x72@2x.png | Bin 0 -> 6632 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 3114 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 7017 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 7626 bytes .../LaunchImage.imageset/Contents.json | 7 +- .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes example/ios/Runner/Base.lproj/Main.storyboard | 13 +- example/ios/Runner/Info.plist | 14 +- example/ios/RunnerTests/RunnerTests.swift | 12 ++ example/pubspec.lock | 24 ++- example/pubspec.yaml | 40 +++- example/test/widget_test.dart | 24 ++- 64 files changed, 474 insertions(+), 402 deletions(-) create mode 100644 example/analysis_options.yaml delete mode 100644 example/android/app/src/main/java/io/openim/flutter_openim_sdk_example/MainActivity.java create mode 100644 example/android/app/src/main/kotlin/com/example/example/MainActivity.kt delete mode 100644 example/android/proguard-rules.pro delete mode 100644 example/ios/Podfile.lock create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 example/ios/RunnerTests/RunnerTests.swift diff --git a/android/build.gradle b/android/build.gradle index d1b584a..8da3636 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -3,7 +3,6 @@ version '1.0' def dir = getCurrentProjectDir() -// 将aar放到libs,本地仓库替换远程仓库 def getCurrentProjectDir() { String result = "" rootProject.allprojects { project -> @@ -21,15 +20,12 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.5.4' + classpath 'com.android.tools.build:gradle:7.3.1' } } rootProject.allprojects { repositories { - // 将aar放到libs,本地仓库替换远程仓库 -// maven { url "$dir/libs" } - maven { url 'https://open-im-online.rentsoft.cn:51000/repository/maven2/' } google() mavenCentral() } @@ -50,7 +46,5 @@ android { } dependencies { - // 本地依赖,现将aar复制到libs/io/openim/core-sdk/0.0.1/ 下,命名core-sdk-0.0.1.aar -// implementation 'io.openim:core-sdk:0.0.1@aar' implementation 'io.openim:core-sdk:3.8.1@aar' } \ No newline at end of file diff --git a/example/.gitignore b/example/.gitignore index 0fa6b67..29a3a50 100644 --- a/example/.gitignore +++ b/example/.gitignore @@ -8,6 +8,7 @@ .buildlog/ .history .svn/ +migrate_working_dir/ # IntelliJ related *.iml @@ -26,14 +27,10 @@ .dart_tool/ .flutter-plugins .flutter-plugins-dependencies -.packages .pub-cache/ .pub/ /build/ -# Web related -lib/generated_plugin_registrant.dart - # Symbolication related app.*.symbols diff --git a/example/.metadata b/example/.metadata index 54ec0a8..9d32c61 100644 --- a/example/.metadata +++ b/example/.metadata @@ -4,7 +4,42 @@ # This file should be version controlled and should not be manually edited. version: - revision: b22742018b3edf16c6cadd7b76d9db5e7f9064b5 - channel: stable + revision: "b0850beeb25f6d5b10426284f506557f66181b36" + channel: "stable" project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: b0850beeb25f6d5b10426284f506557f66181b36 + base_revision: b0850beeb25f6d5b10426284f506557f66181b36 + - platform: android + create_revision: b0850beeb25f6d5b10426284f506557f66181b36 + base_revision: b0850beeb25f6d5b10426284f506557f66181b36 + - platform: ios + create_revision: b0850beeb25f6d5b10426284f506557f66181b36 + base_revision: b0850beeb25f6d5b10426284f506557f66181b36 + - platform: linux + create_revision: b0850beeb25f6d5b10426284f506557f66181b36 + base_revision: b0850beeb25f6d5b10426284f506557f66181b36 + - platform: macos + create_revision: b0850beeb25f6d5b10426284f506557f66181b36 + base_revision: b0850beeb25f6d5b10426284f506557f66181b36 + - platform: web + create_revision: b0850beeb25f6d5b10426284f506557f66181b36 + base_revision: b0850beeb25f6d5b10426284f506557f66181b36 + - platform: windows + create_revision: b0850beeb25f6d5b10426284f506557f66181b36 + base_revision: b0850beeb25f6d5b10426284f506557f66181b36 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/example/README.md b/example/README.md index b429779..2b3fce4 100644 --- a/example/README.md +++ b/example/README.md @@ -1,6 +1,6 @@ -# flutter_openim_sdk_example +# example -Demonstrates how to use the flutter_openim_sdk plugin. +A new Flutter project. ## Getting Started @@ -8,9 +8,9 @@ This project is a starting point for a Flutter application. A few resources to get you started if this is your first Flutter project: -- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) +- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) -For help getting started with Flutter, view our -[online documentation](https://flutter.dev/docs), which offers tutorials, +For help getting started with Flutter development, view the +[online documentation](https://docs.flutter.dev/), which offers tutorials, samples, guidance on mobile development, and a full API reference. diff --git a/example/analysis_options.yaml b/example/analysis_options.yaml new file mode 100644 index 0000000..0d29021 --- /dev/null +++ b/example/analysis_options.yaml @@ -0,0 +1,28 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at https://dart.dev/lints. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/example/android/.gitignore b/example/android/.gitignore index 0a741cb..6f56801 100644 --- a/example/android/.gitignore +++ b/example/android/.gitignore @@ -9,3 +9,5 @@ GeneratedPluginRegistrant.java # Remember to never publicly share your keystore. # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app key.properties +**/*.keystore +**/*.jks diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 03d1377..2a2d082 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -1,69 +1,58 @@ +plugins { + id "com.android.application" + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') +def localPropertiesFile = rootProject.file("local.properties") if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> + localPropertiesFile.withReader("UTF-8") { reader -> localProperties.load(reader) } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +def flutterVersionCode = localProperties.getProperty("flutter.versionCode") if (flutterVersionCode == null) { - flutterVersionCode = '1' + flutterVersionCode = "1" } -def flutterVersionName = localProperties.getProperty('flutter.versionName') +def flutterVersionName = localProperties.getProperty("flutter.versionName") if (flutterVersionName == null) { - flutterVersionName = '1.0' + flutterVersionName = "1.0" } -apply plugin: 'com.android.application' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { - compileSdkVersion 30 + namespace = "com.example.example" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "io.openim.flutter_openim_sdk_example" - minSdkVersion 21 - targetSdkVersion 30 - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + applicationId = "com.example.example" + // 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. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutterVersionCode.toInteger() + versionName = flutterVersionName } buildTypes { - debug { - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - // signingConfig signingConfigs.debug - - signingConfig signingConfigs.debug - - minifyEnabled false - shrinkResources false - - useProguard true - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - - repositories{ - flatDir { - dirs 'libs' + signingConfig = signingConfigs.debug } } } -dependencies { -} flutter { - source '../..' + source = "../.." } diff --git a/example/android/app/src/debug/AndroidManifest.xml b/example/android/app/src/debug/AndroidManifest.xml index d986b22..399f698 100644 --- a/example/android/app/src/debug/AndroidManifest.xml +++ b/example/android/app/src/debug/AndroidManifest.xml @@ -1,6 +1,6 @@ - - diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml index 50b8b5b..74a78b9 100644 --- a/example/android/app/src/main/AndroidManifest.xml +++ b/example/android/app/src/main/AndroidManifest.xml @@ -1,11 +1,13 @@ - - + - - @@ -38,4 +31,15 @@ android:name="flutterEmbedding" android:value="2" /> + + + + + + + diff --git a/example/android/app/src/main/java/io/openim/flutter_openim_sdk_example/MainActivity.java b/example/android/app/src/main/java/io/openim/flutter_openim_sdk_example/MainActivity.java deleted file mode 100644 index 9741c22..0000000 --- a/example/android/app/src/main/java/io/openim/flutter_openim_sdk_example/MainActivity.java +++ /dev/null @@ -1,6 +0,0 @@ -package io.openim.flutter_openim_sdk_example; - -import io.flutter.embedding.android.FlutterActivity; - -public class MainActivity extends FlutterActivity { -} diff --git a/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt b/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt new file mode 100644 index 0000000..70f8f08 --- /dev/null +++ b/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt @@ -0,0 +1,5 @@ +package com.example.example + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() diff --git a/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..8e37e6e7cc4dab559bdebb41f00a65f5b2bcbf67 100644 GIT binary patch literal 3365 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 vQ<+R literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ diff --git a/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index 17987b79bb8a35cc66c3c1fd44f5a5526c1b78be..b229a574e414f322e35afa0013455dfa8ac4666f 100644 GIT binary patch delta 2130 zcmV-Y2(95C-+%AB=brOBch_PV1`@WB zd@K1patr=9O(Xw;{Auzh$n_-9=g2oq5-78_hz1)0&L|sOeUfNZ9RDlBd~R{ zkrZK@7=d|{jiLx^UZ{aWsK5~Rse(kvcK8fZ5p9&u?FRA3bUw<-i^MN4tt@dEHTbNh^KlX(( z!RG+w;_;tn_0zYVmkqQW3gOK)9`FS`69o}CC@I)WF^@#dm(V!FBH$E-QZnZ8UqIJ6 zcnpVufNI3Hw|=GJ52vEIz0o!?1b*QUr@%XDY^^E9WmW;LAr+7IMez2Z0xb))K=W^v zTk*p>JAanbI3(#<@p=G$x&!R{$66)a)*za`3#JL2Q8auQR#V{0I3BYs@l5hH%JVPO zdC)ae!*9DKyx1dy$^yPU!-kexJL=QoyqvO6mB=9wh~I_o^E%r4G%T$)2gx*neU#_Z zW4lk)@w-78TPp3TedgE&Jlx>IomDpY6a!aHwSVTE=e5%^P7Uc9_2R=$<XescSIsU{24ZAuc*gn^p+Lt|$&a5ju z`+up7!(Xa7sg>0XT``T{Jb_YhIpCA?N4}8ITrT2@w94vEyF!;=!$U_Rxpjfn44Qkb z6Ho^lC|z=@k~haQ5x1o^g#D{ZU>D+Gl4((;%6<3#5F%1`VH+)YbElfuMWzWXr&O75 z^^(z3=r+%e#4iO|kJ<~3u zd4?5D)8gs#vq36wN2O8lX$mz7-Yo*F8gtX_xD&8bmf0}PhTUhRJOmQ5nYL~FYZ$NH z-~sh9xaa*aR5?B5xJ=SC+|gu%%Qit;XxnT%Uh0zJ(~OK2P1iqNR9Tnq^~dIhl7IQY zra~?OzQV(yRpS868=E@XUU4qXQm$Vcl85a{6Y{ zH{J7e{PLetR_mBw`=_Vgbnt9kv%q}p7fpcKJ@Xu>AR%|(kuakFN&BaFWLe;uvD&M$ z?FDiux+lJ)-iEJNSg?}{)cy`7tAB~fY$sz9JkL2k>QZsd<%KaAm$wr2r2_V@b>oar z!@Ja&9P8F_`kW45K#zegb91OK7qG0>f`u~#3_qRnLP=E5%MGky} zBzPHx6#F@@iRM){9xF>ND5L$^=hc-~94r&DvfP5lKat=tkr+%7VDEAs%xYA=9MLd` zkUqV_o!WN8Oflw3tEn4(An%+TfBUwvKCV8$oA}Jm+e7DyP=AptH}S^0_&Q*)c+Olg zR#`tA)G!z_;GvaYP$|H35v@NE)UoBAFt)F7n7Vw?1bB*TAsU~L$Oaz!n}oldQLw1m zf@vfn*tUlbXkab!!s!+?R`8fv!lQ%=7-d)Vk=*!uw~CK?Rcv47z{*+XG*Qt6s!KTh zrrC+F2*~$d4S(S~i$%P5mxtm%bH)9Vj*t5^oII!D1IknZA|_BKtD0u3LeR^!=e?}md&(6PsUW)6hYnT_V{qtE-1la9=zAcIh7l$X;yHGo| zupcRkF-E}r3(15rz`wrHdGQ@DoyGoYaEg5KWTGg-I!hRVXAuAI!T+P}VFcK}KG+{8 z)=x4Rv-T(QU5o&ePPdY`kZ&SyAfNcBacsu0c98EO-$kzc8|Jf^#ue(S6951J07*qo IM6N<$f~f2j1ONa4 literal 442 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 literal 721 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!iOI#yLg7ec#$`gxH85~pclTsBt za}(23gHjVyDhp4h+5i=O3-AeX1=1l$e`s#|#^}+&7(N@w0CIr{$Oe+Uk^K-ZP~83C zcc@hG6rikF&NPT(23>y!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ diff --git a/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..4e00ff56cbdb7ad10b09d8e1b323c69f22a2eb95 100644 GIT binary patch literal 7757 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 T_cp;T00000NkvXXu0mjfr9eCh literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof diff --git a/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 4d6372eebdb28e45604e46eeda8dd24651419bc0..7f219acf38cb04f23f2c8a8ea02d327aba9aaf41 100644 GIT binary patch literal 10823 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 diff --git a/example/android/app/src/main/res/values-night/styles.xml b/example/android/app/src/main/res/values-night/styles.xml index 449a9f9..06952be 100644 --- a/example/android/app/src/main/res/values-night/styles.xml +++ b/example/android/app/src/main/res/values-night/styles.xml @@ -3,14 +3,14 @@