ruboto 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. data/README.md +13 -49
  2. data/Rakefile +26 -26
  3. data/assets/rakelib/ruboto.rake +29 -9
  4. data/assets/res/drawable-hdpi/{icon.png → ic_launcher.png} +0 -0
  5. data/assets/res/drawable-ldpi/{icon.png → ic_launcher.png} +0 -0
  6. data/assets/res/drawable-mdpi/{icon.png → ic_launcher.png} +0 -0
  7. data/assets/samples/sample_activity.rb +19 -9
  8. data/assets/samples/sample_broadcast_receiver.rb +3 -1
  9. data/assets/samples/sample_service.rb +9 -9
  10. data/assets/src/InheritingActivity.java +1 -1
  11. data/assets/src/InheritingBroadcastReceiver.java +4 -4
  12. data/assets/src/InheritingClass.java +1 -1
  13. data/assets/src/InheritingService.java +2 -1
  14. data/assets/src/RubotoActivity.java +26 -17
  15. data/assets/src/RubotoBroadcastReceiver.java +32 -11
  16. data/assets/src/RubotoService.java +23 -13
  17. data/assets/src/org/ruboto/EntryPointActivity.java +18 -26
  18. data/assets/src/org/ruboto/JRubyAdapter.java +468 -0
  19. data/assets/src/org/ruboto/Log.java +22 -0
  20. data/assets/src/org/ruboto/Script.java +113 -587
  21. data/assets/src/org/ruboto/test/ActivityTest.java +7 -7
  22. data/assets/src/org/ruboto/test/InstrumentationTestRunner.java +27 -12
  23. data/assets/src/ruboto.rb +1 -1
  24. data/assets/src/ruboto/activity.rb +10 -1
  25. data/assets/src/ruboto/base.rb +0 -12
  26. data/assets/src/ruboto/broadcast_receiver.rb +12 -0
  27. data/assets/src/ruboto/menu.rb +0 -1
  28. data/assets/src/ruboto/package.rb +11 -0
  29. data/assets/src/ruboto/service.rb +9 -0
  30. data/lib/ruboto/commands/base.rb +1 -1
  31. data/lib/ruboto/util/build.rb +1 -1
  32. data/lib/ruboto/util/update.rb +35 -27
  33. data/lib/ruboto/util/xml_element.rb +25 -12
  34. data/lib/ruboto/version.rb +2 -2
  35. data/test/activity/image_button_activity.rb +14 -11
  36. data/test/activity/image_button_activity_test.rb +2 -6
  37. data/test/activity/image_button_and_button_activity.rb +15 -17
  38. data/test/activity/image_button_and_button_activity_test.rb +4 -8
  39. data/test/activity/option_menu_activity.rb +17 -12
  40. data/test/activity/option_menu_activity_test.rb +1 -4
  41. data/test/activity/psych_activity.rb +20 -13
  42. data/test/activity/psych_activity_test.rb +3 -1
  43. data/test/activity/stack_activity.rb +17 -14
  44. data/test/activity/stack_activity_test.rb +13 -12
  45. data/test/app_test_methods.rb +25 -19
  46. data/test/block_def_activity/image_button_activity.rb +23 -0
  47. data/test/block_def_activity/image_button_activity_test.rb +21 -0
  48. data/test/block_def_activity/image_button_and_button_activity.rb +20 -0
  49. data/test/block_def_activity/image_button_and_button_activity_test.rb +27 -0
  50. data/test/block_def_activity/option_menu_activity.rb +26 -0
  51. data/test/block_def_activity/option_menu_activity_test.rb +18 -0
  52. data/test/block_def_activity/psych_activity.rb +35 -0
  53. data/test/block_def_activity/psych_activity_test.rb +16 -0
  54. data/test/block_def_activity/stack_activity.rb +25 -0
  55. data/test/block_def_activity/stack_activity_test.rb +31 -0
  56. data/test/broadcast_receiver_test.rb +2 -2
  57. data/test/handle_activity/image_button_activity.rb +21 -0
  58. data/test/handle_activity/image_button_activity_test.rb +21 -0
  59. data/test/handle_activity/image_button_and_button_activity.rb +24 -0
  60. data/test/handle_activity/image_button_and_button_activity_test.rb +27 -0
  61. data/test/handle_activity/option_menu_activity.rb +21 -0
  62. data/test/handle_activity/option_menu_activity_test.rb +20 -0
  63. data/test/handle_activity/psych_activity.rb +31 -0
  64. data/test/handle_activity/psych_activity_test.rb +16 -0
  65. data/test/handle_activity/stack_activity.rb +21 -0
  66. data/test/handle_activity/stack_activity_test.rb +32 -0
  67. data/test/minimal_app_test.rb +4 -4
  68. data/test/rake_test.rb +15 -1
  69. data/test/ruboto_gen_test.rb +7 -4
  70. data/test/service_test.rb +110 -21
  71. data/test/test_helper.rb +17 -14
  72. data/test/updated_example_test_methods.rb +5 -14
  73. metadata +30 -7
