ruboto 0.9.0 → 0.10.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/README.md +13 -13
- data/Rakefile +4 -4
- data/assets/rakelib/ruboto.rake +8 -4
- data/assets/samples/sample_broadcast_receiver.rb +0 -8
- data/assets/src/InheritingBroadcastReceiver.java +0 -19
- data/assets/src/InheritingClass.java +1 -8
- data/assets/src/RubotoActivity.java +1 -20
- data/assets/src/RubotoBroadcastReceiver.java +15 -25
- data/assets/src/RubotoService.java +1 -15
- data/assets/src/org/ruboto/EntryPointActivity.java +0 -1
- data/assets/src/org/ruboto/JRubyAdapter.java +9 -8
- data/assets/src/org/ruboto/RubotoComponent.java +0 -3
- data/assets/src/org/ruboto/Script.java +9 -9
- data/assets/src/org/ruboto/ScriptInfo.java +0 -15
- data/assets/src/org/ruboto/ScriptLoader.java +31 -43
- data/assets/src/ruboto/activity.rb +16 -41
- data/assets/src/ruboto/base.rb +0 -70
- data/assets/src/ruboto/broadcast_receiver.rb +2 -22
- data/assets/src/ruboto/package.rb +0 -1
- data/assets/src/ruboto/preference.rb +7 -3
- data/assets/src/ruboto/service.rb +14 -51
- data/assets/src/ruboto/widget.rb +2 -2
- data/lib/DexClient.java +10 -3
- data/lib/ruboto/util/build.rb +0 -5
- data/lib/ruboto/util/code_formatting.rb +1 -1
- data/lib/ruboto/util/update.rb +69 -50
- data/lib/ruboto/util/verify.rb +6 -5
- data/lib/ruboto/util/xml_element.rb +16 -29
- data/lib/ruboto/version.rb +2 -2
- data/test/activity/mytest_activity.rb +56 -0
- data/test/activity/mytest_activity_test.rb +52 -0
- data/test/activity/mytest_otherfile_activity.rb +12 -0
- data/test/activity/navigation_activity.rb +1 -1
- data/test/activity/subclass_activity.rb +10 -5
- data/test/activity/subclass_activity_test.rb +17 -2
- data/test/activity/view_constants_activity.rb +42 -0
- data/test/activity/view_constants_activity_test.rb +30 -0
- data/test/app_test_methods.rb +31 -26
- data/test/broadcast_receiver_test.rb +3 -1
- data/test/ruboto_gen_test.rb +4 -4
- data/test/test_helper.rb +5 -2
- metadata +18 -38
- data/assets/src/ruboto.rb +0 -25
- data/assets/src/ruboto/legacy.rb +0 -220
- data/assets/src/ruboto/menu.rb +0 -88
- data/lib/java_class_gen/InheritingClass.java.erb +0 -10
- data/test/block_def_activity/image_button_activity.rb +0 -23
- data/test/block_def_activity/image_button_activity_test.rb +0 -21
- data/test/block_def_activity/image_button_and_button_activity.rb +0 -20
- data/test/block_def_activity/image_button_and_button_activity_test.rb +0 -27
- data/test/block_def_activity/margins_activity.rb +0 -18
- data/test/block_def_activity/margins_activity_test.rb +0 -25
- data/test/block_def_activity/option_menu_activity.rb +0 -26
- data/test/block_def_activity/option_menu_activity_test.rb +0 -17
- data/test/block_def_activity/psych_activity.rb +0 -35
- data/test/block_def_activity/psych_activity_test.rb +0 -16
- data/test/block_def_activity/stack_activity.rb +0 -25
- data/test/block_def_activity/stack_activity_test.rb +0 -39
- data/test/handle_activity/image_button_activity.rb +0 -21
- data/test/handle_activity/image_button_activity_test.rb +0 -21
- data/test/handle_activity/image_button_and_button_activity.rb +0 -24
- data/test/handle_activity/image_button_and_button_activity_test.rb +0 -27
- data/test/handle_activity/margins_activity.rb +0 -15
- data/test/handle_activity/margins_activity_test.rb +0 -25
- data/test/handle_activity/option_menu_activity.rb +0 -25
- data/test/handle_activity/option_menu_activity_test.rb +0 -20
- data/test/handle_activity/psych_activity.rb +0 -31
- data/test/handle_activity/psych_activity_test.rb +0 -16
- data/test/handle_activity/stack_activity.rb +0 -24
- data/test/handle_activity/stack_activity_test.rb +0 -47
- data/test/view_constants_test.rb +0 -103
| @@ -0,0 +1,52 @@ | |
| 1 | 
            +
            activity org.ruboto.test_app.MytestActivity
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            setup do |activity|
         | 
