} name collisions.
+ *
+ * See https://developer.android.com/guide/topics/manifest/provider-element.html for details.
+ */
+public class ShareFileProvider extends 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/io/flutter/plugins/share/SharePlugin.java
new file mode 100644
index 0000000000..bd7dfc22a3
--- /dev/null
+++ b/packages/share_plus/android/src/main/java/io/flutter/plugins/share/SharePlugin.java
@@ -0,0 +1,72 @@
+// Copyright 2019 The Flutter Authors. All rights reserved.
+// 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;
+
+import android.app.Activity;
+import android.content.Context;
+import io.flutter.embedding.engine.plugins.FlutterPlugin;
+import io.flutter.embedding.engine.plugins.activity.ActivityAware;
+import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding;
+import io.flutter.plugin.common.BinaryMessenger;
+import io.flutter.plugin.common.MethodChannel;
+import io.flutter.plugin.common.PluginRegistry.Registrar;
+
+/** Plugin method host for presenting a share sheet via Intent */
+public class SharePlugin implements FlutterPlugin, ActivityAware {
+
+ private static final String CHANNEL = "plugins.flutter.io/share";
+ private MethodCallHandler handler;
+ private Share share;
+ private MethodChannel methodChannel;
+
+ public static void registerWith(Registrar registrar) {
+ SharePlugin plugin = new SharePlugin();
+ plugin.setUpChannel(registrar.context(), registrar.activity(), registrar.messenger());
+ }
+
+ @Override
+ public void onAttachedToEngine(FlutterPluginBinding binding) {
+ setUpChannel(binding.getApplicationContext(), null, binding.getBinaryMessenger());
+ }
+
+ @Override
+ public void onDetachedFromEngine(FlutterPluginBinding binding) {
+ methodChannel.setMethodCallHandler(null);
+ methodChannel = null;
+ share = null;
+ }
+
+ @Override
+ public void onAttachedToActivity(ActivityPluginBinding binding) {
+ share.setActivity(binding.getActivity());
+ }
+
+ @Override
+ public void onDetachedFromActivity() {
+ tearDownChannel();
+ }
+
+ @Override
+ public void onReattachedToActivityForConfigChanges(ActivityPluginBinding binding) {
+ onAttachedToActivity(binding);
+ }
+
+ @Override
+ public void onDetachedFromActivityForConfigChanges() {
+ onDetachedFromActivity();
+ }
+
+ private void setUpChannel(Context context, Activity activity, BinaryMessenger messenger) {
+ methodChannel = new MethodChannel(messenger, CHANNEL);
+ share = new Share(context, activity);
+ handler = new MethodCallHandler(share);
+ methodChannel.setMethodCallHandler(handler);
+ }
+
+ private void tearDownChannel() {
+ share.setActivity(null);
+ methodChannel.setMethodCallHandler(null);
+ }
+}
diff --git a/packages/share_plus/android/src/main/res/xml/flutter_share_file_paths.xml b/packages/share_plus/android/src/main/res/xml/flutter_share_file_paths.xml
new file mode 100644
index 0000000000..e68bf916a3
--- /dev/null
+++ b/packages/share_plus/android/src/main/res/xml/flutter_share_file_paths.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/packages/share_plus/example/android.iml b/packages/share_plus/example/android.iml
deleted file mode 100644
index 462b903e05..0000000000
--- a/packages/share_plus/example/android.iml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/connectivity_macos/example/android/app/src/main/AndroidManifest.xml b/packages/share_plus/example/android/app/src/main/AndroidManifest.xml
similarity index 60%
rename from packages/connectivity_macos/example/android/app/src/main/AndroidManifest.xml
rename to packages/share_plus/example/android/app/src/main/AndroidManifest.xml
index 664b743035..350fdaf583 100644
--- a/packages/connectivity_macos/example/android/app/src/main/AndroidManifest.xml
+++ b/packages/share_plus/example/android/app/src/main/AndroidManifest.xml
@@ -1,30 +1,26 @@
+ package="io.flutter.plugins.shareexample">
-
+
+ android:launchMode="singleTop"
+ android:theme="@android:style/Theme.Black.NoTitleBar"
+ android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection"
+ android:hardwareAccelerated="true"
+ android:windowSoftInputMode="adjustResize">
-
-
+
diff --git a/packages/connectivity_macos/example/android/app/src/main/java/io/flutter/plugins/connectivityexample/EmbeddingV1Activity.java b/packages/share_plus/example/android/app/src/main/java/io/flutter/plugins/shareexample/EmbeddingV1Activity.java
similarity index 52%
rename from packages/connectivity_macos/example/android/app/src/main/java/io/flutter/plugins/connectivityexample/EmbeddingV1Activity.java
rename to packages/share_plus/example/android/app/src/main/java/io/flutter/plugins/shareexample/EmbeddingV1Activity.java
index fa10cd5b7f..70b1a8d8f0 100644
--- a/packages/connectivity_macos/example/android/app/src/main/java/io/flutter/plugins/connectivityexample/EmbeddingV1Activity.java
+++ b/packages/share_plus/example/android/app/src/main/java/io/flutter/plugins/shareexample/EmbeddingV1Activity.java
@@ -2,17 +2,20 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-package io.flutter.plugins.connectivityexample;
+package io.flutter.plugins.shareexample;
import android.os.Bundle;
+import dev.flutter.plugins.integration_test.IntegrationTestPlugin;
import io.flutter.app.FlutterActivity;
-import io.flutter.plugins.connectivity.ConnectivityPlugin;
+import io.flutter.plugins.share.SharePlugin;
public class EmbeddingV1Activity extends FlutterActivity {
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- ConnectivityPlugin.registerWith(
- registrarFor("io.flutter.plugins.connectivity.ConnectivityPlugin"));
+ IntegrationTestPlugin.registerWith(
+ registrarFor("dev.flutter.plugins.integration_test.IntegrationTestPlugin"));
+ SharePlugin.registerWith(registrarFor("io.flutter.plugins.share.SharePlugin"));
}
}
diff --git a/packages/connectivity_macos/example/android/app/src/main/java/io/flutter/plugins/connectivityexample/EmbeddingV1ActivityTest.java b/packages/share_plus/example/android/app/src/main/java/io/flutter/plugins/shareexample/EmbeddingV1ActivityTest.java
similarity index 62%
rename from packages/connectivity_macos/example/android/app/src/main/java/io/flutter/plugins/connectivityexample/EmbeddingV1ActivityTest.java
rename to packages/share_plus/example/android/app/src/main/java/io/flutter/plugins/shareexample/EmbeddingV1ActivityTest.java
index 048da07099..b5ae4ef061 100644
--- a/packages/connectivity_macos/example/android/app/src/main/java/io/flutter/plugins/connectivityexample/EmbeddingV1ActivityTest.java
+++ b/packages/share_plus/example/android/app/src/main/java/io/flutter/plugins/shareexample/EmbeddingV1ActivityTest.java
@@ -1,8 +1,4 @@
-// Copyright 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package io.flutter.plugins.connectivityexample;
+package io.flutter.plugins.shareexample;
import androidx.test.rule.ActivityTestRule;
import dev.flutter.plugins.integration_test.FlutterTestRunner;
diff --git a/packages/connectivity_macos/example/android/app/src/main/java/io/flutter/plugins/connectivityexample/FlutterActivityTest.java b/packages/share_plus/example/android/app/src/main/java/io/flutter/plugins/shareexample/FlutterActivityTest.java
similarity index 92%
rename from packages/connectivity_macos/example/android/app/src/main/java/io/flutter/plugins/connectivityexample/FlutterActivityTest.java
rename to packages/share_plus/example/android/app/src/main/java/io/flutter/plugins/shareexample/FlutterActivityTest.java
index 0f0dcf2555..3b73737f15 100644
--- a/packages/connectivity_macos/example/android/app/src/main/java/io/flutter/plugins/connectivityexample/FlutterActivityTest.java
+++ b/packages/share_plus/example/android/app/src/main/java/io/flutter/plugins/shareexample/FlutterActivityTest.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.connectivityexample;
+package io.flutter.plugins.shareexample;
import androidx.test.rule.ActivityTestRule;
import dev.flutter.plugins.integration_test.FlutterTestRunner;
diff --git a/packages/connectivity_macos/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/share_plus/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from packages/connectivity_macos/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to packages/share_plus/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
diff --git a/packages/connectivity_macos/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/share_plus/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from packages/connectivity_macos/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to packages/share_plus/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
diff --git a/packages/connectivity_macos/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/packages/share_plus/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from packages/connectivity_macos/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to packages/share_plus/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
diff --git a/packages/connectivity_macos/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/share_plus/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from packages/connectivity_macos/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to packages/share_plus/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
diff --git a/packages/connectivity_macos/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/share_plus/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
rename from packages/connectivity_macos/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
rename to packages/share_plus/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
diff --git a/packages/share_plus/example/share_example.iml b/packages/share_plus/example/share_example.iml
deleted file mode 100644
index 9d5dae1954..0000000000
--- a/packages/share_plus/example/share_example.iml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/share_plus/ios/share.podspec b/packages/share_plus/ios/share_plus.podspec
similarity index 96%
rename from packages/share_plus/ios/share.podspec
rename to packages/share_plus/ios/share_plus.podspec
index 73d6030c68..77206cad08 100644
--- a/packages/share_plus/ios/share.podspec
+++ b/packages/share_plus/ios/share_plus.podspec
@@ -2,7 +2,7 @@
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
#
Pod::Spec.new do |s|
- s.name = 'share'
+ s.name = 'share_plus'
s.version = '0.0.1'
s.summary = 'Flutter Share'
s.description = <<-DESC
diff --git a/packages/share_plus_linux/.gitignore b/packages/share_plus_linux/.gitignore
index 1985397a2c..88ce490e47 100644
--- a/packages/share_plus_linux/.gitignore
+++ b/packages/share_plus_linux/.gitignore
@@ -1,74 +1,47 @@
-# Miscellaneous
-*.class
-*.log
-*.pyc
-*.swp
.DS_Store
.atom/
-.buildlog/
-.history
-.svn/
-
-# IntelliJ related
-*.iml
-*.ipr
-*.iws
.idea/
+.vscode/
-# The .vscode folder contains launch configuration and tasks you configure in
-# VS Code which you may wish to be included in version control, so this line
-# is commented out by default.
-#.vscode/
-
-# Flutter/Dart/Pub related
-**/doc/api/
-.dart_tool/
-.flutter-plugins
-.flutter-plugins-dependencies
.packages
-.pub-cache/
.pub/
-build/
+.dart_tool/
+pubspec.lock
+flutter_export_environment.sh
-# Android related
-**/android/**/gradle-wrapper.jar
-**/android/.gradle
-**/android/captures/
-**/android/gradlew
-**/android/gradlew.bat
-**/android/local.properties
-**/android/**/GeneratedPluginRegistrant.java
+examples/all_plugins/pubspec.yaml
-# iOS/XCode related
-**/ios/**/*.mode1v3
-**/ios/**/*.mode2v3
-**/ios/**/*.moved-aside
-**/ios/**/*.pbxuser
-**/ios/**/*.perspectivev3
-**/ios/**/*sync/
-**/ios/**/.sconsign.dblite
-**/ios/**/.tags*
-**/ios/**/.vagrant/
-**/ios/**/DerivedData/
-**/ios/**/Icon?
-**/ios/**/Pods/
-**/ios/**/.symlinks/
-**/ios/**/profile
-**/ios/**/xcuserdata
-**/ios/.generated/
-**/ios/Flutter/App.framework
-**/ios/Flutter/Flutter.framework
-**/ios/Flutter/Flutter.podspec
-**/ios/Flutter/Generated.xcconfig
-**/ios/Flutter/app.flx
-**/ios/Flutter/app.zip
-**/ios/Flutter/flutter_assets/
-**/ios/Flutter/flutter_export_environment.sh
-**/ios/ServiceDefinitions.json
-**/ios/Runner/GeneratedPluginRegistrant.*
+Podfile
+Podfile.lock
+Pods/
+.symlinks/
+**/Flutter/App.framework/
+**/Flutter/ephemeral/
+**/Flutter/Flutter.framework/
+**/Flutter/Generated.xcconfig
+**/Flutter/flutter_assets/
+
+ServiceDefinitions.json
+xcuserdata/
+**/DerivedData/
+
+local.properties
+keystore.properties
+.gradle/
+gradlew
+gradlew.bat
+gradle-wrapper.jar
+.flutter-plugins-dependencies
+*.iml
+
+generated_plugin_registrant.dart
+GeneratedPluginRegistrant.h
+GeneratedPluginRegistrant.m
+GeneratedPluginRegistrant.java
+GeneratedPluginRegistrant.swift
+build/
+.flutter-plugins
-# Exceptions to above rules.
-!**/ios/**/default.mode1v3
-!**/ios/**/default.mode2v3
-!**/ios/**/default.pbxuser
-!**/ios/**/default.perspectivev3
+.project
+.classpath
+.settings