droiuby 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4839d546577020e1e8eef4cc5709239c648231f0
4
- data.tar.gz: adbf106b8a993338dc504c6a7a206e6c116aa2eb
3
+ metadata.gz: a3a0cc71bad460a486ed7042b545f4aebf250c98
4
+ data.tar.gz: 8155a874c47d1eb924f8e754ae27b8d6271be675
5
5
  SHA512:
6
- metadata.gz: 80bf835667bb37a946c45427243d35892bacd6e7ea8ce624de8b08f84fa78efb3d141ccc8f4430aa6c094c5be36749f7af45763eece30149a973089507ea126c
7
- data.tar.gz: 84f66430ca43a2af493e6e42157a75b2cf54126e667ace45178b747c6c98bb5919591085977bf71e73bb421b34090ff95696ac1cbca36ebfa74de7723a6d8348
6
+ metadata.gz: b3574a9b9813cc441fb367de3742fed98d1a0f704e7b6661bdd807ef87aea704746974a8448c6fe1407847cd9a19aa6a1f8fa57337073323cde01612a095ed60
7
+ data.tar.gz: adb09e0b18867b63ad45d7c5a8e2067ad2ec6c9230d05a6551094dcb59bd717ef67fa5e8588cdf4aacd8958c8c0aa9660fb8c7cce0a5c9057df6327dbdca268c
@@ -91,9 +91,21 @@ end
91
91
  def set_content_view(view = nil)
92
92
  if view.nil?
93
93
  Java::com.droiuby.client.core.DroiubyLauncher.setPage(_current_activity, _execution_bundle, _current_page)
94
+ elsif view.kind_of? Integer
95
+ _current_activity.setContentView(view)
96
+ elsif view.kind_of? String
97
+ _current_activity.setContentView( V(view) )
94
98
  end
95
99
  end
96
100
 
101
+ def template(url)
102
+ async.perform {
103
+
104
+ }.done { |result|
105
+
106
+ }
107
+ end
108
+
97
109
  def render(url, params = {})
98
110
  http_method = Java::com.droiuby.client.core.utils.Utils::HTTP_GET
99
111
  if params[:method] && (params[:method] == :post)
@@ -218,6 +230,9 @@ def Android
218
230
  end
219
231
 
220
232
  def V(selectors = nil)
233
+
234
+ return _R(selectors) if _activity_builder.nil?
235
+
221
236
  if selectors.nil? # Get root node if nil
222
237
  view = _activity_builder.getRootView
223
238
  elsif (selectors == 'top')