@@ -16,12 +16,12 @@ if RubotoTest::RUBOTO_PLATFORM == 'STANDALONE'
16
16
  def test_minimal_apk_is_less_than_3_mb
17
17
  apk_size = BigDecimal(File.size("#{APP_DIR}/bin/RubotoTestApp-debug.apk").to_s) / (1024 * 1024)
18
18
  upper_limit = {
19
- # '1.5.6' => 3.7,
20
19
  '1.6.7' => 3.2,
21
- '1.7.0.dev' => ANDROID_TARGET < 15 ? 3.4 : 3.8, # Without dexmaker for Android < 4.0.3
20
+ '1.7.0.preview1' => ANDROID_TARGET < 15 ? 4.4 : 4.6, # Without dexmaker for Android < 4.0.3
21
+ '1.7.0.preview2.dev' => ANDROID_TARGET < 15 ? 4.4 : 4.6, # Without dexmaker for Android < 4.0.3
22
22
  }[JRUBY_JARS_VERSION.to_s] || 3.2
23
23
  lower_limit = upper_limit * 0.9
24
- version_message ="JRuby: #{JRUBY_JARS_VERSION}"
24
+ version_message ="JRuby: #{JRUBY_JARS_VERSION}, ANDROID_TARGET: #{ANDROID_TARGET}"
25
25
  assert apk_size <= upper_limit, "APK was larger than #{'%.1f' % upper_limit}MB: #{'%.1f' % apk_size.ceil(1)}MB. #{version_message}"
26
26
  assert apk_size >= lower_limit, "APK was smaller than #{'%.1f' % lower_limit}MB: #{'%.1f' % apk_size.floor(1)}MB. You should lower the limit. #{version_message}"
27
27
  end
@@ -31,4 +31,4 @@ if RubotoTest::RUBOTO_PLATFORM == 'STANDALONE'
31
31
  end
32
32
 
33
33
  end
34
- end
34
+ end
data/test/rake_test.rb CHANGED
@@ -48,4 +48,18 @@ class RakeTest < Test::Unit::TestCase
48
48
  end
49
49
  end
50
50
 