| 4 | 
            +
              start = Time.now
         | 
| 5 | 
            +
              loop do
         | 
| 6 | 
            +
                @text_view = activity.findViewById(42)
         | 
| 7 | 
            +
                break if @text_view || (Time.now - start > 60)
         | 
| 8 | 
            +
                sleep 1
         | 
| 9 | 
            +
              end
         | 
| 10 | 
            +
              assert @text_view
         | 
| 11 | 
            +
            end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            def button_activity_text button_id, activity, expected_text_id, expected_text_string
         | 
| 14 | 
            +
              monitor = add_monitor('org.ruboto.RubotoActivity', nil, false)
         | 
| 15 | 
            +
              begin
         | 
| 16 | 
            +
                activity.run_on_ui_thread { activity.find_view_by_id(button_id).perform_click }
         | 
| 17 | 
            +
                current_activity = wait_for_monitor_with_timeout(monitor, 5000)
         | 
| 18 | 
            +
              ensure
         | 
| 19 | 
            +
                removeMonitor(monitor)
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
              puts "new activity: #{current_activity.inspect}"
         | 
| 22 | 
            +
              assert current_activity
         | 
| 23 | 
            +
               assert current_activity.is_a? Java::OrgRuboto::RubotoActivity
         | 
| 24 | 
            +
              start = Time.now
         | 
| 25 | 
            +
              loop do
         | 
| 26 | 
            +
                @text_view = current_activity.find_view_by_id(expected_text_id)
         | 
| 27 | 
            +
                break if @text_view || (Time.now - start > 10)
         | 
| 28 | 
            +
                puts 'wait for text'
         | 
| 29 | 
            +
                sleep 1
         | 
| 30 | 
            +
              end
         | 
| 31 | 
            +
              assert @text_view
         | 
| 32 | 
            +
              assert_equal expected_text_string, @text_view.text
         | 
| 33 | 
            +
              current_activity.run_on_ui_thread { current_activity.finish }
         | 
| 34 | 
            +
              # FIXME(uwe):  Replace sleep with proper monitor
         | 
| 35 | 
            +
              sleep 3
         | 
| 36 | 
            +
            end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            test("infile activity starts once", :ui => false) do |activity|
         | 
| 39 | 
            +
              button_activity_text 48, activity, 42, 'This is an infile activity.'
         | 
| 40 | 
            +
            end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
            test("infile activity starts again", :ui => false) do |activity|
         | 
| 43 | 
            +
              button_activity_text 48, activity, 42, 'This is an infile activity.'
         | 
| 44 | 
            +
            end
         | 
| 45 | 
            +
             | 
| 46 | 
            +
            test("otherfile activity starts once", :ui => false) do |activity|
         | 
| 47 | 
            +
              button_activity_text 49, activity, 42, 'This is an otherfile activity.'
         | 
| 48 | 
            +
            end
         | 
| 49 | 
            +
             | 
| 50 | 
            +
            test("otherfile activity starts again", :ui => false) do |activity|
         | 
| 51 | 
            +
              button_activity_text 49, activity, 42, 'This is an otherfile activity.'
         | 
| 52 | 
            +
            end
         | 
| @@ -0,0 +1,12 @@ | |
| 1 | 
            +
            class MytestOtherfileActivity
         | 
| 2 | 
            +
              def on_create(bundle)
         | 
| 3 | 
            +
                super
         | 
| 4 | 
            +
                set_title 'Otherfile Activity'
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                self.content_view =
         | 
| 7 | 
            +
                    linear_layout :orientation => :vertical, :gravity => :center_horizontal do
         | 
| 8 | 
            +
                      text_view :text => 'This is an otherfile activity.', :id => 42, :width => :match_parent,
         | 
| 9 | 
            +
                                :gravity => :center, :text_size => 48.0
         | 
| 10 | 
            +
                    end
         | 
| 11 | 
            +
              end
         | 
| 12 | 
            +
            end
         | 
| @@ -3,7 +3,7 @@ require 'ruboto/widget' | |
| 3 3 |  | 
| 4 4 | 
             
            ruboto_import_widgets :Button, :LinearLayout, :TextView
         | 
| 5 5 |  | 
| 6 | 
            -
            class NavigationActivity | 
| 6 | 
            +
            class NavigationActivity
         | 
| 7 7 | 
             
              def on_create(bundle)
         | 
| 8 8 | 
             
                super
         | 