@@ -0,0 +1,108 @@
1
+ class Animator
2
+
3
+ def initialize(target)
4
+ @animator_set = Java::android.animation.AnimatorSet.new
5
+ @mode = :together
6
+ @animators = []
7
+ @target = target
8
+ @done = false
9
+ end
10
+
11
+ def animator_set
12
+ @animator_set
13
+ end
14
+
15
+ def animators
16
+ @animators
17
+ end
18
+
19
+ def native
20
+ @animator_set
21
+ end
22
+
23
+ def method_missing(name, *args, &block)
24
+ anim = Java::android.animation.ObjectAnimator.ofFloat(@target.native, name.to_s.camelize(:lower), args[0], args[1]);
25
+ if args[2] && args[2].kind_of?(Hash)
26
+ duration = args[2][:duration]
27
+ anim.setDuration(duration)
28
+ end
29
+ @animators << anim
30
+ anim
31
+ end
32
+
33
+ def sequentially
34
+ @mode = :one_after_the_other
35
+ self
36
+ end
37
+
38
+ def together
39
+ @mode = :together
40
+ self
41
+ end
42
+
43
+ def before(animation)
44
+ Java::android.animation.AnimatorSet.new.tap { |s|
45
+ s.play(to_animator(animation)).before(self.animator_set)
46
+ } if @done
47
+ end
48
+
49
+ def after(animation)
50
+ s = Java::android.animation.AnimatorSet.new.tap { |s|
51
+ s.play(to_animator(animation)).after(self.animator_set)
52
+ } if @done
53
+ end
54
+
55
+ def wait(milliseconds)
56
+ Java::android.animation.AnimatorSet.new.tap { |s|
57
+ s.play(self.animator_set).after(milliseconds.to_i)
58
+ } if @done
59
+ end
60
+
61
+ def with(animation)
62
+ Java::android.animation.AnimatorSet.new.tap { |s|
63
+ s.play(to_animator(animation)).with(self.animator_set)
64
+ } if @done
65
+ end
66
+
67
+ def together
68
+ @mode = :together
69
+ end
70
+
71
+ def one_after_the_other
72
+ @mode = :one_after_the_other
73
+ end
74
+
75
+ def done
76
+ @done = true
77
+ case @mode
78
+ when :together
79
+ @animator_set.playTogether(*@animators)
80
+ when :one_after_the_other
81
+ @animator_set.playSequentially(*@animators)
82
+ end
83
+ end
84
+
85
+ def start
86
+ @animator_set.start
87
+ self
88
+ end
89
+
90
+ def on(event, &block)
91
+ @animation_listener = @animation_listener || AnimatorListenerWrapper.new
92
+ if [:cancel, :start, :end, :repeat ].include?(event)
93
+ @animation_listener.set_block(event, &Proc.new { |v| block.call(wrap_native_view(v))})
94
+ self.native.addListener(@animation_listener.to_native)
95
+ end
96
+ self
97
+ end
98
+
99
+ protected
100
+
101
+ def to_animator(animation)
102
+ animator = animation
103
+ if animation.kind_of? Animator
104
+ animator = animation.animator_set
105
+ end
106
+ animator
107
+ end
108
+ end
@@ -0,0 +1,31 @@
1
+ class AnimatorListenerWrapper
2
+
3
+ def initialize
4
+ @native = Java::com.droiuby.wrappers::AnimatorListenerRubyWrapper.new(_execution_bundle, self)
5
+ @blocks = {}
6
+ end
7
+
8
+ def set_block(sym, &block)
9
+ @blocks[sym.to_sym] = block
10
+ end
11
+
12
+ def onAnimationStart
13
+ @block[:start].call if @block.has_key? :start
14
+ end
15
+
16
+ def onAnimationEnd
17
+ @block[:end].call if @block.has_key? :end
18
+ end
19
+
20
+ def onAnimationCancel
21
+ @block[:cancel].call if @block.has_key? :cancel
22
+ end
23
+
24
+ def onAnimationRepeat
25
+ @block[:repeat].call if @block.has_key? :repeat
26
+ end
27
+
28
+ def to_native
29
+ @native
30
+ end
31
+ end
@@ -1,10 +1,14 @@
1
1
  class ListViewWrapper < ViewGroupWrapper
2
-
3
- def initialize(native = nil)
4
- @native = native
2
+
3
+ def initialize(view = nil)
4
+ if view.nil?
5
+ @view = Java::android.widget.ListView.new(_current_activity)
6
+ else
7
+ super(view)
8
+ end
5
9
  end
6
-
10
+
7
11
  def set_adapter(adapter)
8
12
  @native.setAdapter(adapter.native)
9
13
  end
10
- end
14
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: droiuby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph Emmanuel Dayo
@@ -145,7 +145,8 @@ files:
145
145
  - lib/droiuby/support/utils.rb
146
146
  - lib/droiuby/wrappers/accelerometer.rb
147
147
  - lib/droiuby/wrappers/activity.rb
148
- - lib/droiuby/wrappers/animation_listener_wrapper.rb
148
+ - lib/droiuby/wrappers/animator.rb
149
+ - lib/droiuby/wrappers/animator_listener_wrapper.rb
149
150
  - lib/droiuby/wrappers/async_wrapper.rb
150
151
  - lib/droiuby/wrappers/button_wrapper.rb
