diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..9f11b755 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea/ diff --git a/flutter-hms-account/android/build.gradle b/flutter-hms-account/android/build.gradle index fb162693..8dd81973 100644 --- a/flutter-hms-account/android/build.gradle +++ b/flutter-hms-account/android/build.gradle @@ -26,6 +26,11 @@ apply plugin: 'com.android.library' android { compileSdkVersion 33 buildToolsVersion "31.0.0" + + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.account' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 33 diff --git a/flutter-hms-ads/android/build.gradle b/flutter-hms-ads/android/build.gradle index e1efbfef..77f2602b 100644 --- a/flutter-hms-ads/android/build.gradle +++ b/flutter-hms-ads/android/build.gradle @@ -26,6 +26,11 @@ apply plugin: 'com.android.library' android { compileSdkVersion 33 buildToolsVersion "31.0.0" + + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.ads' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 33 @@ -48,4 +53,4 @@ dependencies { implementation 'com.huawei.hms:ads-installreferrer:3.4.62.300' implementation 'com.huawei.hms:stats:6.12.0.300' implementation 'com.huawei.agconnect:agconnect-core:1.9.1.301' -} \ No newline at end of file +} diff --git a/flutter-hms-adsprime/android/build.gradle b/flutter-hms-adsprime/android/build.gradle index 3d7051d5..a45af5f9 100644 --- a/flutter-hms-adsprime/android/build.gradle +++ b/flutter-hms-adsprime/android/build.gradle @@ -26,6 +26,11 @@ apply plugin: 'com.android.library' android { compileSdkVersion 33 buildToolsVersion "31.0.0" + + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.ads' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 33 diff --git a/flutter-hms-analytics/android/build.gradle b/flutter-hms-analytics/android/build.gradle index 39c9e610..b3b3da32 100644 --- a/flutter-hms-analytics/android/build.gradle +++ b/flutter-hms-analytics/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 33 buildToolsVersion "31.0.0" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.analytics' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 33 diff --git a/flutter-hms-ar/android/build.gradle b/flutter-hms-ar/android/build.gradle index d9bc88ea..12cde8df 100644 --- a/flutter-hms-ar/android/build.gradle +++ b/flutter-hms-ar/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 30 buildToolsVersion "30.0.3" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.ar' + } + defaultConfig { minSdkVersion 26 targetSdkVersion 30 diff --git a/flutter-hms-availability/android/build.gradle b/flutter-hms-availability/android/build.gradle index 2e9963ee..6286c71c 100644 --- a/flutter-hms-availability/android/build.gradle +++ b/flutter-hms-availability/android/build.gradle @@ -26,7 +26,11 @@ apply plugin: 'com.android.library' android { compileSdkVersion 33 buildToolsVersion "31.0.0" - + + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.hmsavailability' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 33 diff --git a/flutter-hms-awareness/android/build.gradle b/flutter-hms-awareness/android/build.gradle index d2a15639..e87dfbc5 100644 --- a/flutter-hms-awareness/android/build.gradle +++ b/flutter-hms-awareness/android/build.gradle @@ -26,6 +26,11 @@ apply plugin: 'com.android.library' android { compileSdkVersion 33 buildToolsVersion "31.0.0" + + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.awareness' + } + defaultConfig { minSdkVersion 24 targetSdkVersion 33 diff --git a/flutter-hms-contact-shield/android/build.gradle b/flutter-hms-contact-shield/android/build.gradle index 11631029..1ae4d2bf 100644 --- a/flutter-hms-contact-shield/android/build.gradle +++ b/flutter-hms-contact-shield/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 30 buildToolsVersion '30.0.3' + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.contactshield' + } + defaultConfig { minSdkVersion 24 targetSdkVersion 30 diff --git a/flutter-hms-drive/android/build.gradle b/flutter-hms-drive/android/build.gradle index 05b8485d..7d1de580 100644 --- a/flutter-hms-drive/android/build.gradle +++ b/flutter-hms-drive/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 30 buildToolsVersion "30.0.3" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.drive' + } + defaultConfig { minSdkVersion 27 targetSdkVersion 30 diff --git a/flutter-hms-dtm/android/build.gradle b/flutter-hms-dtm/android/build.gradle index dea1e989..45b26a62 100644 --- a/flutter-hms-dtm/android/build.gradle +++ b/flutter-hms-dtm/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 30 buildToolsVersion '30.0.3' + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.dtm' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 30 diff --git a/flutter-hms-fido/android/build.gradle b/flutter-hms-fido/android/build.gradle index d732dba8..bd704554 100644 --- a/flutter-hms-fido/android/build.gradle +++ b/flutter-hms-fido/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 30 buildToolsVersion "30.0.3" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.fido' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 30 diff --git a/flutter-hms-gameservice/android/build.gradle b/flutter-hms-gameservice/android/build.gradle index a54be87c..87a14db4 100644 --- a/flutter-hms-gameservice/android/build.gradle +++ b/flutter-hms-gameservice/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 30 buildToolsVersion "30.0.3" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.huawei_gameservice' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 30 diff --git a/flutter-hms-health/android/build.gradle b/flutter-hms-health/android/build.gradle index 616047ea..56a4cc4f 100644 --- a/flutter-hms-health/android/build.gradle +++ b/flutter-hms-health/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 33 buildToolsVersion "31.0.0" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.health' + } + defaultConfig { minSdkVersion 21 targetSdkVersion 33 diff --git a/flutter-hms-iap/android/build.gradle b/flutter-hms-iap/android/build.gradle index b02ba9b5..ebd9c235 100644 --- a/flutter-hms-iap/android/build.gradle +++ b/flutter-hms-iap/android/build.gradle @@ -26,6 +26,11 @@ apply plugin: 'com.android.library' android { compileSdkVersion 33 buildToolsVersion "31.0.0" + + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.iap' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 33 diff --git a/flutter-hms-location/android/build.gradle b/flutter-hms-location/android/build.gradle index c24238f2..3201270c 100644 --- a/flutter-hms-location/android/build.gradle +++ b/flutter-hms-location/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 33 buildToolsVersion "31.0.0" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.location' + } + defaultConfig { minSdkVersion 21 targetSdkVersion 33 diff --git a/flutter-hms-map/android/build.gradle b/flutter-hms-map/android/build.gradle index c4bcdfbe..91ca74ac 100644 --- a/flutter-hms-map/android/build.gradle +++ b/flutter-hms-map/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 33 buildToolsVersion "31.0.0" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.map' + } + defaultConfig { minSdkVersion 20 targetSdkVersion 33 diff --git a/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/HmsMap.java b/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/HmsMap.java index da1a263d..47c7586c 100644 --- a/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/HmsMap.java +++ b/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/HmsMap.java @@ -92,7 +92,7 @@ public void onAttachedToActivity(@NonNull ActivityPluginBinding activityPluginBi flutterPluginBinding.getPlatformViewRegistry() .registerViewFactory(Channel.CHANNEL, new MapFactory(state, flutterPluginBinding.getBinaryMessenger(), activityPluginBinding.getActivity(), - lifecycle, null, activityPluginBinding.getActivity().hashCode())); + lifecycle, activityPluginBinding.getActivity().hashCode())); } @Override diff --git a/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/map/MapBuilder.java b/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/map/MapBuilder.java index cf49059e..89281275 100644 --- a/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/map/MapBuilder.java +++ b/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/map/MapBuilder.java @@ -98,9 +98,9 @@ class MapBuilder implements MapMethods { MapController build(final int id, @NonNull final Context context, final Activity mActivity, final AtomicInteger state, final BinaryMessenger binaryMessenger, final Application application, - final Lifecycle lifecycle, final PluginRegistry.Registrar registrar, final int activityHashCode) { + final Lifecycle lifecycle, final int activityHashCode) { final MapController controller = new MapController(id, context, mActivity, state, binaryMessenger, application, - lifecycle, registrar, activityHashCode, options); + lifecycle, activityHashCode, options); controller.init(); controller.setAllGesturesEnabled(allGesturesEnabled); controller.setScrollGesturesEnabledDuringRotateOrZoom(scrollGesturesEnabledDuringRotateOrZoom); diff --git a/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/map/MapController.java b/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/map/MapController.java index 3ba1f1a6..8b99f5ae 100644 --- a/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/map/MapController.java +++ b/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/map/MapController.java @@ -82,8 +82,6 @@ final class MapController private final Application mApplication; - private final PluginRegistry.Registrar registrar; - private final MapView mapView; private HuaweiMap huaweiMap; @@ -154,7 +152,7 @@ final class MapController MapController(final int id, final Context context, final Activity mActivity, final AtomicInteger activityState, final BinaryMessenger binaryMessenger, final Application application, final Lifecycle lifecycle, - final PluginRegistry.Registrar registrar, final int registrarActivityHashCode, final HuaweiMapOptions options) { + final int registrarActivityHashCode, final HuaweiMapOptions options) { this.context = context; this.activityState = activityState; mapView = new MapView(mActivity, options); @@ -164,7 +162,6 @@ final class MapController methodChannel.setMethodCallHandler(this); mApplication = application; this.lifecycle = lifecycle; - this.registrar = registrar; activityHashCode = registrarActivityHashCode; mapUtils = new MapUtils(methodChannel, compactness, application); mapListenerHandler = new MapListenerHandler(id, mapUtils, methodChannel, application); @@ -952,22 +949,10 @@ private void updateMyLocationSettings() { } private int getActivityHashCode() { - if (registrar != null) { - Activity activity = registrar.activity(); - if (activity != null) { - return activity.hashCode(); - } - } return activityHashCode; } private Application getApplication() { - if (registrar != null) { - Activity activity = registrar.activity(); - if (activity != null) { - return activity.getApplication(); - } - } return mApplication; } diff --git a/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/map/MapFactory.java b/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/map/MapFactory.java index eae399c3..9f923e1c 100644 --- a/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/map/MapFactory.java +++ b/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/map/MapFactory.java @@ -51,17 +51,14 @@ public class MapFactory extends PlatformViewFactory { private final Lifecycle lifecycle; - private final PluginRegistry.Registrar registrar; - public MapFactory(final AtomicInteger state, final BinaryMessenger binaryMessenger, final Activity mActivity, - final Lifecycle lifecycle, final PluginRegistry.Registrar registrar, final int activityHashCode) { + final Lifecycle lifecycle, final int activityHashCode) { super(StandardMessageCodec.INSTANCE); mActivityState = state; this.binaryMessenger = binaryMessenger; this.application = mActivity.getApplication(); this.activityHashCode = activityHashCode; this.lifecycle = lifecycle; - this.registrar = registrar; this.mActivity = mActivity; } @@ -96,7 +93,6 @@ public PlatformView create(final Context context, final int id, final Object arg if (params.containsKey(Param.HEAT_MAPS_TO_INSERT)) { builder.setHeatMaps((List>) params.get(Param.HEAT_MAPS_TO_INSERT)); } - return builder.build(id, context, mActivity, mActivityState, binaryMessenger, application, lifecycle, registrar, - activityHashCode); + return builder.build(id, context, mActivity, mActivityState, binaryMessenger, application, lifecycle, activityHashCode); } } diff --git a/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/utils/Convert.java b/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/utils/Convert.java index d90b1540..baab562c 100644 --- a/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/utils/Convert.java +++ b/flutter-hms-map/android/src/main/java/com/huawei/hms/flutter/map/utils/Convert.java @@ -74,7 +74,7 @@ import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.MethodChannel; -import io.flutter.view.FlutterMain; +import io.flutter.FlutterInjector; import org.json.JSONArray; import org.json.JSONException; @@ -197,15 +197,15 @@ private static BitmapDescriptor toBitmapDescriptor(final Object o) { case Param.FROM_ASSET: if (data.size() == 2) { return BitmapDescriptorFactory.fromAsset( - FlutterMain.getLookupKeyForAsset(Convert.toString(data.get(1)))); + FlutterInjector.instance().flutterLoader().getLookupKeyForAsset(Convert.toString(data.get(1)))); } else { return BitmapDescriptorFactory.fromAsset( - FlutterMain.getLookupKeyForAsset(Convert.toString(data.get(1)), Convert.toString(data.get(2)))); + FlutterInjector.instance().flutterLoader().getLookupKeyForAsset(Convert.toString(data.get(1)), Convert.toString(data.get(2)))); } case Param.FROM_ASSET_IMAGE: if (data.size() == 3) { return BitmapDescriptorFactory.fromAsset( - FlutterMain.getLookupKeyForAsset(Convert.toString(data.get(1)))); + FlutterInjector.instance().flutterLoader().getLookupKeyForAsset(Convert.toString(data.get(1)))); } else { throw new IllegalArgumentException(Param.ERROR); } diff --git a/flutter-hms-ml/android/build.gradle b/flutter-hms-ml/android/build.gradle index 9bdbd13c..fc741acc 100644 --- a/flutter-hms-ml/android/build.gradle +++ b/flutter-hms-ml/android/build.gradle @@ -26,6 +26,11 @@ apply plugin: 'com.android.library' android { compileSdkVersion 29 buildToolsVersion "29.0.3" + + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.ml' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 29 diff --git a/flutter-hms-mlbody/android/build.gradle b/flutter-hms-mlbody/android/build.gradle index f3d45808..8cd00251 100644 --- a/flutter-hms-mlbody/android/build.gradle +++ b/flutter-hms-mlbody/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 31 buildToolsVersion "31.0.0" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.mlbody' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 31 diff --git a/flutter-hms-mlimage/android/build.gradle b/flutter-hms-mlimage/android/build.gradle index 1f91f146..03179552 100644 --- a/flutter-hms-mlimage/android/build.gradle +++ b/flutter-hms-mlimage/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 31 buildToolsVersion "31.0.0" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.mlimage' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 31 diff --git a/flutter-hms-mllanguage/android/build.gradle b/flutter-hms-mllanguage/android/build.gradle index 43555b57..86206353 100644 --- a/flutter-hms-mllanguage/android/build.gradle +++ b/flutter-hms-mllanguage/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 33 buildToolsVersion "31.0.0" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.mllanguage' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 33 diff --git a/flutter-hms-mltext/android/build.gradle b/flutter-hms-mltext/android/build.gradle index e9efc0d8..c613fb5a 100644 --- a/flutter-hms-mltext/android/build.gradle +++ b/flutter-hms-mltext/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 31 buildToolsVersion "31.0.0" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.mltext' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 31 diff --git a/flutter-hms-modeling/android/build.gradle b/flutter-hms-modeling/android/build.gradle index f390fc86..73b60bc2 100644 --- a/flutter-hms-modeling/android/build.gradle +++ b/flutter-hms-modeling/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 30 buildToolsVersion "30.0.3" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.modeling3d' + } + defaultConfig { minSdkVersion 26 targetSdkVersion 30 diff --git a/flutter-hms-nearbyservice/android/build.gradle b/flutter-hms-nearbyservice/android/build.gradle index 02389d00..b0cfb1ce 100644 --- a/flutter-hms-nearbyservice/android/build.gradle +++ b/flutter-hms-nearbyservice/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 33 buildToolsVersion "31.0.0" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.nearbyservice' + } + compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 diff --git a/flutter-hms-push/android/build.gradle b/flutter-hms-push/android/build.gradle index 2bc03c80..9b85dfaf 100644 --- a/flutter-hms-push/android/build.gradle +++ b/flutter-hms-push/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 33 buildToolsVersion '31.0.0' + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.push' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 33 diff --git a/flutter-hms-push/android/src/main/java/com/huawei/hms/flutter/push/backgroundmessaging/BackgroundMessagingService.java b/flutter-hms-push/android/src/main/java/com/huawei/hms/flutter/push/backgroundmessaging/BackgroundMessagingService.java index f518c7ae..516b18d9 100644 --- a/flutter-hms-push/android/src/main/java/com/huawei/hms/flutter/push/backgroundmessaging/BackgroundMessagingService.java +++ b/flutter-hms-push/android/src/main/java/com/huawei/hms/flutter/push/backgroundmessaging/BackgroundMessagingService.java @@ -24,8 +24,6 @@ import androidx.annotation.NonNull; import androidx.core.app.JobIntentService; -import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback; - import java.util.Collections; import java.util.LinkedList; import java.util.List; @@ -44,11 +42,6 @@ private synchronized void setBackgroundRunner(FlutterBackgroundRunner bgRunner) BackgroundMessagingService.backgroundRunner = bgRunner; } - // For Backwards Compatibility with V1 Plugin registration. - public static void setPluginRegistrantCallback(final PluginRegistrantCallback callback) { - FlutterBackgroundRunner.setPluginRegistrantCallback(callback); - } - public static void setUserCallback(final Context context, final long userCallback) { FlutterBackgroundRunner.setUserCallback(context, userCallback); } diff --git a/flutter-hms-push/android/src/main/java/com/huawei/hms/flutter/push/backgroundmessaging/FlutterBackgroundRunner.java b/flutter-hms-push/android/src/main/java/com/huawei/hms/flutter/push/backgroundmessaging/FlutterBackgroundRunner.java index 01659045..34e3e0f4 100644 --- a/flutter-hms-push/android/src/main/java/com/huawei/hms/flutter/push/backgroundmessaging/FlutterBackgroundRunner.java +++ b/flutter-hms-push/android/src/main/java/com/huawei/hms/flutter/push/backgroundmessaging/FlutterBackgroundRunner.java @@ -34,25 +34,23 @@ import com.huawei.hms.flutter.push.utils.RemoteMessageUtils; import com.huawei.hms.push.RemoteMessage; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.atomic.AtomicBoolean; + import io.flutter.embedding.engine.FlutterEngine; import io.flutter.embedding.engine.dart.DartExecutor; import io.flutter.embedding.engine.dart.DartExecutor.DartCallback; import io.flutter.embedding.engine.loader.FlutterLoader; -import io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry; import io.flutter.plugin.common.BinaryMessenger; 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.PluginRegistrantCallback; import io.flutter.view.FlutterCallbackInformation; -import java.util.Arrays; -import java.util.List; -import java.util.Objects; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.atomic.AtomicBoolean; - public class FlutterBackgroundRunner implements MethodCallHandler { private static final String TAG = FlutterBackgroundRunner.class.getSimpleName(); @@ -60,9 +58,6 @@ public class FlutterBackgroundRunner implements MethodCallHandler { public static final String USER_CALLBACK_KEY = "push_background_message_callback"; - // Deprecated, Support for backwards compatibility with V1 embedding. - private static PluginRegistrantCallback pluginRegistrantCallback; - private final AtomicBoolean isCallbackDispatcherReady = new AtomicBoolean(false); private MethodChannel bgMethodChannel; @@ -71,11 +66,6 @@ public class FlutterBackgroundRunner implements MethodCallHandler { private long bgMessagingCallback; - // For Backwards Compatibility with V1 Plugin registration. - public static void setPluginRegistrantCallback(final PluginRegistrantCallback callback) { - pluginRegistrantCallback = callback; - } - public static void setCallBackDispatcher(final Context context, final long callbackHandle) { final SharedPreferences prefs = context.getSharedPreferences(Core.PREFERENCE_NAME, Context.MODE_PRIVATE); prefs.edit().putLong(CALLBACK_DISPATCHER_KEY, callbackHandle).apply(); @@ -128,12 +118,6 @@ public void startBgIsolate(final Context context, final long callbackHandle) { initializeMethodChannel(executor); final DartCallback dartCallback = new DartCallback(assets, appBundlePath, flutterCallbackInfo); executor.executeDartCallback(dartCallback); - - // For V1 Embedding - if (pluginRegistrantCallback != null) { - pluginRegistrantCallback.registerWith(new ShimPluginRegistry(flutterEngine)); - } - } }); }; diff --git a/flutter-hms-push/example/.gradle/8.12/checksums/checksums.lock b/flutter-hms-push/example/.gradle/8.12/checksums/checksums.lock new file mode 100644 index 00000000..d2194717 Binary files /dev/null and b/flutter-hms-push/example/.gradle/8.12/checksums/checksums.lock differ diff --git a/flutter-hms-push/example/.gradle/8.12/checksums/md5-checksums.bin b/flutter-hms-push/example/.gradle/8.12/checksums/md5-checksums.bin new file mode 100644 index 00000000..bafbfa20 Binary files /dev/null and b/flutter-hms-push/example/.gradle/8.12/checksums/md5-checksums.bin differ diff --git a/flutter-hms-push/example/.gradle/8.12/checksums/sha1-checksums.bin b/flutter-hms-push/example/.gradle/8.12/checksums/sha1-checksums.bin new file mode 100644 index 00000000..85fc9ab9 Binary files /dev/null and b/flutter-hms-push/example/.gradle/8.12/checksums/sha1-checksums.bin differ diff --git a/flutter-hms-push/example/.gradle/8.12/executionHistory/executionHistory.lock b/flutter-hms-push/example/.gradle/8.12/executionHistory/executionHistory.lock new file mode 100644 index 00000000..30e9a906 Binary files /dev/null and b/flutter-hms-push/example/.gradle/8.12/executionHistory/executionHistory.lock differ diff --git a/flutter-hms-push/example/.gradle/8.12/fileChanges/last-build.bin b/flutter-hms-push/example/.gradle/8.12/fileChanges/last-build.bin new file mode 100644 index 00000000..f76dd238 Binary files /dev/null and b/flutter-hms-push/example/.gradle/8.12/fileChanges/last-build.bin differ diff --git a/flutter-hms-push/example/.gradle/8.12/fileHashes/fileHashes.bin b/flutter-hms-push/example/.gradle/8.12/fileHashes/fileHashes.bin new file mode 100644 index 00000000..68b0fe10 Binary files /dev/null and b/flutter-hms-push/example/.gradle/8.12/fileHashes/fileHashes.bin differ diff --git a/flutter-hms-push/example/.gradle/8.12/fileHashes/fileHashes.lock b/flutter-hms-push/example/.gradle/8.12/fileHashes/fileHashes.lock new file mode 100644 index 00000000..0919897a Binary files /dev/null and b/flutter-hms-push/example/.gradle/8.12/fileHashes/fileHashes.lock differ diff --git a/flutter-hms-push/example/.gradle/8.12/fileHashes/resourceHashesCache.bin b/flutter-hms-push/example/.gradle/8.12/fileHashes/resourceHashesCache.bin new file mode 100644 index 00000000..f2fbbbcd Binary files /dev/null and b/flutter-hms-push/example/.gradle/8.12/fileHashes/resourceHashesCache.bin differ diff --git a/flutter-hms-push/example/.gradle/8.12/gc.properties b/flutter-hms-push/example/.gradle/8.12/gc.properties new file mode 100644 index 00000000..e69de29b diff --git a/flutter-hms-push/example/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/flutter-hms-push/example/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 00000000..b7d4e19c Binary files /dev/null and b/flutter-hms-push/example/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/flutter-hms-push/example/.gradle/buildOutputCleanup/cache.properties b/flutter-hms-push/example/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 00000000..b0265455 --- /dev/null +++ b/flutter-hms-push/example/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Tue Jan 28 20:54:08 CET 2025 +gradle.version=8.12 diff --git a/flutter-hms-push/example/.gradle/buildOutputCleanup/outputFiles.bin b/flutter-hms-push/example/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 00000000..b0335390 Binary files /dev/null and b/flutter-hms-push/example/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/flutter-hms-push/example/.gradle/config.properties b/flutter-hms-push/example/.gradle/config.properties new file mode 100644 index 00000000..db95e459 --- /dev/null +++ b/flutter-hms-push/example/.gradle/config.properties @@ -0,0 +1,2 @@ +#Tue Jan 28 21:36:01 CET 2025 +java.home=/Users/maurix/Library/Java/JavaVirtualMachines/azul-17.0.14/Contents/Home diff --git a/flutter-hms-push/example/.gradle/file-system.probe b/flutter-hms-push/example/.gradle/file-system.probe new file mode 100644 index 00000000..51cc559f Binary files /dev/null and b/flutter-hms-push/example/.gradle/file-system.probe differ diff --git a/flutter-hms-push/example/.gradle/noVersion/buildLogic.lock b/flutter-hms-push/example/.gradle/noVersion/buildLogic.lock new file mode 100644 index 00000000..caab0c8c Binary files /dev/null and b/flutter-hms-push/example/.gradle/noVersion/buildLogic.lock differ diff --git a/flutter-hms-push/example/.gradle/vcs-1/gc.properties b/flutter-hms-push/example/.gradle/vcs-1/gc.properties new file mode 100644 index 00000000..e69de29b diff --git a/flutter-hms-push/example/android/app/build.gradle b/flutter-hms-push/example/android/app/build.gradle index 698fd44f..10b856ac 100644 --- a/flutter-hms-push/example/android/app/build.gradle +++ b/flutter-hms-push/example/android/app/build.gradle @@ -1,3 +1,8 @@ +plugins { + id "com.android.application" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file("local.properties") if (localPropertiesFile.exists()) { @@ -21,17 +26,17 @@ if (flutterVersionName == null) { flutterVersionName = "1.0" } -apply plugin: "com.android.application" -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" -apply plugin: "com.huawei.agconnect" - android { - compileSdkVersion 33 + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.push_example' + } + + compileSdkVersion flutter.compileSdkVersion defaultConfig { - applicationId "" - minSdkVersion 21 - targetSdkVersion 33 + applicationId "com.huawei.hms.flutter.push_example" + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName } @@ -41,8 +46,8 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } signingConfigs { diff --git a/flutter-hms-push/example/android/build.gradle b/flutter-hms-push/example/android/build.gradle index 40eff932..193021a6 100644 --- a/flutter-hms-push/example/android/build.gradle +++ b/flutter-hms-push/example/android/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { - classpath "com.android.tools.build:gradle:7.3.0" + classpath 'com.android.tools.build:gradle:8.10.0' classpath "com.huawei.agconnect:agcp:1.9.1.301" } } diff --git a/flutter-hms-push/example/android/build/reports/problems/problems-report.html b/flutter-hms-push/example/android/build/reports/problems/problems-report.html new file mode 100644 index 00000000..0d1b4b45 --- /dev/null +++ b/flutter-hms-push/example/android/build/reports/problems/problems-report.html @@ -0,0 +1,663 @@ + + + + + + + + + + + + + Gradle Configuration Cache + + + +
+ +
+ Loading... +
+ + + + + + diff --git a/flutter-hms-push/example/android/gradle/wrapper/gradle-wrapper.properties b/flutter-hms-push/example/android/gradle/wrapper/gradle-wrapper.properties index 8049c684..9d584b8a 100644 --- a/flutter-hms-push/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/flutter-hms-push/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Wed May 28 22:15:38 CEST 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/flutter-hms-push/example/android/settings.gradle b/flutter-hms-push/example/android/settings.gradle index 44e62bcf..15c59474 100644 --- a/flutter-hms-push/example/android/settings.gradle +++ b/flutter-hms-push/example/android/settings.gradle @@ -1,11 +1,25 @@ -include ':app' +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 + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version '8.10.0' apply false +} + +include ":app" diff --git a/flutter-hms-push/example/gradle.properties b/flutter-hms-push/example/gradle.properties new file mode 100644 index 00000000..f0df5a38 --- /dev/null +++ b/flutter-hms-push/example/gradle.properties @@ -0,0 +1,10 @@ +org.gradle.jvmargs=-Xmx4g +#android.enableR8.fullMode=false +#android.enableR8.incremental=false +#org.gradle.daemon=false +org.gradle.parallel=false +org.gradle.caching=false +android.useAndroidX=true +android.enableJetifier=true +android.nonTransitiveRClass=false +android.nonFinalResIds=false diff --git a/flutter-hms-push/example/gradle/wrapper/gradle-wrapper.jar b/flutter-hms-push/example/gradle/wrapper/gradle-wrapper.jar new file mode 100755 index 00000000..13372aef Binary files /dev/null and b/flutter-hms-push/example/gradle/wrapper/gradle-wrapper.jar differ diff --git a/flutter-hms-push/example/gradle/wrapper/gradle-wrapper.properties b/flutter-hms-push/example/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..c3687c1c --- /dev/null +++ b/flutter-hms-push/example/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Mar 13 12:51:00 CET 2024 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/flutter-hms-push/example/gradlew b/flutter-hms-push/example/gradlew new file mode 100755 index 00000000..9d82f789 --- /dev/null +++ b/flutter-hms-push/example/gradlew @@ -0,0 +1,160 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/flutter-hms-push/example/gradlew.bat b/flutter-hms-push/example/gradlew.bat new file mode 100755 index 00000000..aec99730 --- /dev/null +++ b/flutter-hms-push/example/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/flutter-hms-pushfcm/android/build.gradle b/flutter-hms-pushfcm/android/build.gradle index b64bd34b..ea241d0e 100644 --- a/flutter-hms-pushfcm/android/build.gradle +++ b/flutter-hms-pushfcm/android/build.gradle @@ -26,6 +26,11 @@ apply plugin: 'com.android.library' android { compileSdkVersion 30 buildToolsVersion "30.0.3" + + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.pushfcm' + } + defaultConfig { minSdkVersion 17 targetSdkVersion 30 @@ -42,4 +47,4 @@ android { dependencies { implementation 'com.huawei.hms:push-fcm:6.3.0.304' -} \ No newline at end of file +} diff --git a/flutter-hms-safetydetect/android/build.gradle b/flutter-hms-safetydetect/android/build.gradle index 5c1fecdb..d2a9d738 100644 --- a/flutter-hms-safetydetect/android/build.gradle +++ b/flutter-hms-safetydetect/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 30 buildToolsVersion "30.0.3" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.safetydetect' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 30 diff --git a/flutter-hms-scan/android/build.gradle b/flutter-hms-scan/android/build.gradle index f8498c46..4885f7e0 100644 --- a/flutter-hms-scan/android/build.gradle +++ b/flutter-hms-scan/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 33 buildToolsVersion "31.0.0" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.scan' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 33 diff --git a/flutter-hms-site/android/build.gradle b/flutter-hms-site/android/build.gradle index 0decb6e5..80cd731c 100644 --- a/flutter-hms-site/android/build.gradle +++ b/flutter-hms-site/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 33 buildToolsVersion "31.0.0" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.site' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 33 diff --git a/flutter-hms-wallet/android/build.gradle b/flutter-hms-wallet/android/build.gradle index 0be5170b..b51a18a5 100644 --- a/flutter-hms-wallet/android/build.gradle +++ b/flutter-hms-wallet/android/build.gradle @@ -27,6 +27,10 @@ android { compileSdkVersion 30 buildToolsVersion "30.0.3" + if (project.android.hasProperty("namespace")) { + namespace 'com.huawei.hms.flutter.wallet' + } + defaultConfig { minSdkVersion 19 targetSdkVersion 30