droiuby 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/bin/drby +9 -3
  3. data/lib/droiuby/android.rb +7 -16
  4. data/lib/droiuby/bootstrap.rb +4 -0
  5. data/lib/droiuby/droiuby.rb +14 -4
  6. data/lib/droiuby/loader.rb +3 -19
  7. data/lib/droiuby/support/autoload.rb +38 -16
  8. data/lib/droiuby/support/fixnum.rb +4 -0
  9. data/lib/droiuby/support/java.rb +53 -0
  10. data/lib/droiuby/support/string.rb +27 -5
  11. data/lib/droiuby/wrappers/activity.rb +12 -8
  12. data/lib/droiuby/wrappers/{animation.rb → animation_listener_wrapper.rb} +0 -0
  13. data/lib/droiuby/wrappers/{async.rb → async_wrapper.rb} +0 -0
  14. data/lib/droiuby/wrappers/{button.rb → button_wrapper.rb} +0 -0
  15. data/lib/droiuby/wrappers/compound_button_wrapper.rb +0 -2
  16. data/lib/droiuby/wrappers/{edit_text.rb → edit_text_wrapper.rb} +0 -2
  17. data/lib/droiuby/wrappers/{image_button.rb → image_button_wrapper.rb} +0 -0
  18. data/lib/droiuby/wrappers/{intent.rb → intent_wrapper.rb} +0 -2
  19. data/lib/droiuby/wrappers/{linear_layout.rb → linear_layout_wrapper.rb} +0 -2
  20. data/lib/droiuby/wrappers/{list_view.rb → list_view_wrapper.rb} +0 -0
  21. data/lib/droiuby/wrappers/{motion_events.rb → motion_events_wrapper.rb} +0 -0
  22. data/lib/droiuby/wrappers/proxy_builder/interface_builder.rb +2 -3
  23. data/lib/droiuby/wrappers/surface_view_wrapper.rb +0 -2
  24. data/lib/droiuby/wrappers/{text_view.rb → text_view_wrapper.rb} +0 -2
  25. data/lib/droiuby/wrappers/{thread_pool.rb → thread_pool_wrapper.rb} +0 -0
  26. data/lib/droiuby/wrappers/view_group_wrapper.rb +0 -2
  27. data/lib/droiuby/wrappers/view_wrapper.rb +12 -4
  28. data/lib/droiuby/wrappers/{web_view.rb → web_view_wrapper.rb} +0 -2
  29. metadata +15 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 108871acdcd1b66a9b5053135da790d76c5f455f
4
- data.tar.gz: 9eea77086a4b774bad27968287208a3a284c53ec
3
+ metadata.gz: ce87cde422d9ebb2f0f949ab85450c340fd0aa74
4
+ data.tar.gz: 90aff58a442cc8e44ee403047f50d9316ba5c0a4
5
5
  SHA512:
6
- metadata.gz: e513de3ca8fb4d523949b5a7eed566035660bc2be16df4edb4f311b1b3b7e14b5cce8be103eb46b8e0c0b5656e9ea669f99ceccf6c638b1b74e452925fe8d393
7
- data.tar.gz: fd51d02e8959d9bebc29df6c4feb566e6577f9ddfedcde4ca40dcf8f87f30bbd6bd70e5b82382b0e30539e9f1c2d490d74422878b299f4faec1df20a45db87ec
6
+ metadata.gz: 57c6929c77f1b4d104f7fbc3d29fbce16b5a6fb4e1370aef119261dc8c21efa499c8b88debdbaf02232ec5ecdc045d88cacd3979f324eddd81966831aab116c8
7
+ data.tar.gz: bb9a593939a623ff47a5bd98a00fb6d50273e6231215fe57ee300b38f7b860d3bde972e11427d1a69156cdb1d08a43d75c0ae71777a1491fb22e98d58bb88c09
data/bin/drby CHANGED
@@ -78,15 +78,21 @@ case command
78
78
 
79
79
  begin
80
80
  while !Ripper.sexp(buf) || !valid_statement?(buf)
81
- buf = buf + "\n" + Readline.readline("?> ", true) + "\n"
81
+ buf = buf + "\n" + Readline.readline("droiuby ?> ", true) + "\n"
82
82
  end
