From 53e49c1443b87aedfdcbb110f7f92b87031bfdfd Mon Sep 17 00:00:00 2001 From: Laurent Sansonetti Date: Thu, 23 Oct 2014 17:22:54 +0200 Subject: [PATCH] add app.features to expose elements to the manifest file, cleanup the XML generated code --- lib/motion/project/template/android.rb | 19 +++++++++++++------ lib/motion/project/template/android/config.rb | 3 ++- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/lib/motion/project/template/android.rb b/lib/motion/project/template/android.rb index 731eda26..60878eaf 100644 --- a/lib/motion/project/template/android.rb +++ b/lib/motion/project/template/android.rb @@ -44,7 +44,7 @@ task :build do EOS - # Application permissions + # Application permissions. permissions = Array(App.config.permissions) if App.config.development? # In development mode, we need the INTERNET permission in order to create @@ -55,6 +55,13 @@ EOS permission = "android.permission.#{permission.to_s.upcase}" if permission.is_a?(Symbol) android_manifest_txt << < +EOS + end + # Application features. + features = Array(App.config.features) + features.each do |feature| + android_manifest_txt << < EOS end # Custom manifest entries. @@ -67,10 +74,10 @@ EOS android_manifest_txt << < - - - - + + + + EOS # Sub-activities. (App.config.sub_activities.uniq - [App.config.main_activity]).each do |activity| @@ -81,7 +88,7 @@ EOS EOS end android_manifest_txt << < + EOS android_manifest = File.join(app_build_dir, 'AndroidManifest.xml') diff --git a/lib/motion/project/template/android/config.rb b/lib/motion/project/template/android/config.rb index 50d0701b..4e5ec891 100644 --- a/lib/motion/project/template/android/config.rb +++ b/lib/motion/project/template/android/config.rb @@ -30,7 +30,7 @@ module Motion; module Project; variable :sdk_path, :ndk_path, :avd_config, :package, :main_activity, :sub_activities, :api_version, :target_api_version, :arch, :assets_dirs, :icon, :logs_components, :version_code, :version_name, :permissions, - :application_class + :features, :application_class def initialize(project_dir, build_mode) super @@ -41,6 +41,7 @@ module Motion; module Project; @assets_dirs = [File.join(project_dir, 'assets')] @vendored_projects = [] @permissions = [] + @features = [] @manifest_entries = {} @release_keystore_path = nil @release_keystore_alias = nil