aboutsummaryrefslogtreecommitdiffstats
path: root/android/src
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-02-18 08:33:06 +0100
committerMax Kellermann <max@duempel.org>2014-02-22 01:39:08 +0100
commit4dcf0b8ae0569beaf615fc19df2147bfb1597046 (patch)
tree99f489ff101a68db49752b2a2898967c5dfca287 /android/src
parent9574d11dc80248753c7fee22f3621879067c285b (diff)
downloadmpd-4dcf0b8ae0569beaf615fc19df2147bfb1597046.tar.gz
mpd-4dcf0b8ae0569beaf615fc19df2147bfb1597046.tar.xz
mpd-4dcf0b8ae0569beaf615fc19df2147bfb1597046.zip
first Android release
Finally, MPD runs on Android. For some small value of "runs". Very much work left, too much to describe.
Diffstat (limited to 'android/src')
-rw-r--r--android/src/Bridge.java27
-rw-r--r--android/src/Loader.java39
-rw-r--r--android/src/Main.java62
3 files changed, 128 insertions, 0 deletions
diff --git a/android/src/Bridge.java b/android/src/Bridge.java
new file mode 100644
index 000000000..d1dfec894
--- /dev/null
+++ b/android/src/Bridge.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2003-2014 The Music Player Daemon Project
+ * http://www.musicpd.org
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.musicpd;
+
+/**
+ * Bridge to native code.
+ */
+public class Bridge {
+ public static native void run();
+}
diff --git a/android/src/Loader.java b/android/src/Loader.java
new file mode 100644
index 000000000..6cbfeb4f2
--- /dev/null
+++ b/android/src/Loader.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2003-2014 The Music Player Daemon Project
+ * http://www.musicpd.org
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.musicpd;
+
+import android.util.Log;
+
+public class Loader {
+ private static final String TAG = "MPD";
+
+ public static boolean loaded = false;
+ public static String error;
+
+ static {
+ try {
+ System.loadLibrary("mpd");
+ loaded = true;
+ } catch (UnsatisfiedLinkError e) {
+ Log.e(TAG, e.getMessage());
+ error = e.getMessage();
+ }
+ }
+}
diff --git a/android/src/Main.java b/android/src/Main.java
new file mode 100644
index 000000000..01974af6d
--- /dev/null
+++ b/android/src/Main.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2003-2014 The Music Player Daemon Project
+ * http://www.musicpd.org
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.musicpd;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.widget.TextView;
+import android.os.Build;
+import android.util.Log;
+
+public class Main extends Activity implements Runnable {
+ private static final String TAG = "MPD";
+
+ Thread thread;
+
+ @Override protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ if (!Loader.loaded) {
+ TextView tv = new TextView(this);
+ tv.setText("Failed to load the native MPD libary.\n" +
+ "Report this problem to us, and include the following information:\n" +
+ "ABI=" + Build.CPU_ABI + "\n" +
+ "PRODUCT=" + Build.PRODUCT + "\n" +
+ "FINGERPRINT=" + Build.FINGERPRINT + "\n" +
+ "error=" + Loader.error);
+ setContentView(tv);
+ return;
+ }
+
+ if (thread == null || !thread.isAlive()) {
+ thread = new Thread(this, "NativeMain");
+ thread.start();
+ }
+
+ TextView tv = new TextView(this);
+ tv.setText("Music Player Daemon is running"
+ + "\nCAUTION: this version is EXPERIMENTAL!");
+ setContentView(tv);
+ }
+
+ @Override public void run() {
+ Bridge.run();
+ }
+}