android_motion_query 0.2.1 → 0.2.2
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.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/android_motion_query/amq.rb +17 -11
- data/lib/android_motion_query/stylesheet.rb +22 -0
- data/lib/android_motion_query/version.rb +1 -1
- data/lib/android_motion_query/views.rb +5 -0
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f7f99205bcc6f4dafcbe9c498145bdfa00e074bd
         | 
| 4 | 
            +
              data.tar.gz: 61c0171cb6edf43e7b2e19cb9042d8fd58c2aac0
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: de113e65b2090b3ba519a5c5c9c89d5afb91f655072106685a5ed647362580fb8af4c42f61221acb1f98a7a500b6b3cab2ee82c760e664ff01cf514dd55b38d1
         | 
| 7 | 
            +
              data.tar.gz: 583bf296545389fb1ffe6c0cc5122c8b318c1d65389e32a7d8724bbfd92785d71cf8ca41cd686d683cec3bd407155d1d62543ae6f1c3ff25021fd0c3f49c88f7
         | 
    
        data/README.md
    CHANGED
    
    | @@ -173,13 +173,13 @@ class CalculatorScreen < AMQScreen | |
| 173 173 | 
             
            end
         | 
| 174 174 | 
             
            ```
         | 
| 175 175 |  | 
| 176 | 
            -
            Please check the ` | 
| 176 | 
            +
            Please check the `examples` folder for the complete calculator code in addition to other demo apps.
         | 
| 177 177 |  | 
| 178 178 |  | 
| 179 179 | 
             
            ## Todo List
         | 
