summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--android/AndroidManifest.xml108
-rw-r--r--android/res/drawable-hdpi/subsurface_icon.pngbin0 -> 20958 bytes
-rw-r--r--android/res/drawable-mdpi/subsurface_icon.pngbin0 -> 9402 bytes
-rw-r--r--android/res/drawable-xhdpi/subsurface_icon.pngbin0 -> 37139 bytes
-rw-r--r--android/res/drawable-xxhdpi/subsurface_icon.pngbin0 -> 83344 bytes
-rw-r--r--android/res/drawable-xxxhdpi/subsurface_icon.pngbin0 -> 148010 bytes
-rw-r--r--android/res/values/strings.xml8
-rw-r--r--subsurface-install.pri2
-rw-r--r--subsurface.pro6
10 files changed, 125 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 927228628..8b921ab5d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,4 @@ Makefile
subsurface.pro.user*
Subsurface.app
.DS_Store
+!android/**/*.xml
diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml
new file mode 100644
index 000000000..6d7b24db2
--- /dev/null
+++ b/android/AndroidManifest.xml
@@ -0,0 +1,108 @@
+<?xml version='1.0' encoding='utf-8'?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="org.subsurface"
+ android:installLocation="auto"
+ android:versionCode="1"
+ android:versionName="1.0" >
+
+ <application
+ android:name="org.qtproject.qt5.android.bindings.QtApplication"
+ android:hardwareAccelerated="true"
+ android:label="@string/app_name"
+ android:icon="@drawable/subsurface_icon" >
+ <activity
+ android:name="org.qtproject.qt5.android.bindings.QtActivity"
+ android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|locale|fontScale|keyboard|keyboardHidden|navigation"
+ android:label="@string/app_name"
+ android:launchMode="singleTop"
+ android:screenOrientation="unspecified" >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+
+ <meta-data
+ android:name="android.app.lib_name"
+ android:value="-- %%INSERT_APP_LIB_NAME%% --" />
+ <meta-data
+ android:name="android.app.qt_sources_resource_id"
+ android:resource="@array/qt_sources" />
+ <meta-data
+ android:name="android.app.repository"
+ android:value="default" />
+ <meta-data
+ android:name="android.app.qt_libs_resource_id"
+ android:resource="@array/qt_libs" />
+ <meta-data
+ android:name="android.app.bundled_libs_resource_id"
+ android:resource="@array/bundled_libs" />
+ <!-- Deploy Qt libs as part of package -->
+ <meta-data
+ android:name="android.app.bundle_local_qt_libs"
+ android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --" />
+ <meta-data
+ android:name="android.app.bundled_in_lib_resource_id"
+ android:resource="@array/bundled_in_lib" />
+ <meta-data
+ android:name="android.app.bundled_in_assets_resource_id"
+ android:resource="@array/bundled_in_assets" />
+ <!-- Run with local libs -->
+ <meta-data
+ android:name="android.app.use_local_qt_libs"
+ android:value="-- %%USE_LOCAL_QT_LIBS%% --" />
+ <meta-data
+ android:name="android.app.libs_prefix"
+ android:value="/data/local/tmp/qt/" />
+ <meta-data
+ android:name="android.app.load_local_libs"
+ android:value="-- %%INSERT_LOCAL_LIBS%% --" />
+ <meta-data
+ android:name="android.app.load_local_jars"
+ android:value="-- %%INSERT_LOCAL_JARS%% --" />
+ <meta-data
+ android:name="android.app.static_init_classes"
+ android:value="-- %%INSERT_INIT_CLASSES%% --" />
+ <!-- Messages maps -->
+ <meta-data
+ android:name="android.app.ministro_not_found_msg"
+ android:value="@string/ministro_not_found_msg" />
+ <meta-data
+ android:name="android.app.ministro_needed_msg"
+ android:value="@string/ministro_needed_msg" />
+ <meta-data
+ android:name="android.app.fatal_error_msg"
+ android:value="@string/fatal_error_msg" />
+ <!-- Messages maps -->
+
+
+ <!-- Splash screen -->
+ <!--
+ <meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/>
+ -->
+ <!-- Splash screen -->
+
+ </application>
+
+ <uses-sdk android:minSdkVersion="12" />
+
+ <supports-screens
+ android:anyDensity="true"
+ android:largeScreens="true"
+ android:normalScreens="true"
+ android:smallScreens="true" />
+
+ <!--
+ The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
+ Remove the comment if you do not require these default permissions.
+ -->
+ <!-- %%INSERT_PERMISSIONS -->
+
+
+ <!--
+ The following comment will be replaced upon deployment with default features based on the dependencies of the application.
+ Remove the comment if you do not require these default features.
+ -->
+ <!-- %%INSERT_FEATURES -->
+
+</manifest>
diff --git a/android/res/drawable-hdpi/subsurface_icon.png b/android/res/drawable-hdpi/subsurface_icon.png
new file mode 100644
index 000000000..659ee2619
--- /dev/null
+++ b/android/res/drawable-hdpi/subsurface_icon.png
Binary files differ
diff --git a/android/res/drawable-mdpi/subsurface_icon.png b/android/res/drawable-mdpi/subsurface_icon.png
new file mode 100644
index 000000000..57465be23
--- /dev/null
+++ b/android/res/drawable-mdpi/subsurface_icon.png
Binary files differ
diff --git a/android/res/drawable-xhdpi/subsurface_icon.png b/android/res/drawable-xhdpi/subsurface_icon.png
new file mode 100644
index 000000000..0d2e2e8cb
--- /dev/null
+++ b/android/res/drawable-xhdpi/subsurface_icon.png
Binary files differ
diff --git a/android/res/drawable-xxhdpi/subsurface_icon.png b/android/res/drawable-xxhdpi/subsurface_icon.png
new file mode 100644
index 000000000..9a0a470a6
--- /dev/null
+++ b/android/res/drawable-xxhdpi/subsurface_icon.png
Binary files differ
diff --git a/android/res/drawable-xxxhdpi/subsurface_icon.png b/android/res/drawable-xxxhdpi/subsurface_icon.png
new file mode 100644
index 000000000..00b0a13c9
--- /dev/null
+++ b/android/res/drawable-xxxhdpi/subsurface_icon.png
Binary files differ
diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml
new file mode 100644
index 000000000..2a79f113e
--- /dev/null
+++ b/android/res/values/strings.xml
@@ -0,0 +1,8 @@
+<?xml version='1.0' encoding='utf-8'?>
+<resources>
+ <string name="app_name">Subsurface</string>
+
+ <string name="ministro_not_found_msg">Can\'t find Ministro service.\nThe application can\'t start.</string>
+ <string name="ministro_needed_msg">This application requires Ministro service. Would you like to install it?</string>
+ <string name="fatal_error_msg">Your application encountered a fatal error and cannot continue.</string>
+</resources>
diff --git a/subsurface-install.pri b/subsurface-install.pri
index db1c0ff6a..0fec89d32 100644
--- a/subsurface-install.pri
+++ b/subsurface-install.pri
@@ -130,6 +130,8 @@ mac {
} else: android {
# Android install rules
QMAKE_BUNDLE_DATA += translation qttranslation
+ # Android template directory
+ ANDROID_PACKAGE_SOURCE_DIR = $$OUT_PWD/android
} else {
# Linux install rules
# On Linux, we can count on packagers doing the right thing
diff --git a/subsurface.pro b/subsurface.pro
index 1172020c5..86d19cd71 100644
--- a/subsurface.pro
+++ b/subsurface.pro
@@ -263,6 +263,12 @@ theme.commands += $(CHK_DIR_EXISTS) $$OUT_PWD/theme || $(COPY_DIR) $$PWD/theme $
all.depends += theme
QMAKE_EXTRA_TARGETS += theme
+android {
+ android.commands += $(CHK_DIR_EXISTS) $$OUT_PWD/android || $(COPY_DIR) $$PWD/android $$OUT_PWD
+ all.depends += android
+ QMAKE_EXTRA_TARGETS += android
+}
+
DESKTOP_FILE = subsurface.desktop
mac: ICON = packaging/macosx/Subsurface.icns
else: ICON = subsurface-icon.svg