83
83
  rescue Interrupt
84
84
  puts "\n"
85
85
  next
86
86
  end
87
87
  next if buf.blank?
88
- res = JSON.parse(project.command(buf, $device_ip))
89
- puts res['result']
88
+
89
+ begin
90
+ res = JSON.parse(project.command(buf, $device_ip))
91
+ puts res['result']
92
+ rescue EOFError=>e
93
+ puts 'cannot communicate with the device. make sure it is connected and the WebConsole is started'
94
+ end
95
+
90
96
  end
91
97
  when 'list'
92
98
  project.list($device_ip)
@@ -31,26 +31,17 @@ module Droiuby
31
31
 
32
32
  def self.when_api(verb, level, &block)
33
33
  current_api_level = Java::android.os.Build::VERSION::SDK_INT
34
- case verb
34
+ case verb.to_sym
35
+ when :is
36
+ return DummyOtherwise.new(block.call) if current_api_level == level
35
37
  when :greater_than
36
- if current_api_level > level
37
- return DummyOtherwise.new(block.call)
38
- end
38
+ return DummyOtherwise.new(block.call) if current_api_level > level
39
39
  when :less_than
40
- if current_api_level < level
41
- block.call
42
- return DummyOtherwise.new(block.call)
43
- end
40
+ return DummyOtherwise.new(block.call) if current_api_level < level
44
41
  when :at_least
45
- if current_api_level >= level
46
- block.call
47
- return DummyOtherwise.new(block.call)
48
- end
42
+ return DummyOtherwise.new(block.call) if current_api_level >= level
49
43
  when :at_most
50
- if current_api_level <= level
51
- block.call
52
- return DummyOtherwise.new(block.call)
53
- end
44
+ return DummyOtherwise.new(block.call) if current_api_level <= level
54
45
  end
55
46
  return Otherwise.new
56
47
  end
@@ -24,6 +24,10 @@ def _scripting_container
24
24
  PayloadWrapper.java_getContainer
25
25
  end
26
26
 
27
+ def _runtime
28
+ _scripting_container.getProvider.getRuntime
29
+ end
30
+
27
31
  def _current_app
28
32
  PayloadWrapper.java_getActiveApp
29
33
  end
@@ -33,12 +33,22 @@ class DroiubyFramework
33
33
  end
34
34
 
35
35
  def resolve_view(name, node)
36
- klass = name.constantize
37
- instance = klass.new
38
- if instance < ViewWrapper
36
+ name_parts = name.split('#')
37
+
38
+ klass_str = if name_parts.size > 1
39
+ "#{name_parts[0].camelize}::#{name_parts[1].camelize}"
40
+ else
41
+ name.camelize
42
+ end
43
+
44
+ puts klass_str
45
+ klass = klass_str.constantize
46
+
47
+ instance = klass.new(_current_activity)
48
+ if instance.class < ViewWrapper
39
49
  instance.native
40
50
  else
41
- instance
51
+ instance._proxy_class([Java::android.content.Context.java_class], [_current_activity])
42
52
  end
43
53
  end
44
54
 
@@ -1,7 +1,8 @@
1
1
  require 'java'
2
2
  require 'droiuby/support/utils'
3
3
  require 'droiuby/support/fixnum'
4
- require 'droiuby/wrappers/activity'
4
+ require 'droiuby/support/autoload'
5
+ require 'droiuby/support/java'
5
6
  require 'droiuby/wrappers/collection/view_array'
6
7
  require 'droiuby/wrappers/proxy_builder/interface_builder'
7
8
  require 'droiuby/wrappers/listeners/auto_wrap'
@@ -9,28 +10,11 @@ require 'droiuby/wrappers/listeners/on_web_console_ready_listener'
9
10
  require 'droiuby/support/string'
10
11
  require 'droiuby/support/thread'
11
12
  require 'droiuby/support/object'
12
- require 'droiuby/support/autoload'
13
13
  require 'droiuby/support/to_query'
14
14
  require 'droiuby/support/asset'
15
15
  require 'droiuby/wrappers/java_helpers/java_method_helper'
16
+ require 'droiuby/wrappers/java_helpers/view_helper'
16
17
  require 'droiuby/support/system'
