diff --git a/musicus_player/.gitignore b/musicus_player/.gitignore new file mode 100644 index 0000000..a242fcb --- /dev/null +++ b/musicus_player/.gitignore @@ -0,0 +1,31 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# VS Code related +.vscode/ + +# Flutter/Dart/Pub related +**/*.g.dart +**/doc/api/ +.dart_tool/ +pubspec.lock +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ diff --git a/musicus_player/android/.gitignore b/musicus_player/android/.gitignore new file mode 100644 index 0000000..50f1ad2 --- /dev/null +++ b/musicus_player/android/.gitignore @@ -0,0 +1,8 @@ +gradle-wrapper.jar +/.gradle +/gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java diff --git a/musicus_player/android/build.gradle b/musicus_player/android/build.gradle new file mode 100644 index 0000000..c0d0bf1 --- /dev/null +++ b/musicus_player/android/build.gradle @@ -0,0 +1,43 @@ +group 'de.johrpan.musicus_player' +version '1.0-SNAPSHOT' + +buildscript { + ext.kotlin_version = '1.3.50' + repositories { + google() + jcenter() + } + + dependencies { + classpath 'com.android.tools.build:gradle:3.5.0' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +rootProject.allprojects { + repositories { + google() + jcenter() + } +} + +apply plugin: 'com.android.library' +apply plugin: 'kotlin-android' + +android { + compileSdkVersion 28 + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + defaultConfig { + minSdkVersion 16 + } + lintOptions { + disable 'InvalidPackage' + } +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} diff --git a/musicus_player/android/gradle.properties b/musicus_player/android/gradle.properties new file mode 100644 index 0000000..38c8d45 --- /dev/null +++ b/musicus_player/android/gradle.properties @@ -0,0 +1,4 @@ +org.gradle.jvmargs=-Xmx1536M +android.enableR8=true +android.useAndroidX=true +android.enableJetifier=true diff --git a/musicus_player/android/settings.gradle b/musicus_player/android/settings.gradle new file mode 100644 index 0000000..14f07b0 --- /dev/null +++ b/musicus_player/android/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'musicus_player' diff --git a/musicus_player/android/src/main/AndroidManifest.xml b/musicus_player/android/src/main/AndroidManifest.xml new file mode 100644 index 0000000..4b4d1b5 --- /dev/null +++ b/musicus_player/android/src/main/AndroidManifest.xml @@ -0,0 +1,3 @@ + + diff --git a/musicus_player/android/src/main/kotlin/de/johrpan/musicus_player/MusicusPlayerPlugin.kt b/musicus_player/android/src/main/kotlin/de/johrpan/musicus_player/MusicusPlayerPlugin.kt new file mode 100644 index 0000000..e134ef0 --- /dev/null +++ b/musicus_player/android/src/main/kotlin/de/johrpan/musicus_player/MusicusPlayerPlugin.kt @@ -0,0 +1,27 @@ +package de.johrpan.musicus_player + +import androidx.annotation.NonNull; + +import io.flutter.embedding.engine.plugins.FlutterPlugin +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.PluginRegistry.Registrar + +public class MusicusPlayerPlugin: FlutterPlugin, MethodCallHandler { + private lateinit var channel: MethodChannel + + override fun onAttachedToEngine(@NonNull flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) { + channel = MethodChannel(flutterPluginBinding.getFlutterEngine().getDartExecutor(), "de.johrpan.musicus_player/platform") + channel.setMethodCallHandler(this); + } + + override fun onMethodCall(@NonNull call: MethodCall, @NonNull result: Result) { + // TODO: Implement. + } + + override fun onDetachedFromEngine(@NonNull binding: FlutterPlugin.FlutterPluginBinding) { + channel.setMethodCallHandler(null) + } +} diff --git a/musicus_player/lib/musicus_player.dart b/musicus_player/lib/musicus_player.dart new file mode 100644 index 0000000..2b252dd --- /dev/null +++ b/musicus_player/lib/musicus_player.dart @@ -0,0 +1,13 @@ +import 'package:flutter/services.dart'; + +class MusicusPlayer { + final _channel = MethodChannel('de.johrpan.musicus_player/platform'); + + MusicusPlayer() { + _channel.setMethodCallHandler(_handleMethodCall); + } + + Future _handleMethodCall(MethodCall call) { + // TODO: Implement. + } +} diff --git a/musicus_player/pubspec.yaml b/musicus_player/pubspec.yaml new file mode 100644 index 0000000..b7fac06 --- /dev/null +++ b/musicus_player/pubspec.yaml @@ -0,0 +1,17 @@ +name: musicus_player +description: A simple music player for Musicus. +version: 0.0.1 + +environment: + sdk: ">=2.3.0 <3.0.0" + +dependencies: + flutter: + sdk: flutter + +flutter: + plugin: + platforms: + android: + package: de.johrpan.musicus_player + pluginClass: MusicusPlayerPlugin \ No newline at end of file