diff --git a/packages/share_plus/CHANGELOG.md b/packages/share_plus/CHANGELOG.md index bcb2e3a76c..2294513050 100644 --- a/packages/share_plus/CHANGELOG.md +++ b/packages/share_plus/CHANGELOG.md @@ -1,3 +1,8 @@ +## 1.2.0 + +- Add Web support (`share_plus_web`) +- Rename method channel to avoid conflicts + ## 1.1.1 - Transfer to plus-plugins monorepo diff --git a/packages/share_plus/android/build.gradle b/packages/share_plus/android/build.gradle index 7506f4db82..b75994794c 100644 --- a/packages/share_plus/android/build.gradle +++ b/packages/share_plus/android/build.gradle @@ -1,4 +1,4 @@ -group 'io.flutter.plugins.share' +group 'dev.fluttercommunity.plus.share' version '1.0-SNAPSHOT' buildscript { diff --git a/packages/share_plus/android/src/main/AndroidManifest.xml b/packages/share_plus/android/src/main/AndroidManifest.xml index c141a5c679..8bbbe44d82 100644 --- a/packages/share_plus/android/src/main/AndroidManifest.xml +++ b/packages/share_plus/android/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ + package="dev.fluttercommunity.plus.share"> diff --git a/packages/share_plus/android/src/main/java/io/flutter/plugins/share/MethodCallHandler.java b/packages/share_plus/android/src/main/java/dev/fluttercommunity/plus/share/MethodCallHandler.java similarity index 97% rename from packages/share_plus/android/src/main/java/io/flutter/plugins/share/MethodCallHandler.java rename to packages/share_plus/android/src/main/java/dev/fluttercommunity/plus/share/MethodCallHandler.java index 02841d3a4a..1a00cde471 100644 --- a/packages/share_plus/android/src/main/java/io/flutter/plugins/share/MethodCallHandler.java +++ b/packages/share_plus/android/src/main/java/dev/fluttercommunity/plus/share/MethodCallHandler.java @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -package io.flutter.plugins.share; +package dev.fluttercommunity.plus.share; import io.flutter.plugin.common.MethodCall; import io.flutter.plugin.common.MethodChannel; diff --git a/packages/share_plus/android/src/main/java/io/flutter/plugins/share/Share.java b/packages/share_plus/android/src/main/java/dev/fluttercommunity/plus/share/Share.java similarity index 99% rename from packages/share_plus/android/src/main/java/io/flutter/plugins/share/Share.java rename to packages/share_plus/android/src/main/java/dev/fluttercommunity/plus/share/Share.java index eb856bf572..dc671d6b00 100644 --- a/packages/share_plus/android/src/main/java/io/flutter/plugins/share/Share.java +++ b/packages/share_plus/android/src/main/java/dev/fluttercommunity/plus/share/Share.java @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -package io.flutter.plugins.share; +package dev.fluttercommunity.plus.share; import android.app.Activity; import android.content.Context; diff --git a/packages/share_plus/android/src/main/java/io/flutter/plugins/share/ShareFileProvider.java b/packages/share_plus/android/src/main/java/dev/fluttercommunity/plus/share/ShareFileProvider.java similarity index 91% rename from packages/share_plus/android/src/main/java/io/flutter/plugins/share/ShareFileProvider.java rename to packages/share_plus/android/src/main/java/dev/fluttercommunity/plus/share/ShareFileProvider.java index 87e4e42a03..cea5ae018e 100644 --- a/packages/share_plus/android/src/main/java/io/flutter/plugins/share/ShareFileProvider.java +++ b/packages/share_plus/android/src/main/java/dev/fluttercommunity/plus/share/ShareFileProvider.java @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -package io.flutter.plugins.share; +package dev.fluttercommunity.plus.share; import androidx.core.content.FileProvider; diff --git a/packages/share_plus/android/src/main/java/io/flutter/plugins/share/SharePlugin.java b/packages/share_plus/android/src/main/java/dev/fluttercommunity/plus/share/SharePlusPlugin.java similarity index 89% rename from packages/share_plus/android/src/main/java/io/flutter/plugins/share/SharePlugin.java rename to packages/share_plus/android/src/main/java/dev/fluttercommunity/plus/share/SharePlusPlugin.java index bd7dfc22a3..dfbff88d62 100644 --- a/packages/share_plus/android/src/main/java/io/flutter/plugins/share/SharePlugin.java +++ b/packages/share_plus/android/src/main/java/dev/fluttercommunity/plus/share/SharePlusPlugin.java @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -package io.flutter.plugins.share; +package dev.fluttercommunity.plus.share; import android.app.Activity; import android.content.Context; @@ -14,15 +14,15 @@ import io.flutter.plugin.common.PluginRegistry.Registrar; /** Plugin method host for presenting a share sheet via Intent */ -public class SharePlugin implements FlutterPlugin, ActivityAware { +public class SharePlusPlugin implements FlutterPlugin, ActivityAware { - private static final String CHANNEL = "plugins.flutter.io/share"; + private static final String CHANNEL = "dev.fluttercommunity.plus/share"; private MethodCallHandler handler; private Share share; private MethodChannel methodChannel; public static void registerWith(Registrar registrar) { - SharePlugin plugin = new SharePlugin(); + SharePlusPlugin plugin = new SharePlusPlugin(); plugin.setUpChannel(registrar.context(), registrar.activity(), registrar.messenger()); } diff --git a/packages/share_plus/example/android/app/src/main/java/io/flutter/plugins/shareexample/EmbeddingV1Activity.java b/packages/share_plus/example/android/app/src/main/java/io/flutter/plugins/shareexample/EmbeddingV1Activity.java index 70b1a8d8f0..3dfae43004 100644 --- a/packages/share_plus/example/android/app/src/main/java/io/flutter/plugins/shareexample/EmbeddingV1Activity.java +++ b/packages/share_plus/example/android/app/src/main/java/io/flutter/plugins/shareexample/EmbeddingV1Activity.java @@ -6,8 +6,8 @@ import android.os.Bundle; import dev.flutter.plugins.integration_test.IntegrationTestPlugin; +import dev.fluttercommunity.plus.share.SharePlusPlugin; import io.flutter.app.FlutterActivity; -import io.flutter.plugins.share.SharePlugin; public class EmbeddingV1Activity extends FlutterActivity { @@ -16,6 +16,6 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); IntegrationTestPlugin.registerWith( registrarFor("dev.flutter.plugins.integration_test.IntegrationTestPlugin")); - SharePlugin.registerWith(registrarFor("io.flutter.plugins.share.SharePlugin")); + SharePlusPlugin.registerWith(registrarFor("dev.fluttercommunity.plus.share.SharePlusPlugin")); } } diff --git a/packages/share_plus/ios/Classes/FLTSharePlugin.h b/packages/share_plus/ios/Classes/FLTSharePlusPlugin.h similarity index 77% rename from packages/share_plus/ios/Classes/FLTSharePlugin.h rename to packages/share_plus/ios/Classes/FLTSharePlusPlugin.h index b06f1d0be6..a601b045ae 100644 --- a/packages/share_plus/ios/Classes/FLTSharePlugin.h +++ b/packages/share_plus/ios/Classes/FLTSharePlusPlugin.h @@ -4,5 +4,5 @@ #import -@interface FLTSharePlugin : NSObject +@interface FLTSharePlusPlugin : NSObject @end diff --git a/packages/share_plus/ios/Classes/FLTSharePlugin.m b/packages/share_plus/ios/Classes/FLTSharePlusPlugin.m similarity index 93% rename from packages/share_plus/ios/Classes/FLTSharePlugin.m rename to packages/share_plus/ios/Classes/FLTSharePlusPlugin.m index 837623a011..6e48820b4f 100644 --- a/packages/share_plus/ios/Classes/FLTSharePlugin.m +++ b/packages/share_plus/ios/Classes/FLTSharePlusPlugin.m @@ -2,11 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "FLTSharePlugin.h" +#import "FLTSharePlusPlugin.h" -static NSString *const PLATFORM_CHANNEL = @"plugins.flutter.io/share"; +static NSString *const PLATFORM_CHANNEL = @"dev.fluttercommunity.plus/share"; -@interface ShareData : NSObject +@interface SharePlusData : NSObject @property(readonly, nonatomic, copy) NSString *subject; @property(readonly, nonatomic, copy) NSString *text; @@ -21,7 +21,7 @@ - (instancetype)init __attribute__((unavailable("Use initWithSubject:text: inste @end -@implementation ShareData +@implementation SharePlusData - (instancetype)init { [super doesNotRecognizeSelector:_cmd]; @@ -91,7 +91,7 @@ - (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize { @end -@implementation FLTSharePlugin +@implementation FLTSharePlusPlugin + (void)registerWithRegistrar:(NSObject *)registrar { FlutterMethodChannel *shareChannel = @@ -178,7 +178,7 @@ + (void)shareText:(NSString *)shareText subject:(NSString *)subject withController:(UIViewController *)controller atSource:(CGRect)origin { - ShareData *data = [[ShareData alloc] initWithSubject:subject text:shareText]; + SharePlusData *data = [[SharePlusData alloc] initWithSubject:subject text:shareText]; [self share:@[ data ] withController:controller atSource:origin]; } @@ -191,7 +191,7 @@ + (void)shareFiles:(NSArray *)paths NSMutableArray *items = [[NSMutableArray alloc] init]; if (text || subject) { - [items addObject:[[ShareData alloc] initWithSubject:subject text:text]]; + [items addObject:[[SharePlusData alloc] initWithSubject:subject text:text]]; } for (int i = 0; i < [paths count]; i++) { @@ -207,7 +207,7 @@ + (void)shareFiles:(NSArray *)paths UIImage *image = [UIImage imageWithContentsOfFile:path]; [items addObject:image]; } else { - [items addObject:[[ShareData alloc] initWithFile:path mimeType:mimeType]]; + [items addObject:[[SharePlusData alloc] initWithFile:path mimeType:mimeType]]; } } diff --git a/packages/share_plus/pubspec.yaml b/packages/share_plus/pubspec.yaml index b491b54126..9c58878e12 100644 --- a/packages/share_plus/pubspec.yaml +++ b/packages/share_plus/pubspec.yaml @@ -1,6 +1,6 @@ name: share_plus description: Flutter plugin for sharing content via the platform share UI, using the ACTION_SEND intent on Android and UIActivityViewController on iOS. -version: 1.1.1 +version: 1.2.0 homepage: https://plus.fluttercommunity.dev/ repository: https://github.com/fluttercommunity/plus_plugins/tree/main/packages/ @@ -8,10 +8,10 @@ flutter: plugin: platforms: android: - package: io.flutter.plugins.share - pluginClass: SharePlugin + package: dev.fluttercommunity.plus.share + pluginClass: SharePlusPlugin ios: - pluginClass: FLTSharePlugin + pluginClass: FLTSharePlusPlugin linux: default_package: share_plus_linux web: @@ -24,7 +24,7 @@ dependencies: mime: ^0.9.7 flutter: sdk: flutter - share_plus_platform_interface: ^1.1.0 + share_plus_platform_interface: ^1.2.0 share_plus_linux: ^1.1.0 share_plus_windows: ^0.1.0 share_plus_web: ^0.1.0 diff --git a/packages/share_plus_platform_interface/CHANGELOG.md b/packages/share_plus_platform_interface/CHANGELOG.md index d2a91085c4..68bd4a29ee 100644 --- a/packages/share_plus_platform_interface/CHANGELOG.md +++ b/packages/share_plus_platform_interface/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.2.0 + +- Rename method channel to avoid conflicts + ## 1.1.0 - Transfer to plus-plugins monorepo diff --git a/packages/share_plus_platform_interface/lib/method_channel/method_channel_share.dart b/packages/share_plus_platform_interface/lib/method_channel/method_channel_share.dart index 0a9ef3204a..4330277492 100644 --- a/packages/share_plus_platform_interface/lib/method_channel/method_channel_share.dart +++ b/packages/share_plus_platform_interface/lib/method_channel/method_channel_share.dart @@ -16,7 +16,7 @@ class MethodChannelShare extends SharePlatform { /// [MethodChannel] used to communicate with the platform side. @visibleForTesting static const MethodChannel channel = - MethodChannel('plugins.flutter.io/share'); + MethodChannel('dev.fluttercommunity.plus/share'); /// Summons the platform's share sheet to share text. @override diff --git a/packages/share_plus_platform_interface/pubspec.yaml b/packages/share_plus_platform_interface/pubspec.yaml index 91ee092fec..a400b3b111 100644 --- a/packages/share_plus_platform_interface/pubspec.yaml +++ b/packages/share_plus_platform_interface/pubspec.yaml @@ -1,6 +1,6 @@ name: share_plus_platform_interface description: A common platform interface for the share_plus plugin. -version: 1.1.0 +version: 1.2.0 homepage: https://plus.fluttercommunity.dev/ repository: https://github.com/fluttercommunity/plus_plugins/tree/main/packages/ diff --git a/packages/share_plus_web/lib/share_plus_web.dart b/packages/share_plus_web/lib/share_plus_web.dart index ffe4623e3e..8302db006e 100644 --- a/packages/share_plus_web/lib/share_plus_web.dart +++ b/packages/share_plus_web/lib/share_plus_web.dart @@ -7,16 +7,16 @@ import 'package:share_plus_platform_interface/share_plus_platform_interface.dart import 'package:url_launcher/url_launcher.dart'; /// The web implementation of [SharePlatform]. -class SharePlugin extends SharePlatform { +class SharePlusPlugin extends SharePlatform { /// Registers this class as the default instance of [SharePlatform]. static void registerWith(Registrar registrar) { - SharePlatform.instance = SharePlugin(); + SharePlatform.instance = SharePlusPlugin(); } final _navigator; /// A constructor that allows tests to override the window object used by the plugin. - SharePlugin({@visibleForTesting html.Navigator debugNavigator}) + SharePlusPlugin({@visibleForTesting html.Navigator debugNavigator}) : _navigator = debugNavigator ?? html.window.navigator; @override diff --git a/packages/share_plus_web/pubspec.yaml b/packages/share_plus_web/pubspec.yaml index 5a4ec7b6ec..c07da127e5 100644 --- a/packages/share_plus_web/pubspec.yaml +++ b/packages/share_plus_web/pubspec.yaml @@ -11,11 +11,11 @@ flutter: plugin: platforms: web: - pluginClass: SharePlugin + pluginClass: SharePlusPlugin fileName: share_plus_web.dart dependencies: - share_plus_platform_interface: ^1.1.0 + share_plus_platform_interface: ^1.2.0 url_launcher: ^5.2.5 flutter: sdk: flutter diff --git a/packages/share_plus_web/test/test_driver/share_plus_web_integration.dart b/packages/share_plus_web/test/test_driver/share_plus_web_integration.dart index 3a2854c30b..c9dbf535c6 100644 --- a/packages/share_plus_web/test/test_driver/share_plus_web_integration.dart +++ b/packages/share_plus_web/test/test_driver/share_plus_web_integration.dart @@ -11,18 +11,18 @@ class _MockNavigator extends Mock implements html.Navigator {} void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); - group('SharePlugin', () { + group('SharePlusPlugin', () { _MockWindow mockWindow; _MockNavigator mockNavigator; - SharePlugin plugin; + SharePlusPlugin plugin; setUp(() { mockWindow = _MockWindow(); mockNavigator = _MockNavigator(); when(mockWindow.navigator).thenReturn(mockNavigator); - plugin = SharePlugin(debugNavigator: mockNavigator); + plugin = SharePlusPlugin(debugNavigator: mockNavigator); }); group('share', () { testWidgets('can share url', (WidgetTester _) async {