Class: Confetti::Template::AndroidManifest

Inherits:
Base
  • Object
show all
Includes:
JavaChecks
Defined in:
lib/confetti/templates/android_manifest.rb

Constant Summary collapse

GAP_PERMISSIONS_MAP =
{
  "camera"        => %w{CAMERA},
  "notification"  => %w{VIBRATE},
  "geolocation"   => %w{ACCESS_COARSE_LOCATION
                        ACCESS_FINE_LOCATION
                        ACCESS_LOCATION_EXTRA_COMMANDS},
  "media"         => %w{RECORD_AUDIO
                        RECORD_VIDEO
                        MODIFY_AUDIO_SETTINGS},
  "contacts"      => %w{READ_CONTACTS
                        WRITE_CONTACTS
                        GET_ACCOUNTS},
  "file"          => %w{WRITE_EXTERNAL_STORAGE},
  "network"       => %w{ACCESS_NETWORK_STATE},
  "battery"       => %w{BROADCAST_STICKY}
}
ORIENTATIONS_MAP =
{
  :default    => "unspecified",
  :landscape  => "landscape",
  :portrait => "portrait"
}

Constants included from JavaChecks

JavaChecks::RESERVED_WORDS

Instance Method Summary collapse

Methods included from JavaChecks

#convert_to_java_identifier, #convert_to_java_package_id, #is_java_identifier, #is_java_package_id, #reserved_word?

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Confetti::Template::Base

Instance Method Details

#app_orientationObject



49
50
51
# File 'lib/confetti/templates/android_manifest.rb', line 49

def app_orientation
  ORIENTATIONS_MAP[@config.orientation]
end

#class_nameObject



33
34
35
# File 'lib/confetti/templates/android_manifest.rb', line 33

def class_name
  convert_to_java_identifier(@config.name.name) if @config
end

#output_filenameObject



37
38
39
# File 'lib/confetti/templates/android_manifest.rb', line 37

def output_filename
  "AndroidManifest.xml"
end

#package_nameObject



29
30
31
# File 'lib/confetti/templates/android_manifest.rb', line 29

def package_name
  convert_to_java_package_id(@config.package)
end

#permissionsObject



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/confetti/templates/android_manifest.rb', line 53

def permissions
  permissions = []
  phonegap_api = /http\:\/\/api.phonegap.com\/1[.]0\/(\w+)/
  feature_names = @config.feature_set.map { |f| f.name }
  feature_names.sort

  feature_names.each do |f|
    feature_name = f.match(phonegap_api)[1] if f.match(phonegap_api)
    associated_permissions = GAP_PERMISSIONS_MAP[feature_name]

    permissions.concat(associated_permissions) if associated_permissions
  end

  permissions.sort!
  permissions.map { |f| { :name => f } }
end

#versionObject



41
42
43
# File 'lib/confetti/templates/android_manifest.rb', line 41

def version
  @config.version_string || '0.0.1'
end

#version_codeObject



45
46
47
# File 'lib/confetti/templates/android_manifest.rb', line 45

def version_code
  @config.version_code || '1'
end