class Android::Layout
Attributes
doc[R]
@return [REXML::Document] xml document object
path[R]
@return [String] layout file path
Public Class Methods
collect_layouts(apk)
click to toggle source
@return [Hash] { path => Layout
}
# File lib/android/layout.rb, line 8 def self.collect_layouts(apk) targets = apk.find {|name, data| name =~ /^res\/layout\/*/ } ret = {} targets.each do |path| data = apk.file(path) data.force_encoding(Encoding::ASCII_8BIT) ret[path] = nil begin ret[path] = Layout.new(data, path) if AXMLParser.axml?(data) rescue => e $stderr.puts e end end ret end
new(data, path=nil)
click to toggle source
# File lib/android/layout.rb, line 29 def initialize(data, path=nil) @data = data @path = path @doc = AXMLParser.new(data).parse end
Public Instance Methods
to_xml(indent=4)
click to toggle source
@return [String] xml string
# File lib/android/layout.rb, line 36 def to_xml(indent=4) xml = '' formatter = REXML::Formatters::Pretty.new(indent) formatter.write(@doc.root, xml) xml end