diff options
author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> | 2013-11-07 13:36:31 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-07 16:37:37 +0100 |
commit | 42670c7c45db8032a15607124d177c8f454d6f5a (patch) | |
tree | b9977c23ab45bb7b628e50da4b10aae759ac8c9c | |
parent | b953e2f53ff1a9c40c46ad6e7d406d368083b235 (diff) |
Android: Allow modules to specify permissions/features
Some modules, such as Qt Multimedia, needs special permissions
to avoid getting exceptions at run-time. We should apply these
by default to the AndroidManifest.xml so that an application
using e.g. the camera will work out of the box.
Task-number: QTBUG-33953
Change-Id: Ibc1f086d249197b63e7ed1075ae7d54bdd1212f2
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
-rw-r--r-- | mkspecs/features/qt_android_deps.prf | 13 | ||||
-rw-r--r-- | src/android/java/AndroidManifest.xml | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/mkspecs/features/qt_android_deps.prf b/mkspecs/features/qt_android_deps.prf index 96337da9de..7ec7bad047 100644 --- a/mkspecs/features/qt_android_deps.prf +++ b/mkspecs/features/qt_android_deps.prf @@ -64,6 +64,19 @@ DEPENDENCY_FILE = $$ANDROID_DEPENDS_DIR$$TARGET-android-dependencies.xml } } + !isEmpty(ANDROID_PERMISSIONS) { + for (ANDROID_PERMISSION, ANDROID_PERMISSIONS) { + FILE_CONTENT += "<permission name=\"$$ANDROID_PERMISSION\" />" + } + } + + !isEmpty(ANDROID_FEATURES) { + for (ANDROID_FEATURE, ANDROID_FEATURES) { + FILE_CONTENT += "<feature name=\"$$ANDROID_FEATURE\" />" + } + } + + !isEmpty(FILE_CONTENT) { FILE_CONTENT = "<rules><dependencies><lib name=\"$$TARGET\"><depends>" $$FILE_CONTENT "</depends></lib></dependencies></rules>" write_file($$DEPENDENCY_FILE, FILE_CONTENT) | error("Aborting.") diff --git a/src/android/java/AndroidManifest.xml b/src/android/java/AndroidManifest.xml index 95811c65e0..cfad4553ee 100644 --- a/src/android/java/AndroidManifest.xml +++ b/src/android/java/AndroidManifest.xml @@ -36,6 +36,8 @@ </application> <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="14"/> <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/> + <!-- %%INSERT_PERMISSIONS --> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> + <!-- %%INSERT_FEATURES --> </manifest> |