151
152
  - lib/droiuby/wrappers/canvas_wrapper.rb
@@ -1,141 +0,0 @@
1
- class AnimatorListenerWrapper
2
-
3
- def initialize
4
- @native = Java::com.droiuby.wrappers::AnimatorListenerRubyWrapper.new(_execution_bundle, self)
5
- @blocks = {}
6
- end
7
-
8
- def set_block(sym, &block)
9
- @blocks[sym.to_sym] = block
10
- end
11
-
12
- def onAnimationStart
13
- @block[:start].call if @block.has_key? :start
14
- end
15
-
16
- def onAnimationEnd
17
- @block[:end].call if @block.has_key? :end
18
- end
19
-
20
- def onAnimationCancel
21
- @block[:cancel].call if @block.has_key? :cancel
22
- end
23
-
24
- def onAnimationRepeat
25
- @block[:repeat].call if @block.has_key? :repeat
26
- end
27
-
28
- def to_native
29
- @native
30
- end
31
- end
32
-
33
-
34
- #Wrap the android animation API
35
- class Animator
36
- def initialize(target)
37
- @animator_set = Java::android.animation.AnimatorSet.new
38
- @mode = :together
39
- @animators = []
40
- @target = target
41
- @done = false
42
- end
43
-
44
- def animator_set
45
- @animator_set
46
- end
47
-
48
- def animators
49
- @animators
50
- end
51
-
52
- def native
53
- @animator_set
54
- end
55
-
56
- def method_missing(name, *args, &block)
57
- anim = Java::android.animation.ObjectAnimator.ofFloat(@target.native, name.to_s.camelize(:lower), args[0], args[1]);
58
- if args[2] && args[2].kind_of?(Hash)
59
- duration = args[2][:duration]
60
- anim.setDuration(duration)
61
- end
62
- @animators << anim
63
- anim
64
- end
65
-
66
- def sequentially
67
- @mode = :one_after_the_other
68
- self
69
- end
70
-
71
- def together
72
- @mode = :together
73
- self
74
- end
75
-
76
- def before(animation)
77
- Java::android.animation.AnimatorSet.new.tap { |s|
78
- s.play(to_animator(animation)).before(self.animator_set)
79
- } if @done
80
- end
81
-
82
- def after(animation)
83
- s = Java::android.animation.AnimatorSet.new.tap { |s|
84
- s.play(to_animator(animation)).after(self.animator_set)
85
- } if @done
86
- end
87
-
88
- def wait(milliseconds)
89
- Java::android.animation.AnimatorSet.new.tap { |s|
90
- s.play(self.animator_set).after(milliseconds.to_i)
91
- } if @done
92
- end
93
-
94
- def with(animation)
95
- Java::android.animation.AnimatorSet.new.tap { |s|
96
- s.play(to_animator(animation)).with(self.animator_set)
97
- } if @done
98
- end
99
-
100
- def together
101
- @mode = :together
102
- end
103
-
104
- def one_after_the_other
105
- @mode = :one_after_the_other
106
- end
107
-
108
- def done
109
- @done = true
110
- case @mode
111
- when :together
112
- @animator_set.playTogether(*@animators)
113
- when :one_after_the_other
114
- @animator_set.playSequentially(*@animators)
115
- end
116
- end
117
-
118
- def start
119
- @animator_set.start
120
- self
121
- end
122
-
123
- def on(event, &block)
124
- @animation_listener = @animation_listener || AnimatorListenerWrapper.new
125
- if [:cancel, :start, :end, :repeat ].include?(event)
126
- @animation_listener.set_block(event, Proc.new { |v| block.call(wrap_native_view(v))})
127
- self.native.addListener(@animation_listener.to_native)
128
- end
129
- self
130
- end
131
-
132
- protected
133
-
134
- def to_animator(animation)
135
- animator = animation
136
- if animation.kind_of? Animator
137
- animator = animation.animator_set
138
- end
139
- animator
140
- end
141
- end