lib/app_info/protobuf/manifest.rb in app-info-3.0.0.beta1 vs lib/app_info/protobuf/manifest.rb in app-info-3.0.0.beta2
- old
+ new
@@ -4,10 +4,11 @@
require 'app_info/protobuf/resources'
require 'app_info/core_ext'
module AppInfo
module Protobuf
+ # AAB Protobuf Base class
class Base
include Helper::GenerateClass
def initialize(doc, resources = nil)
@resources = resources
@@ -19,10 +20,11 @@
def parse(_)
raise ProtobufParseError, 'not implemented'
end
end
+ # AAB Protobuf Attribute
class Attribute < Base
attr_reader :namespace, :name, :value, :resource_id
private
@@ -45,10 +47,12 @@
doc.value
end
end
+ # AAB Protobuf Node class.
+ # example: manifest,activity, activity-alias, service, receiver, provider, application
class Node < Base
attr_reader :name, :attributes, :children
private
@@ -104,10 +108,11 @@
define_instance_method(name, value)
end
end
end
+ # AAB Protobuf Manifest
class Manifest < Node
def self.parse(io, resources = nil)
doc = Aapt::Pb::XmlNode.decode(io)
new(doc, resources)
end
@@ -168,10 +173,9 @@
end
end
end.flatten.uniq
end
- # :nodoc:
# Workaround ruby always return true by called `Object.const_defined?(Data)`
class Data < Node; end
class IntentFilter < Node
# filter types (action is required, category and data are optional)