Class: CapicuaGen::Balthazar::AndySplashActivityFeature
- Inherits:
-
TemplateFeature
- Object
- TemplateFeature
- CapicuaGen::Balthazar::AndySplashActivityFeature
- Includes:
- CapicuaGen, CapicuaGen::Balthazar
- Defined in:
- lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Source/andy_splash_activity_feature.rb
Overview
Caracteristica generadora pantalla de bienvenida
Instance Method Summary collapse
-
#configure_attributes ⇒ Object
Configura los atributos personalizados de la caracteristica (antes de establecer el generador).
-
#configure_template_targets ⇒ Object
Configura los objetivos de las platillas (despues de establecer el generador).
-
#generate ⇒ Object
Genera la caracteristica.
-
#generate_configuration ⇒ Object
Modifica el archivo Manifest para agregar las actividades.
-
#initialize(values = {}) ⇒ AndySplashActivityFeature
constructor
Inicializa la caracteristica.
-
#reset_attributes ⇒ Object
Resetea los atributos personalizados de la caracteristica (antes de establecer el generador).
Constructor Details
#initialize(values = {}) ⇒ AndySplashActivityFeature
Inicializa la caracteristica
40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Source/andy_splash_activity_feature.rb', line 40 def initialize(values= {}) super(values) # Configuro los tipos si estos no han sido configurados previamente self.types= [:catalog] if self.types.blank? # Configuro los templates set_template("splash", Template.new(:file => 'splash.erb')) set_template('splash_activity', Template.new(:file => 'splash_activity.erb')) set_template('logo', Template.new(:file => 'logo.png')) end |
Instance Method Details
#configure_attributes ⇒ Object
Configura los atributos personalizados de la caracteristica (antes de establecer el generador)
70 71 72 73 |
# File 'lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Source/andy_splash_activity_feature.rb', line 70 def configure_attributes() self.generation_attributes[:package] = "#{self.generation_attributes[:package]}.activities" unless self.generation_attributes.has_in_self?(:package) self.generation_attributes[:package_out_dir]= get_package_out_dir end |
#configure_template_targets ⇒ Object
Configura los objetivos de las platillas (despues de establecer el generador)
55 56 57 58 59 60 61 |
# File 'lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Source/andy_splash_activity_feature.rb', line 55 def configure_template_targets set_template_target("splash", TemplateTarget.new(:out_file => get_package_out_file("SplashActivity.java"))) set_template_target("splash_activity", TemplateTarget.new(:out_file => get_activity_out_file("activity_splash.xml"))) set_template_target("logo", TemplateTarget.new(:out_file => get_drawable_out_file("logo.png"), :copy_only => true)) end |
#generate ⇒ Object
Genera la caracteristica
77 78 79 80 |
# File 'lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Source/andy_splash_activity_feature.rb', line 77 def generate super() generate_configuration end |
#generate_configuration ⇒ Object
Modifica el archivo Manifest para agregar las actividades.
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
# File 'lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Source/andy_splash_activity_feature.rb', line 83 def generate_configuration manifest_file= get_manifest_file return unless manifest_file # Ruta para conseguir el archivo app.config xml= Nokogiri::XML(File.read(manifest_file)) =begin <uses-permission android:name= "android.permission.INTERNET" /> =end xpath = "uses-permission[@android:name= 'android.permission.INTERNET']" node = XMLHelper.get_node_from_xml_document(xml, xpath) # Configuro el nodo node['android:name'] = "android.permission.INTERNET" =begin <application> <activity android:name= ".activities.SplashActivity" android:screenOrientation= "portrait" android:theme= "@android:style/Theme.Holo.Light.NoActionBar"> </activity> </application> =end # Recupero el nodo xpath = "application/activity[@android:name= '.activities.SplashActivity']" node = XMLHelper.get_node_from_xml_document(xml, xpath) # Configuro el nodo node['android:name'] = ".activities.SplashActivity" node['android:screenOrientation']= "portrait" node['android:theme'] = "@android:style/Theme.Holo.Light.NoActionBar" =begin <application> <activity android:name= ".activities.SplashActivity" android:screenOrientation= "portrait" android:theme= "@android:style/Theme.Holo.Light.NoActionBar"> <intent-filter> <action android:name= "android.intent.action.MAIN" /> <category android:name= "android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> =end # Recupero el nodo xpath = "application/activity[@android:name= '.activities.SplashActivity']/intent-filter/action[@android:name= 'android.intent.action.MAIN']" node = XMLHelper.get_node_from_xml_document(xml, xpath) # Configuro el nodo node['android:name'] = "android.intent.action.MAIN" # Recupero el nodo xpath = "application/activity[@android:name= '.activities.SplashActivity']/intent-filter/category[@android:name= 'android.intent.category.LAUNCHER']" node = XMLHelper.get_node_from_xml_document(xml, xpath) # Configuro el nodo node['android:name'] = "android.intent.category.LAUNCHER" # Formateo el texto formatted_xml = XMLHelper.format(xml.to_xml) # Guardo el resultado File.write(manifest_file, formatted_xml) end |
#reset_attributes ⇒ Object
Resetea los atributos personalizados de la caracteristica (antes de establecer el generador)
64 65 66 67 |
# File 'lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Source/andy_splash_activity_feature.rb', line 64 def reset_attributes self.generation_attributes[:package] = nil self.generation_attributes[:package_out_dir]= nil end |