17
- require 'droiuby/wrappers/async'
18
- require 'droiuby/wrappers/view_group_wrapper'
19
- require 'droiuby/wrappers/linear_layout'
20
- require 'droiuby/wrappers/text_view'
21
- require 'droiuby/wrappers/button'
22
- require 'droiuby/wrappers/edit_text'
23
- require 'droiuby/wrappers/preferences'
24
- require 'droiuby/wrappers/web_view'
25
- require 'droiuby/wrappers/compound_button_wrapper'
26
- require 'droiuby/wrappers/motion_events'
27
- require 'droiuby/wrappers/intent'
28
- require 'droiuby/wrappers/canvas'
29
- require 'droiuby/wrappers/surface_view_wrapper'
30
- require 'droiuby/wrappers/thread_pool'
31
- require 'droiuby/wrappers/list_adapter_wrapper'
32
- require 'droiuby/wrappers/accelerometer'
33
- require 'droiuby/wrappers/runnable_wrapper'
34
18
  require 'droiuby/plugins/plugins'
35
19
  require 'droiuby/application'
36
20
  require 'droiuby/android'
@@ -1,22 +1,44 @@
1
+ $autoload_path = [nil,File.join('droiuby','wrappers')]
2
+
3
+
4
+ module MissingHandler
5
+ def const_missing(name)
6
+ @looked_for ||= {}
7
+ str_name = name.to_s
8
+ raise "Class not found: #{name}" if @looked_for[str_name] == :missing
9
+
10
+
11
+ name_parts = name.to_s.split('::').collect { |n| n.underscore }
12
+
13
+
14
+ $autoload_path.each do |path|
15
+ path_array = unless path.nil?
16
+ [path] + name_parts
17
+ else
18
+ name_parts
19
+ end
20
+ require_path = File.join(*path_array)
21
+
22
+ begin
23
+ require require_path
24
+ klass = const_get(name)
25
+ return klass if klass
26
+ rescue LoadError=>e
27
+ end
28
+
29
+ end
30
+
31
+ @looked_for[str_name] = :missing
32
+
33
+ raise "Class not found: #{name}"
34
+ end
35
+
36
+ end
1
37
 
2
38
  class Object
3
39
  class << self
4
40
  alias :const_missing_old :const_missing
5
- def const_missing(name)
6
- puts "constant missing #{name}"
7
- @looked_for ||= {}
8
- str_name = name.to_s
9
- raise "Class not found: #{name}" if @looked_for[str_name]
10
- @looked_for[str_name] = 1
11
-
12
- name_parts = name.to_s.split('::').collect { |n| n.underscore }
13
- require_path = File.join(*name_parts)
14
-
15
- puts "autoloading #{require_path}"
16
- require require_path
17
- klass = const_get(name)
18
- return klass if klass
19
- raise "Class not found: #{name}"
20
- end
41
+
42
+ include MissingHandler
21
43
  end
22
44
  end
@@ -7,5 +7,9 @@ class Fixnum
7
7
  def to_px
8
8
  Java::com.droiuby.client.core.builder.ActivityBuilder.toPixelsFromDip(_current_activity, self)
9
9
  end
10
+
11
+ def to_dip
12
+ (self / Java::com.droiuby.client.core.builder.ActivityBuilder.toDeviceIndependentPixels(_current_activity, 1))
13
+ end
10
14
 
11
15
  end
