Skip to content
This repository has been archived by the owner on Feb 22, 2023. It is now read-only.

Add a first party share plugin #21

Merged
merged 8 commits into from
May 9, 2017
Merged

Add a first party share plugin #21

merged 8 commits into from
May 9, 2017

Conversation

xster
Copy link
Member

@xster xster commented May 5, 2017

Trying my hand at making a plugin.
flutter/flutter#9816

Copy link
Member

@mit-mit mit-mit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add our standard copyright header to all code (.dart, .java, .h/.c) files.

// Copyright 2017 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.

@@ -0,0 +1,32 @@
group 'com.yourcompany.share'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'io.flutter.plugins.share'

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@@ -0,0 +1,32 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yourcompany.share_example"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably you want "io.flutter.plugins" here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

return;
}
final String text = (String) call.arguments;

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: you could consider moving lines 42-46 out in another method to separate our framework code from the platform-specific code.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makes sense, done

[shareChannel setMethodCallHandler:^(FlutterMethodCall *call,
FlutterResult result) {
if ([@"share" isEqualToString:call.method]) {
UIActivityViewController *activityViewController =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similary here as for SharePlugin.java, you could consider moving out the platform-specific code.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@xster
Copy link
Member Author

xster commented May 8, 2017

Added license to all example source files too

Copy link
Member

@mit-mit mit-mit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks @xster for adding another plugin!

@xster xster merged commit 871aca4 into flutter:master May 9, 2017
@xster xster deleted the share branch May 9, 2017 18:52
@szakarias
Copy link
Contributor

It seems you missed to update the package names for the android part of the example app.

srburton added a commit to srburton/plugins that referenced this pull request Feb 21, 2020
       FAILURE: Build failed with an exception.

                    * Where:
                    Build file 'C:\Users\srburton\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\shared_preferences_macos-0.0.1+6\android\build.gradle' line: 22

                    * What went wrong:
                    A problem occurred evaluating root project 'shared_preferences_macos'.
                    > Failed to apply plugin [id 'com.android.library']
                       > Minimum supported Gradle version is 5.4.1. Current version is 5.1.1. If using the gradle wrapper, try editing the distributionUrl in
                       C:\Users\srburton\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\shared_preferences_macos-0.0.1+6\android\gradle\wrapper\gradle-wrapper.properties to gradle-5.4.1-all.zip

                    * Try:
                    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

                    * Get more help at https://help.gradle.org

                    BUILD FAILED in 1s
[   +1 ms] Running Gradle task 'assembleAarRelease'... (completed in 2,0s)
[        ] 
           FAILURE: Build failed with an exception.
           
           * Where:
           Build file 'C:\Users\srburton\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\shared_preferences_macos-0.0.1+6\android\build.gradle' line: 22
           
           * What went wrong:
           A problem occurred evaluating root project 'shared_preferences_macos'.
           > Failed to apply plugin [id 'com.android.library']
              > Minimum supported Gradle version is 5.4.1. Current version is 5.1.1. If using the gradle wrapper, try editing the distributionUrl in
C:\Users\srburton\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\shared_preferences_macos-0.0.1+6\android\gradle\wrapper\gradle-wrapper.properties to gradle-5.4.1-all.zip
           
           * Try:
           Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
           
           * Get more help at https://help.gradle.org
           
           BUILD FAILED in 1s
           
[   +5 ms] "flutter apk" took 179.497ms.
The plugin shared_preferences_macos could not be built due to the issue above.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:28:3)
flutter#1      buildPluginsAsAar (package:flutter_tools/src/android/gradle.dart:726:7)
flutter#2      _asyncErrorWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:80:45)
#3      _rootRunBinary (dart:async/zone.dart:1146:38)
flutter#4      _CustomZone.runBinary (dart:async/zone.dart:1039:19)
flutter#5      _FutureListener.handleError (dart:async/future_impl.dart:153:20)
flutter#6      Future._propagateToListeners.handleError (dart:async/future_impl.dart:692:47)
flutter#7      Future._propagateToListeners (dart:async/future_impl.dart:713:24)
flutter#8      Future._completeError (dart:async/future_impl.dart:532:5)
flutter#9      _AsyncAwaitCompleter.completeError (dart:async-patch/async_patch.dart:38:15)
flutter#10     buildGradleAar (package:flutter_tools/src/android/gradle.dart)
flutter#11     _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:73:64)
flutter#12     _rootRunUnary (dart:async/zone.dart:1134:38)
flutter#13     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
flutter#14     _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
flutter#15     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
flutter#16     Future._propagateToListeners (dart:async/future_impl.dart:709:32)
#17     Future._completeWithValue (dart:async/future_impl.dart:524:5)
flutter#18     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:32:15)
flutter#19     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:290:13)
flutter#20     _DefaultProcessUtils.run (package:flutter_tools/src/base/process.dart)
flutter#21     _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:73:64)
flutter#22     _rootRunUnary (dart:async/zone.dart:1134:38)
flutter#23     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
flutter#24     _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
flutter#25     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
flutter#26     Future._propagateToListeners (dart:async/future_impl.dart:709:32)
flutter#27     Future._completeWithValue (dart:async/future_impl.dart:524:5)
flutter#28     Future.wait.<anonymous closure> (dart:async/future.dart:400:22)
flutter#29     _rootRunUnary (dart:async/zone.dart:1134:38)
flutter#30     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
flutter#31     _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
flutter#32     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
flutter#33     Future._propagateToListeners (dart:async/future_impl.dart:709:32)
flutter#34     Future._completeWithValue (dart:async/future_impl.dart:524:5)
flutter#35     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:554:7)
flutter#36     _rootRun (dart:async/zone.dart:1126:13)
flutter#37     _CustomZone.run (dart:async/zone.dart:1023:19)
flutter#38     _CustomZone.runGuarded (dart:async/zone.dart:925:7)
flutter#39     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:965:23)
flutter#40     _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
flutter#41     _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
flutter#42     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
flutter#43     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:175:5)
@srburton srburton mentioned this pull request Feb 21, 2020
13 tasks
julianscheel pushed a commit to jusst-engineering/plugins that referenced this pull request Mar 11, 2020
[firebase_in_app_messaging] migrate to new repository
nt4f04uNd pushed a commit to nt4f04uNd/plugins that referenced this pull request Mar 23, 2021
…ra-capture-callback

Android rework test camera capture callback
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants