ruboto 0.11.0 → 0.12.0.rc.0
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.
- data/Gemfile.lock +1 -1
- data/README.md +7 -5
- data/Rakefile +3 -4
- data/assets/rakelib/ruboto.rake +138 -87
- data/assets/samples/sample_broadcast_receiver.rb +1 -1
- data/assets/src/InheritingActivity.java +0 -6
- data/assets/src/RubotoActivity.java +4 -1
- data/assets/src/RubotoBroadcastReceiver.java +2 -11
- data/assets/src/RubotoService.java +6 -52
- data/assets/src/org/ruboto/EntryPointActivity.java +276 -36
- data/assets/src/org/ruboto/JRubyAdapter.java +5 -152
- data/assets/src/org/ruboto/Script.java +1 -1
- data/assets/src/org/ruboto/ScriptLoader.java +26 -44
- data/assets/src/org/ruboto/test/InstrumentationTestRunner.java +4 -21
- data/bin/ruboto +0 -6
- data/lib/ruboto/commands/base.rb +58 -48
- data/lib/ruboto/sdk_locations.rb +23 -0
- data/lib/ruboto/sdk_versions.rb +1 -19
- data/lib/ruboto/util/build.rb +32 -32
- data/lib/ruboto/util/setup.rb +240 -0
- data/lib/ruboto/util/update.rb +12 -25
- data/lib/ruboto/util/verify.rb +7 -4
- data/lib/ruboto/util/xml_element.rb +62 -76
- data/lib/ruboto/version.rb +1 -1
- data/test/activity/image_button_activity_test.rb +2 -2
- data/test/activity/image_button_and_button_activity_test.rb +2 -2
- data/test/activity/json_activity.rb +1 -1
- data/test/activity/navigation_activity.rb +12 -12
- data/test/activity/navigation_activity_test.rb +7 -7
- data/test/activity/option_menu_activity.rb +0 -1
- data/test/activity/option_menu_activity_test.rb +2 -2
- data/test/activity/stack_activity_test.rb +10 -20
- data/test/app_test_methods.rb +0 -4
- data/test/broadcast_receiver_test.rb +16 -6
- data/test/minimal_app_test.rb +4 -12
- data/test/rake_test.rb +37 -23
- data/test/ruboto_gen_test.rb +12 -15
- data/test/sqldroid_test.rb +3 -6
- data/test/test_helper.rb +2 -0
- data/test/update_test_methods.rb +9 -9
- metadata +7 -11
data/lib/ruboto/util/update.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
require 'ruboto/version'
|
2
2
|
require 'ruboto/core_ext/rexml'
|
3
|
+
require 'ruboto/sdk_locations'
|
3
4
|
|
4
5
|
module Ruboto
|
5
6
|
module Util
|
6
7
|
module Update
|
7
8
|
include Build
|
8
9
|
include Ruboto::SdkVersions
|
10
|
+
include Ruboto::SdkLocations
|
9
11
|
|
10
12
|
###########################################################################
|
11
13
|
#
|
@@ -426,11 +428,6 @@ module Ruboto
|
|
426
428
|
# TODO(uwe): Remove when we stop supporting jruby-jars 1.7.0
|
427
429
|
excluded_core_packages = %w(**/*Darwin* **/*Solaris* **/*windows* **/*Windows* META-INF com/headius com/kenai/constantine com/kenai/jffi com/martiansoftware jline jni jnr/constants/platform/darwin jnr/constants/platform/fake jnr/constants/platform/freebsd jnr/constants/platform/openbsd jnr/constants/platform/sunos jnr/ffi/annotations jnr/ffi/byref jnr/ffi/provider jnr/ffi/util jnr/ffi/Struct$* jnr/ffi/types jnr/posix/MacOS* jnr/posix/OpenBSD* org/apache org/bouncycastle org/fusesource org/jruby/ant org/jruby/cext org/jruby/compiler/util org/jruby/demo org/jruby/embed/bsf org/jruby/embed/jsr223 org/jruby/embed/osgi org/jruby/ext/ffi/io org/jruby/ext/ffi/jffi org/jruby/ext/openssl org/jruby/javasupport/bsf)
|
428
430
|
# ODOT
|
429
|
-
elsif Gem::Version.new(jruby_core_version) >= Gem::Version.new('1.6.0')
|
430
|
-
# TODO(uwe): Remove when we stop supporting jruby-jars 1.6.x
|
431
|
-
print 'Retaining com.kenai.constantine and removing jnr for JRuby 1.6.x...'
|
432
|
-
excluded_core_packages = %w(META-INF cext com/kenai/jffi com/martiansoftware ext java jline jni jnr jnr/constants/platform/darwin jnr/constants/platform/fake jnr/constants/platform/freebsd jnr/constants/platform/openbsd jnr/constants/platform/sunos jnr/constants/platform/windows jnr/ffi/annotations jnr/ffi/byref jnr/ffi/provider jnr/ffi/util jnr/netdb jnr/ffi/posix/util org/apache org/jruby/ant org/jruby/compiler/ir org/jruby/compiler/util org/jruby/demo org/jruby/embed/bsf org/jruby/embed/jsr223 org/jruby/embed/osgi org/jruby/ext/ffi org/jruby/javasupport/bsf org/jruby/runtime/invokedynamic)
|
433
|
-
# ODOT
|
434
431
|
else
|
435
432
|
raise "Unsupported JRuby version: #{jruby_core_version.inspect}."
|
436
433
|
end
|
@@ -466,11 +463,11 @@ module Ruboto
|
|
466
463
|
#end
|
467
464
|
|
468
465
|
# Add our proxy class factory
|
469
|
-
android_jar = Dir["#{
|
466
|
+
android_jar = Dir["#{ANDROID_HOME}/platforms/*/android.jar"][0]
|
470
467
|
unless android_jar
|
471
468
|
puts
|
472
469
|
puts '*' * 80
|
473
|
-
puts " Could not find any Android platforms in #{
|
470
|
+
puts " Could not find any Android platforms in #{ANDROID_HOME}/platforms."
|
474
471
|
puts ' At least one Android Platform SDK must be installed to compile the Ruboto classes.'
|
475
472
|
puts ' Please install an Android Platform SDK using the "android" package manager.'
|
476
473
|
puts '*' * 80
|
@@ -514,17 +511,13 @@ module Ruboto
|
|
514
511
|
jruby_stdlib_version = Gem::Version.new($1)
|
515
512
|
|
516
513
|
if included_stdlibs
|
514
|
+
lib_dirs = %w(1.8 1.9 2.0 shared)
|
517
515
|
|
518
|
-
#
|
519
|
-
if jruby_stdlib_version < Gem::Version.new('1.7.
|
520
|
-
|
521
|
-
else
|
522
|
-
lib_dirs = %w(1.8 1.9 shared)
|
523
|
-
end
|
524
|
-
# ODOT
|
516
|
+
# FIXME(uwe): Remove when we stop testing JRuby < 1.7.4.dev
|
517
|
+
lib_dirs.delete('2.0') if jruby_stdlib_version < Gem::Version.new('1.7.4.dev')
|
518
|
+
# EMXIF
|
525
519
|
|
526
520
|
print 'excluded...'
|
527
|
-
|
528
521
|
lib_dirs.each do |ld|
|
529
522
|
Dir.chdir "new/jruby.home/lib/ruby/#{ld}" do
|
530
523
|
libs = Dir['*'].map{|d|d.sub /\.(rb|jar)$/, ''}.uniq
|
@@ -542,16 +535,10 @@ module Ruboto
|
|
542
535
|
end
|
543
536
|
|
544
537
|
if excluded_stdlibs.any?
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
else
|
550
|
-
lib_dirs = %w(1.8 1.9 shared)
|
551
|
-
end
|
552
|
-
# ODOT
|
553
|
-
|
554
|
-
lib_dirs.each do |ld|
|
538
|
+
%w(1.8 1.9 2.0 shared).each do |ld|
|
539
|
+
# FIXME(uwe): Remove when we stop testing JRuby < 1.7.4.dev
|
540
|
+
next if ld == '2.0' && jruby_stdlib_version < Gem::Version.new('1.7.4.dev')
|
541
|
+
# EMXIF
|
555
542
|
excluded_stdlibs.each do |d|
|
556
543
|
dir = "new/jruby.home/lib/ruby/#{ld}/#{d}"
|
557
544
|
FileUtils.rm_rf dir if File.exists? dir
|
data/lib/ruboto/util/verify.rb
CHANGED
@@ -17,7 +17,10 @@ module Ruboto
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def save_manifest
|
20
|
-
File.open(
|
20
|
+
File.open('AndroidManifest.xml', 'w') do |f|
|
21
|
+
REXML::Formatters::OrderedAttributes.new(4).write(verify_manifest.document, f)
|
22
|
+
f.puts
|
23
|
+
end
|
21
24
|
end
|
22
25
|
|
23
26
|
def verify_test_manifest
|
@@ -27,7 +30,7 @@ module Ruboto
|
|
27
30
|
end
|
28
31
|
|
29
32
|
def save_test_manifest
|
30
|
-
File.open(
|
33
|
+
File.open('test/AndroidManifest.xml', 'w') {|f| verify_test_manifest.document.write(f, 4)}
|
31
34
|
end
|
32
35
|
|
33
36
|
def verify_package
|
@@ -42,7 +45,7 @@ module Ruboto
|
|
42
45
|
|
43
46
|
def verify_sdk_versions
|
44
47
|
verify_manifest
|
45
|
-
@uses_sdk ||= @manifest.elements[
|
48
|
+
@uses_sdk ||= @manifest.elements['uses-sdk']
|
46
49
|
abort "you must specify your sdk level in the manifest (e.g., <uses-sdk android:minSdkVersion='3' android:targetSdkVersion='8' />)" unless @uses_sdk
|
47
50
|
@uses_sdk
|
48
51
|
end
|
@@ -82,7 +85,7 @@ module Ruboto
|
|
82
85
|
end
|
83
86
|
|
84
87
|
def save_ruboto_config
|
85
|
-
File.open(
|
88
|
+
File.open('ruboto.yml', 'w') {|f| f << YAML.dump(verify_ruboto_config)}
|
86
89
|
end
|
87
90
|
|
88
91
|
end
|
@@ -19,17 +19,17 @@ module Ruboto
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def name
|
22
|
-
self[
|
22
|
+
self['name']
|
23
23
|
end
|
24
24
|
|
25
25
|
def attribute(name)
|
26
|
-
self[
|
26
|
+
self['values'][name]
|
27
27
|
end
|
28
28
|
|
29
29
|
def add_element(name, attributes)
|
30
30
|
new_element = XMLElement.new
|
31
|
-
new_element[
|
32
|
-
new_element[
|
31
|
+
new_element['name'] = name
|
32
|
+
new_element['values'] = attributes
|
33
33
|
|
34
34
|
self[name] = [] unless self[name]
|
35
35
|
self[name] << new_element
|
@@ -44,61 +44,61 @@ module Ruboto
|
|
44
44
|
def find_class_or_interface(klass, a_type)
|
45
45
|
abort "ERROR: Can't parse package from #{klass}" unless klass.match(/([a-z.]+)\.([A-Z][A-Za-z.]+)/)
|
46
46
|
|
47
|
-
package = self[
|
47
|
+
package = self['package'].find{|i| i.attribute('name') == $1}
|
48
48
|
abort "ERROR: Can't find package #{$1}" unless package
|
49
|
-
if a_type ==
|
50
|
-
package[
|
49
|
+
if a_type == 'either'
|
50
|
+
package['class'].find{|i| i.attribute('name') == $2} or package['interface'].find{|i| i.attribute('name') == $2}
|
51
51
|
else
|
52
|
-
package[a_type].find{|i| i.attribute(
|
52
|
+
package[a_type].find{|i| i.attribute('name') == $2}
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
56
56
|
def find_class(package_and_class)
|
57
|
-
find_class_or_interface(package_and_class,
|
57
|
+
find_class_or_interface(package_and_class, 'class')
|
58
58
|
end
|
59
59
|
|
60
60
|
def find_interface(package_and_interface)
|
61
|
-
find_class_or_interface(package_and_interface,
|
61
|
+
find_class_or_interface(package_and_interface, 'interface')
|
62
62
|
end
|
63
63
|
|
64
|
-
def all_methods(method_base=
|
64
|
+
def all_methods(method_base='all', method_include='', method_exclude='', implements='')
|
65
65
|
# get all the methogs
|
66
66
|
all_methods = get_elements('method').select{|m| m.attribute('static') != 'true'}
|
67
67
|
|
68
68
|
# establish the base set of methods
|
69
69
|
working_methods = case method_base.to_s
|
70
|
-
when
|
70
|
+
when 'all' then
|
71
71
|
all_methods
|
72
|
-
when
|
72
|
+
when 'none' then
|
73
73
|
[]
|
74
|
-
when
|
75
|
-
all_methods.select{|i| i.attribute(
|
76
|
-
when
|
77
|
-
all_methods.select{|i| i.attribute(
|
74
|
+
when 'abstract' then
|
75
|
+
all_methods.select{|i| i.attribute('abstract') == 'true'}
|
76
|
+
when 'on' then
|
77
|
+
all_methods.select{|i| i.attribute('name').match(/^on[A-Z]/)}
|
78
78
|
end
|
79
79
|
|
80
80
|
# make sure to include requested methods
|
81
|
-
include_methods = method_include.split(
|
82
|
-
all_methods.each{|i| working_methods << i if include_methods.include?(i.attribute(
|
81
|
+
include_methods = method_include.split(',') if method_include.is_a?(String)
|
82
|
+
all_methods.each{|i| working_methods << i if include_methods.include?(i.attribute('name'))}
|
83
83
|
|
84
84
|
# make sure to exclude rejected methods
|
85
|
-
exclude_methods = method_exclude.split(
|
86
|
-
working_methods = working_methods.select{|i| not exclude_methods.include?(i.attribute(
|
85
|
+
exclude_methods = method_exclude.split(',') if method_exclude.is_a?(String)
|
86
|
+
working_methods = working_methods.select{|i| not exclude_methods.include?(i.attribute('name'))}
|
87
87
|
|
88
88
|
# remove methods marked final
|
89
|
-
working_methods = working_methods.select{|i| (not i.attribute(
|
89
|
+
working_methods = working_methods.select{|i| (not i.attribute('final')) or i.attribute('final') == 'false'}
|
90
90
|
|
91
91
|
# get additional methods from parent
|
92
|
-
if name ==
|
93
|
-
parent = root.find_class(attribute(
|
92
|
+
if name =='class' and attribute('extends')
|
93
|
+
parent = root.find_class(attribute('extends'))
|
94
94
|
parent_methods = parent.all_methods(method_base, method_include, method_exclude)
|
95
95
|
working_signatures = working_methods.map(&:method_signature)
|
96
96
|
working_methods += parent_methods.select{|i| not working_signatures.include?(i.method_signature)}
|
97
97
|
end
|
98
98
|
|
99
99
|
# get additional methods from interfaces
|
100
|
-
if name ==
|
101
|
-
implements.split(
|
100
|
+
if name =='class' and implements != ''
|
101
|
+
implements.split(',').each do |i|
|
102
102
|
interface = root.find_interface(i)
|
103
103
|
abort("Unkown interface: #{i}") unless interface
|
104
104
|
working_signatures = working_methods.map(&:method_signature)
|
@@ -110,100 +110,86 @@ module Ruboto
|
|
110
110
|
end
|
111
111
|
|
112
112
|
def parameters
|
113
|
-
get_elements(
|
113
|
+
get_elements('parameter').map {|p| [p.attribute('name'), p.attribute('type').gsub('<', '<').gsub('>', '>')]}
|
114
114
|
end
|
115
115
|
|
116
116
|
def method_signature
|
117
|
-
"#{attribute(
|
117
|
+
"#{attribute('name')}(#{parameters.map{|i| i[1]}.join(',')})"
|
118
118
|
end
|
119
119
|
|
120
120
|
def constant_string
|
121
|
-
|
121
|
+
'CB_' + attribute('name').gsub(/[A-Z]/) {|i| "_#{i}"}.upcase.gsub(/^ON_/, '')
|
122
122
|
end
|
123
123
|
|
124
124
|
def super_string
|
125
|
-
if attribute(
|
126
|
-
attribute(
|
127
|
-
attribute(
|
125
|
+
if attribute('api_added') and
|
126
|
+
attribute('api_added').to_i > verify_min_sdk.to_i and
|
127
|
+
attribute('api_added').to_i <= verify_target_sdk.to_i
|
128
128
|
nil
|
129
|
-
elsif attribute(
|
129
|
+
elsif attribute('abstract') == 'true'
|
130
130
|
nil
|
131
|
-
elsif name ==
|
132
|
-
"super.#{attribute(
|
133
|
-
elsif name ==
|
134
|
-
"super(#{parameters.map{|i| i[0]}.join(
|
131
|
+
elsif name == 'method'
|
132
|
+
"super.#{attribute('name')}(#{parameters.map{|i| i[0]}.join(', ')});"
|
133
|
+
elsif name == 'constructor'
|
134
|
+
"super(#{parameters.map{|i| i[0]}.join(', ')});"
|
135
135
|
end
|
136
136
|
end
|
137
137
|
|
138
138
|
def default_return
|
139
|
-
return nil unless attribute(
|
140
|
-
case attribute(
|
141
|
-
when
|
142
|
-
when
|
143
|
-
when
|
144
|
-
else
|
139
|
+
return nil unless attribute('return')
|
140
|
+
case attribute('return')
|
141
|
+
when 'boolean' then 'return false;'
|
142
|
+
when 'int' then 'return 0;'
|
143
|
+
when 'void' then nil
|
144
|
+
else
|
145
|
+
'return null;'
|
145
146
|
end
|
146
147
|
end
|
147
148
|
|
148
149
|
def super_return
|
149
150
|
rv = super_string
|
150
|
-
return "{#{rv} return;}" unless attribute(
|
151
|
+
return "{#{rv} return;}" unless attribute('return')
|
151
152
|
rv ? "return #{rv}" : default_return
|
152
153
|
end
|
153
154
|
|
154
155
|
def ruby_call(camelize = false)
|
155
156
|
params = parameters
|
156
|
-
args =
|
157
|
+
args = ''
|
157
158
|
if params.size > 1
|
158
|
-
args =
|
159
|
+
args = ', new Object[]{' + params.map { |i| i[0] }.join(', ') + '}'
|
159
160
|
elsif params.size > 0
|
160
|
-
args =
|
161
|
+
args = ', ' + params.map { |i| i[0] }.join(', ')
|
161
162
|
end
|
162
163
|
|
163
|
-
return_cast =
|
164
|
-
convert_return =
|
165
|
-
if attribute(
|
166
|
-
if
|
167
|
-
return_class = attribute(
|
168
|
-
elsif attribute(
|
169
|
-
return_int = true
|
164
|
+
return_cast = ''
|
165
|
+
convert_return = ''
|
166
|
+
if attribute('return') && attribute('return') != 'void'
|
167
|
+
if attribute('return').include?('.') || attribute('return') == 'int[]'
|
168
|
+
return_class = attribute('return')
|
169
|
+
elsif attribute('return') == 'int'
|
170
170
|
return_class = 'Integer'
|
171
171
|
else
|
172
|
-
return_class = attribute(
|
172
|
+
return_class = attribute('return').capitalize
|
173
173
|
end
|
174
|
-
return_cast = "return (#{return_class.gsub(
|
174
|
+
return_cast = "return (#{return_class.gsub('<', '<').gsub('>', '>')}) " if return_class
|
175
175
|
convert_return = "#{return_class.sub(/<.*>$/, '')}.class, "
|
176
176
|
end
|
177
177
|
|
178
|
-
|
179
|
-
|
180
|
-
["// FIXME(uwe): Simplify when we stop support for RubotoCore 0.4.7"] +
|
181
|
-
if_else(
|
182
|
-
"JRubyAdapter.isJRubyPreOneSeven()",
|
183
|
-
params.map{|i| "JRubyAdapter.put(\"$arg_#{i[0]}\", #{i[0]});"} +
|
184
|
-
[
|
185
|
-
'JRubyAdapter.put("$ruby_instance", scriptInfo.getRubyInstance());',
|
186
|
-
"#{return_cast}#{'((Number)' if return_int}JRubyAdapter.runScriptlet(\"$ruby_instance.#{method_name}(#{global_args})\")#{').intValue()' if return_int};",
|
187
|
-
],
|
188
|
-
if_else(
|
189
|
-
"JRubyAdapter.isJRubyOneSeven()",
|
190
|
-
["#{return_cast}JRubyAdapter.runRubyMethod(#{convert_return}scriptInfo.getRubyInstance(), \"#{method_name}\"#{args});"],
|
191
|
-
['throw new RuntimeException("Unknown JRuby version: " + JRubyAdapter.get("JRUBY_VERSION"));']
|
192
|
-
)
|
193
|
-
)
|
178
|
+
method_name = camelize ? attribute('name') : snake_case_attribute
|
179
|
+
["#{return_cast}JRubyAdapter.runRubyMethod(#{convert_return}scriptInfo.getRubyInstance(), \"#{method_name}\"#{args});"]
|
194
180
|
end
|
195
181
|
|
196
182
|
def snake_case_attribute
|
197
|
-
attribute(
|
183
|
+
attribute('name').gsub(/[A-Z]/) { |i| "_#{i}" }.downcase
|
198
184
|
end
|
199
185
|
|
200
186
|
def method_definition(class_name)
|
201
187
|
method_call(
|
202
|
-
(attribute(
|
203
|
-
attribute(
|
188
|
+
(attribute('return') ? attribute('return') : 'void'),
|
189
|
+
attribute('name'), parameters,
|
204
190
|
get_elements('exception').map { |m| m.attribute('type') },
|
205
191
|
["if (ScriptLoader.isCalledFromJRuby()) #{super_return}",
|
206
|
-
if_else(
|
192
|
+
if_else('!JRubyAdapter.isInitialized()',
|
207
193
|
[%Q{Log.i("Method called before JRuby runtime was initialized: #{class_name}##{attribute('name')}");},
|
208
194
|
super_return]),
|
209
195
|
'String rubyClassName = scriptInfo.getRubyClassName();',
|
data/lib/ruboto/version.rb
CHANGED
@@ -11,7 +11,7 @@ setup do |activity|
|
|
11
11
|
end
|
12
12
|
|
13
13
|
test('button changes text') do |activity|
|
14
|
-
assert_equal
|
14
|
+
assert_equal 'What hath Matz wrought?', @text_view.text
|
15
15
|
activity.findViewById(43).performClick
|
16
|
-
assert_equal
|
16
|
+
assert_equal 'What hath Matz wrought!', @text_view.text
|
17
17
|
end
|
@@ -11,13 +11,13 @@ setup do |activity|
|
|
11
11
|
end
|
12
12
|
|
13
13
|
test('button changes text') do |activity|
|
14
|
-
assert_equal
|
14
|
+
assert_equal 'What hath Matz wrought?', @text_view.text
|
15
15
|
activity.find_view_by_id(44).perform_click
|
16
16
|
assert_equal 'Button pressed', @text_view.text
|
17
17
|
end
|
18
18
|
|
19
19
|
test('image button changes text') do |activity|
|
20
|
-
assert_equal
|
20
|
+
assert_equal 'What hath Matz wrought?', @text_view.text
|
21
21
|
activity.find_view_by_id(43).perform_click
|
22
22
|
assert_equal 'Image button pressed', @text_view.text
|
23
23
|
end
|
@@ -12,7 +12,7 @@ class JsonActivity
|
|
12
12
|
linear_layout :orientation => LinearLayout::VERTICAL, :gravity => android.view.Gravity::CENTER do
|
13
13
|
text_view :id => 42, :text => with_large_stack { JSON.load('["foo"]')[0] },
|
14
14
|
:text_size => 48.0, :gravity => android.view.Gravity::CENTER
|
15
|
-
text_view :id => 43, :text => with_large_stack { JSON.dump(
|
15
|
+
text_view :id => 43, :text => with_large_stack { JSON.dump(%w(foo)) },
|
16
16
|
:text_size => 48.0, :gravity => android.view.Gravity::CENTER
|
17
17
|
text_view :id => 44, :text => with_large_stack { 'foo'.to_json },
|
18
18
|
:text_size => 48.0, :gravity => android.view.Gravity::CENTER
|
@@ -34,18 +34,18 @@ class NavigationActivity
|
|
34
34
|
def java_backed_by_ruby_class
|
35
35
|
i = android.content.Intent.new
|
36
36
|
i.setClassName($package_name, 'org.ruboto.RubotoActivity')
|
37
|
-
|
38
|
-
|
39
|
-
i.putExtra('Ruboto Config',
|
37
|
+
config_bundle = android.os.Bundle.new
|
38
|
+
config_bundle.put_string('ClassName', 'NavigationTargetActivity')
|
39
|
+
i.putExtra('Ruboto Config', config_bundle)
|
40
40
|
startActivity(i)
|
41
41
|
end
|
42
42
|
|
43
43
|
def java_backed_by_script_name
|
44
44
|
i = android.content.Intent.new
|
45
45
|
i.setClassName($package_name, 'org.ruboto.RubotoActivity')
|
46
|
-
|
47
|
-
|
48
|
-
i.putExtra('Ruboto Config',
|
46
|
+
config_bundle = android.os.Bundle.new
|
47
|
+
config_bundle.put_string('Script', 'navigation_target_activity.rb')
|
48
|
+
i.putExtra('Ruboto Config', config_bundle)
|
49
49
|
startActivity(i)
|
50
50
|
end
|
51
51
|
|
@@ -80,18 +80,18 @@ class NavigationActivity
|
|
80
80
|
def start_infile_activity
|
81
81
|
i = android.content.Intent.new
|
82
82
|
i.setClassName($package_name, 'org.ruboto.RubotoActivity')
|
83
|
-
|
84
|
-
|
85
|
-
i.putExtra('Ruboto Config',
|
83
|
+
config_bundle = android.os.Bundle.new
|
84
|
+
config_bundle.put_string('ClassName', 'InfileActivity')
|
85
|
+
i.putExtra('Ruboto Config', config_bundle)
|
86
86
|
startActivity(i)
|
87
87
|
end
|
88
88
|
|
89
89
|
def start_ruby_file_activity
|
90
90
|
i = android.content.Intent.new
|
91
91
|
i.setClassName($package_name, 'org.ruboto.RubotoActivity')
|
92
|
-
|
93
|
-
|
94
|
-
i.putExtra('Ruboto Config',
|
92
|
+
config_bundle = android.os.Bundle.new
|
93
|
+
config_bundle.put_string('ClassName', 'RubyFileActivity')
|
94
|
+
i.putExtra('Ruboto Config', config_bundle)
|
95
95
|
startActivity(i)
|
96
96
|
end
|
97
97
|
|