| 9 9 | 
             
                set_title File.basename(__FILE__).chomp('_activity.rb').split('_').map { |s| "#{s[0..0].upcase}#{s[1..-1]}" }.join(' ')
         | 
| @@ -4,11 +4,11 @@ require 'ruboto/widget' | |
| 4 4 | 
             
            ruboto_import_widgets :LinearLayout, :ListView, :TextView
         | 
| 5 5 |  | 
| 6 6 | 
             
            class SubclassOfArrayAdapter < Java::AndroidWidget::ArrayAdapter
         | 
| 7 | 
            -
              def  | 
| 7 | 
            +
              def getView(position, convert_view, parent)
         | 
| 8 8 | 
             
                puts "IN get_view!!!"
         | 
| 9 9 | 
             
                @inflater ||= context.getSystemService(Context::LAYOUT_INFLATER_SERVICE)
         | 
| 10 10 | 
             
                row = convert_view ? convert_view : @inflater.inflate(mResource, nil)
         | 
| 11 | 
            -
                row.findViewById(mFieldId).text = get_item(position)
         | 
| 11 | 
            +
                row.findViewById(mFieldId).text = "[#{get_item(position)}]"
         | 
| 12 12 | 
             
                row
         | 
| 13 13 | 
             
              rescue Exception
         | 
| 14 14 | 
             
                puts "Exception getting list item view: #$!"
         | 
| @@ -17,17 +17,22 @@ class SubclassOfArrayAdapter < Java::AndroidWidget::ArrayAdapter | |
| 17 17 | 
             
              end
         | 
| 18 18 | 
             
            end
         | 
| 19 19 |  | 
| 20 | 
            +
            class Java::AndroidWidget::ArrayAdapter
         | 
| 21 | 
            +
               field_reader :mResource, :mFieldId
         | 
| 22 | 
            +
            end
         | 
| 23 | 
            +
             | 
| 20 24 | 
             
            class SubclassActivity
         | 
| 21 25 | 
             
              def on_create(bundle)
         | 
| 22 26 | 
             
                super
         | 
| 23 27 | 
             
                setTitle File.basename(__FILE__).chomp('_activity.rb').split('_').map { |s| "#{s[0..0].upcase}#{s[1..-1]}" }.join(' ')
         | 