@@ -0,0 +1,53 @@
1
+ require 'java'
2
+
3
+ module JavaExtends
4
+
5
+ def self.included(base)
6
+ base.extend(ClassMethods)
7
+ end
8
+
9
+ def _ruby_object
10
+ Java::org.jruby.javasupport.JavaUtil.convertJavaToRuby(_runtime, self)
11
+ end
12
+
13
+ def native
14
+ @native
15
+ end
16
+
17
+ module ClassMethods
18
+
19
+ def extend_java_class(klass)
20
+
21
+ puts "creating auto proxy for #{klass}"
22
+ klass_name = klass.to_s
23
+ wrapper_klass = Java::com.droiuby.client.core.wrappers.InvocationHandlerRubyWrapper
24
+ interface_generator = Java::com.droiuby.client.core.InterfaceGenerator
25
+ converter = Java::org.jruby.javasupport.JavaUtil
26
+
27
+ define_method(:_proxy_class) do |arg_types, arg_values|
28
+ handler = wrapper_klass.new(_execution_bundle, _ruby_object, true)
29
+ interface_generator.wrapperForInstance(_current_activity, klass_name, handler, arg_types, arg_values)
30
+ end
31
+
32
+ current_class = self
33
+
34
+ define_method(:invoke) do |object, method, params|
35
+ method_name = method.getName.to_sym
36
+ if current_class.instance_methods(false).include? method_name
37
+ native = object
38
+ send(method_name, *params)
39
+ else
40
+ Java::com.google.dexmaker.stock.ProxyBuilder.callSuper(object, method, params)
41
+ end
42
+ end
43
+ end
44
+
45
+ end
46
+
47
+ private
48
+
49
+ def native=(object)
50
+ @native = object
51
+ end
52
+
53
+ end
@@ -27,12 +27,34 @@ class String
27
27
  def constantize
28
28
  names = self.split('::')
29
29
  names.shift if names.empty? || names.first.empty?
30
-
31
- constant = Object
32
- names.each do |name|
33
- constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name)
30
+ index = 1
31
+ names.inject(Object) do |constant, name|
32
+ if constant == Object
33
+ constant.const_get(name)
34
+ else
35
+ begin
36
+ candidate = constant.const_get(name)
37
+ rescue NameError => e
38
+ Object.const_missing(names[0..index].join('::'))
39
+ candidate = constant.const_get(name)
40
+ end
41
+ index += 1
42
+ next candidate if constant.const_defined?(name, false)
43
+ next candidate unless Object.const_defined?(name)
44
+
45
+ # Go down the ancestors to check it it's owned
46
+ # directly before we reach Object or the end of ancestors.
47
+ constant = constant.ancestors.inject do |const, ancestor|
48
+ break const if ancestor == Object
49
+ break ancestor if ancestor.const_defined?(name, false)
50
+ const
51
+ end
52
+
53
+ # owner is in Object, so raise
54
+ constant.const_get(name, false)
55
+
56
+ end
34
57
  end
35
- constant
36
58
  end
37
59
 
38
60
  end
@@ -21,32 +21,36 @@ class Activity
21
21
  end
22
22
 
23
23
  def portrait_mode_only
24
- add_before_content_task { _current_activity.setRequestedOrientation(ActivityInfo::SCREEN_ORIENTATION_PORTRAIT) }
24
+ add_before_content_render_task { |instance| _current_activity.setRequestedOrientation(ActivityInfo::SCREEN_ORIENTATION_PORTRAIT) }
25
25
  end
26
26
 
27
27
  def landscape_mode_only
28
- add_before_content_task { _current_activity.setRequestedOrientation(ActivityInfo::SCREEN_ORIENTATION_LANDSCAPE) }
28
+ add_before_content_render_task { |instance| _current_activity.setRequestedOrientation(ActivityInfo::SCREEN_ORIENTATION_LANDSCAPE) }
29
29
  end
30
30
 
31
31
  def no_action_bar
32
- add_before_content_task { _current_activity.requestWindowFeature(Java::android.view.Window::FEATURE_NO_TITLE) }
32
+ add_before_content_render_task { |instance| _current_activity.requestWindowFeature(Java::android.view.Window::FEATURE_NO_TITLE) }
33
33
  end
34
34
 
35
35
  def set_theme(theme, namespace = nil)
36
36
  namespace = "#{namespace}." unless namespace.nil?
37
37
 
38
- add_before_content_task do
38
+ add_before_content_render_task do |instance|
39
39
  _current_activity.setTheme(_R("#{namespace}R.style.#{theme}"))
40
40
  end
41
41
  end
42
42
 
43
- private
44
-
45
- def add_before_content_task(&block)
43
+ def add_before_content_render_task(&block)
46
44
  @@before_content_blocks = @@before_content_blocks || []
47
45
  @@before_content_blocks << block
48
46
  end
49
47
 
48
+ def before_render(*symbols)
49
+ add_before_content_render_task do |instance|
50
+ symbols.each { |sym| instance.send(sym.to_sym) }
51
+ end
52
+ end
53
+
50
54
  end
51
55
 
