-
Notifications
You must be signed in to change notification settings - Fork 9.7k
Add a first party share plugin #21
Conversation
There was a problem hiding this 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.
packages/share/android/build.gradle
Outdated
| @@ -0,0 +1,32 @@ | |||
| group 'com.yourcompany.share' | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'io.flutter.plugins.share'
There was a problem hiding this comment.
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" | |||
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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; | ||
|
|
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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 = |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
|
Added license to all example source files too |
mit-mit
left a comment
There was a problem hiding this 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!
|
It seems you missed to update the package names for the android part of the example app. |
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)
[firebase_in_app_messaging] migrate to new repository
…ra-capture-callback Android rework test camera capture callback
Trying my hand at making a plugin.
flutter/flutter#9816