| 180 180 | 
             
            - [ ] Refactor - create more "single responsibility" classes and have smaller functions (this will never be "done", it's just here as a constant reminder)
         | 
| 181 181 | 
             
            - [ ] Set automatic IDs for views
         | 
| 182 | 
            -
            - [ ] Add wrappers for all built-in android widgets (currently  | 
| 182 | 
            +
            - [ ] Add wrappers for all built-in android widgets (currently supports around 10 widgets)
         | 
| 183 183 | 
             
            - [x] Add support for LinearLayouts
         | 
| 184 184 | 
             
            - [ ] Add support for RelativeLayouts
         | 
| 185 185 | 
             
            - [x] Add support for FrameLayouts
         | 
| @@ -12,7 +12,7 @@ class AndroidMotionQuery | |
| 12 12 | 
             
              end
         | 
| 13 13 |  | 
| 14 14 | 
             
              def create_android_query_view(view, style_method, layout_params, options = {}, &block)
         | 
| 15 | 
            -
                self.root  | 
| 15 | 
            +
                self.root ||= AMQView.new(view, self.activity, self.stylesheet, style_method, layout_params, options)
         | 
| 16 16 | 
             
                self.stylesheet.apply_style_for(self.root, style_method, layout_params)
         | 
| 17 17 | 
             
                block.call(self.root) if block_given?
         | 
| 18 18 | 
             
                self.activity.setContentView(self.root.get)
         | 
| @@ -30,32 +30,38 @@ class AndroidMotionQuery | |
| 30 30 | 
             
                self.root.get.findViewById(id).tag
         | 
| 31 31 | 
             
              end
         | 
| 32 32 |  | 
| 33 | 
            -
              def add(view_sym,  | 
| 34 | 
            -
                self.send(view_sym,  | 
| 33 | 
            +
              def add(view_sym, style_method, &block)
         | 
| 34 | 
            +
                view, layout_params = self.send(view_sym, &block)
         | 
| 35 | 
            +
                create_android_query_view(view, style_method, layout_params, {}, &block)
         | 
| 36 | 
            +
              end
         | 
| 37 | 
            +
              
         | 
| 38 | 
            +
              def add_alone(view_sym, style_method, &block)
         | 
| 39 | 
            +
                view, layout_params = self.send(view_sym, &block)
         | 
| 40 | 
            +
                create_standalone_amq_view(view, style_method, layout_params, {}, &block)
         | 
| 35 41 | 
             
              end
         | 
| 36 42 |  | 
| 37 | 
            -
              def linear_layout( | 
| 43 | 
            +
              def linear_layout(&block)
         | 
| 38 44 | 
             
                view = Android::Widget::LinearLayout.new(self.activity)
         | 
| 39 45 | 
             
                layout_params = Android::Widget::LinearLayout::LayoutParams
         | 
| 40 | 
            -
                 | 
| 46 | 
            +
                [view, layout_params]
         | 
| 41 47 | 
             
              end
         | 
| 42 48 |  | 
| 43 | 
            -
              def relative_layout( | 
| 49 | 
            +
              def relative_layout(&block)
         | 
| 44 50 | 
             
                view = Android::Widget::RelativeLayout.new(self.activity)
         | 
| 45 51 | 
             
                layout_params = Android::Widget::RelativeLayout::LayoutParams
         | 
| 46 | 
            -
                 | 
| 52 | 
            +
                [view, layout_params]
         | 
| 47 53 | 
             
              end
         | 
| 48 54 |  | 
| 49 | 
            -
              def frame_layout( | 
| 55 | 
            +
              def frame_layout(&block)
         | 
| 50 56 | 
             
                view = Android::Widget::FrameLayout.new(self.activity)
         | 
| 51 57 | 
             
                layout_params = Android::Widget::FrameLayout::LayoutParams
         | 
| 52 | 
            -
                 | 
| 58 | 
            +
                [view, layout_params]
         | 
| 53 59 | 
             
              end
         | 
| 54 60 |  | 
| 55 | 
            -
              def text_view( | 
| 61 | 
            +
              def text_view(&block)
         | 
| 56 62 | 
             
                view = Android::Widget::TextView.new(self.activity)
         | 
| 57 63 | 
             
                layout_params = Android::Widget::LinearLayout::LayoutParams
         | 
| 58 | 
            -
                 | 
| 64 | 
            +
                [view, layout_params]
         | 
| 59 65 | 
             
              end
         | 
| 60 66 |  | 
| 61 67 | 
             
              def toast(text, options = {})
         | 
| @@ -248,6 +248,12 @@ class AMQStylesheetElement | |
| 248 248 | 
             
                self.view.get.backgroundColor = AMQColor.parse_color(color.to_s)
         | 
| 249 249 | 
             
              end
         | 
| 250 250 |  | 
| 251 | 
            +
              def background_image=(image_name)
         | 
| 252 | 
            +
                context = self.view.get.getContext
         | 
| 253 | 
            +
                resource_id = context.getResources.getIdentifier(image_name, "drawable", context.getPackageName)
         | 
| 254 | 
            +
                self.view.get.backgroundResource = resource_id
         | 
| 255 | 
            +
              end
         | 
| 256 | 
            +
              
         | 
| 251 257 | 
             
              def image=(image_name)
         | 
| 252 258 | 
             
                context = self.view.get.getContext
         | 
| 253 259 | 
             
                resource_id = context.getResources.getIdentifier(image_name, "drawable", context.getPackageName)
         | 
| @@ -282,6 +288,10 @@ class AMQStylesheetElement | |
| 282 288 | 
             
                self.view.get.hint = t
         | 
| 283 289 | 
             
              end
         | 
| 284 290 |  | 
| 291 | 
            +
              def alpha=(value)
         | 
| 292 | 
            +
                self.view.get.alpha = value
         | 
| 293 | 
            +
              end
         | 
| 294 | 
            +
              
         | 
| 285 295 | 
             
              def input_type=(text_type)
         | 
| 286 296 | 
             
                if INPUT_TYPES.keys.include? text_type
         | 
| 287 297 | 
             
                  self.view.get.inputType = INPUT_TYPES[text_type]
         | 
| @@ -308,4 +318,16 @@ class AMQStylesheetElement | |
| 308 318 | 
             
                  self.params.gravity = :center
         | 
| 309 319 | 
             
                end
         | 
| 310 320 | 
             
              end
         | 
| 321 | 
            +
              
         | 
| 322 | 
            +
              def number_of_columns=(columns)
         | 
| 323 | 
            +
                self.view.get.numColumns = columns
         | 
| 324 | 
            +
              end
         | 
| 325 | 
            +
              
         | 
| 326 | 
            +
              def stretch_mode=(mode)
         | 
| 327 | 
            +
                self.view.get.stretchMode = mode
         | 
| 328 | 
            +
              end
         | 
| 329 | 
            +
              
         | 
| 330 | 
            +
              def vertical_spacing=(space)
         | 
| 331 | 
            +
                self.view.get.verticalSpacing = space
         | 
| 332 | 
            +
              end
         | 
| 311 333 | 
             
            end
         | 
| @@ -59,6 +59,11 @@ class AMQView | |
| 59 59 | 
             
                lp = Android::Widget::FrameLayout::LayoutParams
         | 
| 60 60 | 
             
                create_android_query_view(view, style_method, lp, {}, &block)
         | 
| 61 61 | 
             
              end
         | 
| 62 | 
            +
              
         | 
| 63 | 
            +
              def plain_view(style_method, &block)
         | 
| 64 | 
            +
                view = Android::View::View.new(self.activity)
         | 
| 65 | 
            +
                new_view(view, style_method, &block)
         | 
| 66 | 
            +
              end
         | 
| 62 67 |  | 
| 63 68 | 
             
              def text_view(style_method, &block)
         | 
| 64 69 | 
             
                view = Android::Widget::TextView.new(self.activity)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: android_motion_query
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Abdullah Esmail
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2017-11- | 
| 11 | 
            +
            date: 2017-11-24 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: rake
         |