52
56
  def on_activity_result(request_code, result_code, intent)
@@ -54,7 +58,7 @@ class Activity
54
58
  end
55
59
 
56
60
  def before_content_render
57
- @@before_content_blocks.each { |block| block.call }
61
+ @@before_content_blocks.each { |block| block.call(self) }
58
62
  _current_activity.setContentView(_R('R.layout.canvas'))
59
63
  end
60
64
 
File without changes
@@ -1,5 +1,3 @@
1
- require 'droiuby/wrappers/view_wrapper'
2
-
3
1
  class CompoundButtonWrapper < ViewWrapper
4
2
 
5
3
 
@@ -1,5 +1,3 @@
1
- require 'droiuby/wrappers/view_wrapper'
2
-
3
1
  class EditTextWrapper < TextViewWrapper
4
2
 
5
3
  java_attr_accessor :hint
@@ -1,5 +1,3 @@
1
- require 'droiuby/wrappers/java_helpers/view_helper'
2
-
3
1
  class IntentWrapper
4
2
 
5
3
  include Droiuby::ViewHelper
@@ -1,5 +1,3 @@
1
- require 'droiuby/wrappers/view_wrapper'
2
-
3
1
  class LinearLayoutWrapper < ViewGroupWrapper
4
2
 
5
3
  java_attr_accessor :baseline_algined, :orientation
@@ -4,10 +4,9 @@ module Droiuby
4
4
  class InvocationHandler
5
5
 
6
6
  def initialize(klass_name, backing_object)
7
- puts "autowrap using dexmaker"
8
- handler = Java::com.droiuby.wrappers.InvocationHandlerRubyWrapper.new(_execution_bundle, self)
7
+ handler = Java::com.droiuby.client.core.wrappers.InvocationHandlerRubyWrapper.new(_execution_bundle, self)
9
8
  @backing_object = backing_object
10
- @native = Java::com.droiuby.client.core.InterfaceGenerator.wrapperForClass(_current_activity, klass_name, handler)
9
+ @native = Java::com.droiuby.client.core.InterfaceGenerator.wrapperForClassOrInterface(_current_activity, klass_name, handler)
11
10
  end
12
11
 
13
12
  def invoke(object, method, params)
@@ -1,5 +1,3 @@
1
- require 'droiuby/wrappers/canvas'
2
-
3
1
  class SurfaceHolderWrapper
4
2
 
5
3
  include JavaMethodHelper
@@ -1,5 +1,3 @@
1
- require 'droiuby/wrappers/view_wrapper'
2
-
3
1
  class TextViewWrapper < ViewWrapper
4
2
 
5
3
  java_attr_accessor :cursor_visible, :text_color, :text_scale_x
@@ -1,5 +1,3 @@
1
- require 'droiuby/wrappers/view_wrapper'
2
-
3
1
  class ViewGroupWrapper < ViewWrapper
4
2
  def inner=(markup)
5
3
  _activity_builder.parsePartialReplaceChildren(@view, markup, _execution_bundle)
@@ -1,6 +1,3 @@
1
- require 'droiuby/wrappers/animation'
2
- require 'droiuby/wrappers/java_helpers/view_helper'
3
-
4
1
  class ViewWrapper
5
2
 
6
3
  include JavaMethodHelper
@@ -172,7 +169,7 @@ class ViewWrapper
172
169
  end
173
170
 
174
171
  extra_attributes.each do |attr|
175
- data_attribute_list << "#{attr.to_sym}=\"#{self.send(attr.to_sym)}\""
172
+ data_attribute_list << "#{attr.to_sym}=\"#{p_format(attr,self.send(attr.to_sym))}\""
176
173
  end
177
174
 
178
175
  puts "#{spaces}#{self.class.name} id=\"#{id_attr}\" name=\"#{name_attr}\" class=\"#{class_attr}\" #{data_attribute_list.join(' ')}\n"
@@ -202,6 +199,17 @@ class ViewWrapper
202
199
 
203
200
  protected
204
201
 
202
+ def p_format(attribute, value)
203
+ case attribute.to_sym
204
+ when :measured_width
205
+ "#{value.to_dip}dp #{value}px"
206
+ when :measured_height
207
+ "#{value.to_dip}dp #{value}px"
208
+ else
209
+ value
210
+ end
211
+ end
212
+
205
213
  def parse_color(color_value)