51
- end
51
+ def test_that_manifest_is_updated_when_project_properties_are_changed
52
+ Dir.chdir APP_DIR do
53
+ manifest = File.read('AndroidManifest.xml')
54
+ assert_equal "android:minSdkVersion='#{ANDROID_TARGET}'", manifest.slice(/android:minSdkVersion='\d+'/)
55
+ assert_equal "android:targetSdkVersion='#{ANDROID_TARGET}'", manifest.slice(/android:targetSdkVersion='\d+'/)
56
+ prop_file = File.read('project.properties')
57
+ File.open('project.properties', 'w'){|f| f << prop_file.sub(/target=android-#{ANDROID_TARGET}/, "target=android-6")}
58
+ system 'rake debug'
59
+ manifest = File.read('AndroidManifest.xml')
60
+ assert_equal "android:minSdkVersion='6'", manifest.slice(/android:minSdkVersion='\d+'/)
61
+ assert_equal "android:targetSdkVersion='6'", manifest.slice(/android:targetSdkVersion='\d+'/)
62
+ end
63
+ end
64
+
65
+ end
@@ -15,7 +15,9 @@ class RubotoGenTest < Test::Unit::TestCase
15
15
 
16
16
  def test_icons_are_updated
17
17
  Dir.chdir APP_DIR do
18
- assert_equal 4032, File.size('res/drawable-hdpi/icon.png')
18
+ assert_equal 4032, File.size('res/drawable-hdpi/ic_launcher.png')
19
+ assert_equal 2548, File.size('res/drawable-mdpi/ic_launcher.png')
20
+ assert_equal 1748, File.size('res/drawable-ldpi/ic_launcher.png')
19
21
  end
20
22
  end
21
23
 
@@ -33,19 +35,20 @@ class RubotoGenTest < Test::Unit::TestCase
33
35
  def test_new_apk_size_is_within_limits
34
36
  apk_size = BigDecimal(File.size("#{APP_DIR}/bin/RubotoTestApp-debug.apk").to_s) / 1024
35
37
  version = " PLATFORM: #{RUBOTO_PLATFORM}"
38
+ version << ", ANDROID_TARGET: #{ANDROID_TARGET}"
36
39
  if RUBOTO_PLATFORM == 'STANDALONE'
37
40
  upper_limit = {
38
41
  '1.6.7' => 5800.0,
39
- '1.7.0.dev' => 6666.0,
42
+ '1.7.0.preview1' => ANDROID_TARGET < 15 ? 7062.0 : 7308.0,
43
+ '1.7.0.preview2.dev' => ANDROID_TARGET < 15 ? 7062.0 : 7308.0,
40
44
  }[JRUBY_JARS_VERSION.to_s] || 4200.0
41
45
  version << ", JRuby: #{JRUBY_JARS_VERSION.to_s}"
42
46
  else
43
47
  upper_limit = {
44
48
  7 => 56.0,
45
49
  10 => 60.0,
46
- 15 => 65.0,
50
+ 15 => 60.0,
47
51
  }[ANDROID_TARGET] || 64.0
48
- version << ", ANDROID_TARGET: #{ANDROID_TARGET}"
49
52
  end
50
53
  lower_limit = upper_limit * 0.9
51
54
  assert apk_size <= upper_limit, "APK was larger than #{'%.1f' % upper_limit}KB: #{'%.1f' % apk_size.ceil(1)}KB.#{version}"
data/test/service_test.rb CHANGED
@@ -2,7 +2,7 @@ require File.expand_path("test_helper", File.dirname(__FILE__))
2
2
  require 'fileutils'
3
3
 
4
4
  class ServiceTest < Test::Unit::TestCase
5
- SRC_DIR ="#{APP_DIR}/src"
5
+ SRC_DIR = "#{APP_DIR}/src"
6
6
 
7
7
  def setup
8
8
  generate_app
@@ -15,35 +15,124 @@ class ServiceTest < Test::Unit::TestCase
15
15
  def test_service_startup
16
16
  Dir.chdir APP_DIR do
17
17
  system "#{RUBOTO_CMD} gen class Service --name RubotoTestService"
18
+
19
+ activity_filename = "#{SRC_DIR}/ruboto_test_app_activity.rb"
20
+ assert File.exists? activity_filename
21
+ File.open(activity_filename, 'w') { |f| f << <<EOF }
22
+ require 'ruboto/activity'
23
+ require 'ruboto/widget'
24
+
25
+ ruboto_import_widgets :Button, :LinearLayout, :TextView
26
+
27
+ class RubotoTestAppActivity
28
+ include Ruboto::Activity
29
+
30
+ def on_create(bundle)
31
+ $ruboto_test_app_activity = self
32
+ set_title 'Domo arigato, Mr Ruboto!'
33
+
34
+ self.content_view =
35
+ linear_layout :orientation => :vertical do
36
+ @text_view = text_view :text => 'What hath Matz wrought?', :id => 42, :width => :fill_parent,
37
+ :gravity => android.view.Gravity::CENTER, :text_size => 48.0
38
+ button :text => 'M-x butterfly', :width => :fill_parent, :id => 43, :on_click_listener => proc { butterfly }
39
+ end
40
+ rescue
41
+ puts "Exception creating activity: \#{$!}"
42
+ puts $!.backtrace.join("\\n")
43
+ end
44
+
45
+ def set_text(text)
46
+ @text_view.text = text
47
+ end
48
+
49
+ private
50
+
51
+ def butterfly
52
+ puts 'butterfly'
53
+ Thread.start do
54
+ begin
55
+ startService(android.content.Intent.new(application_context, $package.RubotoTestService.java_class))
56
+ rescue Exception
57
+ puts "Exception starting the service: \#{$!}"
58
+ puts $!.backtrace.join("\\n")
59
+ end
60
+ end
61
+ puts 'butterfly OK'
62
+ end
63
+
64
+ end
65
+ EOF
66
+
18
67
  service_filename = "#{SRC_DIR}/ruboto_test_service.rb"
19
68
  assert File.exists? service_filename
20
- File.open(service_filename, 'w'){|f| f << <<EOF}
21
- require 'ruboto'
22
-
23
- $service.handle_create do
24
- Thread.start do
25
- loop do
26
- sleep 1
27
- puts "\#{self.class} running..."
69
+ File.open(service_filename, 'w') { |f| f << <<EOF }
70
+ require 'ruboto/service'
71
+
72
+ class RubotoTestService
73
+ TARGET_TEXT = 'What hath Matz wrought!'
74
+ include Ruboto::Service
75
+ def on_create
76
+ puts "service on_create"
77
+ Thread.start do
78
+ loop do
79
+ sleep 1
80
+ puts "\#{self.class} running..."
81
+ end
28
82
  end
83
+ puts "\#{self.class} started."
84
+
85
+ $ruboto_test_app_activity.set_title 'on_create'
86
+
87
+ android.app.Service::START_STICKY
88
+ end
89
+
90
+ def on_start_command(intent, flags, start_id)
91
+ puts "service on_start_command(\#{intent}, \#{flags}, \#{start_id})"
92
+ getApplication()
93
+ getApplication
94
+ get_application
95
+ application
96
+
97
+ $ruboto_test_app_activity.set_title 'on_start_command'
98
+ $ruboto_test_app_activity.set_text TARGET_TEXT
99
+
100
+ android.app.Service::START_STICKY
29
101
  end
30
- puts "\#{self.class} started."
31
- android.app.Service::START_STICKY
32
102
  end
103
+ EOF
33
104
 
34
- $service.handle_start_command do
35
- android.app.Service::START_STICKY
105
+ service_test_filename = "#{APP_DIR}/test/src/ruboto_test_app_activity_test.rb"
106
+ assert File.exists? service_test_filename
107
+ File.open(service_test_filename, 'w') { |f| f << <<EOF }
108
+ activity Java::org.ruboto.test_app.RubotoTestAppActivity
109
+
110
+ setup do |activity|
111
+ start = Time.now
112
+ loop do
113
+ @text_view = activity.findViewById(42)
114
+ break if @text_view || (Time.now - start > 60)
115
+ sleep 1
116
+ end
117
+ assert @text_view
118
+ end
119
+
120
+ test 'button changes text', :ui => false do |activity|
121
+ button = activity.findViewById(43)
122
+ puts 'Clicking...'
123
+ activity.run_on_ui_thread{button.performClick}
124
+ puts 'Clicked!'
125
+ start = Time.now
126
+ loop do
127
+ break if @text_view.text == 'What hath Matz wrought!' || (Time.now - start > 60)
128
+ sleep 1
129
+ end
130
+ assert_equal 'What hath Matz wrought!', @text_view.text
36
131
  end
37
132
  EOF
38
133
 
39
- activity_filename = "#{SRC_DIR}/ruboto_test_app_activity.rb"
40
- s = File.read(activity_filename)
41
- s.gsub!(/^(end)$/, "
42
- startService(android.content.Intent.new($activity.application_context, $package.RubotoTestService.java_class))
43
- \\1\n")
44
- File.open(activity_filename, 'w') { |f| f << s }
45
134
  end
46
135
  run_app_tests
47
- end
48
-
49
136
  end
137
+
138
+ end
data/test/test_helper.rb CHANGED
@@ -16,11 +16,12 @@ module RubotoTest
16
16
  ENV['GEM_HOME'] = GEM_PATH
17
17
  ENV['GEM_PATH'] = GEM_PATH
18
18
  ENV['PATH'] = "#{GEM_PATH}/bin:#{ENV['PATH']}"
19
- Gem.path << GEM_PATH
19
+ Gem.paths = GEM_PATH
20
20
  Gem.refresh
21
21
  `gem query -i -n bundler`
22
22
  system 'gem install bundler' unless $? == 0
23
- system 'bundle --system'
23
+ `bundle check`
24
+ system 'bundle --system' unless $? == 0
24
25
  lib_path = File.expand_path('lib', File.dirname(File.dirname(__FILE__)))
25
26
  $LOAD_PATH.unshift lib_path unless $LOAD_PATH.include?(lib_path)
26
27
  require 'ruboto'
@@ -36,7 +37,8 @@ module RubotoTest
36
37
  '2.3' => 'android-9', '2.3.1' => 'android-9', '2.3.2' => 'android-9',
37
38
  '2.3.3' => 'android-10', '2.3.4' => 'android-10',
38
39
  '3.0' => 'android-11', '3.1' => 'android-12', '3.2' => 'android-13',
39
- '4.0.1' => 'android-14', '4.0.3' => 'android-15', '4.0.4' => 'android-15'
40
+ '4.0.1' => 'android-14', '4.0.3' => 'android-15', '4.0.4' => 'android-15',
41
+ '4.1' => 'android-16',
40
42
  }
41
43
 
42
44
  def self.version_from_device
@@ -59,16 +61,20 @@ module RubotoTest
59
61
  end
60
62
 
61
63
  def self.install_jruby_jars_gem
62
- version_requirement = "-v #{ENV['JRUBY_JARS_VERSION']}" if ENV['JRUBY_JARS_VERSION']
64
+ jars_version_from_env = ENV['JRUBY_JARS_VERSION']
65
+ version_requirement = "-v #{jars_version_from_env}" if jars_version_from_env
63
66
  `gem query -i -n jruby-jars #{version_requirement}`
64
- system "gem install jruby-jars #{version_requirement}" unless $? == 0
67
+ system "gem install #{jars_version_from_env.nil? || !File.exists?("jruby-jars-#{jars_version_from_env}.gem") ? '-r' : '-l'} jruby-jars #{version_requirement}" unless $? == 0
65
68
  raise "install of jruby-jars failed with return code #$?" unless $? == 0
66
- if ENV['JRUBY_JARS_VERSION']
67
- exclusion_clause = %Q{-v "!=#{ENV['JRUBY_JARS_VERSION']}"}
68
- `gem query -u -n jruby-jars #{exclusion_clause}`
69
- system %Q{gem uninstall jruby-jars --all #{exclusion_clause}"} unless $? == 0
70
- raise "Uninstall of jruby-jars failed with return code #$?" unless $? == 0
69
+ if jars_version_from_env
70
+ exclusion_clause = %Q{-v "!=#{jars_version_from_env}"}
71
+ `gem query -i -n jruby-jars #{exclusion_clause}`
72
+ if $? == 0
73
+ system %Q{gem uninstall jruby-jars --all #{exclusion_clause}}
74
+ raise "Uninstall of jruby-jars failed with return code #$?" unless $? == 0
75
+ end
71
76
  end
77
+ Gem.refresh
72
78
  end
73
79
 
74
80
  def install_jruby_jars_gem
@@ -113,9 +119,6 @@ module RubotoTest
113
119
 
114
120
  RUBOTO_PLATFORM = ENV['RUBOTO_PLATFORM'] || 'CURRENT'
115
121
  puts "RUBOTO_PLATFORM: #{RUBOTO_PLATFORM}"
116
-
117
- # FIXME(uwe): Remove when we stop supporting JRuby 1.5.6
118
- ON_JRUBY_JARS_1_5_6 = JRUBY_JARS_VERSION == Gem::Version.new('1.5.6')
119
122
  end
120
123
 
121
124
  class Test::Unit::TestCase
@@ -253,7 +256,7 @@ class Test::Unit::TestCase
253
256
  if RUBOTO_PLATFORM == 'CURRENT'
254
257
  system "rake platform:current platform:install"
255
258
  elsif RUBOTO_PLATFORM == 'MASTER'
256
- system "rake platform:install"
259
+ system "rake platform:debug platform:install"
257
260
  end
258
261
  end
259
262
  if $? != 0
@@ -16,25 +16,16 @@ module UpdatedExampleTestMethods
16
16
 
17
17
  def test_properties_and_ant_file_has_no_duplicates
18
18
  Dir.chdir APP_DIR do
19
- # FIXME(uwe): Cleanup when we stop support Android SDK <= 13
20
- prop_file = %w{test/ant.properties test/build.properties}.find{|f| File.exists?(f)}
21
- # FIXME end
22
-
23
- assert File.readlines(prop_file).grep(/\w/).uniq!.nil?, "Duplicate lines in #{prop_file}"
24
- assert_equal 1, File.readlines('test/build.xml').grep(/<macrodef name="run-tests-helper">/).size, 'Duplicate macro in build.xml'
19
+ assert File.readlines('test/ant.properties').grep(/\w/).uniq!.nil?, "Duplicate lines in test/ant.properties"
20
+ assert_equal 1, File.readlines('test/build.xml').grep(/<macrodef name="run-tests-helper">/).size, 'Duplicate macro in test/build.xml'
25
21
  end
26
22
  end
27
23
 
28
24
  def test_icons_are_untouched
29
25
  Dir.chdir APP_DIR do
30
- icon_file_size = File.size('res/drawable-hdpi/icon.png')
31
- # FIXME(uwe): Simplify when we stop supporting updating from version 0.1.0 and older
32
- if @old_ruboto_version == '0.1.0'
33
- assert_equal 4100, icon_file_size
34
- else
35
- assert_equal 4032, icon_file_size
36
- end
37
- # FIXME end
26
+ icon_file = Dir['res/drawable-hdpi/{icon,ic_launcher}.png'][0]
27
+ icon_file_size = File.size(icon_file)
28
+ assert_equal 4032, icon_file_size
38
29
  end
39
30
  end
40
31
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruboto
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 3
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 6
8
+ - 7
9
9
  - 0
10
- version: 0.6.0
10
+ version: 0.7.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Daniel Jackoway
@@ -18,7 +18,7 @@ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
21
- date: 2012-05-10 00:00:00 Z
21
+ date: 2012-07-05 00:00:00 Z
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
24
24
  name: main
@@ -63,9 +63,9 @@ files:
63
63
  - assets/Rakefile
64
64
  - assets/rakelib/ruboto.rake
65
65
  - assets/res/drawable/get_ruboto_core.png
66
- - assets/res/drawable-hdpi/icon.png
67
- - assets/res/drawable-ldpi/icon.png
68
- - assets/res/drawable-mdpi/icon.png
66
+ - assets/res/drawable-hdpi/ic_launcher.png
67
+ - assets/res/drawable-ldpi/ic_launcher.png
68
+ - assets/res/drawable-mdpi/ic_launcher.png
69
69
  - assets/res/layout/get_ruboto_core.xml
70
70
  - assets/samples/sample_activity.rb
71
71
  - assets/samples/sample_activity_test.rb
@@ -78,6 +78,8 @@ files:
78
78
  - assets/src/InheritingClass.java
79
79
  - assets/src/InheritingService.java
80
80
  - assets/src/org/ruboto/EntryPointActivity.java
81
+ - assets/src/org/ruboto/JRubyAdapter.java
82
+ - assets/src/org/ruboto/Log.java
81
83
  - assets/src/org/ruboto/RubotoDialog.java
82
84
  - assets/src/org/ruboto/Script.java
83
85
  - assets/src/org/ruboto/test/ActivityTest.java
@@ -88,6 +90,7 @@ files:
88
90
  - assets/src/ruboto/generate.rb
89
91
  - assets/src/ruboto/legacy.rb
90
92
  - assets/src/ruboto/menu.rb
93
+ - assets/src/ruboto/package.rb
91
94
  - assets/src/ruboto/preference.rb
92
95
  - assets/src/ruboto/service.rb
93
96
  - assets/src/ruboto/util/stack.rb
@@ -129,7 +132,27 @@ files:
129
132
  - test/activity/stack_activity.rb
130
133
  - test/activity/stack_activity_test.rb
131
134
  - test/app_test_methods.rb
135
+ - test/block_def_activity/image_button_activity.rb
136
+ - test/block_def_activity/image_button_activity_test.rb
137
+ - test/block_def_activity/image_button_and_button_activity.rb
138
+ - test/block_def_activity/image_button_and_button_activity_test.rb
139
+ - test/block_def_activity/option_menu_activity.rb
140
+ - test/block_def_activity/option_menu_activity_test.rb
141
+ - test/block_def_activity/psych_activity.rb
142
+ - test/block_def_activity/psych_activity_test.rb
143
+ - test/block_def_activity/stack_activity.rb
144
+ - test/block_def_activity/stack_activity_test.rb
132
145
  - test/broadcast_receiver_test.rb
146
+ - test/handle_activity/image_button_activity.rb
147
+ - test/handle_activity/image_button_activity_test.rb
148
+ - test/handle_activity/image_button_and_button_activity.rb
149
+ - test/handle_activity/image_button_and_button_activity_test.rb
150
+ - test/handle_activity/option_menu_activity.rb
151
+ - test/handle_activity/option_menu_activity_test.rb
152
+ - test/handle_activity/psych_activity.rb
153
+ - test/handle_activity/psych_activity_test.rb
154
+ - test/handle_activity/stack_activity.rb
155
+ - test/handle_activity/stack_activity_test.rb
133
156
  - test/minimal_app_test.rb
134
157
  - test/rake_test.rb
135
158
  - test/ruboto_gen_test.rb