From 169affa005c1d5e406ea8db14ba673b107f25271 Mon Sep 17 00:00:00 2001
From: Brett <99468005+std-s@users.noreply.github.com>
Date: Mon, 15 Sep 2025 17:30:30 +0800
Subject: [PATCH] AGP8
---
android/.gitignore | 1 +
android/build.gradle | 57 +-
android/gradle.properties | 4 -
.../gradle/wrapper/gradle-wrapper.properties | 5 -
.../openim/core-sdk/0.0.1/core-sdk-0.0.1.pom | 9 -
android/src/main/AndroidManifest.xml | 7 +-
.../FlutterOpenimSdkPluginTest.java | 33 +
example/android/.gitignore | 3 +-
example/android/app/build.gradle | 58 --
example/android/app/build.gradle.kts | 44 ++
.../android/app/src/main/AndroidManifest.xml | 2 +-
.../MainActivity.java | 6 +
.../com/example/example/MainActivity.kt | 5 -
example/android/build.gradle | 18 -
example/android/build.gradle.kts | 21 +
.../reports/problems/problems-report.html | 663 ++++++++++++++++++
example/android/gradle.properties | 2 +-
.../gradle/wrapper/gradle-wrapper.properties | 2 +-
example/android/settings.gradle | 25 -
example/android/settings.gradle.kts | 25 +
example/lib/main.dart | 24 +-
example/pubspec.lock | 78 +--
example/test/widget_test.dart | 2 +-
ios/Resources/PrivacyInfo.xcprivacy | 23 +
ios/flutter_openim_sdk.podspec | 2 +
25 files changed, 909 insertions(+), 210 deletions(-)
delete mode 100644 android/gradle.properties
delete mode 100644 android/gradle/wrapper/gradle-wrapper.properties
delete mode 100644 android/libs/io/openim/core-sdk/0.0.1/core-sdk-0.0.1.pom
create mode 100644 android/src/test/java/com/example/flutter_openim_sdk/FlutterOpenimSdkPluginTest.java
delete mode 100644 example/android/app/build.gradle
create mode 100644 example/android/app/build.gradle.kts
create mode 100644 example/android/app/src/main/java/com/example/flutter_openim_sdk_example/MainActivity.java
delete mode 100644 example/android/app/src/main/kotlin/com/example/example/MainActivity.kt
delete mode 100644 example/android/build.gradle
create mode 100644 example/android/build.gradle.kts
create mode 100644 example/android/build/reports/problems/problems-report.html
delete mode 100644 example/android/settings.gradle
create mode 100644 example/android/settings.gradle.kts
create mode 100644 ios/Resources/PrivacyInfo.xcprivacy
diff --git a/android/.gitignore b/android/.gitignore
index c6cbe56..161bdcd 100644
--- a/android/.gitignore
+++ b/android/.gitignore
@@ -6,3 +6,4 @@
.DS_Store
/build
/captures
+.cxx
diff --git a/android/build.gradle b/android/build.gradle
index e517fa6..e1a45b9 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -1,30 +1,14 @@
-group 'io.openim.flutter_openim_sdk'
-version '1.0'
-
-def dir = getCurrentProjectDir()
-
-def getCurrentProjectDir() {
- String result = ""
- rootProject.allprojects { project ->
- if (project.properties.get("name").toString() == "flutter_openim_sdk") {
- result = project.properties.get("projectDir").toString()
- }
- }
- return result
-}
+group = "io.openim.flutter_openim_sdk"
+version = "1.0"
buildscript {
repositories {
- maven { url 'https://maven.aliyun.com/repository/public' }
- maven { url 'https://maven.aliyun.com/repository/central' }
- maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
- maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
google()
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.3.1'
+ classpath("com.android.tools.build:gradle:8.7.3")
}
}
@@ -35,20 +19,35 @@ rootProject.allprojects {
}
}
-apply plugin: 'com.android.library'
+apply plugin: "com.android.library"
android {
- compileSdkVersion 34
+ namespace = "io.openim.flutter_openim_sdk"
+
+ compileSdk = 35
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_11
+ targetCompatibility = JavaVersion.VERSION_11
+ }
defaultConfig {
- minSdkVersion 21
+ minSdk = 21
}
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+
+ dependencies {
+ implementation 'io.openim:core-sdk:3.8.3-patch7@aar'
+ testImplementation("junit:junit:4.13.2")
+ testImplementation("org.mockito:mockito-core:5.0.0")
+ }
+
+ testOptions {
+ unitTests.all {
+ testLogging {
+ events "passed", "skipped", "failed", "standardOut", "standardError"
+ outputs.upToDateWhen {false}
+ showStandardStreams = true
+ }
+ }
}
}
-
-dependencies {
- implementation 'io.openim:core-sdk:3.8.3-patch7@aar'
-}
\ No newline at end of file
diff --git a/android/gradle.properties b/android/gradle.properties
deleted file mode 100644
index be9024e..0000000
--- a/android/gradle.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-org.gradle.jvmargs=-Xmx1536M
-android.useAndroidX=true
-android.enableJetifier=true
-android.enableDexingArtifactTransform=false
\ No newline at end of file
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index 3c9d085..0000000
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
diff --git a/android/libs/io/openim/core-sdk/0.0.1/core-sdk-0.0.1.pom b/android/libs/io/openim/core-sdk/0.0.1/core-sdk-0.0.1.pom
deleted file mode 100644
index 41a78bc..0000000
--- a/android/libs/io/openim/core-sdk/0.0.1/core-sdk-0.0.1.pom
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- 4.0.0
-
- io.openim
- core-sdk
- 0.0.1
-
diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml
index 7d4bb9e..20bc59f 100644
--- a/android/src/main/AndroidManifest.xml
+++ b/android/src/main/AndroidManifest.xml
@@ -1,6 +1,3 @@
-
-
-
-
\ No newline at end of file
+ package="io.openim.flutter_openim_sdk">
+
diff --git a/android/src/test/java/com/example/flutter_openim_sdk/FlutterOpenimSdkPluginTest.java b/android/src/test/java/com/example/flutter_openim_sdk/FlutterOpenimSdkPluginTest.java
new file mode 100644
index 0000000..86b84ad
--- /dev/null
+++ b/android/src/test/java/com/example/flutter_openim_sdk/FlutterOpenimSdkPluginTest.java
@@ -0,0 +1,33 @@
+package io.openim.flutter_openim_sdk;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import io.flutter.plugin.common.MethodCall;
+import io.flutter.plugin.common.MethodChannel;
+import org.junit.Test;
+
+/**
+ * This demonstrates a simple unit test of the Java portion of this plugin's
+ * implementation.
+ *
+ * Once you have built the plugin's example app, you can run these tests from
+ * the command
+ * line by running `./gradlew testDebugUnitTest` in the `example/android/`
+ * directory, or
+ * you can run them directly from IDEs that support JUnit such as Android
+ * Studio.
+ */
+
+public class FlutterOpenimSdkPluginTest {
+ @Test
+ public void onMethodCall_getPlatformVersion_returnsExpectedValue() {
+ FlutterOpenimSdkPlugin plugin = new FlutterOpenimSdkPlugin();
+
+ final MethodCall call = new MethodCall("getPlatformVersion", null);
+ MethodChannel.Result mockResult = mock(MethodChannel.Result.class);
+ plugin.onMethodCall(call, mockResult);
+
+ verify(mockResult).success("Android " + android.os.Build.VERSION.RELEASE);
+ }
+}
diff --git a/example/android/.gitignore b/example/android/.gitignore
index 6f56801..be3943c 100644
--- a/example/android/.gitignore
+++ b/example/android/.gitignore
@@ -5,9 +5,10 @@ gradle-wrapper.jar
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java
+.cxx/
# Remember to never publicly share your keystore.
-# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
+# See https://flutter.dev/to/reference-keystore
key.properties
**/*.keystore
**/*.jks
diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle
deleted file mode 100644
index 2a2d082..0000000
--- a/example/android/app/build.gradle
+++ /dev/null
@@ -1,58 +0,0 @@
-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")
-if (localPropertiesFile.exists()) {
- localPropertiesFile.withReader("UTF-8") { reader ->
- localProperties.load(reader)
- }
-}
-
-def flutterVersionCode = localProperties.getProperty("flutter.versionCode")
-if (flutterVersionCode == null) {
- flutterVersionCode = "1"
-}
-
-def flutterVersionName = localProperties.getProperty("flutter.versionName")
-if (flutterVersionName == null) {
- flutterVersionName = "1.0"
-}
-
-android {
- 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 = "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 {
- 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
- }
- }
-}
-
-flutter {
- source = "../.."
-}
diff --git a/example/android/app/build.gradle.kts b/example/android/app/build.gradle.kts
new file mode 100644
index 0000000..872c58f
--- /dev/null
+++ b/example/android/app/build.gradle.kts
@@ -0,0 +1,44 @@
+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")
+}
+
+android {
+ namespace = "io.openim.flutter_openim_sdk_example"
+ compileSdk = flutter.compileSdkVersion
+ ndkVersion = flutter.ndkVersion
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_11
+ targetCompatibility = JavaVersion.VERSION_11
+ }
+
+ kotlinOptions {
+ jvmTarget = JavaVersion.VERSION_11.toString()
+ }
+
+ defaultConfig {
+ // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
+ applicationId = "io.openim.flutter_openim_sdk_example"
+ // You can update the following values to match your application needs.
+ // For more information, see: https://flutter.dev/to/review-gradle-config.
+ minSdk = flutter.minSdkVersion
+ targetSdk = flutter.targetSdkVersion
+ versionCode = flutter.versionCode
+ versionName = flutter.versionName
+ }
+
+ buildTypes {
+ 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.getByName("debug")
+ }
+ }
+}
+
+flutter {
+ source = "../.."
+}
diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml
index 74a78b9..f71f020 100644
--- a/example/android/app/src/main/AndroidManifest.xml
+++ b/example/android/app/src/main/AndroidManifest.xml
@@ -1,6 +1,6 @@
("clean") {
+ delete(rootProject.layout.buildDirectory)
+}
diff --git a/example/android/build/reports/problems/problems-report.html b/example/android/build/reports/problems/problems-report.html
new file mode 100644
index 0000000..9da070b
--- /dev/null
+++ b/example/android/build/reports/problems/problems-report.html
@@ -0,0 +1,663 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Gradle Configuration Cache
+
+
+
+
+
+
+ Loading...
+
+
+
+
+
+
+
diff --git a/example/android/gradle.properties b/example/android/gradle.properties
index 3b5b324..f018a61 100644
--- a/example/android/gradle.properties
+++ b/example/android/gradle.properties
@@ -1,3 +1,3 @@
-org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError
+org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true
diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties
index e1ca574..ac3b479 100644
--- a/example/android/gradle/wrapper/gradle-wrapper.properties
+++ b/example/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip
diff --git a/example/android/settings.gradle b/example/android/settings.gradle
deleted file mode 100644
index 536165d..0000000
--- a/example/android/settings.gradle
+++ /dev/null
@@ -1,25 +0,0 @@
-pluginManagement {
- def flutterSdkPath = {
- def properties = new Properties()
- file("local.properties").withInputStream { properties.load(it) }
- def flutterSdkPath = properties.getProperty("flutter.sdk")
- assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
- return flutterSdkPath
- }()
-
- includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
-
- repositories {
- google()
- mavenCentral()
- gradlePluginPortal()
- }
-}
-
-plugins {
- id "dev.flutter.flutter-plugin-loader" version "1.0.0"
- id "com.android.application" version "7.3.0" apply false
- id "org.jetbrains.kotlin.android" version "1.7.10" apply false
-}
-
-include ":app"
diff --git a/example/android/settings.gradle.kts b/example/android/settings.gradle.kts
new file mode 100644
index 0000000..ab39a10
--- /dev/null
+++ b/example/android/settings.gradle.kts
@@ -0,0 +1,25 @@
+pluginManagement {
+ val flutterSdkPath = run {
+ val properties = java.util.Properties()
+ file("local.properties").inputStream().use { properties.load(it) }
+ val flutterSdkPath = properties.getProperty("flutter.sdk")
+ require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" }
+ flutterSdkPath
+ }
+
+ includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
+
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
+
+plugins {
+ id("dev.flutter.flutter-plugin-loader") version "1.0.0"
+ id("com.android.application") version "8.7.3" apply false
+ id("org.jetbrains.kotlin.android") version "2.1.0" apply false
+}
+
+include(":app")
diff --git a/example/lib/main.dart b/example/lib/main.dart
index 554deef..0cd5267 100644
--- a/example/lib/main.dart
+++ b/example/lib/main.dart
@@ -2,12 +2,14 @@ import 'package:flutter/material.dart';
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart';
void main() {
- runApp(MyApp());
+ runApp(const MyApp());
}
class MyApp extends StatefulWidget {
+ const MyApp({super.key});
+
@override
- _MyAppState createState() => _MyAppState();
+ State createState() => _MyAppState();
}
class _MyAppState extends State {
@@ -15,11 +17,17 @@ class _MyAppState extends State {
void initState() {
super.initState();
OpenIM.iMManager.initSDK(
- platformID: 1,
- apiAddr: '',
- wsAddr: '',
- dataDir: '/',
- listener: OnConnectListener());
+ platformID: 2,
+ apiAddr: 'https://www.openim.io/api',
+ wsAddr: 'https://www.openim.io/',
+ dataDir: '/',
+ listener: OnConnectListener(),
+ );
+ OpenIM.iMManager.messageManager.customBusinessListener = OnCustomBusinessListener(
+ onRecvCustomBusinessMessage: (message) {},
+ );
+
+ OpenIM.iMManager.login(userID: '123', token: '123');
}
@override
@@ -31,7 +39,7 @@ class _MyAppState extends State {
),
body: Column(
children: [
- TextButton(onPressed: () {}, child: Text('login')),
+ TextButton(onPressed: () {}, child: const Text('login')),
],
),
),
diff --git a/example/pubspec.lock b/example/pubspec.lock
index 897e12c..93bd591 100644
--- a/example/pubspec.lock
+++ b/example/pubspec.lock
@@ -5,42 +5,42 @@ packages:
dependency: transitive
description:
name: async
- sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
+ sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
url: "https://pub.dev"
source: hosted
- version: "2.11.0"
+ version: "2.13.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
- sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
+ sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
url: "https://pub.dev"
source: hosted
- version: "2.1.1"
+ version: "2.1.2"
characters:
dependency: transitive
description:
name: characters
- sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
+ sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
url: "https://pub.dev"
source: hosted
- version: "1.3.0"
+ version: "1.4.0"
clock:
dependency: transitive
description:
name: clock
- sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
+ sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
url: "https://pub.dev"
source: hosted
- version: "1.1.1"
+ version: "1.1.2"
collection:
dependency: transitive
description:
name: collection
- sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
+ sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
url: "https://pub.dev"
source: hosted
- version: "1.18.0"
+ version: "1.19.1"
cupertino_icons:
dependency: "direct main"
description:
@@ -53,10 +53,10 @@ packages:
dependency: transitive
description:
name: fake_async
- sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
+ sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
url: "https://pub.dev"
source: hosted
- version: "1.3.1"
+ version: "1.3.3"
flutter:
dependency: "direct main"
description: flutter
@@ -76,7 +76,7 @@ packages:
path: ".."
relative: true
source: path
- version: "3.8.3+hotfix.3"
+ version: "3.8.3+hotfix.7"
flutter_test:
dependency: "direct dev"
description: flutter
@@ -86,18 +86,18 @@ packages:
dependency: transitive
description:
name: leak_tracker
- sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
+ sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
url: "https://pub.dev"
source: hosted
- version: "10.0.5"
+ version: "10.0.9"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
- sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
+ sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
url: "https://pub.dev"
source: hosted
- version: "3.0.5"
+ version: "3.0.9"
leak_tracker_testing:
dependency: transitive
description:
@@ -118,10 +118,10 @@ packages:
dependency: transitive
description:
name: matcher
- sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
+ sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
url: "https://pub.dev"
source: hosted
- version: "0.12.16+1"
+ version: "0.12.17"
material_color_utilities:
dependency: transitive
description:
@@ -134,71 +134,71 @@ packages:
dependency: transitive
description:
name: meta
- sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
+ sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
url: "https://pub.dev"
source: hosted
- version: "1.15.0"
+ version: "1.16.0"
path:
dependency: transitive
description:
name: path
- sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
+ sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
url: "https://pub.dev"
source: hosted
- version: "1.9.0"
+ version: "1.9.1"
sky_engine:
dependency: transitive
description: flutter
source: sdk
- version: "0.0.99"
+ version: "0.0.0"
source_span:
dependency: transitive
description:
name: source_span
- sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
+ sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c"
url: "https://pub.dev"
source: hosted
- version: "1.10.0"
+ version: "1.10.1"
stack_trace:
dependency: transitive
description:
name: stack_trace
- sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
+ sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
url: "https://pub.dev"
source: hosted
- version: "1.11.1"
+ version: "1.12.1"
stream_channel:
dependency: transitive
description:
name: stream_channel
- sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
+ sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
url: "https://pub.dev"
source: hosted
- version: "2.1.2"
+ version: "2.1.4"
string_scanner:
dependency: transitive
description:
name: string_scanner
- sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
+ sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
url: "https://pub.dev"
source: hosted
- version: "1.2.0"
+ version: "1.4.1"
term_glyph:
dependency: transitive
description:
name: term_glyph
- sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
+ sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
url: "https://pub.dev"
source: hosted
- version: "1.2.1"
+ version: "1.2.2"
test_api:
dependency: transitive
description:
name: test_api
- sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
+ sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
url: "https://pub.dev"
source: hosted
- version: "0.7.2"
+ version: "0.7.4"
vector_math:
dependency: transitive
description:
@@ -211,10 +211,10 @@ packages:
dependency: transitive
description:
name: vm_service
- sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
+ sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
url: "https://pub.dev"
source: hosted
- version: "14.2.5"
+ version: "15.0.0"
sdks:
- dart: ">=3.4.4 <4.0.0"
+ dart: ">=3.7.0-0 <4.0.0"
flutter: ">=3.18.0-18.0.pre.54"
diff --git a/example/test/widget_test.dart b/example/test/widget_test.dart
index f376c56..48ebcae 100644
--- a/example/test/widget_test.dart
+++ b/example/test/widget_test.dart
@@ -13,7 +13,7 @@ import 'package:flutter_openim_sdk_example/main.dart';
void main() {
testWidgets('Counter increments smoke test', (WidgetTester tester) async {
// Build our app and trigger a frame.
- await tester.pumpWidget(MyApp());
+ await tester.pumpWidget(const MyApp());
// Verify that our counter starts at 0.
expect(find.text('0'), findsOneWidget);
diff --git a/ios/Resources/PrivacyInfo.xcprivacy b/ios/Resources/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000..e19fdbc
--- /dev/null
+++ b/ios/Resources/PrivacyInfo.xcprivacy
@@ -0,0 +1,23 @@
+
+
+
+
+ NSPrivacyTracking
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyTrackingDomains
+
+ NSPrivacyAccessedAPITypes
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryUserDefaults
+ NSPrivacyAccessedAPITypeReasons
+
+ CA92.1
+
+
+
+
+
diff --git a/ios/flutter_openim_sdk.podspec b/ios/flutter_openim_sdk.podspec
index da915be..d0ebaa3 100644
--- a/ios/flutter_openim_sdk.podspec
+++ b/ios/flutter_openim_sdk.podspec
@@ -25,4 +25,6 @@ A new Flutter project.
# Flutter.framework does not contain a i386 slice.
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386 arm64' }
s.swift_version = '5.0'
+
+ s.resource_bundles = {'flutter_openim_sdk_privacy' => ['Resources/PrivacyInfo.xcprivacy']}
end