| 24 28 |  | 
| 25 | 
            -
                adapter = SubclassOfArrayAdapter.new(self, android.R.layout.simple_list_item_1 | 
| 29 | 
            +
                adapter = SubclassOfArrayAdapter.new(self, android.R.layout.simple_list_item_1, AndroidIds::text1, ['Record one', 'Record two'])
         | 
| 26 30 |  | 
| 27 31 | 
             
                self.content_view =
         | 
| 28 32 | 
             
                    linear_layout :orientation => LinearLayout::VERTICAL do
         | 
| 29 | 
            -
                      @ | 
| 30 | 
            -
                      @list_view = list_view :adapter => adapter, :id => 43
         | 
| 33 | 
            +
                      @text_view = text_view :text => 'What hath Matz wrought?', :id => 42
         | 
| 34 | 
            +
                      @list_view = list_view :adapter => adapter, :id => 43,
         | 
| 35 | 
            +
                          :on_item_click_listener => proc{|_,view,_,_| @text_view.text = view.findViewById(AndroidIds::text1).text}
         | 
| 31 36 | 
             
                    end
         | 
| 32 37 | 
             
              end
         | 
| 33 38 | 
             
            end
         | 
| @@ -12,6 +12,21 @@ setup do |activity| | |
| 12 12 | 
             
              assert @list_view
         | 
| 13 13 | 
             
            end
         | 
| 14 14 |  | 
| 15 | 
            -
            test( | 
| 16 | 
            -
               | 
| 15 | 
            +
            test('item click sets text') do |activity|
         | 
| 16 | 
            +
              activity.run_on_ui_thread { @list_view.performItemClick(@list_view, 1, 1) }
         | 
| 17 | 
            +
              assert_equal '[Record one]', @text_view.text
         | 
| 18 | 
            +
            end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            class MyObject < java.lang.Object
         | 
| 21 | 
            +
              attr_reader :my_param
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              def initialize(my_param)
         | 
| 24 | 
            +
                super()
         | 
| 25 | 
            +
                @my_param = my_param
         | 
| 26 | 
            +
              end
         | 
| 27 | 
            +
            end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            test('add constructor with parameter') do
         | 
| 30 | 
            +
              o = MyObject.new('It works!')
         | 
| 31 | 
            +
              assert_equal 'It works!', o.my_param
         | 
| 17 32 | 
             
            end
         | 
| @@ -0,0 +1,42 @@ | |
| 1 | 
            +
            require 'ruboto/activity'
         | 
| 2 | 
            +
            require 'ruboto/widget'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            ruboto_import_widgets :Button, :LinearLayout, :TextView
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            class ViewConstantsActivity
         | 
| 7 | 
            +
              def on_create(bundle)
         | 
| 8 | 
            +
                super
         | 
| 9 | 
            +
                $ruboto_test_app_activity = self
         | 
| 10 | 
            +
                setTitle File.basename(__FILE__).chomp('_activity.rb').split('_').map { |s| "#{s[0..0].upcase}#{s[1..-1]}" }.join(' ')
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                self.content_view =
         | 
| 13 | 
            +
                    linear_layout :orientation => :vertical do
         | 
| 14 | 
            +
                      @text_view = text_view :text    => 'What hath Matz wrought?', :id => 42, :width => :fill_parent,
         | 
| 15 | 
            +
                                             :gravity => android.view.Gravity::CENTER, :text_size => 48.0
         | 
| 16 | 
            +
                      button :text => 'M-x butterfly', :width => :fill_parent, :id => 43, :on_click_listener => proc { butterfly }
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
              rescue
         | 
| 19 | 
            +
                puts "Exception creating activity: \#{$!}"
         | 
| 20 | 
            +
                puts $!.backtrace.join("\\n")
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              def set_text(text)
         | 
| 24 | 
            +
                @text_view.text = text
         | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
              private
         | 
| 28 | 
            +
             | 
| 29 | 
            +
              def butterfly
         | 
| 30 | 
            +
                puts 'butterfly'
         | 
| 31 | 
            +
                Thread.start do
         | 
| 32 | 
            +
                  begin
         | 
| 33 | 
            +
                    startService(android.content.Intent.new(application_context, $package.RubotoTestService.java_class))
         | 
| 34 | 
            +
                  rescue Exception
         | 
| 35 | 
            +
                    puts "Exception starting the service: \#{$!}"
         | 
| 36 | 
            +
                    puts $!.backtrace.join("\\n")
         | 
| 37 | 
            +
                  end
         | 
| 38 | 
            +
                end
         | 
| 39 | 
            +
                puts 'butterfly OK'
         | 
| 40 | 
            +
              end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
            end
         | 
| @@ -0,0 +1,30 @@ | |
| 1 | 
            +
            activity Java::org.ruboto.test_app.ViewConstantsActivity
         | 
| 2 | 
            +
            java_import "android.view.ViewGroup"
         | 
| 3 | 
            +
            java_import "android.view.Gravity"
         | 
| 4 | 
            +
            java_import "android.os.Build"
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            setup do |activity|
         | 
| 7 | 
            +
              start = Time.now
         | 
| 8 | 
            +
              loop do
         | 
| 9 | 
            +
                @text_view = activity.findViewById(42)
         | 
| 10 | 
            +
                break if @text_view || (Time.now - start > 60)
         | 
| 11 | 
            +
                sleep 1
         | 
| 12 | 
            +
              end
         | 
| 13 | 
            +
              assert @text_view
         | 
| 14 | 
            +
            end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            def view_constant(const)
         | 
| 17 | 
            +
              View.convert_constant(const.downcase.to_sym)
         | 
| 18 | 
            +
            end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            test('LayoutParams Constants') do |activity|
         | 
| 21 | 
            +
              ViewGroup::LayoutParams.constants.each do |const|
         | 
| 22 | 
            +
                assert_equal ViewGroup::LayoutParams.const_get(const), view_constant(const)
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
            end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            test('Gravity Constants') do |activity|
         | 
| 27 | 
            +
              Gravity.constants.each do |const|
         | 
| 28 | 
            +
                assert_equal Gravity.const_get(const), view_constant(const)
         | 
| 29 | 
            +
              end
         | 
| 30 | 
            +
            end
         | 
    
        data/test/app_test_methods.rb
    CHANGED
    
    | @@ -4,31 +4,29 @@ module AppTestMethods | |
| 4 4 | 
             
              include RubotoTest
         | 
| 5 5 |  | 
| 6 6 | 
             
              def test_activity_tests
         | 
| 7 | 
            -
                 | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
                 | 
| 13 | 
            -
             | 
| 7 | 
            +
                if ENV['ACTIVITY_TEST_PATTERN']
         | 
| 8 | 
            +
                  Dir.chdir APP_DIR do
         | 
| 9 | 
            +
                    FileUtils.rm "src/ruboto_test_app_activity.rb"
         | 
| 10 | 
            +
                    FileUtils.rm "test/src/ruboto_test_app_activity_test.rb"
         | 
| 11 | 
            +
                  end
         | 
| 12 | 
            +
                else
         | 
| 13 | 
            +
                  assert_code 'Base64Loads', "require 'base64'"
         | 
| 14 14 |  | 
| 15 | 
            -
               | 
| 16 | 
            -
             | 
| 17 | 
            -
              end
         | 
| 15 | 
            +
                  # FIXME(uwe):  We should try using YAML as well
         | 
| 16 | 
            +
                  assert_code 'YamlLoads', "require 'ruboto/util/stack' ; with_large_stack{require 'yaml'}"
         | 
| 18 17 |  | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
                   | 
| 22 | 
            -
                  FileUtils.rm "test/src/ruboto_test_app_activity_test.rb"
         | 
| 18 | 
            +
                  assert_code 'ReadSourceFile', 'File.read(__FILE__)'
         | 
| 19 | 
            +
                  assert_code 'DirListsFilesInApk', 'Dir["#{File.dirname(__FILE__)}/*"].each{|f| raise "File #{f.inspect} not found" unless File.exists?(f)}'
         | 
| 20 | 
            +
                  assert_code 'RepeatRubotoImportWidget', 'ruboto_import_widget :TextView ; ruboto_import_widget :TextView'
         | 
| 23 21 | 
             
                end
         | 
| 24 | 
            -
                run_activity_tests(' | 
| 22 | 
            +
                run_activity_tests('activity')
         | 
| 25 23 | 
             
              end
         | 
| 26 24 |  | 
| 27 25 | 
             
              private
         | 
| 28 26 |  | 
| 29 27 | 
             
              def assert_code(activity_name, code)
         | 
| 30 28 | 
             
                snake_name = activity_name.scan(/[A-Z]+[a-z0-9]+/).map { |s| s.downcase }.join('_')
         | 
| 31 | 
            -
                filename | 
| 29 | 
            +
                filename = "src/#{snake_name}_activity.rb"
         | 
| 32 30 | 
             
                Dir.chdir APP_DIR do
         | 
| 33 31 | 
             
                  system "#{RUBOTO_CMD} gen class Activity --name #{activity_name}Activity"
         | 
| 34 32 | 
             
                  s = File.read(filename)
         | 
| @@ -38,17 +36,24 @@ module AppTestMethods | |
| 38 36 | 
             
              end
         | 
| 39 37 |  | 
| 40 38 | 
             
              def run_activity_tests(activity_dir)
         | 
| 41 | 
            -
                Dir[File.expand_path("#{activity_dir}/* | 
| 42 | 
            -
                  snake_name    = test_src.chomp('_test.rb')
         | 
| 43 | 
            -
             | 
| 39 | 
            +
                Dir[File.expand_path("#{activity_dir}/*", File.dirname(__FILE__))].each do |file|
         | 
| 44 40 | 
             
                  # FIXME(uwe):  Remove when we stop testing JRuby < 1.7.0.rc1
         | 
| 45 | 
            -
                  next if  | 
| 46 | 
            -
             | 
| 47 | 
            -
                   | 
| 48 | 
            -
             | 
| 49 | 
            -
                     | 
| 50 | 
            -
             | 
| 51 | 
            -
                     | 
| 41 | 
            +
                  next if file =~ /subclass/ && (RUBOTO_PLATFORM == 'CURRENT' || JRUBY_JARS_VERSION < Gem::Version.new('1.7.0.rc1'))
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                  if file =~ /_test.rb$/
         | 
| 44 | 
            +
                    next unless file =~ /#{ENV['ACTIVITY_TEST_PATTERN']}/
         | 
| 45 | 
            +
                    snake_name = file.chomp('_test.rb')
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                    activity_name = File.basename(snake_name).split('_').map { |s| "#{s[0..0].upcase}#{s[1..-1]}" }.join
         | 
| 48 | 
            +
                    Dir.chdir APP_DIR do
         | 
| 49 | 
            +
                      system "#{RUBOTO_CMD} gen class Activity --name #{activity_name}"
         | 
| 50 | 
            +
                      FileUtils.cp "#{snake_name}.rb", "src/"
         | 
| 51 | 
            +
                      FileUtils.cp file, "test/src/"
         | 
| 52 | 
            +
                    end
         | 
| 53 | 
            +
                  elsif !File.exists? "#{file.chomp('.rb')}'_test.rb'"
         | 
| 54 | 
            +
                    Dir.chdir APP_DIR do
         | 
| 55 | 
            +
                      FileUtils.cp file, "src/"
         | 
| 56 | 
            +
                    end
         | 
| 52 57 | 
             
                  end
         | 
| 53 58 | 
             
                end
         | 
| 54 59 | 
             
                run_app_tests
         | 
| @@ -21,6 +21,8 @@ class BroadcastReceiverTest < Test::Unit::TestCase | |
| 21 21 |  | 
| 22 22 | 
             
                  assert activity_content.sub!(/  def on_create\(bundle\)\n/, <<EOF)
         | 
| 23 23 | 
             
              def on_create(bundle)
         | 
| 24 | 
            +
                super
         | 
| 25 | 
            +
                $broadcast_test_activity = self
         | 
| 24 26 | 
             
                @receiver = $package.ClickReceiver.new
         | 
| 25 27 | 
             
                filter = android.content.IntentFilter.new('#{action_name}')
         | 
| 26 28 | 
             
                Thread.start do
         | 
| @@ -53,7 +55,7 @@ EOF | |
| 53 55 | 
             
                  assert receiver_content.sub!(/  def on_receive\(context, intent\)\n.*?^  end\n/m, <<EOF)
         | 
| 54 56 | 
             
              def on_receive(context, intent)
         | 
| 55 57 | 
             
                Log.d "RUBOTO TEST", "Changing UI text"
         | 
| 56 | 
            -
                context.run_on_ui_thread{$ | 
| 58 | 
            +
                context.run_on_ui_thread{$broadcast_test_activity.find_view_by_id(42).text = '#{message}'}
         | 
| 57 59 | 
             
                Log.d "RUBOTO TEST", "UI text changed OK!"
         | 
| 58 60 | 
             
              rescue
         | 
| 59 61 | 
             
                Log.e "RUBOTO TEST", "Exception changing UI text: \#{$!.message}"
         | 
    
        data/test/ruboto_gen_test.rb
    CHANGED
    
    | @@ -56,16 +56,16 @@ class RubotoGenTest < Test::Unit::TestCase | |
| 56 56 | 
             
                version << ", ANDROID_TARGET: #{ANDROID_TARGET}"
         | 
| 57 57 | 
             
                if RUBOTO_PLATFORM == 'STANDALONE'
         | 
| 58 58 | 
             
                  upper_limit = {
         | 
| 59 | 
            -
                      '1.6.7' =>  | 
| 59 | 
            +
                      '1.6.7' => 5900.0,
         | 
| 60 | 
            +
                      '1.6.8' => 5900.0,
         | 
| 60 61 | 
             
                      '1.7.0' => ANDROID_TARGET < 15 ? 7400.0 : 7600.0,
         | 
| 61 62 | 
             
                      '1.7.1.dev' => ANDROID_TARGET < 15 ? 7400.0 : 7600.0,
         | 
| 62 63 | 
             
                  }[JRUBY_JARS_VERSION.to_s] || 7600.0
         | 
| 63 64 | 
             
                  version << ", JRuby: #{JRUBY_JARS_VERSION.to_s}"
         | 
| 64 65 | 
             
                else
         | 
| 65 66 | 
             
                  upper_limit = {
         | 
| 66 | 
            -
                       | 
| 67 | 
            -
                       | 
| 68 | 
            -
                      15 => 68.0,
         | 
| 67 | 
            +
                      10 => 62.0,
         | 
| 68 | 
            +
                      15 => 63.0,
         | 
| 69 69 | 
             
                  }[ANDROID_TARGET] || 64.0
         | 
| 70 70 | 
             
                end
         | 
| 71 71 | 
             
                lower_limit = upper_limit * 0.9
         | 
    
        data/test/test_helper.rb
    CHANGED
    
    | @@ -68,7 +68,9 @@ module RubotoTest | |
| 68 68 | 
             
                  if File.exists?(local_gem_file)
         | 
| 69 69 | 
             
                    system "gem install -l #{local_gem_file} --no-ri --no-rdoc"
         | 
| 70 70 | 
             
                  else
         | 
| 71 | 
            -
                     | 
| 71 | 
            +
                    Dir.chdir('tmp') do
         | 
| 72 | 
            +
                      system "gem install -r jruby-jars#{version_requirement} --no-ri --no-rdoc"
         | 
| 73 | 
            +
                    end
         | 
| 72 74 | 
             
                  end
         | 
| 73 75 | 
             
                end
         | 
| 74 76 | 
             
                raise "install of jruby-jars failed with return code #$?" unless $? == 0
         | 
| @@ -299,7 +301,8 @@ class Test::Unit::TestCase | |
| 299 301 | 
             
                  fail "Unknown Ruboto platform: #{RUBOTO_PLATFORM.inspect}"
         | 
| 300 302 | 
             
                end
         | 
| 301 303 | 
             
                if $? != 0
         | 
| 302 | 
            -
                   | 
| 304 | 
            +
                  # FIXME(uwe): Delete failed RubotoCore.  Kept temporarily for debuging.
         | 
| 305 | 
            +
                  # FileUtils.rm_rf 'tmp/RubotoCore'
         | 
| 303 306 | 
             
                  fail 'Error (un)installing RubotoCore'
         | 
| 304 307 | 
             
                end
         | 
| 305 308 | 
             
              end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,15 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: ruboto
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 5 | 
            -
              prerelease: 
         | 
| 4 | 
            +
              hash: -86398566
         | 
| 5 | 
            +
              prerelease: 7
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 | 
            -
              -  | 
| 8 | 
            +
              - 10
         | 
| 9 9 | 
             
              - 0
         | 
| 10 | 
            -
               | 
| 10 | 
            +
              - rc
         | 
| 11 | 
            +
              - 0
         | 
| 12 | 
            +
              version: 0.10.0.rc.0
         | 
| 11 13 | 
             
            platform: ruby
         | 
| 12 14 | 
             
            authors: 
         | 
| 13 15 | 
             
            - Daniel Jackoway
         | 
| @@ -18,7 +20,7 @@ autorequire: | |
| 18 20 | 
             
            bindir: bin
         | 
| 19 21 | 
             
            cert_chain: []
         | 
| 20 22 |  | 
| 21 | 
            -
            date: 2012-11- | 
| 23 | 
            +
            date: 2012-11-21 00:00:00 Z
         | 
| 22 24 | 
             
            dependencies: 
         | 
| 23 25 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 24 26 | 
             
              name: main
         | 
| @@ -95,15 +97,12 @@ files: | |
| 95 97 | 
             
            - assets/src/ruboto/activity.rb
         | 
| 96 98 | 
             
            - assets/src/ruboto/base.rb
         | 
| 97 99 | 
             
            - assets/src/ruboto/broadcast_receiver.rb
         | 
| 98 | 
            -
            - assets/src/ruboto/legacy.rb
         | 
| 99 | 
            -
            - assets/src/ruboto/menu.rb
         | 
| 100 100 | 
             
            - assets/src/ruboto/package.rb
         | 
| 101 101 | 
             
            - assets/src/ruboto/preference.rb
         | 
| 102 102 | 
             
            - assets/src/ruboto/service.rb
         | 
| 103 103 | 
             
            - assets/src/ruboto/util/stack.rb
         | 
| 104 104 | 
             
            - assets/src/ruboto/util/toast.rb
         | 
| 105 105 | 
             
            - assets/src/ruboto/widget.rb
         | 
| 106 | 
            -
            - assets/src/ruboto.rb
         | 
| 107 106 | 
             
            - assets/src/RubotoActivity.java
         | 
| 108 107 | 
             
            - assets/src/RubotoBroadcastReceiver.java
         | 
| 109 108 | 
             
            - assets/src/RubotoService.java
         | 
| @@ -112,7 +111,6 @@ files: | |
| 112 111 | 
             
            - lib/DalvikProxyClassFactory.java
         | 
| 113 112 | 
             
            - lib/DexClient.java
         | 
| 114 113 | 
             
            - lib/java_class_gen/android_api.xml
         | 
| 115 | 
            -
            - lib/java_class_gen/InheritingClass.java.erb
         | 
| 116 114 | 
             
            - lib/ruboto/api.rb
         | 
| 117 115 | 
             
            - lib/ruboto/commands/base.rb
         | 
| 118 116 | 
             
            - lib/ruboto/core_ext/array.rb
         | 
| @@ -138,6 +136,9 @@ files: | |
| 138 136 | 
             
            - test/activity/image_button_and_button_activity_test.rb
         | 
| 139 137 | 
             
            - test/activity/margins_activity.rb
         | 
| 140 138 | 
             
            - test/activity/margins_activity_test.rb
         | 
| 139 | 
            +
            - test/activity/mytest_activity.rb
         | 
| 140 | 
            +
            - test/activity/mytest_activity_test.rb
         | 
| 141 | 
            +
            - test/activity/mytest_otherfile_activity.rb
         | 
| 141 142 | 
             
            - test/activity/navigation_activity.rb
         | 
| 142 143 | 
             
            - test/activity/navigation_activity_test.rb
         | 
| 143 144 | 
             
            - test/activity/option_menu_activity.rb
         | 
| @@ -148,33 +149,11 @@ files: | |
| 148 149 | 
             
            - test/activity/stack_activity_test.rb
         | 
| 149 150 | 
             
            - test/activity/subclass_activity.rb
         | 
| 150 151 | 
             
            - test/activity/subclass_activity_test.rb
         | 
| 152 | 
            +
            - test/activity/view_constants_activity.rb
         | 
| 153 | 
            +
            - test/activity/view_constants_activity_test.rb
         | 
| 151 154 | 
             
            - test/app_test_methods.rb
         | 
| 152 | 
            -
            - test/block_def_activity/image_button_activity.rb
         | 
| 153 | 
            -
            - test/block_def_activity/image_button_activity_test.rb
         | 
| 154 | 
            -
            - test/block_def_activity/image_button_and_button_activity.rb
         | 
| 155 | 
            -
            - test/block_def_activity/image_button_and_button_activity_test.rb
         | 
| 156 | 
            -
            - test/block_def_activity/margins_activity.rb
         | 
| 157 | 
            -
            - test/block_def_activity/margins_activity_test.rb
         | 
| 158 | 
            -
            - test/block_def_activity/option_menu_activity.rb
         | 
| 159 | 
            -
            - test/block_def_activity/option_menu_activity_test.rb
         | 
| 160 | 
            -
            - test/block_def_activity/psych_activity.rb
         | 
| 161 | 
            -
            - test/block_def_activity/psych_activity_test.rb
         | 
| 162 | 
            -
            - test/block_def_activity/stack_activity.rb
         | 
| 163 | 
            -
            - test/block_def_activity/stack_activity_test.rb
         | 
| 164 155 | 
             
            - test/broadcast_receiver_test.rb
         | 
| 165 156 | 
             
            - test/gem_test.rb
         | 
| 166 | 
            -
            - test/handle_activity/image_button_activity.rb
         | 
| 167 | 
            -
            - test/handle_activity/image_button_activity_test.rb
         | 
| 168 | 
            -
            - test/handle_activity/image_button_and_button_activity.rb
         | 
| 169 | 
            -
            - test/handle_activity/image_button_and_button_activity_test.rb
         | 
| 170 | 
            -
            - test/handle_activity/margins_activity.rb
         | 
| 171 | 
            -
            - test/handle_activity/margins_activity_test.rb
         | 
| 172 | 
            -
            - test/handle_activity/option_menu_activity.rb
         | 
| 173 | 
            -
            - test/handle_activity/option_menu_activity_test.rb
         | 
| 174 | 
            -
            - test/handle_activity/psych_activity.rb
         | 
| 175 | 
            -
            - test/handle_activity/psych_activity_test.rb
         | 
| 176 | 
            -
            - test/handle_activity/stack_activity.rb
         | 
| 177 | 
            -
            - test/handle_activity/stack_activity_test.rb
         | 
| 178 157 | 
             
            - test/minimal_app_test.rb
         | 
| 179 158 | 
             
            - test/rake_test.rb
         | 
| 180 159 | 
             
            - test/ruboto_gen_test.rb
         | 
| @@ -184,7 +163,6 @@ files: | |
| 184 163 | 
             
            - test/test_helper.rb
         | 
| 185 164 | 
             
            - test/update_test_methods.rb
         | 
| 186 165 | 
             
            - test/updated_example_test_methods.rb
         | 
| 187 | 
            -
            - test/view_constants_test.rb
         | 
| 188 166 | 
             
            homepage: http://ruboto.org/
         | 
| 189 167 | 
             
            licenses: []
         | 
| 190 168 |  | 
| @@ -205,12 +183,14 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 205 183 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 206 184 | 
             
              none: false
         | 
| 207 185 | 
             
              requirements: 
         | 
| 208 | 
            -
              - - " | 
| 186 | 
            +
              - - ">"
         | 
| 209 187 | 
             
                - !ruby/object:Gem::Version 
         | 
| 210 | 
            -
                  hash:  | 
| 188 | 
            +
                  hash: 25
         | 
| 211 189 | 
             
                  segments: 
         | 
| 212 | 
            -
                  -  | 
| 213 | 
            -
                   | 
| 190 | 
            +
                  - 1
         | 
| 191 | 
            +
                  - 3
         | 
| 192 | 
            +
                  - 1
         | 
| 193 | 
            +
                  version: 1.3.1
         | 
| 214 194 | 
             
            requirements: []
         | 
| 215 195 |  | 
| 216 196 | 
             
            rubyforge_project: ruboto/ruboto
         |