├── .gitignore
├── .idea
├── encodings.xml
├── flutter_mimc.iml
├── libraries
│ ├── Dart_SDK.xml
│ └── Flutter_Plugins.xml
├── misc.xml
├── modules.xml
├── vcs.xml
└── workspace.xml
├── .metadata
├── CHANGELOG.md
├── LICENSE
├── README.md
├── README_CN.md
├── android
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.buildship.core.prefs
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
├── libs
│ ├── mimc-java-sdk-1.4.1-SNAPSHOT.jar
│ └── xmd-transceiver-1.0.2.31-SNAPSHOT.jar
├── settings.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ └── java
│ └── com
│ └── keith
│ └── flutter_mimc
│ ├── FlutterMimcPlugin.java
│ ├── MimcHandleMIMCMsgListener.java
│ ├── MimcUserManager.java
│ └── utils
│ ├── ConstraintsArray.java
│ ├── ConstraintsMap.java
│ └── ObjectType.java
├── example
├── .gitignore
├── .metadata
├── README.md
├── android
│ ├── .gitignore
│ ├── .project
│ ├── .settings
│ │ └── org.eclipse.buildship.core.prefs
│ ├── app
│ │ ├── build.gradle
│ │ └── src
│ │ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── keith
│ │ │ │ │ └── flutter_mimc_example
│ │ │ │ │ └── MainActivity.java
│ │ │ └── res
│ │ │ │ ├── drawable
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ └── values
│ │ │ │ └── styles.xml
│ │ │ └── profile
│ │ │ └── AndroidManifest.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ └── gradle-wrapper.properties
│ └── settings.gradle
├── ios
│ ├── .gitignore
│ ├── Flutter
│ │ ├── AppFrameworkInfo.plist
│ │ ├── Debug.xcconfig
│ │ └── Release.xcconfig
│ ├── Podfile
│ ├── Podfile.lock
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── Runner
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ └── LaunchImage.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ └── README.md
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── main.m
├── lib
│ ├── generated
│ │ └── json
│ │ │ └── base
│ │ │ └── json_filed.dart
│ └── main.dart
├── pubspec.lock
├── pubspec.yaml
├── test
│ └── widget_test.dart
└── web
│ ├── mimc-min_1_0_2.js
│ └── web_mimc_demo.html
├── flutter_mimc.iml
├── ios
├── .gitignore
├── Assets
│ └── .gitkeep
├── Classes
│ ├── FlutterMimcEvent.h
│ ├── FlutterMimcEvent.m
│ ├── FlutterMimcPlugin.h
│ ├── FlutterMimcPlugin.m
│ ├── XMUserManager.h
│ └── XMUserManager.mm
├── Frameworks
│ ├── MIMCProtoBuffer.framework
│ │ ├── Headers
│ │ │ ├── Any.pbobjc.h
│ │ │ ├── Api.pbobjc.h
│ │ │ ├── Duration.pbobjc.h
│ │ │ ├── Empty.pbobjc.h
│ │ │ ├── FieldMask.pbobjc.h
│ │ │ ├── GPBArray.h
│ │ │ ├── GPBBootstrap.h
│ │ │ ├── GPBCodedInputStream.h
│ │ │ ├── GPBCodedOutputStream.h
│ │ │ ├── GPBDescriptor.h
│ │ │ ├── GPBDescriptor_PackagePrivate.h
│ │ │ ├── GPBDictionary.h
│ │ │ ├── GPBExtensionInternals.h
│ │ │ ├── GPBExtensionRegistry.h
│ │ │ ├── GPBMessage.h
│ │ │ ├── GPBMessage_PackagePrivate.h
│ │ │ ├── GPBProtocolBuffers.h
│ │ │ ├── GPBProtocolBuffers_RuntimeSupport.h
│ │ │ ├── GPBRootObject.h
│ │ │ ├── GPBRootObject_PackagePrivate.h
│ │ │ ├── GPBRuntimeTypes.h
│ │ │ ├── GPBUnknownField.h
│ │ │ ├── GPBUnknownFieldSet.h
│ │ │ ├── GPBUtilities.h
│ │ │ ├── GPBUtilities_PackagePrivate.h
│ │ │ ├── GPBWellKnownTypes.h
│ │ │ ├── GPBWireFormat.h
│ │ │ ├── MIMCProtoBuffer.h
│ │ │ ├── SourceContext.pbobjc.h
│ │ │ ├── Struct.pbobjc.h
│ │ │ ├── Timestamp.pbobjc.h
│ │ │ ├── Type.pbobjc.h
│ │ │ └── Wrappers.pbobjc.h
│ │ ├── Info.plist
│ │ ├── MIMCProtoBuffer
│ │ └── Modules
│ │ │ └── module.modulemap
│ ├── MMCSDK.framework
│ │ ├── Headers
│ │ │ ├── MCOnlineMessageAck.h
│ │ │ ├── MCUser.h
│ │ │ ├── MIMCChannelUser.h
│ │ │ ├── MIMCGroupMessage.h
│ │ │ ├── MIMCLaunchedResponse.h
│ │ │ ├── MIMCLoggerWrapper.h
│ │ │ ├── MIMCMessage.h
│ │ │ ├── MIMCRtsChannelType.h
│ │ │ ├── MIMCRtsDataType.h
│ │ │ ├── MIMCServerAck.h
│ │ │ ├── MIMCStreamConfig.h
│ │ │ └── MMCSDK.h
│ │ ├── Info.plist
│ │ ├── MMCSDK
│ │ └── Modules
│ │ │ └── module.modulemap
│ └── openssl.framework
│ │ ├── Headers
│ │ ├── aes.h
│ │ ├── asn1.h
│ │ ├── asn1_mac.h
│ │ ├── asn1t.h
│ │ ├── bio.h
│ │ ├── blowfish.h
│ │ ├── bn.h
│ │ ├── buffer.h
│ │ ├── camellia.h
│ │ ├── cast.h
│ │ ├── cmac.h
│ │ ├── cms.h
│ │ ├── comp.h
│ │ ├── conf.h
│ │ ├── conf_api.h
│ │ ├── crypto.h
│ │ ├── des.h
│ │ ├── des_old.h
│ │ ├── dh.h
│ │ ├── dsa.h
│ │ ├── dso.h
│ │ ├── dtls1.h
│ │ ├── e_os2.h
│ │ ├── ebcdic.h
│ │ ├── ec.h
│ │ ├── ecdh.h
│ │ ├── ecdsa.h
│ │ ├── engine.h
│ │ ├── err.h
│ │ ├── evp.h
│ │ ├── hmac.h
│ │ ├── idea.h
│ │ ├── krb5_asn.h
│ │ ├── kssl.h
│ │ ├── lhash.h
│ │ ├── md4.h
│ │ ├── md5.h
│ │ ├── mdc2.h
│ │ ├── modes.h
│ │ ├── obj_mac.h
│ │ ├── objects.h
│ │ ├── ocsp.h
│ │ ├── opensslconf.h
│ │ ├── opensslconf_ios_arm64.h
│ │ ├── opensslconf_ios_armv7.h
│ │ ├── opensslconf_ios_armv7s.h
│ │ ├── opensslconf_ios_i386.h
│ │ ├── opensslconf_ios_x86_64.h
│ │ ├── opensslconf_tvos_arm64.h
│ │ ├── opensslconf_tvos_x86_64.h
│ │ ├── opensslv.h
│ │ ├── ossl_typ.h
│ │ ├── pem.h
│ │ ├── pem2.h
│ │ ├── pkcs12.h
│ │ ├── pkcs7.h
│ │ ├── pqueue.h
│ │ ├── rand.h
│ │ ├── rc2.h
│ │ ├── rc4.h
│ │ ├── ripemd.h
│ │ ├── rsa.h
│ │ ├── safestack.h
│ │ ├── seed.h
│ │ ├── sha.h
│ │ ├── srp.h
│ │ ├── srtp.h
│ │ ├── ssl.h
│ │ ├── ssl2.h
│ │ ├── ssl23.h
│ │ ├── ssl3.h
│ │ ├── stack.h
│ │ ├── symhacks.h
│ │ ├── tls1.h
│ │ ├── ts.h
│ │ ├── txt_db.h
│ │ ├── ui.h
│ │ ├── ui_compat.h
│ │ ├── whrlpool.h
│ │ ├── x509.h
│ │ ├── x509_vfy.h
│ │ └── x509v3.h
│ │ ├── Info.plist
│ │ └── openssl
└── flutter_mimc.podspec
├── lib
├── flutter_mimc.dart
├── generated
│ └── json
│ │ └── base
│ │ └── json_filed.dart
├── model
│ ├── mimc_message.dart
│ ├── mimc_response.dart
│ └── mimc_servera_ack.dart
├── push
│ └── mimc_push.dart
└── services
│ ├── enums.dart
│ └── mimc_services.dart
├── pubspec.lock
├── pubspec.yaml
└── test
└── flutter_mimc_test.dart
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .dart_tool/
3 |
4 | .packages
5 | .pub/
6 | .idea/
7 | build/
8 | .idea/workspace.xml
9 | example/build/
10 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.idea/flutter_mimc.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/.idea/libraries/Dart_SDK.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/.idea/libraries/Flutter_Plugins.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: 20e59316b8b8474554b38493b8ca888794b0234a
8 | channel: stable
9 |
10 | project_type: plugin
11 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 1.0.2
2 | * change instance to static function AND Singleton
3 | * fix api param
4 |
5 | ## 1.0.1
6 | * format file
7 | * update version code
8 | * remove Unused import: '../services/enums.dart'.
9 |
10 | ## 1.0.0
11 | * This version tries a major update. The SDK update of Xiaomi Messaging Cloud and the addition of corresponding new features require flutter SDK 1.12.13.
12 | * Update MIMC SDK to the latest version
13 | * Add online message interface
14 | * Remove the underlying http library and encapsulate the http interface in the upper and upper layers
15 | * Add push message library
16 | * Add and delete infinite group interface
17 | * Purify sdk reduce volume
18 |
19 |
20 | ## 0.1.0
21 | * Add blacklist api
22 | * Add get contact list API
23 | * Add string token init func
24 | * Fix IOS import AFNetworking error
25 |
26 | ## 0.0.3+3
27 | * update api documentation
28 |
29 |
30 | ## 0.0.3+2
31 | * update api documentation
32 |
33 |
34 | ## 0.0.3+1
35 | * 1.Update README.md
36 | * 2.Fix BUG
37 |
38 |
39 | ## 0.0.3
40 |
41 | * Restore the message body, no restrictions, there is a misunderstanding before this has been fixed
42 | * Fix service ID returned by Android sending message is null
43 | * Update README.md
44 |
45 |
46 | ## 0.0.2
47 |
48 | * Delete the Android local JSON static library to avoid conflicts and compile
49 |
50 |
51 |
52 | ## 0.0.1
53 |
54 | * TODO: Describe initial release.
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2019 keith
2 |
3 | Licensed to the Apache Software Foundation (ASF) under one or more contributor
4 | license agreements. See the NOTICE file distributed with this work for
5 | additional information regarding copyright ownership. The ASF licenses this
6 | file to you under the Apache License, Version 2.0 (the "License"); you may not
7 | use this file except in compliance with the License. You may obtain a copy of
8 | the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14 | WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15 | License for the specific language governing permissions and limitations under
16 | the License.
17 |
--------------------------------------------------------------------------------
/android/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 |
--------------------------------------------------------------------------------
/android/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | flutter_mimc
4 | Project android_ created by Buildship.
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.buildship.core.gradleprojectbuilder
15 |
16 |
17 |
18 |
19 |
20 | org.eclipse.jdt.core.javanature
21 | org.eclipse.buildship.core.gradleprojectnature
22 |
23 |
24 |
--------------------------------------------------------------------------------
/android/.settings/org.eclipse.buildship.core.prefs:
--------------------------------------------------------------------------------
1 | arguments=
2 | auto.sync=false
3 | build.scans.enabled=false
4 | connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(6.3))
5 | connection.project.dir=
6 | eclipse.preferences.version=1
7 | gradle.user.home=
8 | java.home=/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home
9 | jvm.arguments=
10 | offline.mode=false
11 | override.workspace.settings=true
12 | show.console.view=true
13 | show.executions.view=true
14 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | group 'com.keith.flutter_mimc'
2 | version '1.0'
3 |
4 | buildscript {
5 | repositories {
6 | google()
7 | jcenter()
8 | }
9 |
10 | dependencies {
11 | classpath 'com.android.tools.build:gradle:3.5.0'
12 | }
13 | }
14 |
15 | rootProject.allprojects {
16 | repositories {
17 | google()
18 | jcenter()
19 | }
20 | }
21 |
22 | apply plugin: 'com.android.library'
23 |
24 | android {
25 | compileSdkVersion 28
26 |
27 | defaultConfig {
28 | minSdkVersion 21
29 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
30 | }
31 | lintOptions {
32 | disable 'InvalidPackage'
33 | }
34 | }
35 |
36 | dependencies {
37 | implementation fileTree(include: ['*.jar'], dir: 'libs')
38 | implementation 'com.alibaba:fastjson:1.2.59'
39 | }
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.enableR8=true
3 | android.useAndroidX=true
4 | android.enableJetifier=true
5 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | zipStoreBase=GRADLE_USER_HOME
4 | zipStorePath=wrapper/dists
5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
6 |
--------------------------------------------------------------------------------
/android/libs/mimc-java-sdk-1.4.1-SNAPSHOT.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chenxianqi/flutter_mimc/9e8b2b9a54815794406513b1296842a9fe789d5a/android/libs/mimc-java-sdk-1.4.1-SNAPSHOT.jar
--------------------------------------------------------------------------------
/android/libs/xmd-transceiver-1.0.2.31-SNAPSHOT.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chenxianqi/flutter_mimc/9e8b2b9a54815794406513b1296842a9fe789d5a/android/libs/xmd-transceiver-1.0.2.31-SNAPSHOT.jar
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'flutter_mimc'
2 |
--------------------------------------------------------------------------------
/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/android/src/main/java/com/keith/flutter_mimc/utils/ConstraintsArray.java:
--------------------------------------------------------------------------------
1 | package com.keith.flutter_mimc.utils;
2 | import java.util.ArrayList;
3 | import java.util.Map;
4 |
5 | public class ConstraintsArray {
6 |
7 | final private ArrayList