From d5f41f3cb985d88dd52997ec1358bf5b8637c594 Mon Sep 17 00:00:00 2001 From: chuongvd Date: Mon, 22 Jul 2019 21:01:09 +0700 Subject: [PATCH 1/4] add notification ios when playing --- .gitignore | 2 + android/.project | 17 ++ .../org.eclipse.buildship.core.prefs | 13 + android/build.gradle | 7 +- android/src/main/AndroidManifest.xml | 1 - .../rxla/audioplayer/AudioplayerPlugin.java | 17 +- example/android/app/build.gradle | 2 +- .../android/app/src/main/AndroidManifest.xml | 2 +- .../rxla/audioplayerexample/MainActivity.java | 2 +- example/android/gradle.properties | 1 + .../ios/Flutter/flutter_export_environment.sh | 10 + example/ios/Runner.xcodeproj/project.pbxproj | 29 +- example/lib/main.dart | 2 +- ios/Classes/AudioPlayerNotification.h | 32 +++ ios/Classes/AudioPlayerNotification.m | 247 ++++++++++++++++++ ios/Classes/AudioplayerPlugin.m | 151 ++++++++--- ios/Classes/NSString+Extension.h | 24 ++ ios/Classes/NSString+Extension.m | 69 +++++ lib/audioplayer.dart | 2 + 19 files changed, 563 insertions(+), 67 deletions(-) create mode 100644 android/.project create mode 100644 android/.settings/org.eclipse.buildship.core.prefs create mode 100755 example/ios/Flutter/flutter_export_environment.sh create mode 100644 ios/Classes/AudioPlayerNotification.h create mode 100644 ios/Classes/AudioPlayerNotification.m create mode 100644 ios/Classes/NSString+Extension.h create mode 100644 ios/Classes/NSString+Extension.m diff --git a/.gitignore b/.gitignore index 92f1318..88087ab 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,8 @@ build/ ios/.generated/ packages pubspec.lock +example/android/** +**/android/.project Podfile Podfile.lock diff --git a/android/.project b/android/.project new file mode 100644 index 0000000..b6ece59 --- /dev/null +++ b/android/.project @@ -0,0 +1,17 @@ + + + android__ + Project android__ created by Buildship. + + + + + org.eclipse.buildship.core.gradleprojectbuilder + + + + + + org.eclipse.buildship.core.gradleprojectnature + + diff --git a/android/.settings/org.eclipse.buildship.core.prefs b/android/.settings/org.eclipse.buildship.core.prefs new file mode 100644 index 0000000..7a23d11 --- /dev/null +++ b/android/.settings/org.eclipse.buildship.core.prefs @@ -0,0 +1,13 @@ +arguments= +auto.sync=false +build.scans.enabled=false +connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(5.6.1)) +connection.project.dir= +eclipse.preferences.version=1 +gradle.user.home= +java.home= +jvm.arguments= +offline.mode=false +override.workspace.settings=true +show.console.view=true +show.executions.view=true diff --git a/android/build.gradle b/android/build.gradle index 14d1a1f..80c8fd8 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -21,11 +21,12 @@ apply plugin: 'com.android.library' android { compileSdkVersion 25 - buildToolsVersion '25.0.3' - defaultConfig { + defaultConfig { testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - } + minSdkVersion 16 + targetSdkVersion 21 + } lintOptions { disable 'InvalidPackage' } diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 520ab75..a73c4a3 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -3,5 +3,4 @@ android:versionCode="1" android:versionName="0.1.0"> - diff --git a/android/src/main/java/bz/rxla/audioplayer/AudioplayerPlugin.java b/android/src/main/java/bz/rxla/audioplayer/AudioplayerPlugin.java index 5f47e51..d07b7e0 100644 --- a/android/src/main/java/bz/rxla/audioplayer/AudioplayerPlugin.java +++ b/android/src/main/java/bz/rxla/audioplayer/AudioplayerPlugin.java @@ -1,20 +1,16 @@ package bz.rxla.audioplayer; +import android.content.Context; import android.media.AudioManager; import android.media.MediaPlayer; +import android.os.Build; import android.os.Handler; import android.util.Log; +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.MethodCall; import io.flutter.plugin.common.PluginRegistry.Registrar; - import java.io.IOException; -import java.util.HashMap; - -import android.content.Context; -import android.os.Build; /** * Android implementation for AudioPlayerPlugin. @@ -43,7 +39,12 @@ private AudioplayerPlugin(Registrar registrar, MethodChannel channel) { public void onMethodCall(MethodCall call, MethodChannel.Result response) { switch (call.method) { case "play": - play(call.argument("url").toString()); + Object url = call.argument("url"); + if (url instanceof String) { + play((String) url); + } else { + play(""); + } response.success(null); break; case "pause": diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 15c153b..ea9f091 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -33,7 +33,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "bz.rxla.audioplayerexample" + applicationId "com.chuongvd.audioplayerExample" minSdkVersion 16 targetSdkVersion 27 versionCode flutterVersionCode.toInteger() diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml index 8d127cb..e4ba1ff 100644 --- a/example/android/app/src/main/AndroidManifest.xml +++ b/example/android/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ + package="com.chuongvd.audioplayerExample">