mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-11 03:21:29 +00:00
aa41fbbf79
Android's sandbox makes us jump through hoops in order to share files with other apps. We need to declare a file provider and use specific paths where the files are located. Then we have java code (I couldn't make it work as JNI) that takes the filenames and creates content:// URIs for them and then hands those off to a sharing activity that is provided by Android. This can then be used to create attachments for support emails, or to share the log files with other apps - both of which will solve the annoying maximum log file length that we have with using the binder to add the log file text to the message body. This also finally replaces the 'compile' directive in build.gradle with 'implementation' - removing a warning that we've had for ages. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
113 lines
4.9 KiB
XML
113 lines
4.9 KiB
XML
<?xml version='1.0' encoding='utf-8'?>
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
package="org.subsurfacedivelog.mobile"
|
|
android:installLocation="auto"
|
|
android:versionCode="-- %%INSERT_VERSION_CODE%% --"
|
|
android:versionName="-- %%INSERT_VERSION_NAME%% --" >
|
|
|
|
<application
|
|
android:name="org.qtproject.qt5.android.bindings.QtApplication"
|
|
android:hardwareAccelerated="true"
|
|
android:label="@string/app_name"
|
|
android:extractNativeLibs="true"
|
|
android:icon="@drawable/subsurface_mobile_icon"
|
|
android:networkSecurityConfig="@xml/network_security_config" >
|
|
<activity
|
|
android:name="org.subsurfacedivelog.mobile.SubsurfaceMobileActivity"
|
|
android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density"
|
|
android:label="@string/app_name"
|
|
android:theme="@style/AppTheme"
|
|
android:launchMode="singleTop"
|
|
android:windowSoftInputMode="adjustResize"
|
|
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%% --" />
|
|
<!-- 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_resource_id"
|
|
android:resource="@array/load_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%% --" />
|
|
|
|
<!-- Splash screen -->
|
|
<!-- <meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/subsurface_mobile_splash" /> -->
|
|
<meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/splash" />
|
|
<!-- Splash screen -->
|
|
<intent-filter>
|
|
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
|
|
</intent-filter>
|
|
|
|
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
|
|
android:resource="@xml/device_filter" />
|
|
|
|
<!-- support more aspect ratios -->
|
|
<meta-data android:name="android.max_aspect" android:value="3" />
|
|
|
|
</activity>
|
|
<provider
|
|
android:name="android.support.v4.content.FileProvider"
|
|
android:authorities="org.subsurfacedivelog.mobile.fileprovider"
|
|
android:grantUriPermissions="true"
|
|
android:exported="false">
|
|
<meta-data
|
|
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
android:resource="@xml/filepaths" />
|
|
</provider>
|
|
</application>
|
|
|
|
<uses-sdk android:minSdkVersion="21"
|
|
android:targetSdkVersion="30" />
|
|
|
|
<supports-screens
|
|
android:anyDensity="true"
|
|
android:largeScreens="true"
|
|
android:normalScreens="true"
|
|
android:smallScreens="true" />
|
|
|
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
|
<!--
|
|
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.
|
|
-->
|
|
<!-- %% no space here INSERT_FEATURES -->
|
|
|
|
</manifest>
|