diff --git a/mobpush_plugin/android/build.gradle b/mobpush_plugin/android/build.gradle index a8d7eaf..c2548eb 100644 --- a/mobpush_plugin/android/build.gradle +++ b/mobpush_plugin/android/build.gradle @@ -34,7 +34,7 @@ android { defaultConfig { minSdkVersion 17 - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } lintOptions { disable 'InvalidPackage' diff --git a/mobpush_plugin/android/src/main/java/com/mob/mobpush_plugin/MobpushMethodCallPlugin.java b/mobpush_plugin/android/src/main/java/com/mob/mobpush_plugin/MobpushMethodCallPlugin.java new file mode 100644 index 0000000..c101a7a --- /dev/null +++ b/mobpush_plugin/android/src/main/java/com/mob/mobpush_plugin/MobpushMethodCallPlugin.java @@ -0,0 +1,194 @@ +package com.mob.mobpush_plugin; + +import androidx.annotation.NonNull; + +import com.mob.MobSDK; +import com.mob.OperationCallback; +import com.mob.mobpush_plugin.req.SimulateRequest; +import com.mob.pushsdk.MobPush; +import com.mob.pushsdk.MobPushCallback; +import com.mob.pushsdk.MobPushLocalNotification; +import com.mob.tools.utils.ResHelper; + +import java.util.ArrayList; +import java.util.HashMap; + +import io.flutter.plugin.common.BinaryMessenger; +import io.flutter.plugin.common.MethodCall; +import io.flutter.plugin.common.MethodChannel; + +public class MobpushMethodCallPlugin implements MethodChannel.MethodCallHandler { + private MobpushPlugin mobpushPlugin; + + private MethodChannel methodChannel; + + MobpushMethodCallPlugin(MobpushPlugin mobpushPlugin, @NonNull BinaryMessenger messenger) { + this.mobpushPlugin = mobpushPlugin; + methodChannel = new MethodChannel(messenger, "mob.com/mobpush_plugin"); + methodChannel.setMethodCallHandler(this); + } + + + @Override + public void onMethodCall(MethodCall call, @NonNull final MethodChannel.Result result) { + switch (call.method) { + case "getPlatformVersion": + result.success("Android " + android.os.Build.VERSION.RELEASE); + break; + case "getSDKVersion": + result.success(MobPush.SDK_VERSION_NAME); + break; + case "getRegistrationId": + MobPush.getRegistrationId(new MobPushCallback() { + @Override + public void onCallback(String data) { + HashMap map = new HashMap(); + map.put("res", data); + result.success(map); + } + }); + break; + case "removePushReceiver": + if (mobpushPlugin.mobpushReceiverPlugin.mobPushReceiver != null) + MobPush.removePushReceiver(mobpushPlugin.mobpushReceiverPlugin.mobPushReceiver); + break; + case "setClickNotificationToLaunchMainActivity": + boolean enable = call.argument("enable"); + MobPush.setClickNotificationToLaunchMainActivity(enable); + break; + case "stopPush": + MobPush.stopPush(); + break; + case "restartPush": + MobPush.restartPush(); + break; + case "isPushStopped": + result.success(MobPush.isPushStopped()); + break; + case "setAlias": + String alias = call.argument("alias"); + mobpushPlugin.setAliasCallback.add(result); + MobPush.setAlias(alias); + break; + case "getAlias": + mobpushPlugin.getAliasCallback.add(result); + MobPush.getAlias(); + break; + case "deleteAlias": + mobpushPlugin.deleteAliasCallback.add(result); + MobPush.deleteAlias(); + break; + case "addTags": { + ArrayList tags = call.argument("tags"); + mobpushPlugin.addTagsCallback.add(result); + MobPush.addTags(tags.toArray(new String[tags.size()])); + break; + } + case "getTags": + mobpushPlugin.getTagsCallback.add(result); + MobPush.getTags(); + break; + case "deleteTags": { + ArrayList tags = call.argument("tags"); + mobpushPlugin.deleteTagsCallback.add(result); + MobPush.deleteTags(tags.toArray(new String[tags.size()])); + break; + } + case "cleanTags": + mobpushPlugin.cleanTagsCallback.add(result); + MobPush.cleanTags(); + break; + case "setSilenceTime": + int startHour = call.argument("startHour"); + int startMinute = call.argument("startMinute"); + int endHour = call.argument("endHour"); + int endMinute = call.argument("endMinute"); + MobPush.setSilenceTime(startHour, startMinute, endHour, endMinute); + break; + case "setTailorNotification": + + break; + case "removeLocalNotification": + int notificationId = call.argument("notificationId"); + result.success(MobPush.removeLocalNotification(notificationId)); + break; + case "addLocalNotification": + String json = call.argument("localNotification"); + MobPushLocalNotification notification = mobpushPlugin.hashon.fromJson(json, MobPushLocalNotification.class); + result.success(MobPush.addLocalNotification(notification)); + break; + case "clearLocalNotifications": + result.success(MobPush.clearLocalNotifications()); + break; + case "setNotifyIcon": + String iconRes = call.argument("iconRes"); + int iconResId = ResHelper.getBitmapRes(MobSDK.getContext(), iconRes); + if (iconResId > 0) { + MobPush.setNotifyIcon(iconResId); + } + break; + case "setAppForegroundHiddenNotification": + boolean hidden = call.argument("hidden"); + MobPush.setAppForegroundHiddenNotification(hidden); + break; + case "setShowBadge": + boolean show = call.argument("show"); + MobPush.setShowBadge(show); + break; + case "bindPhoneNum": + String phoneNum = call.argument("phoneNum"); + MobPush.bindPhoneNum(phoneNum, new MobPushCallback() { + @Override + public void onCallback(Boolean data) { + if (data != null) { + HashMap map = new HashMap(); + map.put("res", data.booleanValue() ? "success" : "failed"); + map.put("error", ""); + result.success(map); + } + } + }); + break; + case "send": + int type = call.argument("type"); + int space = call.argument("space"); + String content = call.argument("content"); + String extras = call.argument("extrasMap"); + SimulateRequest.sendPush(type, content, space, extras, new MobPushCallback() { + @Override + public void onCallback(Boolean aBoolean) { + if (aBoolean != null) { + HashMap map = new HashMap(); + map.put("res", aBoolean.booleanValue() ? "success" : "failed"); + map.put("error", ""); + result.success(map); + } + } + }); + break; + case "updatePrivacyPermissionStatus": + boolean status = call.argument("status"); + MobSDK.submitPolicyGrantResult(status, new OperationCallback() { + @Override + public void onComplete(Void aVoid) { + System.out.println("updatePrivacyPermissionStatus onComplete"); + } + + @Override + public void onFailure(Throwable throwable) { + System.out.println("updatePrivacyPermissionStatus onFailure:" + throwable.getMessage()); + } + }); + break; + default: + result.notImplemented(); + break; + } + } + + + void onDestroy() { + methodChannel.setMethodCallHandler(null); + methodChannel = null; + } +} diff --git a/mobpush_plugin/android/src/main/java/com/mob/mobpush_plugin/MobpushPlugin.java b/mobpush_plugin/android/src/main/java/com/mob/mobpush_plugin/MobpushPlugin.java index ead4531..5ad8f5b 100644 --- a/mobpush_plugin/android/src/main/java/com/mob/mobpush_plugin/MobpushPlugin.java +++ b/mobpush_plugin/android/src/main/java/com/mob/mobpush_plugin/MobpushPlugin.java @@ -1,266 +1,57 @@ package com.mob.mobpush_plugin; -import android.content.Context; +import androidx.annotation.NonNull; -import com.mob.MobSDK; -import com.mob.OperationCallback; -import com.mob.mobpush_plugin.req.SimulateRequest; import com.mob.pushsdk.MobPush; -import com.mob.pushsdk.MobPushCallback; -import com.mob.pushsdk.MobPushCustomMessage; -import com.mob.pushsdk.MobPushLocalNotification; -import com.mob.pushsdk.MobPushNotifyMessage; -import com.mob.pushsdk.MobPushReceiver; import com.mob.tools.utils.Hashon; -import com.mob.tools.utils.ResHelper; import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import io.flutter.plugin.common.MethodCall; +import io.flutter.embedding.engine.plugins.FlutterPlugin; +import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.common.MethodChannel.Result; -import io.flutter.plugin.common.MethodChannel.MethodCallHandler; import io.flutter.plugin.common.PluginRegistry.Registrar; /** * MobpushPlugin */ -public class MobpushPlugin implements MethodCallHandler { - private static Hashon hashon = new Hashon(); - private static MobPushReceiver mobPushReceiver; - private static ArrayList setAliasCallback = new ArrayList<>(); - private static ArrayList getAliasCallback = new ArrayList<>(); - private static ArrayList getTagsCallback = new ArrayList<>(); - private static ArrayList deleteAliasCallback = new ArrayList<>(); - private static ArrayList addTagsCallback = new ArrayList<>(); - private static ArrayList deleteTagsCallback = new ArrayList<>(); - private static ArrayList cleanTagsCallback = new ArrayList<>(); +public class MobpushPlugin implements FlutterPlugin { + Hashon hashon = new Hashon(); + ArrayList setAliasCallback = new ArrayList<>(); + ArrayList getAliasCallback = new ArrayList<>(); + ArrayList getTagsCallback = new ArrayList<>(); + ArrayList deleteAliasCallback = new ArrayList<>(); + ArrayList addTagsCallback = new ArrayList<>(); + ArrayList deleteTagsCallback = new ArrayList<>(); + ArrayList cleanTagsCallback = new ArrayList<>(); - /** - * Plugin registration. - */ - public static void registerWith(Registrar registrar) { - final MethodChannel channel = new MethodChannel(registrar.messenger(), "mob.com/mobpush_plugin"); - channel.setMethodCallHandler(new MobpushPlugin()); - - MobpushReceiverPlugin.registerWith(registrar); - createMobPushReceiver(); - MobPush.addPushReceiver(mobPushReceiver); - } + private MobpushMethodCallPlugin mobpushMethodCallPlugin; + MobpushReceiverPlugin mobpushReceiverPlugin; @Override - public void onMethodCall(MethodCall call, final MethodChannel.Result result) { - if (call.method.equals("getPlatformVersion")) { - result.success("Android " + android.os.Build.VERSION.RELEASE); - } else if (call.method.equals("getSDKVersion")) { - result.success(MobPush.SDK_VERSION_NAME); - } else if (call.method.equals("getRegistrationId")) { - MobPush.getRegistrationId(new MobPushCallback() { - @Override - public void onCallback(String data) { - HashMap map = new HashMap(); - map.put("res", data); - result.success(map); - } - }); - } else if (call.method.equals("removePushReceiver")) { - if (MobpushReceiverPlugin.getMobPushReceiver() != null) { - MobPush.removePushReceiver(MobpushReceiverPlugin.getMobPushReceiver()); - } - } else if (call.method.equals("setClickNotificationToLaunchMainActivity")) { - boolean enable = call.argument("enable"); - MobPush.setClickNotificationToLaunchMainActivity(enable); - } else if (call.method.equals("stopPush")) { - MobPush.stopPush(); - } else if (call.method.equals("restartPush")) { - MobPush.restartPush(); - } else if (call.method.equals("isPushStopped")) { - result.success(MobPush.isPushStopped()); - } else if (call.method.equals("setAlias")) { - String alias = call.argument("alias"); - setAliasCallback.add(result); - MobPush.setAlias(alias); - } else if (call.method.equals("getAlias")) { - getAliasCallback.add(result); - MobPush.getAlias(); - } else if (call.method.equals("deleteAlias")) { - deleteAliasCallback.add(result); - MobPush.deleteAlias(); - } else if (call.method.equals("addTags")) { - ArrayList tags = call.argument("tags"); - addTagsCallback.add(result); - MobPush.addTags(tags.toArray(new String[tags.size()])); - } else if (call.method.equals("getTags")) { - getTagsCallback.add(result); - MobPush.getTags(); - } else if (call.method.equals("deleteTags")) { - ArrayList tags = call.argument("tags"); - deleteTagsCallback.add(result); - MobPush.deleteTags(tags.toArray(new String[tags.size()])); - } else if (call.method.equals("cleanTags")) { - cleanTagsCallback.add(result); - MobPush.cleanTags(); - } else if (call.method.equals("setSilenceTime")) { - int startHour = call.argument("startHour"); - int startMinute = call.argument("startMinute"); - int endHour = call.argument("endHour"); - int endMinute = call.argument("endMinute"); - MobPush.setSilenceTime(startHour, startMinute, endHour, endMinute); - } else if (call.method.equals("setTailorNotification")) { - - } else if (call.method.equals("removeLocalNotification")) { - int notificationId = call.argument("notificationId"); - result.success(MobPush.removeLocalNotification(notificationId)); - } else if (call.method.equals("addLocalNotification")) { - String json = call.argument("localNotification"); - MobPushLocalNotification notification = hashon.fromJson(json, MobPushLocalNotification.class); - result.success(MobPush.addLocalNotification(notification)); - } else if (call.method.equals("clearLocalNotifications")) { - result.success(MobPush.clearLocalNotifications()); - } else if (call.method.equals("setNotifyIcon")) { - String iconRes = call.argument("iconRes"); - int iconResId = ResHelper.getBitmapRes(MobSDK.getContext(), iconRes); - if (iconResId > 0) { - MobPush.setNotifyIcon(iconResId); - } - } else if (call.method.equals("setAppForegroundHiddenNotification")) { - boolean hidden = call.argument("hidden"); - MobPush.setAppForegroundHiddenNotification(hidden); - } else if (call.method.equals("setShowBadge")) { - boolean show = call.argument("show"); - MobPush.setShowBadge(show); - } else if (call.method.equals("bindPhoneNum")) { - String phoneNum = call.argument("phoneNum"); - MobPush.bindPhoneNum(phoneNum, new MobPushCallback() { - @Override - public void onCallback(Boolean data) { - if (data != null) { - HashMap map = new HashMap(); - map.put("res", data.booleanValue() ? "success" : "failed"); - map.put("error", ""); - result.success(map); - } - } - }); - } else if (call.method.equals("send")) { - int type = call.argument("type"); - int space = call.argument("space"); - String content = call.argument("content"); - String extras = call.argument("extrasMap"); - SimulateRequest.sendPush(type, content, space, extras, new MobPushCallback() { - @Override - public void onCallback(Boolean aBoolean) { - if (aBoolean != null) { - HashMap map = new HashMap(); - map.put("res", aBoolean.booleanValue() ? "success" : "failed"); - map.put("error", ""); - result.success(map); - } - } - }); - } else if (call.method.equals("updatePrivacyPermissionStatus")) { - boolean status = call.argument("status"); - MobSDK.submitPolicyGrantResult(status, new OperationCallback() { - @Override - public void onComplete(Void aVoid) { - System.out.println("updatePrivacyPermissionStatus onComplete"); - } - - @Override - public void onFailure(Throwable throwable) { - System.out.println("updatePrivacyPermissionStatus onFailure:" + throwable.getMessage()); - } - }); - } else { - result.notImplemented(); - } + public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) { + this.onAttachedToEngine(binding.getBinaryMessenger()); } - private static void createMobPushReceiver() { - mobPushReceiver = new MobPushReceiver() { - @Override - public void onCustomMessageReceive(Context context, MobPushCustomMessage mobPushCustomMessage) { - - } - - @Override - public void onNotifyMessageReceive(Context context, MobPushNotifyMessage mobPushNotifyMessage) { - } - - @Override - public void onNotifyMessageOpenedReceive(Context context, MobPushNotifyMessage mobPushNotifyMessage) { + private void onAttachedToEngine(@NonNull BinaryMessenger messenger) { + mobpushMethodCallPlugin = new MobpushMethodCallPlugin(this, messenger); + mobpushReceiverPlugin = new MobpushReceiverPlugin(this, messenger); + } - } + @Override + public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) { + mobpushMethodCallPlugin.onDestroy(); + mobpushReceiverPlugin.onDestroy(); + mobpushMethodCallPlugin = null; + mobpushReceiverPlugin = null; + } - @Override - public void onTagsCallback(Context context, String[] tags, int operation, int errorCode) { - HashMap map = new HashMap(); - Result result = null; - // 0 获取, 1 设置, 2 删除,3 清空 - switch (operation) { - case 0: - result = getTagsCallback.remove(0); - map.put("res", tags == null ? new ArrayList() : Arrays.asList(tags)); - map.put("error", ""); - map.put("errorCode", String.valueOf(errorCode)); - break; - case 1: - result = addTagsCallback.remove(0); - map.put("res", errorCode == 0 ? "success" : "failed"); - map.put("error", ""); - map.put("errorCode", String.valueOf(errorCode)); - break; - case 2: - result = deleteTagsCallback.remove(0); - map.put("res", errorCode == 0 ? "success" : "failed"); - map.put("error", ""); - map.put("errorCode", String.valueOf(errorCode)); - break; - case 3: - result = cleanTagsCallback.remove(0); - map.put("res", errorCode == 0 ? "success" : "failed"); - map.put("error", ""); - map.put("errorCode", String.valueOf(errorCode)); - break; - } - if (result != null) { - result.success(map); - } - } - @Override - public void onAliasCallback(Context context, String alias, int operation, int errorCode) { - HashMap map = new HashMap(); - Result result = null; - // 0 获取, 1 设置, 2 删除 - switch (operation) { - case 0: - result = getAliasCallback.remove(0); - map.put("res", alias); - map.put("error", ""); - map.put("errorCode", String.valueOf(errorCode)); - break; - case 1: - result = setAliasCallback.remove(0); - map.put("res", errorCode == 0 ? "success" : "failed"); - map.put("error", ""); - map.put("errorCode", String.valueOf(errorCode)); - break; - case 2: - result = deleteAliasCallback.remove(0); - map.put("res", errorCode == 0 ? "success" : "failed"); - map.put("error", ""); - map.put("errorCode", String.valueOf(errorCode)); - break; - } - if (result != null) { - result.success(map); - } - } - }; + public static void registerWith(Registrar registrar) { + MobpushPlugin mobpushPlugin = new MobpushPlugin(); + mobpushPlugin.onAttachedToEngine(registrar.messenger()); } + } diff --git a/mobpush_plugin/android/src/main/java/com/mob/mobpush_plugin/MobpushReceiverPlugin.java b/mobpush_plugin/android/src/main/java/com/mob/mobpush_plugin/MobpushReceiverPlugin.java index aec24b8..e3f9832 100644 --- a/mobpush_plugin/android/src/main/java/com/mob/mobpush_plugin/MobpushReceiverPlugin.java +++ b/mobpush_plugin/android/src/main/java/com/mob/mobpush_plugin/MobpushReceiverPlugin.java @@ -2,45 +2,128 @@ import android.content.Context; -import com.mob.mobpush_plugin.req.SimulateRequest; +import androidx.annotation.NonNull; + import com.mob.pushsdk.MobPush; -import com.mob.pushsdk.MobPushCallback; import com.mob.pushsdk.MobPushCustomMessage; import com.mob.pushsdk.MobPushNotifyMessage; import com.mob.pushsdk.MobPushReceiver; import com.mob.tools.utils.Hashon; +import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; +import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.EventChannel; -import io.flutter.plugin.common.MethodCall; import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.common.MethodChannel.MethodCallHandler; -import io.flutter.plugin.common.MethodChannel.Result; -import io.flutter.plugin.common.PluginRegistry.Registrar; -/** - * MobpushPlugin - */ public class MobpushReceiverPlugin implements EventChannel.StreamHandler { - private static MobPushReceiver mobPushReceiver; + private MobpushPlugin mobpushPlugin; + + private MobPushReceiver baseMobPushReceiver; + MobPushReceiver mobPushReceiver; + + private EventChannel eventChannel; private Hashon hashon = new Hashon(); - public static MobPushReceiver getMobPushReceiver(){ - return mobPushReceiver; + MobpushReceiverPlugin(MobpushPlugin mobpushPlugin, @NonNull BinaryMessenger messenger) { + this.mobpushPlugin = mobpushPlugin; + eventChannel = new EventChannel(messenger, "mobpush_receiver"); + eventChannel.setStreamHandler(this); + createBaseMobPushReceiver(); + MobPush.addPushReceiver(baseMobPushReceiver); } - /** - * Plugin registration. - */ - public static void registerWith(Registrar registrar) { - final EventChannel channel = new EventChannel(registrar.messenger(), "mobpush_receiver"); - channel.setStreamHandler(new MobpushReceiverPlugin()); + + private void createBaseMobPushReceiver() { + baseMobPushReceiver = new MobPushReceiver() { + @Override + public void onCustomMessageReceive(Context context, MobPushCustomMessage mobPushCustomMessage) { + + } + + @Override + public void onNotifyMessageReceive(Context context, MobPushNotifyMessage mobPushNotifyMessage) { + + } + + @Override + public void onNotifyMessageOpenedReceive(Context context, MobPushNotifyMessage mobPushNotifyMessage) { + + } + + @Override + public void onTagsCallback(Context context, String[] tags, int operation, int errorCode) { + HashMap map = new HashMap(); + MethodChannel.Result result = null; + // 0 获取, 1 设置, 2 删除,3 清空 + switch (operation) { + case 0: + result = mobpushPlugin.getTagsCallback.remove(0); + map.put("res", tags == null ? new ArrayList() : Arrays.asList(tags)); + map.put("error", ""); + map.put("errorCode", String.valueOf(errorCode)); + break; + case 1: + result = mobpushPlugin.addTagsCallback.remove(0); + map.put("res", errorCode == 0 ? "success" : "failed"); + map.put("error", ""); + map.put("errorCode", String.valueOf(errorCode)); + break; + case 2: + result = mobpushPlugin.deleteTagsCallback.remove(0); + map.put("res", errorCode == 0 ? "success" : "failed"); + map.put("error", ""); + map.put("errorCode", String.valueOf(errorCode)); + break; + case 3: + result = mobpushPlugin.cleanTagsCallback.remove(0); + map.put("res", errorCode == 0 ? "success" : "failed"); + map.put("error", ""); + map.put("errorCode", String.valueOf(errorCode)); + break; + } + if (result != null) { + result.success(map); + } + } + + @Override + public void onAliasCallback(Context context, String alias, int operation, int errorCode) { + HashMap map = new HashMap(); + MethodChannel.Result result = null; + // 0 获取, 1 设置, 2 删除 + switch (operation) { + case 0: + result = mobpushPlugin.getAliasCallback.remove(0); + map.put("res", alias); + map.put("error", ""); + map.put("errorCode", String.valueOf(errorCode)); + break; + case 1: + result = mobpushPlugin.setAliasCallback.remove(0); + map.put("res", errorCode == 0 ? "success" : "failed"); + map.put("error", ""); + map.put("errorCode", String.valueOf(errorCode)); + break; + case 2: + result = mobpushPlugin.deleteAliasCallback.remove(0); + map.put("res", errorCode == 0 ? "success" : "failed"); + map.put("error", ""); + map.put("errorCode", String.valueOf(errorCode)); + break; + } + if (result != null) { + result.success(map); + } + } + }; } - private MobPushReceiver createMobPushReceiver(final EventChannel.EventSink event) { + + private void createMobPushReceiver(final EventChannel.EventSink event) { mobPushReceiver = new MobPushReceiver() { @Override public void onCustomMessageReceive(Context context, MobPushCustomMessage mobPushCustomMessage) { @@ -76,17 +159,26 @@ public void onAliasCallback(Context context, String alias, int operation, int er } }; - return mobPushReceiver; } @Override public void onListen(Object o, EventChannel.EventSink eventSink) { - mobPushReceiver = createMobPushReceiver(eventSink); + createMobPushReceiver(eventSink); MobPush.addPushReceiver(mobPushReceiver); } @Override public void onCancel(Object o) { + MobPush.removePushReceiver(mobPushReceiver); + mobPushReceiver = null; + } + + void onDestroy() { + if (mobPushReceiver != null) onCancel(null); + MobPush.removePushReceiver(baseMobPushReceiver); + baseMobPushReceiver = null; + eventChannel.setStreamHandler(null); + eventChannel = null; } } diff --git a/mobpush_plugin/example/.flutter-plugins-dependencies b/mobpush_plugin/example/.flutter-plugins-dependencies index 0df5ded..2f3d510 100644 --- a/mobpush_plugin/example/.flutter-plugins-dependencies +++ b/mobpush_plugin/example/.flutter-plugins-dependencies @@ -1 +1 @@ -{"_info":"// This is a generated file; do not edit or check into version control.","dependencyGraph":[{"name":"mobpush_plugin","dependencies":[]}]} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"mobpush_plugin","path":"/Users/gynet_2/Desktop/MobPush-For-Flutter/mobpush_plugin/","dependencies":[]}],"android":[{"name":"mobpush_plugin","path":"/Users/gynet_2/Desktop/MobPush-For-Flutter/mobpush_plugin/","dependencies":[]}],"macos":[],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"mobpush_plugin","dependencies":[]}],"date_created":"2020-03-27 20:26:11.671062","version":"1.14.6"} \ No newline at end of file diff --git a/mobpush_plugin/example/android/app/build.gradle b/mobpush_plugin/example/android/app/build.gradle index 1b0c287..bbd882b 100644 --- a/mobpush_plugin/example/android/app/build.gradle +++ b/mobpush_plugin/example/android/app/build.gradle @@ -40,7 +40,7 @@ android { targetSdkVersion 28 versionCode flutterVersionCode.toInteger() versionName flutterVersionName - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } signingConfigs { @@ -73,8 +73,8 @@ flutter { dependencies { testImplementation 'junit:junit:4.12' - androidTestImplementation 'com.android.support.test:runner:1.0.2' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0' } MobSDK { diff --git a/mobpush_plugin/example/android/app/src/main/AndroidManifest.xml b/mobpush_plugin/example/android/app/src/main/AndroidManifest.xml index b2644d6..484c411 100644 --- a/mobpush_plugin/example/android/app/src/main/AndroidManifest.xml +++ b/mobpush_plugin/example/android/app/src/main/AndroidManifest.xml @@ -8,26 +8,31 @@ FlutterApplication and put your custom class here. --> + android:icon="@mipmap/ic_launcher" + android:label="mobpush_example"> - - + - - + + + + + + + diff --git a/mobpush_plugin/example/android/app/src/main/java/com/mob/mobpush_example/MainActivity.java b/mobpush_plugin/example/android/app/src/main/java/com/mob/mobpush_example/MainActivity.java index 9c7bec4..600f651 100644 --- a/mobpush_plugin/example/android/app/src/main/java/com/mob/mobpush_example/MainActivity.java +++ b/mobpush_plugin/example/android/app/src/main/java/com/mob/mobpush_example/MainActivity.java @@ -1,13 +1,14 @@ package com.mob.mobpush_example; -import android.os.Bundle; -import io.flutter.app.FlutterActivity; +import androidx.annotation.NonNull; + +import io.flutter.embedding.android.FlutterActivity; +import io.flutter.embedding.engine.FlutterEngine; import io.flutter.plugins.GeneratedPluginRegistrant; public class MainActivity extends FlutterActivity { @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - GeneratedPluginRegistrant.registerWith(this); + public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) { + GeneratedPluginRegistrant.registerWith(flutterEngine); } } diff --git a/mobpush_plugin/example/android/gradle.properties b/mobpush_plugin/example/android/gradle.properties index 8bd86f6..38c8d45 100644 --- a/mobpush_plugin/example/android/gradle.properties +++ b/mobpush_plugin/example/android/gradle.properties @@ -1 +1,4 @@ org.gradle.jvmargs=-Xmx1536M +android.enableR8=true +android.useAndroidX=true +android.enableJetifier=true diff --git a/mobpush_plugin/example/android/gradle/wrapper/gradle-wrapper.properties b/mobpush_plugin/example/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..e3574a2 --- /dev/null +++ b/mobpush_plugin/example/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Mar 27 18:39:06 CST 2020 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip diff --git a/mobpush_plugin/example/ios/Flutter/flutter_export_environment.sh b/mobpush_plugin/example/ios/Flutter/flutter_export_environment.sh old mode 100644 new mode 100755 index d7cd360..a6fe9c5 --- a/mobpush_plugin/example/ios/Flutter/flutter_export_environment.sh +++ b/mobpush_plugin/example/ios/Flutter/flutter_export_environment.sh @@ -1,11 +1,10 @@ #!/bin/sh # This is a generated file; do not edit or check into version control. -export "FLUTTER_ROOT=/Users/max/flutter" -export "FLUTTER_APPLICATION_PATH=/Users/max/Documents/Gitlab_club/push_flutter/mobpush_plugin/example" -export "FLUTTER_TARGET=/Users/max/Documents/Gitlab_club/push_flutter/mobpush_plugin/example/lib/main.dart" +export "FLUTTER_ROOT=/Users/Shared/flutter" +export "FLUTTER_APPLICATION_PATH=/Users/gynet_2/Desktop/MobPush-For-Flutter/mobpush_plugin/example" +export "FLUTTER_TARGET=lib/main.dart" export "FLUTTER_BUILD_DIR=build" export "SYMROOT=${SOURCE_ROOT}/../build/ios" -export "FLUTTER_FRAMEWORK_DIR=/Users/max/flutter/bin/cache/artifacts/engine/ios" +export "FLUTTER_FRAMEWORK_DIR=/Users/Shared/flutter/bin/cache/artifacts/engine/ios" export "FLUTTER_BUILD_NAME=1.0.0" export "FLUTTER_BUILD_NUMBER=1" -export "TRACK_WIDGET_CREATION=true" diff --git a/mobpush_plugin/example/pubspec.lock b/mobpush_plugin/example/pubspec.lock index a1e0ead..6f54953 100644 --- a/mobpush_plugin/example/pubspec.lock +++ b/mobpush_plugin/example/pubspec.lock @@ -1,39 +1,70 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + archive: + dependency: transitive + description: + name: archive + url: "https://pub.flutter-io.cn" + source: hosted + version: "2.0.11" + args: + dependency: transitive + description: + name: args + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.5.2" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.2.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.4" charcode: dependency: transitive description: name: charcode - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.2" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.14.11" +<<<<<<< HEAD + convert: + dependency: transitive + description: + name: convert + url: "https://pub.flutter-io.cn" + source: hosted + version: "2.1.1" + crypto: + dependency: transitive + description: + name: crypto + url: "https://pub.flutter-io.cn" + source: hosted + version: "2.1.3" +======= +>>>>>>> dc910948bead5fdcacd2f6935939feb4bf558691 cupertino_icons: dependency: "direct main" description: name: cupertino_icons - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.1.3" flutter: @@ -46,18 +77,28 @@ packages: description: flutter source: sdk version: "0.0.0" +<<<<<<< HEAD + image: + dependency: transitive + description: + name: image + url: "https://pub.flutter-io.cn" + source: hosted + version: "2.1.4" +======= +>>>>>>> dc910948bead5fdcacd2f6935939feb4bf558691 matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.12.5" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.6" mobpush_plugin: @@ -66,26 +107,37 @@ packages: path: ".." relative: true source: path - version: "1.0.9" + version: "1.1.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.6.2" pedantic: dependency: transitive description: name: pedantic - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted +<<<<<<< HEAD + version: "1.8.0+1" + petitparser: + dependency: transitive + description: + name: petitparser + url: "https://pub.flutter-io.cn" + source: hosted + version: "2.4.0" +======= version: "1.7.0" +>>>>>>> dc910948bead5fdcacd2f6935939feb4bf558691 quiver: dependency: transitive description: name: quiver - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.3" sky_engine: @@ -97,57 +149,67 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.5.5" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.9.3" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.0" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.4" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.0" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.2.5" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.6" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.8" +<<<<<<< HEAD + xml: + dependency: transitive + description: + name: xml + url: "https://pub.flutter-io.cn" + source: hosted + version: "3.5.0" +======= +>>>>>>> dc910948bead5fdcacd2f6935939feb4bf558691 sdks: dart: ">=2.2.2 <3.0.0"