206
214
  if color_value.kind_of? String
207
215
  Java::android.graphics.Color.parseColor(color_value);
@@ -1,5 +1,3 @@
1
- require 'droiuby/wrappers/view_wrapper'
2
-
3
1
  class WebViewWrapper < ViewGroupWrapper
4
2
  def src
5
3
  @native.getUrl
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: droiuby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph Emmanuel Dayo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-13 00:00:00.000000000 Z
11
+ date: 2014-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -120,6 +120,7 @@ files:
120
120
  - lib/droiuby/support/asset.rb
121
121
  - lib/droiuby/support/autoload.rb
122
122
  - lib/droiuby/support/fixnum.rb
123
+ - lib/droiuby/support/java.rb
123
124
  - lib/droiuby/support/object.rb
124
125
  - lib/droiuby/support/string.rb
125
126
  - lib/droiuby/support/system.rb
@@ -128,33 +129,33 @@ files:
128
129
  - lib/droiuby/support/utils.rb
129
130
  - lib/droiuby/wrappers/accelerometer.rb
130
131
  - lib/droiuby/wrappers/activity.rb
131
- - lib/droiuby/wrappers/animation.rb
132
- - lib/droiuby/wrappers/async.rb
133
- - lib/droiuby/wrappers/button.rb
132
+ - lib/droiuby/wrappers/animation_listener_wrapper.rb
133
+ - lib/droiuby/wrappers/async_wrapper.rb
134
+ - lib/droiuby/wrappers/button_wrapper.rb
134
135
  - lib/droiuby/wrappers/canvas.rb
135
136
  - lib/droiuby/wrappers/collection/view_array.rb
136
137
  - lib/droiuby/wrappers/compound_button_wrapper.rb
137
- - lib/droiuby/wrappers/edit_text.rb
138
- - lib/droiuby/wrappers/image_button.rb
139
- - lib/droiuby/wrappers/intent.rb
138
+ - lib/droiuby/wrappers/edit_text_wrapper.rb
139
+ - lib/droiuby/wrappers/image_button_wrapper.rb
140
+ - lib/droiuby/wrappers/intent_wrapper.rb
140
141
  - lib/droiuby/wrappers/java_helpers/java_method_helper.rb
141
142
  - lib/droiuby/wrappers/java_helpers/view_helper.rb
142
- - lib/droiuby/wrappers/linear_layout.rb
143
+ - lib/droiuby/wrappers/linear_layout_wrapper.rb
143
144
  - lib/droiuby/wrappers/list_adapter_wrapper.rb
144
- - lib/droiuby/wrappers/list_view.rb
145
+ - lib/droiuby/wrappers/list_view_wrapper.rb
145
146
  - lib/droiuby/wrappers/listeners/auto_wrap.rb
146
147
  - lib/droiuby/wrappers/listeners/on_click_listener.rb
147
148
  - lib/droiuby/wrappers/listeners/on_web_console_ready_listener.rb
148
- - lib/droiuby/wrappers/motion_events.rb
149
+ - lib/droiuby/wrappers/motion_events_wrapper.rb
149
150
  - lib/droiuby/wrappers/preferences.rb
150
151
  - lib/droiuby/wrappers/proxy_builder/interface_builder.rb
151
152
  - lib/droiuby/wrappers/runnable_wrapper.rb
152
153
  - lib/droiuby/wrappers/surface_view_wrapper.rb
153
- - lib/droiuby/wrappers/text_view.rb
154
- - lib/droiuby/wrappers/thread_pool.rb
154
+ - lib/droiuby/wrappers/text_view_wrapper.rb
155
+ - lib/droiuby/wrappers/thread_pool_wrapper.rb
155
156
  - lib/droiuby/wrappers/view_group_wrapper.rb
156
157
  - lib/droiuby/wrappers/view_wrapper.rb
157
- - lib/droiuby/wrappers/web_view.rb
158
+ - lib/droiuby/wrappers/web_view_wrapper.rb
158
159
  - lib/droiuby/wrappers/wrappers.rb
159
160
  homepage: https://github.com/jedld/droiuby-doo
160
161
  licenses: