gametel 0.3 → 0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/features/main_screen.feature +1 -1
- data/features/step_definitions/button_steps.rb +1 -1
- data/features/step_definitions/main_screen_steps.rb +1 -2
- data/features/support/env.rb +24 -1
- data/features/text.feature +0 -12
- data/features/view.feature +0 -1
- data/lib/gametel.rb +3 -4
- data/lib/gametel/accessors.rb +0 -1
- data/lib/gametel/platforms/brazenhead/basic.rb +17 -0
- data/lib/gametel/platforms/brazenhead/spinner.rb +17 -0
- data/lib/gametel/platforms/brazenhead/text.rb +39 -0
- data/lib/gametel/platforms/brazenhead/view.rb +24 -0
- data/lib/gametel/platforms/brazenhead_platform.rb +139 -0
- data/lib/gametel/version.rb +1 -1
- data/spec/lib/gametel/accessors_spec.rb +46 -31
- data/spec/lib/gametel_spec.rb +30 -12
- data/spec/spec_helper.rb +4 -2
- metadata +32 -897
- data/.calabash_settings +0 -1
- data/.gitignore +0 -26
- data/.irbrc +0 -16
- data/.rspec +0 -2
- data/.rvmrc +0 -1
- data/.travis.yml +0 -5
- data/ApiDemos/.classpath +0 -8
- data/ApiDemos/.project +0 -33
- data/ApiDemos/.settings/org.eclipse.jdt.core.prefs +0 -4
- data/ApiDemos/AndroidManifest.xml +0 -2715
- data/ApiDemos/README.txt +0 -19
- data/ApiDemos/assets/HelloActivity.apk +0 -0
- data/ApiDemos/assets/fonts/samplefont.ttf +0 -0
- data/ApiDemos/assets/read_asset.txt +0 -3
- data/ApiDemos/build.xml +0 -83
- data/ApiDemos/proguard-project.txt +0 -20
- data/ApiDemos/project.properties +0 -14
- data/ApiDemos/res/anim/animator.xml +0 -23
- data/ApiDemos/res/anim/animator_set.xml +0 -32
- data/ApiDemos/res/anim/color_animator.xml +0 -23
- data/ApiDemos/res/anim/cycle_7.xml +0 -17
- data/ApiDemos/res/anim/fade.xml +0 -20
- data/ApiDemos/res/anim/hold.xml +0 -20
- data/ApiDemos/res/anim/hyperspace_in.xml +0 -17
- data/ApiDemos/res/anim/hyperspace_out.xml +0 -61
- data/ApiDemos/res/anim/layout_animation_row_left_slide.xml +0 -19
- data/ApiDemos/res/anim/layout_animation_row_right_slide.xml +0 -20
- data/ApiDemos/res/anim/layout_animation_table.xml +0 -19
- data/ApiDemos/res/anim/layout_bottom_to_top_slide.xml +0 -20
- data/ApiDemos/res/anim/layout_grid_fade.xml +0 -20
- data/ApiDemos/res/anim/layout_grid_inverse_fade.xml +0 -21
- data/ApiDemos/res/anim/layout_random_fade.xml +0 -20
- data/ApiDemos/res/anim/layout_wave_scale.xml +0 -21
- data/ApiDemos/res/anim/object_animator.xml +0 -23
- data/ApiDemos/res/anim/push_left_in.xml +0 -20
- data/ApiDemos/res/anim/push_left_out.xml +0 -20
- data/ApiDemos/res/anim/push_up_in.xml +0 -20
- data/ApiDemos/res/anim/push_up_out.xml +0 -20
- data/ApiDemos/res/anim/shake.xml +0 -17
- data/ApiDemos/res/anim/slide_left.xml +0 -20
- data/ApiDemos/res/anim/slide_right.xml +0 -20
- data/ApiDemos/res/anim/slide_top_to_bottom.xml +0 -20
- data/ApiDemos/res/anim/wave_scale.xml +0 -33
- data/ApiDemos/res/anim/zoom_enter.xml +0 -28
- data/ApiDemos/res/anim/zoom_exit.xml +0 -33
- data/ApiDemos/res/animator/fragment_slide_left_enter.xml +0 -32
- data/ApiDemos/res/animator/fragment_slide_left_exit.xml +0 -32
- data/ApiDemos/res/animator/fragment_slide_right_enter.xml +0 -32
- data/ApiDemos/res/animator/fragment_slide_right_exit.xml +0 -32
- data/ApiDemos/res/drawable-hdpi/alert_dialog_icon.png +0 -0
- data/ApiDemos/res/drawable-hdpi/apidemo_androidlogo.png +0 -0
- data/ApiDemos/res/drawable-hdpi/app_sample_code.png +0 -0
- data/ApiDemos/res/drawable-hdpi/arrow_down_float.png +0 -0
- data/ApiDemos/res/drawable-hdpi/arrow_up_float.png +0 -0
- data/ApiDemos/res/drawable-hdpi/btn_check_off.png +0 -0
- data/ApiDemos/res/drawable-hdpi/btn_check_on.png +0 -0
- data/ApiDemos/res/drawable-hdpi/btn_circle_normal.png +0 -0
- data/ApiDemos/res/drawable-hdpi/btn_default_normal.9.png +0 -0
- data/ApiDemos/res/drawable-hdpi/button.9.png +0 -0
- data/ApiDemos/res/drawable-hdpi/ic_contact_picture.png +0 -0
- data/ApiDemos/res/drawable-hdpi/ic_launcher_settings.png +0 -0
- data/ApiDemos/res/drawable-hdpi/ic_popup_reminder.png +0 -0
- data/ApiDemos/res/drawable-hdpi/icon48x48_2.png +0 -0
- data/ApiDemos/res/drawable-hdpi/logo240dpi.png +0 -0
- data/ApiDemos/res/drawable-hdpi/npatch240dpi.9.png +0 -0
- data/ApiDemos/res/drawable-hdpi/progress_circular_background.png +0 -0
- data/ApiDemos/res/drawable-hdpi/progress_particle.png +0 -0
- data/ApiDemos/res/drawable-hdpi/reslogo240dpi.png +0 -0
- data/ApiDemos/res/drawable-hdpi/scrollbar_state2.png +0 -0
- data/ApiDemos/res/drawable-hdpi/smlnpatch240dpi.9.png +0 -0
- data/ApiDemos/res/drawable-hdpi/star_big_on.png +0 -0
- data/ApiDemos/res/drawable-hdpi/stat_happy.png +0 -0
- data/ApiDemos/res/drawable-hdpi/stat_neutral.png +0 -0
- data/ApiDemos/res/drawable-hdpi/stat_sad.png +0 -0
- data/ApiDemos/res/drawable-hdpi/stat_sample.png +0 -0
- data/ApiDemos/res/drawable-hdpi/stylogo240dpi.png +0 -0
- data/ApiDemos/res/drawable-ldpi/logo120dpi.png +0 -0
- data/ApiDemos/res/drawable-ldpi/npatch120dpi.9.png +0 -0
- data/ApiDemos/res/drawable-ldpi/reslogo120dpi.png +0 -0
- data/ApiDemos/res/drawable-ldpi/smlnpatch120dpi.9.png +0 -0
- data/ApiDemos/res/drawable-ldpi/stylogo120dpi.png +0 -0
- data/ApiDemos/res/drawable-mdpi/alert_dialog_icon.png +0 -0
- data/ApiDemos/res/drawable-mdpi/apidemo_androidlogo.png +0 -0
- data/ApiDemos/res/drawable-mdpi/app_sample_code.png +0 -0
- data/ApiDemos/res/drawable-mdpi/arrow_down_float.png +0 -0
- data/ApiDemos/res/drawable-mdpi/arrow_up_float.png +0 -0
- data/ApiDemos/res/drawable-mdpi/btn_check_off.png +0 -0
- data/ApiDemos/res/drawable-mdpi/btn_check_on.png +0 -0
- data/ApiDemos/res/drawable-mdpi/btn_circle_normal.png +0 -0
- data/ApiDemos/res/drawable-mdpi/btn_default_normal.9.png +0 -0
- data/ApiDemos/res/drawable-mdpi/button.9.png +0 -0
- data/ApiDemos/res/drawable-mdpi/ic_contact_picture.png +0 -0
- data/ApiDemos/res/drawable-mdpi/ic_launcher_settings.png +0 -0
- data/ApiDemos/res/drawable-mdpi/ic_popup_reminder.png +0 -0
- data/ApiDemos/res/drawable-mdpi/ic_settings_applications.png +0 -0
- data/ApiDemos/res/drawable-mdpi/ic_settings_display.png +0 -0
- data/ApiDemos/res/drawable-mdpi/icon48x48_2.png +0 -0
- data/ApiDemos/res/drawable-mdpi/progress_circular_background.png +0 -0
- data/ApiDemos/res/drawable-mdpi/progress_particle.png +0 -0
- data/ApiDemos/res/drawable-mdpi/scrollbar_state2.png +0 -0
- data/ApiDemos/res/drawable-mdpi/star_big_on.png +0 -0
- data/ApiDemos/res/drawable-mdpi/stat_happy.png +0 -0
- data/ApiDemos/res/drawable-mdpi/stat_neutral.png +0 -0
- data/ApiDemos/res/drawable-mdpi/stat_sad.png +0 -0
- data/ApiDemos/res/drawable-mdpi/stat_sample.png +0 -0
- data/ApiDemos/res/drawable-nodpi/frantic.jpg +0 -0
- data/ApiDemos/res/drawable-nodpi/logonodpi120.png +0 -0
- data/ApiDemos/res/drawable-nodpi/logonodpi160.png +0 -0
- data/ApiDemos/res/drawable-nodpi/logonodpi240.png +0 -0
- data/ApiDemos/res/drawable-xhdpi/ic_launcher_settings.png +0 -0
- data/ApiDemos/res/drawable/animated_gif.gif +0 -0
- data/ApiDemos/res/drawable/balloons.jpg +0 -0
- data/ApiDemos/res/drawable/beach.jpg +0 -0
- data/ApiDemos/res/drawable/black_box.xml +0 -21
- data/ApiDemos/res/drawable/black_opaque_box.xml +0 -21
- data/ApiDemos/res/drawable/box.xml +0 -24
- data/ApiDemos/res/drawable/circular_progress.xml +0 -29
- data/ApiDemos/res/drawable/filled_box.xml +0 -25
- data/ApiDemos/res/drawable/frog.gif +0 -0
- data/ApiDemos/res/drawable/gallery_background_1.xml +0 -20
- data/ApiDemos/res/drawable/gallery_photo_1.jpg +0 -0
- data/ApiDemos/res/drawable/gallery_photo_2.jpg +0 -0
- data/ApiDemos/res/drawable/gallery_photo_3.jpg +0 -0
- data/ApiDemos/res/drawable/gallery_photo_4.jpg +0 -0
- data/ApiDemos/res/drawable/gallery_photo_5.jpg +0 -0
- data/ApiDemos/res/drawable/gallery_photo_6.jpg +0 -0
- data/ApiDemos/res/drawable/gallery_photo_7.jpg +0 -0
- data/ApiDemos/res/drawable/gallery_photo_8.jpg +0 -0
- data/ApiDemos/res/drawable/hover_background.xml +0 -20
- data/ApiDemos/res/drawable/hover_background_active.xml +0 -23
- data/ApiDemos/res/drawable/hover_background_inactive.xml +0 -23
- data/ApiDemos/res/drawable/icon48x48_1.png +0 -0
- data/ApiDemos/res/drawable/line.xml +0 -21
- data/ApiDemos/res/drawable/logo160dpi.png +0 -0
- data/ApiDemos/res/drawable/magnifying_glass.png +0 -0
- data/ApiDemos/res/drawable/npatch160dpi.9.png +0 -0
- data/ApiDemos/res/drawable/photo1.jpg +0 -0
- data/ApiDemos/res/drawable/photo2.jpg +0 -0
- data/ApiDemos/res/drawable/photo3.jpg +0 -0
- data/ApiDemos/res/drawable/photo4.jpg +0 -0
- data/ApiDemos/res/drawable/photo5.jpg +0 -0
- data/ApiDemos/res/drawable/photo6.jpg +0 -0
- data/ApiDemos/res/drawable/picture_frame.png +0 -0
- data/ApiDemos/res/drawable/reslogo160dpi.png +0 -0
- data/ApiDemos/res/drawable/sample_0.jpg +0 -0
- data/ApiDemos/res/drawable/sample_1.jpg +0 -0
- data/ApiDemos/res/drawable/sample_2.jpg +0 -0
- data/ApiDemos/res/drawable/sample_3.jpg +0 -0
- data/ApiDemos/res/drawable/sample_4.jpg +0 -0
- data/ApiDemos/res/drawable/sample_5.jpg +0 -0
- data/ApiDemos/res/drawable/sample_6.jpg +0 -0
- data/ApiDemos/res/drawable/sample_7.jpg +0 -0
- data/ApiDemos/res/drawable/sample_thumb_0.jpg +0 -0
- data/ApiDemos/res/drawable/sample_thumb_1.jpg +0 -0
- data/ApiDemos/res/drawable/sample_thumb_2.jpg +0 -0
- data/ApiDemos/res/drawable/sample_thumb_3.jpg +0 -0
- data/ApiDemos/res/drawable/sample_thumb_4.jpg +0 -0
- data/ApiDemos/res/drawable/sample_thumb_5.jpg +0 -0
- data/ApiDemos/res/drawable/sample_thumb_6.jpg +0 -0
- data/ApiDemos/res/drawable/sample_thumb_7.jpg +0 -0
- data/ApiDemos/res/drawable/scrollbar_vertical_thumb.xml +0 -21
- data/ApiDemos/res/drawable/scrollbar_vertical_track.xml +0 -21
- data/ApiDemos/res/drawable/shape_1.xml +0 -22
- data/ApiDemos/res/drawable/shape_2.xml +0 -24
- data/ApiDemos/res/drawable/shape_3.xml +0 -24
- data/ApiDemos/res/drawable/shape_4.xml +0 -20
- data/ApiDemos/res/drawable/shape_5.xml +0 -23
- data/ApiDemos/res/drawable/smlnpatch160dpi.9.png +0 -0
- data/ApiDemos/res/drawable/stylogo160dpi.png +0 -0
- data/ApiDemos/res/layout-h550dp/resources_height.xml +0 -53
- data/ApiDemos/res/layout-h670dp/resources_height.xml +0 -63
- data/ApiDemos/res/layout-h974dp/resources_height.xml +0 -83
- data/ApiDemos/res/layout-land/fragment_arguments.xml +0 -57
- data/ApiDemos/res/layout-land/fragment_layout.xml +0 -34
- data/ApiDemos/res/layout-sw480dp/resources_smallest_width_inner.xml +0 -43
- data/ApiDemos/res/layout-sw480dp/resources_smallest_width_row.xml +0 -43
- data/ApiDemos/res/layout-sw600dp/resources_smallest_width_inner.xml +0 -53
- data/ApiDemos/res/layout-sw600dp/resources_smallest_width_row.xml +0 -53
- data/ApiDemos/res/layout-sw720dp/resources_smallest_width_inner.xml +0 -63
- data/ApiDemos/res/layout-sw720dp/resources_smallest_width_row.xml +0 -63
- data/ApiDemos/res/layout-w1024dp/resources_width.xml +0 -83
- data/ApiDemos/res/layout-w600dp/resources_width.xml +0 -53
- data/ApiDemos/res/layout-w720dp/resources_width.xml +0 -63
- data/ApiDemos/res/layout/accessibility_service.xml +0 -36
- data/ApiDemos/res/layout/action_bar_display_options.xml +0 -48
- data/ApiDemos/res/layout/action_bar_display_options_custom.xml +0 -17
- data/ApiDemos/res/layout/action_bar_settings_action_provider.xml +0 -34
- data/ApiDemos/res/layout/action_bar_tab_content.xml +0 -19
- data/ApiDemos/res/layout/action_bar_tabs.xml +0 -49
- data/ApiDemos/res/layout/activity_animation.xml +0 -42
- data/ApiDemos/res/layout/activity_recreate.xml +0 -37
- data/ApiDemos/res/layout/alarm_controller.xml +0 -45
- data/ApiDemos/res/layout/alarm_service.xml +0 -41
- data/ApiDemos/res/layout/alert_dialog.xml +0 -60
- data/ApiDemos/res/layout/alert_dialog_text_entry.xml +0 -67
- data/ApiDemos/res/layout/animation_1.xml +0 -44
- data/ApiDemos/res/layout/animation_2.xml +0 -67
- data/ApiDemos/res/layout/animation_3.xml +0 -44
- data/ApiDemos/res/layout/animation_cloning.xml +0 -28
- data/ApiDemos/res/layout/animation_custom_evaluator.xml +0 -28
- data/ApiDemos/res/layout/animation_loading.xml +0 -28
- data/ApiDemos/res/layout/animation_multi_property.xml +0 -28
- data/ApiDemos/res/layout/animation_reversing.xml +0 -40
- data/ApiDemos/res/layout/animation_seeking.xml +0 -40
- data/ApiDemos/res/layout/animations_main_screen.xml +0 -36
- data/ApiDemos/res/layout/animator_custom_evaluator.xml +0 -34
- data/ApiDemos/res/layout/animator_events.xml +0 -122
- data/ApiDemos/res/layout/appwidget_configure.xml +0 -42
- data/ApiDemos/res/layout/appwidget_provider.xml +0 -24
- data/ApiDemos/res/layout/autocomplete_1.xml +0 -48
- data/ApiDemos/res/layout/autocomplete_2.xml +0 -44
- data/ApiDemos/res/layout/autocomplete_3.xml +0 -165
- data/ApiDemos/res/layout/autocomplete_4.xml +0 -49
- data/ApiDemos/res/layout/autocomplete_5.xml +0 -45
- data/ApiDemos/res/layout/autocomplete_6.xml +0 -48
- data/ApiDemos/res/layout/baseline_1.xml +0 -40
- data/ApiDemos/res/layout/baseline_2.xml +0 -43
- data/ApiDemos/res/layout/baseline_3.xml +0 -56
- data/ApiDemos/res/layout/baseline_4.xml +0 -55
- data/ApiDemos/res/layout/baseline_6.xml +0 -34
- data/ApiDemos/res/layout/baseline_7.xml +0 -36
- data/ApiDemos/res/layout/baseline_nested_1.xml +0 -85
- data/ApiDemos/res/layout/baseline_nested_2.xml +0 -85
- data/ApiDemos/res/layout/baseline_nested_3.xml +0 -96
- data/ApiDemos/res/layout/bouncing_balls.xml +0 -22
- data/ApiDemos/res/layout/buttons_1.xml +0 -53
- data/ApiDemos/res/layout/chronometer.xml +0 -64
- data/ApiDemos/res/layout/clipboard.xml +0 -107
- data/ApiDemos/res/layout/contacts_filter.xml +0 -37
- data/ApiDemos/res/layout/controls_1.xml +0 -154
- data/ApiDemos/res/layout/custom_dialog_activity.xml +0 -24
- data/ApiDemos/res/layout/custom_title.xml +0 -57
- data/ApiDemos/res/layout/custom_title_1.xml +0 -33
- data/ApiDemos/res/layout/custom_view_1.xml +0 -44
- data/ApiDemos/res/layout/custom_view_accessibility.xml +0 -44
- data/ApiDemos/res/layout/date_widgets_example_1.xml +0 -40
- data/ApiDemos/res/layout/date_widgets_example_2.xml +0 -33
- data/ApiDemos/res/layout/density_image_views.xml +0 -37
- data/ApiDemos/res/layout/density_styled_image_views.xml +0 -26
- data/ApiDemos/res/layout/dialog_activity.xml +0 -53
- data/ApiDemos/res/layout/drag_layout.xml +0 -93
- data/ApiDemos/res/layout/external_storage.xml +0 -27
- data/ApiDemos/res/layout/external_storage_item.xml +0 -58
- data/ApiDemos/res/layout/focus_1.xml +0 -42
- data/ApiDemos/res/layout/focus_2.xml +0 -41
- data/ApiDemos/res/layout/focus_3.xml +0 -64
- data/ApiDemos/res/layout/focus_5.xml +0 -60
- data/ApiDemos/res/layout/foreground_dispatch.xml +0 -23
- data/ApiDemos/res/layout/foreground_service_controller.xml +0 -49
- data/ApiDemos/res/layout/forward_target.xml +0 -30
- data/ApiDemos/res/layout/forwarding.xml +0 -37
- data/ApiDemos/res/layout/fragment_arguments.xml +0 -54
- data/ApiDemos/res/layout/fragment_context_menu.xml +0 -38
- data/ApiDemos/res/layout/fragment_dialog.xml +0 -40
- data/ApiDemos/res/layout/fragment_dialog_or_activity.xml +0 -64
- data/ApiDemos/res/layout/fragment_hide_show.xml +0 -57
- data/ApiDemos/res/layout/fragment_layout.xml +0 -27
- data/ApiDemos/res/layout/fragment_menu.xml +0 -46
- data/ApiDemos/res/layout/fragment_pager_support.xml +0 -44
- data/ApiDemos/res/layout/fragment_pager_support_list.xml +0 -52
- data/ApiDemos/res/layout/fragment_retain_instance.xml +0 -46
- data/ApiDemos/res/layout/fragment_stack.xml +0 -38
- data/ApiDemos/res/layout/gallery_1.xml +0 -32
- data/ApiDemos/res/layout/gallery_2.xml +0 -38
- data/ApiDemos/res/layout/game_controller_input.xml +0 -52
- data/ApiDemos/res/layout/game_controller_input_heading.xml +0 -21
- data/ApiDemos/res/layout/game_controller_input_text_column.xml +0 -34
- data/ApiDemos/res/layout/google_login.xml +0 -60
- data/ApiDemos/res/layout/grid_1.xml +0 -29
- data/ApiDemos/res/layout/grid_2.xml +0 -30
- data/ApiDemos/res/layout/grid_layout_1.xml +0 -87
- data/ApiDemos/res/layout/hello_world.xml +0 -26
- data/ApiDemos/res/layout/horizontal_scroll_view1.xml +0 -26
- data/ApiDemos/res/layout/hover.xml +0 -64
- data/ApiDemos/res/layout/image_button_1.xml +0 -36
- data/ApiDemos/res/layout/image_switcher_1.xml +0 -40
- data/ApiDemos/res/layout/image_view_1.xml +0 -144
- data/ApiDemos/res/layout/incoming_message.xml +0 -50
- data/ApiDemos/res/layout/incoming_message_info.xml +0 -38
- data/ApiDemos/res/layout/incoming_message_interstitial.xml +0 -37
- data/ApiDemos/res/layout/incoming_message_panel.xml +0 -42
- data/ApiDemos/res/layout/incoming_message_view.xml +0 -80
- data/ApiDemos/res/layout/install_apk.xml +0 -56
- data/ApiDemos/res/layout/intent_activity_flags.xml +0 -43
- data/ApiDemos/res/layout/intents.xml +0 -37
- data/ApiDemos/res/layout/labeled_text_edit.xml +0 -38
- data/ApiDemos/res/layout/launcher_shortcuts.xml +0 -40
- data/ApiDemos/res/layout/layout_animation_1.xml +0 -30
- data/ApiDemos/res/layout/layout_animation_3.xml +0 -21
- data/ApiDemos/res/layout/layout_animation_4.xml +0 -30
- data/ApiDemos/res/layout/layout_animation_5.xml +0 -30
- data/ApiDemos/res/layout/layout_animation_6.xml +0 -29
- data/ApiDemos/res/layout/layout_animation_7.xml +0 -57
- data/ApiDemos/res/layout/layout_animations.xml +0 -80
- data/ApiDemos/res/layout/layout_animations_by_default.xml +0 -34
- data/ApiDemos/res/layout/layout_animations_hideshow.xml +0 -52
- data/ApiDemos/res/layout/linear_layout_1.xml +0 -46
- data/ApiDemos/res/layout/linear_layout_10.xml +0 -122
- data/ApiDemos/res/layout/linear_layout_2.xml +0 -47
- data/ApiDemos/res/layout/linear_layout_3.xml +0 -51
- data/ApiDemos/res/layout/linear_layout_4.xml +0 -50
- data/ApiDemos/res/layout/linear_layout_5.xml +0 -76
- data/ApiDemos/res/layout/linear_layout_6.xml +0 -53
- data/ApiDemos/res/layout/linear_layout_7.xml +0 -54
- data/ApiDemos/res/layout/linear_layout_8.xml +0 -53
- data/ApiDemos/res/layout/linear_layout_9.xml +0 -38
- data/ApiDemos/res/layout/link.xml +0 -68
- data/ApiDemos/res/layout/list_12.xml +0 -35
- data/ApiDemos/res/layout/list_13.xml +0 -34
- data/ApiDemos/res/layout/list_7.xml +0 -35
- data/ApiDemos/res/layout/list_8.xml +0 -61
- data/ApiDemos/res/layout/list_item_checkbox.xml +0 -22
- data/ApiDemos/res/layout/list_item_icon_text.xml +0 -32
- data/ApiDemos/res/layout/list_position.xml +0 -25
- data/ApiDemos/res/layout/local_sample.xml +0 -37
- data/ApiDemos/res/layout/local_service_binding.xml +0 -42
- data/ApiDemos/res/layout/local_service_controller.xml +0 -42
- data/ApiDemos/res/layout/log_text_box_1.xml +0 -42
- data/ApiDemos/res/layout/mapview.xml +0 -31
- data/ApiDemos/res/layout/marquee.xml +0 -46
- data/ApiDemos/res/layout/mediaplayer_1.xml +0 -31
- data/ApiDemos/res/layout/mediaplayer_2.xml +0 -13
- data/ApiDemos/res/layout/messenger_service_binding.xml +0 -47
- data/ApiDemos/res/layout/morse_code.xml +0 -37
- data/ApiDemos/res/layout/notify_with_text.xml +0 -34
- data/ApiDemos/res/layout/notifying_controller.xml +0 -41
- data/ApiDemos/res/layout/overscan.xml +0 -79
- data/ApiDemos/res/layout/pick_contact.xml +0 -48
- data/ApiDemos/res/layout/popup_menu_1.xml +0 -25
- data/ApiDemos/res/layout/preference_widget_mypreference.xml +0 -25
- data/ApiDemos/res/layout/progressbar_1.xml +0 -74
- data/ApiDemos/res/layout/progressbar_2.xml +0 -41
- data/ApiDemos/res/layout/progressbar_3.xml +0 -32
- data/ApiDemos/res/layout/progressbar_4.xml +0 -27
- data/ApiDemos/res/layout/quick_contacts.xml +0 -47
- data/ApiDemos/res/layout/radio_group_1.xml +0 -49
- data/ApiDemos/res/layout/ratingbar_1.xml +0 -60
- data/ApiDemos/res/layout/read_asset.xml +0 -29
- data/ApiDemos/res/layout/receive_result.xml +0 -50
- data/ApiDemos/res/layout/redirect_enter.xml +0 -36
- data/ApiDemos/res/layout/redirect_getter.xml +0 -42
- data/ApiDemos/res/layout/redirect_main.xml +0 -47
- data/ApiDemos/res/layout/relative_layout_1.xml +0 -54
- data/ApiDemos/res/layout/relative_layout_2.xml +0 -78
- data/ApiDemos/res/layout/remote_binding_options.xml +0 -82
- data/ApiDemos/res/layout/remote_service_binding.xml +0 -52
- data/ApiDemos/res/layout/remote_service_controller.xml +0 -42
- data/ApiDemos/res/layout/reorder_four.xml +0 -38
- data/ApiDemos/res/layout/reorder_on_launch.xml +0 -38
- data/ApiDemos/res/layout/reorder_three.xml +0 -38
- data/ApiDemos/res/layout/reorder_two.xml +0 -38
- data/ApiDemos/res/layout/resources.xml +0 -55
- data/ApiDemos/res/layout/resources_height.xml +0 -33
- data/ApiDemos/res/layout/resources_layout_reference.xml +0 -35
- data/ApiDemos/res/layout/resources_layout_reference_tablet.xml +0 -35
- data/ApiDemos/res/layout/resources_smallest_width.xml +0 -35
- data/ApiDemos/res/layout/resources_smallest_width_inner.xml +0 -33
- data/ApiDemos/res/layout/resources_smallest_width_row.xml +0 -33
- data/ApiDemos/res/layout/resources_width.xml +0 -33
- data/ApiDemos/res/layout/resources_width_and_height.xml +0 -35
- data/ApiDemos/res/layout/rotating_list.xml +0 -37
- data/ApiDemos/res/layout/rotating_view.xml +0 -160
- data/ApiDemos/res/layout/save_restore_state.xml +0 -58
- data/ApiDemos/res/layout/screen_orientation.xml +0 -37
- data/ApiDemos/res/layout/scroll_view_1.xml +0 -90
- data/ApiDemos/res/layout/scroll_view_2.xml +0 -41
- data/ApiDemos/res/layout/scrollbar1.xml +0 -169
- data/ApiDemos/res/layout/scrollbar2.xml +0 -172
- data/ApiDemos/res/layout/scrollbar3.xml +0 -136
- data/ApiDemos/res/layout/search_invoke.xml +0 -96
- data/ApiDemos/res/layout/search_query_results.xml +0 -76
- data/ApiDemos/res/layout/search_view.xml +0 -19
- data/ApiDemos/res/layout/searchview_actionbar.xml +0 -28
- data/ApiDemos/res/layout/searchview_filter.xml +0 -31
- data/ApiDemos/res/layout/secure_view.xml +0 -112
- data/ApiDemos/res/layout/secure_view_overlay.xml +0 -50
- data/ApiDemos/res/layout/seekbar_1.xml +0 -36
- data/ApiDemos/res/layout/select_dialog.xml +0 -29
- data/ApiDemos/res/layout/send_result.xml +0 -45
- data/ApiDemos/res/layout/service_start_arguments_controller.xml +0 -57
- data/ApiDemos/res/layout/shape_drawable_1.xml +0 -73
- data/ApiDemos/res/layout/simple_list_item_checkable_1.xml +0 -29
- data/ApiDemos/res/layout/sms_demo.xml +0 -67
- data/ApiDemos/res/layout/soft_input_modes.xml +0 -64
- data/ApiDemos/res/layout/spinner_1.xml +0 -51
- data/ApiDemos/res/layout/split_touch_view.xml +0 -42
- data/ApiDemos/res/layout/status_bar_balloon.xml +0 -32
- data/ApiDemos/res/layout/status_bar_notifications.xml +0 -157
- data/ApiDemos/res/layout/styled_text.xml +0 -52
- data/ApiDemos/res/layout/surface_view_overlay.xml +0 -84
- data/ApiDemos/res/layout/switches.xml +0 -82
- data/ApiDemos/res/layout/table_layout_1.xml +0 -56
- data/ApiDemos/res/layout/table_layout_10.xml +0 -58
- data/ApiDemos/res/layout/table_layout_11.xml +0 -93
- data/ApiDemos/res/layout/table_layout_12.xml +0 -85
- data/ApiDemos/res/layout/table_layout_2.xml +0 -40
- data/ApiDemos/res/layout/table_layout_3.xml +0 -62
- data/ApiDemos/res/layout/table_layout_4.xml +0 -42
- data/ApiDemos/res/layout/table_layout_5.xml +0 -82
- data/ApiDemos/res/layout/table_layout_6.xml +0 -92
- data/ApiDemos/res/layout/table_layout_7.xml +0 -106
- data/ApiDemos/res/layout/table_layout_8.xml +0 -87
- data/ApiDemos/res/layout/table_layout_9.xml +0 -92
- data/ApiDemos/res/layout/tabs1.xml +0 -39
- data/ApiDemos/res/layout/tabs_right_gravity.xml +0 -37
- data/ApiDemos/res/layout/tabs_scroll.xml +0 -41
- data/ApiDemos/res/layout/tasklist_main.xml +0 -47
- data/ApiDemos/res/layout/tasklist_row.xml +0 -38
- data/ApiDemos/res/layout/text_switcher_1.xml +0 -31
- data/ApiDemos/res/layout/text_to_speech.xml +0 -26
- data/ApiDemos/res/layout/translucent_background.xml +0 -24
- data/ApiDemos/res/layout/videoview.xml +0 -14
- data/ApiDemos/res/layout/visibility_1.xml +0 -71
- data/ApiDemos/res/layout/voice_recognition.xml +0 -61
- data/ApiDemos/res/layout/wallpaper_2.xml +0 -27
- data/ApiDemos/res/layout/webview_1.xml +0 -79
- data/ApiDemos/res/menu/action_bar_settings_action_provider.xml +0 -28
- data/ApiDemos/res/menu/action_bar_share_action_provider.xml +0 -28
- data/ApiDemos/res/menu/actions.xml +0 -48
- data/ApiDemos/res/menu/camera_menu.xml +0 -5
- data/ApiDemos/res/menu/category_order.xml +0 -57
- data/ApiDemos/res/menu/checkable.xml +0 -91
- data/ApiDemos/res/menu/disabled.xml +0 -55
- data/ApiDemos/res/menu/display_options_actions.xml +0 -19
- data/ApiDemos/res/menu/groups.xml +0 -45
- data/ApiDemos/res/menu/list_select_menu.xml +0 -22
- data/ApiDemos/res/menu/order.xml +0 -38
- data/ApiDemos/res/menu/popup.xml +0 -32
- data/ApiDemos/res/menu/searchview_in_menu.xml +0 -22
- data/ApiDemos/res/menu/shortcuts.xml +0 -60
- data/ApiDemos/res/menu/submenu.xml +0 -44
- data/ApiDemos/res/menu/title_icon.xml +0 -31
- data/ApiDemos/res/menu/title_only.xml +0 -25
- data/ApiDemos/res/menu/visible.xml +0 -37
- data/ApiDemos/res/raw/androids.pkm +0 -0
- data/ApiDemos/res/raw/robot.png +0 -0
- data/ApiDemos/res/raw/skycubemap0.jpg +0 -0
- data/ApiDemos/res/raw/skycubemap1.jpg +0 -0
- data/ApiDemos/res/raw/skycubemap2.jpg +0 -0
- data/ApiDemos/res/raw/skycubemap3.jpg +0 -0
- data/ApiDemos/res/raw/skycubemap4.jpg +0 -0
- data/ApiDemos/res/raw/skycubemap5.jpg +0 -0
- data/ApiDemos/res/raw/sound_ringer_normal.ogg +0 -0
- data/ApiDemos/res/raw/sound_ringer_silent.ogg +0 -0
- data/ApiDemos/res/raw/sound_ringer_vibrate.ogg +0 -0
- data/ApiDemos/res/raw/sound_screen_off.ogg +0 -0
- data/ApiDemos/res/raw/sound_screen_on.ogg +0 -0
- data/ApiDemos/res/raw/sound_view_clicked.ogg +0 -0
- data/ApiDemos/res/raw/sound_view_focused_or_selected.ogg +0 -0
- data/ApiDemos/res/raw/sound_view_hover_enter.ogg +0 -0
- data/ApiDemos/res/raw/sound_window_state_changed.ogg +0 -0
- data/ApiDemos/res/raw/test_cbr.mp3 +0 -0
- data/ApiDemos/res/values-hdpi/strings.xml +0 -19
- data/ApiDemos/res/values-ldpi/strings.xml +0 -19
- data/ApiDemos/res/values-mdpi/strings.xml +0 -19
- data/ApiDemos/res/values-sw600dp/layout.xml +0 -22
- data/ApiDemos/res/values-v11/bools.xml +0 -20
- data/ApiDemos/res/values-v11/styles.xml +0 -29
- data/ApiDemos/res/values-v13/bools.xml +0 -20
- data/ApiDemos/res/values-v14/bools.xml +0 -20
- data/ApiDemos/res/values-xhdpi/strings.xml +0 -19
- data/ApiDemos/res/values-xlarge/layout.xml +0 -22
- data/ApiDemos/res/values/arrays.xml +0 -149
- data/ApiDemos/res/values/attrs.xml +0 -55
- data/ApiDemos/res/values/bools.xml +0 -32
- data/ApiDemos/res/values/colors.xml +0 -32
- data/ApiDemos/res/values/ids.xml +0 -19
- data/ApiDemos/res/values/strings.xml +0 -1343
- data/ApiDemos/res/values/styles.xml +0 -124
- data/ApiDemos/res/xml/advanced_preferences.xml +0 -38
- data/ApiDemos/res/xml/appwidget_provider.xml +0 -28
- data/ApiDemos/res/xml/default_values.xml +0 -44
- data/ApiDemos/res/xml/device_admin_encryption.xml +0 -34
- data/ApiDemos/res/xml/device_admin_expiration.xml +0 -53
- data/ApiDemos/res/xml/device_admin_general.xml +0 -40
- data/ApiDemos/res/xml/device_admin_headers.xml +0 -41
- data/ApiDemos/res/xml/device_admin_lock_wipe.xml +0 -50
- data/ApiDemos/res/xml/device_admin_quality.xml +0 -79
- data/ApiDemos/res/xml/device_admin_sample.xml +0 -30
- data/ApiDemos/res/xml/filter_nfc.xml +0 -28
- data/ApiDemos/res/xml/fragmented_preferences.xml +0 -97
- data/ApiDemos/res/xml/fragmented_preferences_inner.xml +0 -26
- data/ApiDemos/res/xml/preference_dependencies.xml +0 -35
- data/ApiDemos/res/xml/preference_headers.xml +0 -44
- data/ApiDemos/res/xml/preference_switch +0 -46
- data/ApiDemos/res/xml/preferences.xml +0 -101
- data/ApiDemos/res/xml/searchable.xml +0 -30
- data/ApiDemos/res/xml/taskbackconfig.xml +0 -24
- data/ApiDemos/src/com/example/android/apis/ApiDemos.java +0 -149
- data/ApiDemos/src/com/example/android/apis/ApiDemosApplication.java +0 -36
- data/ApiDemos/src/com/example/android/apis/Shakespeare.java +0 -223
- data/ApiDemos/src/com/example/android/apis/accessibility/ClockBackActivity.java +0 -54
- data/ApiDemos/src/com/example/android/apis/accessibility/ClockBackService.java +0 -575
- data/ApiDemos/src/com/example/android/apis/accessibility/CustomViewAccessibilityActivity.java +0 -280
- data/ApiDemos/src/com/example/android/apis/accessibility/TaskBackService.java +0 -190
- data/ApiDemos/src/com/example/android/apis/accessibility/TaskListActivity.java +0 -58
- data/ApiDemos/src/com/example/android/apis/accessibility/TaskListView.java +0 -115
- data/ApiDemos/src/com/example/android/apis/animation/AnimationCloning.java +0 -148
- data/ApiDemos/src/com/example/android/apis/animation/AnimationLoading.java +0 -165
- data/ApiDemos/src/com/example/android/apis/animation/AnimationSeeking.java +0 -173
- data/ApiDemos/src/com/example/android/apis/animation/AnimatorEvents.java +0 -237
- data/ApiDemos/src/com/example/android/apis/animation/BouncingBalls.java +0 -184
- data/ApiDemos/src/com/example/android/apis/animation/CustomEvaluator.java +0 -174
- data/ApiDemos/src/com/example/android/apis/animation/FixedGridLayout.java +0 -108
- data/ApiDemos/src/com/example/android/apis/animation/LayoutAnimations.java +0 -210
- data/ApiDemos/src/com/example/android/apis/animation/LayoutAnimationsByDefault.java +0 -61
- data/ApiDemos/src/com/example/android/apis/animation/LayoutAnimationsHideShow.java +0 -178
- data/ApiDemos/src/com/example/android/apis/animation/ListFlipper.java +0 -126
- data/ApiDemos/src/com/example/android/apis/animation/MultiPropertyAnimation.java +0 -178
- data/ApiDemos/src/com/example/android/apis/animation/ReversingAnimation.java +0 -135
- data/ApiDemos/src/com/example/android/apis/animation/Rotate3dAnimation.java +0 -92
- data/ApiDemos/src/com/example/android/apis/animation/ShapeHolder.java +0 -100
- data/ApiDemos/src/com/example/android/apis/animation/Transition3d.java +0 -175
- data/ApiDemos/src/com/example/android/apis/app/ActionBarDisplayOptions.java +0 -124
- data/ApiDemos/src/com/example/android/apis/app/ActionBarMechanics.java +0 -73
- data/ApiDemos/src/com/example/android/apis/app/ActionBarSettingsActionProviderActivity.java +0 -111
- data/ApiDemos/src/com/example/android/apis/app/ActionBarShareActionProviderActivity.java +0 -125
- data/ApiDemos/src/com/example/android/apis/app/ActionBarTabs.java +0 -131
- data/ApiDemos/src/com/example/android/apis/app/ActionBarUsage.java +0 -93
- data/ApiDemos/src/com/example/android/apis/app/ActivityRecreate.java +0 -73
- data/ApiDemos/src/com/example/android/apis/app/AlarmController.java +0 -168
- data/ApiDemos/src/com/example/android/apis/app/AlarmService.java +0 -89
- data/ApiDemos/src/com/example/android/apis/app/AlarmService_Service.java +0 -131
- data/ApiDemos/src/com/example/android/apis/app/AlertDialogSamples.java +0 -423
- data/ApiDemos/src/com/example/android/apis/app/Animation.java +0 -74
- data/ApiDemos/src/com/example/android/apis/app/AppUpdateReceiver.java +0 -34
- data/ApiDemos/src/com/example/android/apis/app/ContactsFilter.java +0 -53
- data/ApiDemos/src/com/example/android/apis/app/ContactsFilterInstrumentation.java +0 -73
- data/ApiDemos/src/com/example/android/apis/app/ContactsSelectInstrumentation.java +0 -86
- data/ApiDemos/src/com/example/android/apis/app/CustomDialogActivity.java +0 -48
- data/ApiDemos/src/com/example/android/apis/app/CustomTitle.java +0 -85
- data/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java +0 -934
- data/ApiDemos/src/com/example/android/apis/app/DialogActivity.java +0 -86
- data/ApiDemos/src/com/example/android/apis/app/ForegroundService.java +0 -240
- data/ApiDemos/src/com/example/android/apis/app/ForwardTarget.java +0 -41
- data/ApiDemos/src/com/example/android/apis/app/Forwarding.java +0 -85
- data/ApiDemos/src/com/example/android/apis/app/FragmentAlertDialog.java +0 -109
- data/ApiDemos/src/com/example/android/apis/app/FragmentArguments.java +0 -108
- data/ApiDemos/src/com/example/android/apis/app/FragmentContextMenu.java +0 -77
- data/ApiDemos/src/com/example/android/apis/app/FragmentCustomAnimations.java +0 -131
- data/ApiDemos/src/com/example/android/apis/app/FragmentDialog.java +0 -168
- data/ApiDemos/src/com/example/android/apis/app/FragmentDialogOrActivity.java +0 -82
- data/ApiDemos/src/com/example/android/apis/app/FragmentHideShow.java +0 -113
- data/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java +0 -220
- data/ApiDemos/src/com/example/android/apis/app/FragmentListArray.java +0 -60
- data/ApiDemos/src/com/example/android/apis/app/FragmentMenu.java +0 -132
- data/ApiDemos/src/com/example/android/apis/app/FragmentReceiveResult.java +0 -133
- data/ApiDemos/src/com/example/android/apis/app/FragmentRetainInstance.java +0 -232
- data/ApiDemos/src/com/example/android/apis/app/FragmentStack.java +0 -124
- data/ApiDemos/src/com/example/android/apis/app/FragmentTabs.java +0 -118
- data/ApiDemos/src/com/example/android/apis/app/HelloWorld.java +0 -66
- data/ApiDemos/src/com/example/android/apis/app/IRemoteService.aidl +0 -37
- data/ApiDemos/src/com/example/android/apis/app/IRemoteServiceCallback.aidl +0 -29
- data/ApiDemos/src/com/example/android/apis/app/ISecondary.aidl +0 -36
- data/ApiDemos/src/com/example/android/apis/app/IncomingMessage.java +0 -197
- data/ApiDemos/src/com/example/android/apis/app/IncomingMessageInterstitial.java +0 -64
- data/ApiDemos/src/com/example/android/apis/app/IncomingMessageView.java +0 -59
- data/ApiDemos/src/com/example/android/apis/app/IntentActivityFlags.java +0 -86
- data/ApiDemos/src/com/example/android/apis/app/Intents.java +0 -47
- data/ApiDemos/src/com/example/android/apis/app/LauncherShortcuts.java +0 -141
- data/ApiDemos/src/com/example/android/apis/app/LoaderCursor.java +0 -177
- data/ApiDemos/src/com/example/android/apis/app/LoaderCustom.java +0 -481
- data/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.java +0 -512
- data/ApiDemos/src/com/example/android/apis/app/LocalSample.java +0 -53
- data/ApiDemos/src/com/example/android/apis/app/LocalSampleInstrumentation.java +0 -92
- data/ApiDemos/src/com/example/android/apis/app/LocalService.java +0 -120
- data/ApiDemos/src/com/example/android/apis/app/LocalServiceActivities.java +0 -171
- data/ApiDemos/src/com/example/android/apis/app/MenuInflateFromXml.java +0 -174
- data/ApiDemos/src/com/example/android/apis/app/MessengerService.java +0 -169
- data/ApiDemos/src/com/example/android/apis/app/MessengerServiceActivities.java +0 -178
- data/ApiDemos/src/com/example/android/apis/app/NotificationDisplay.java +0 -82
- data/ApiDemos/src/com/example/android/apis/app/NotifyWithText.java +0 -80
- data/ApiDemos/src/com/example/android/apis/app/NotifyingController.java +0 -61
- data/ApiDemos/src/com/example/android/apis/app/NotifyingService.java +0 -128
- data/ApiDemos/src/com/example/android/apis/app/OneShotAlarm.java +0 -42
- data/ApiDemos/src/com/example/android/apis/app/PersistentState.java +0 -128
- data/ApiDemos/src/com/example/android/apis/app/QuickContactsDemo.java +0 -104
- data/ApiDemos/src/com/example/android/apis/app/ReceiveResult.java +0 -153
- data/ApiDemos/src/com/example/android/apis/app/RedirectEnter.java +0 -59
- data/ApiDemos/src/com/example/android/apis/app/RedirectGetter.java +0 -87
- data/ApiDemos/src/com/example/android/apis/app/RedirectMain.java +0 -122
- data/ApiDemos/src/com/example/android/apis/app/RemoteService.java +0 -652
- data/ApiDemos/src/com/example/android/apis/app/ReorderFour.java +0 -46
- data/ApiDemos/src/com/example/android/apis/app/ReorderOnLaunch.java +0 -44
- data/ApiDemos/src/com/example/android/apis/app/ReorderThree.java +0 -44
- data/ApiDemos/src/com/example/android/apis/app/ReorderTwo.java +0 -44
- data/ApiDemos/src/com/example/android/apis/app/RepeatingAlarm.java +0 -40
- data/ApiDemos/src/com/example/android/apis/app/SaveRestoreState.java +0 -98
- data/ApiDemos/src/com/example/android/apis/app/ScreenOrientation.java +0 -73
- data/ApiDemos/src/com/example/android/apis/app/SearchInvoke.java +0 -241
- data/ApiDemos/src/com/example/android/apis/app/SearchQueryResults.java +0 -118
- data/ApiDemos/src/com/example/android/apis/app/SearchSuggestionSampleProvider.java +0 -50
- data/ApiDemos/src/com/example/android/apis/app/SendResult.java +0 -81
- data/ApiDemos/src/com/example/android/apis/app/ServiceStartArguments.java +0 -272
- data/ApiDemos/src/com/example/android/apis/app/SetWallpaperActivity.java +0 -89
- data/ApiDemos/src/com/example/android/apis/app/SoftInputModes.java +0 -67
- data/ApiDemos/src/com/example/android/apis/app/StatusBarNotifications.java +0 -270
- data/ApiDemos/src/com/example/android/apis/app/TextToSpeechActivity.java +0 -136
- data/ApiDemos/src/com/example/android/apis/app/TranslucentActivity.java +0 -48
- data/ApiDemos/src/com/example/android/apis/app/TranslucentBlurActivity.java +0 -55
- data/ApiDemos/src/com/example/android/apis/app/VoiceRecognition.java +0 -226
- data/ApiDemos/src/com/example/android/apis/app/WallpaperActivity.java +0 -48
- data/ApiDemos/src/com/example/android/apis/appwidget/ExampleAppWidgetConfigure.java +0 -134
- data/ApiDemos/src/com/example/android/apis/appwidget/ExampleAppWidgetProvider.java +0 -122
- data/ApiDemos/src/com/example/android/apis/appwidget/ExampleBroadcastReceiver.java +0 -56
- data/ApiDemos/src/com/example/android/apis/content/ClipboardSample.java +0 -144
- data/ApiDemos/src/com/example/android/apis/content/ExternalStorage.java +0 -376
- data/ApiDemos/src/com/example/android/apis/content/FileProvider.java +0 -114
- data/ApiDemos/src/com/example/android/apis/content/InstallApk.java +0 -179
- data/ApiDemos/src/com/example/android/apis/content/PickContact.java +0 -114
- data/ApiDemos/src/com/example/android/apis/content/ReadAsset.java +0 -73
- data/ApiDemos/src/com/example/android/apis/content/ResourcesLayoutReference.java +0 -33
- data/ApiDemos/src/com/example/android/apis/content/ResourcesSample.java +0 -90
- data/ApiDemos/src/com/example/android/apis/content/ResourcesSmallestWidth.java +0 -33
- data/ApiDemos/src/com/example/android/apis/content/ResourcesWidthAndHeight.java +0 -33
- data/ApiDemos/src/com/example/android/apis/content/StyledText.java +0 -51
- data/ApiDemos/src/com/example/android/apis/graphics/AlphaBitmap.java +0 -91
- data/ApiDemos/src/com/example/android/apis/graphics/AnimateDrawable.java +0 -72
- data/ApiDemos/src/com/example/android/apis/graphics/AnimateDrawables.java +0 -67
- data/ApiDemos/src/com/example/android/apis/graphics/Arcs.java +0 -118
- data/ApiDemos/src/com/example/android/apis/graphics/BitmapDecode.java +0 -144
- data/ApiDemos/src/com/example/android/apis/graphics/BitmapMesh.java +0 -130
- data/ApiDemos/src/com/example/android/apis/graphics/BitmapPixels.java +0 -161
- data/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.java +0 -311
- data/ApiDemos/src/com/example/android/apis/graphics/Clipping.java +0 -111
- data/ApiDemos/src/com/example/android/apis/graphics/ColorFilters.java +0 -180
- data/ApiDemos/src/com/example/android/apis/graphics/ColorMatrixSample.java +0 -122
- data/ApiDemos/src/com/example/android/apis/graphics/ColorPickerDialog.java +0 -233
- data/ApiDemos/src/com/example/android/apis/graphics/Compass.java +0 -130
- data/ApiDemos/src/com/example/android/apis/graphics/CompressedTextureActivity.java +0 -157
- data/ApiDemos/src/com/example/android/apis/graphics/CreateBitmap.java +0 -126
- data/ApiDemos/src/com/example/android/apis/graphics/Cube.java +0 -100
- data/ApiDemos/src/com/example/android/apis/graphics/CubeMapActivity.java +0 -416
- data/ApiDemos/src/com/example/android/apis/graphics/CubeRenderer.java +0 -108
- data/ApiDemos/src/com/example/android/apis/graphics/DensityActivity.java +0 -220
- data/ApiDemos/src/com/example/android/apis/graphics/DrawPoints.java +0 -79
- data/ApiDemos/src/com/example/android/apis/graphics/FingerPaint.java +0 -208
- data/ApiDemos/src/com/example/android/apis/graphics/FrameBufferObjectActivity.java +0 -282
- data/ApiDemos/src/com/example/android/apis/graphics/GLES20Activity.java +0 -72
- data/ApiDemos/src/com/example/android/apis/graphics/GLES20TriangleRenderer.java +0 -255
- data/ApiDemos/src/com/example/android/apis/graphics/GLSurfaceViewActivity.java +0 -56
- data/ApiDemos/src/com/example/android/apis/graphics/GradientDrawable1.java +0 -31
- data/ApiDemos/src/com/example/android/apis/graphics/GraphicsActivity.java +0 -43
- data/ApiDemos/src/com/example/android/apis/graphics/Layers.java +0 -65
- data/ApiDemos/src/com/example/android/apis/graphics/MatrixPaletteActivity.java +0 -52
- data/ApiDemos/src/com/example/android/apis/graphics/MatrixPaletteRenderer.java +0 -408
- data/ApiDemos/src/com/example/android/apis/graphics/MeasureText.java +0 -112
- data/ApiDemos/src/com/example/android/apis/graphics/PathEffects.java +0 -121
- data/ApiDemos/src/com/example/android/apis/graphics/PathFillTypes.java +0 -77
- data/ApiDemos/src/com/example/android/apis/graphics/Patterns.java +0 -125
- data/ApiDemos/src/com/example/android/apis/graphics/PictureLayout.java +0 -161
- data/ApiDemos/src/com/example/android/apis/graphics/Pictures.java +0 -81
- data/ApiDemos/src/com/example/android/apis/graphics/PolyToPoly.java +0 -107
- data/ApiDemos/src/com/example/android/apis/graphics/ProxyDrawable.java +0 -102
- data/ApiDemos/src/com/example/android/apis/graphics/PurgeableBitmap.java +0 -118
- data/ApiDemos/src/com/example/android/apis/graphics/PurgeableBitmapView.java +0 -116
- data/ApiDemos/src/com/example/android/apis/graphics/Regions.java +0 -126
- data/ApiDemos/src/com/example/android/apis/graphics/RoundRects.java +0 -113
- data/ApiDemos/src/com/example/android/apis/graphics/ScaleToFit.java +0 -121
- data/ApiDemos/src/com/example/android/apis/graphics/SensorTest.java +0 -213
- data/ApiDemos/src/com/example/android/apis/graphics/ShapeDrawable1.java +0 -136
- data/ApiDemos/src/com/example/android/apis/graphics/StaticTriangleRenderer.java +0 -274
- data/ApiDemos/src/com/example/android/apis/graphics/SurfaceViewOverlay.java +0 -116
- data/ApiDemos/src/com/example/android/apis/graphics/Sweep.java +0 -97
- data/ApiDemos/src/com/example/android/apis/graphics/TextAlign.java +0 -161
- data/ApiDemos/src/com/example/android/apis/graphics/TouchPaint.java +0 -528
- data/ApiDemos/src/com/example/android/apis/graphics/TouchRotateActivity.java +0 -184
- data/ApiDemos/src/com/example/android/apis/graphics/TranslucentGLSurfaceViewActivity.java +0 -63
- data/ApiDemos/src/com/example/android/apis/graphics/TriangleActivity.java +0 -49
- data/ApiDemos/src/com/example/android/apis/graphics/TriangleRenderer.java +0 -241
- data/ApiDemos/src/com/example/android/apis/graphics/Typefaces.java +0 -55
- data/ApiDemos/src/com/example/android/apis/graphics/UnicodeChart.java +0 -119
- data/ApiDemos/src/com/example/android/apis/graphics/Vertices.java +0 -103
- data/ApiDemos/src/com/example/android/apis/graphics/WindowSurface.java +0 -271
- data/ApiDemos/src/com/example/android/apis/graphics/Xfermodes.java +0 -171
- data/ApiDemos/src/com/example/android/apis/graphics/kube/Cube.java +0 -57
- data/ApiDemos/src/com/example/android/apis/graphics/kube/GLColor.java +0 -51
- data/ApiDemos/src/com/example/android/apis/graphics/kube/GLFace.java +0 -94
- data/ApiDemos/src/com/example/android/apis/graphics/kube/GLShape.java +0 -102
- data/ApiDemos/src/com/example/android/apis/graphics/kube/GLVertex.java +0 -89
- data/ApiDemos/src/com/example/android/apis/graphics/kube/GLWorld.java +0 -98
- data/ApiDemos/src/com/example/android/apis/graphics/kube/Kube.java +0 -342
- data/ApiDemos/src/com/example/android/apis/graphics/kube/KubeRenderer.java +0 -116
- data/ApiDemos/src/com/example/android/apis/graphics/kube/Layer.java +0 -101
- data/ApiDemos/src/com/example/android/apis/graphics/kube/M4.java +0 -80
- data/ApiDemos/src/com/example/android/apis/graphics/spritetext/Grid.java +0 -140
- data/ApiDemos/src/com/example/android/apis/graphics/spritetext/LabelMaker.java +0 -411
- data/ApiDemos/src/com/example/android/apis/graphics/spritetext/MatrixGrabber.java +0 -63
- data/ApiDemos/src/com/example/android/apis/graphics/spritetext/MatrixStack.java +0 -179
- data/ApiDemos/src/com/example/android/apis/graphics/spritetext/MatrixTrackingGL.java +0 -1086
- data/ApiDemos/src/com/example/android/apis/graphics/spritetext/NumericSprite.java +0 -99
- data/ApiDemos/src/com/example/android/apis/graphics/spritetext/Projector.java +0 -84
- data/ApiDemos/src/com/example/android/apis/graphics/spritetext/SpriteTextActivity.java +0 -52
- data/ApiDemos/src/com/example/android/apis/graphics/spritetext/SpriteTextRenderer.java +0 -354
- data/ApiDemos/src/com/example/android/apis/media/AudioFxDemo.java +0 -252
- data/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo.java +0 -102
- data/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo_Audio.java +0 -102
- data/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo_Video.java +0 -219
- data/ApiDemos/src/com/example/android/apis/media/VideoViewDemo.java +0 -61
- data/ApiDemos/src/com/example/android/apis/nfc/ForegroundDispatch.java +0 -93
- data/ApiDemos/src/com/example/android/apis/nfc/ForegroundNdefPush.java +0 -86
- data/ApiDemos/src/com/example/android/apis/nfc/TechFilter.java +0 -51
- data/ApiDemos/src/com/example/android/apis/os/MorseCode.java +0 -93
- data/ApiDemos/src/com/example/android/apis/os/MorseCodeConverter.java +0 -141
- data/ApiDemos/src/com/example/android/apis/os/RotationVectorDemo.java +0 -216
- data/ApiDemos/src/com/example/android/apis/os/Sensors.java +0 -241
- data/ApiDemos/src/com/example/android/apis/os/SmsMessageReceiver.java +0 -78
- data/ApiDemos/src/com/example/android/apis/os/SmsMessagingDemo.java +0 -159
- data/ApiDemos/src/com/example/android/apis/os/SmsReceivedDialog.java +0 -115
- data/ApiDemos/src/com/example/android/apis/preference/AdvancedPreferences.java +0 -94
- data/ApiDemos/src/com/example/android/apis/preference/DefaultValues.java +0 -61
- data/ApiDemos/src/com/example/android/apis/preference/FragmentPreferences.java +0 -52
- data/ApiDemos/src/com/example/android/apis/preference/LaunchingPreferences.java +0 -100
- data/ApiDemos/src/com/example/android/apis/preference/MyPreference.java +0 -171
- data/ApiDemos/src/com/example/android/apis/preference/PreferenceDependencies.java +0 -33
- data/ApiDemos/src/com/example/android/apis/preference/PreferenceWithHeaders.java +0 -108
- data/ApiDemos/src/com/example/android/apis/preference/PreferencesFromCode.java +0 -151
- data/ApiDemos/src/com/example/android/apis/preference/PreferencesFromXml.java +0 -34
- data/ApiDemos/src/com/example/android/apis/preference/SwitchPreference.java +0 -38
- data/ApiDemos/src/com/example/android/apis/text/Link.java +0 -84
- data/ApiDemos/src/com/example/android/apis/text/LogTextBox.java +0 -64
- data/ApiDemos/src/com/example/android/apis/text/LogTextBox1.java +0 -50
- data/ApiDemos/src/com/example/android/apis/text/Marquee.java +0 -31
- data/ApiDemos/src/com/example/android/apis/view/Animation1.java +0 -45
- data/ApiDemos/src/com/example/android/apis/view/Animation2.java +0 -90
- data/ApiDemos/src/com/example/android/apis/view/Animation3.java +0 -101
- data/ApiDemos/src/com/example/android/apis/view/AutoComplete1.java +0 -82
- data/ApiDemos/src/com/example/android/apis/view/AutoComplete2.java +0 -41
- data/ApiDemos/src/com/example/android/apis/view/AutoComplete3.java +0 -43
- data/ApiDemos/src/com/example/android/apis/view/AutoComplete4.java +0 -103
- data/ApiDemos/src/com/example/android/apis/view/AutoComplete5.java +0 -44
- data/ApiDemos/src/com/example/android/apis/view/AutoComplete6.java +0 -83
- data/ApiDemos/src/com/example/android/apis/view/Baseline1.java +0 -35
- data/ApiDemos/src/com/example/android/apis/view/Baseline2.java +0 -35
- data/ApiDemos/src/com/example/android/apis/view/Baseline3.java +0 -36
- data/ApiDemos/src/com/example/android/apis/view/Baseline4.java +0 -35
- data/ApiDemos/src/com/example/android/apis/view/Baseline6.java +0 -35
- data/ApiDemos/src/com/example/android/apis/view/Baseline7.java +0 -35
- data/ApiDemos/src/com/example/android/apis/view/BaselineNested1.java +0 -36
- data/ApiDemos/src/com/example/android/apis/view/BaselineNested2.java +0 -36
- data/ApiDemos/src/com/example/android/apis/view/BaselineNested3.java +0 -36
- data/ApiDemos/src/com/example/android/apis/view/Buttons1.java +0 -36
- data/ApiDemos/src/com/example/android/apis/view/CheckableFrameLayout.java +0 -49
- data/ApiDemos/src/com/example/android/apis/view/Cheeses.java +0 -155
- data/ApiDemos/src/com/example/android/apis/view/ChronometerDemo.java +0 -90
- data/ApiDemos/src/com/example/android/apis/view/Controls1.java +0 -54
- data/ApiDemos/src/com/example/android/apis/view/Controls2.java +0 -19
- data/ApiDemos/src/com/example/android/apis/view/Controls3.java +0 -19
- data/ApiDemos/src/com/example/android/apis/view/Controls4.java +0 -19
- data/ApiDemos/src/com/example/android/apis/view/Controls5.java +0 -19
- data/ApiDemos/src/com/example/android/apis/view/Controls6.java +0 -19
- data/ApiDemos/src/com/example/android/apis/view/CustomView1.java +0 -40
- data/ApiDemos/src/com/example/android/apis/view/DateWidgets1.java +0 -156
- data/ApiDemos/src/com/example/android/apis/view/DateWidgets2.java +0 -68
- data/ApiDemos/src/com/example/android/apis/view/DragAndDropDemo.java +0 -72
- data/ApiDemos/src/com/example/android/apis/view/DraggableDot.java +0 -261
- data/ApiDemos/src/com/example/android/apis/view/ExpandableList1.java +0 -160
- data/ApiDemos/src/com/example/android/apis/view/ExpandableList2.java +0 -138
- data/ApiDemos/src/com/example/android/apis/view/ExpandableList3.java +0 -76
- data/ApiDemos/src/com/example/android/apis/view/Focus1.java +0 -47
- data/ApiDemos/src/com/example/android/apis/view/Focus2.java +0 -32
- data/ApiDemos/src/com/example/android/apis/view/Focus3.java +0 -45
- data/ApiDemos/src/com/example/android/apis/view/Focus5.java +0 -31
- data/ApiDemos/src/com/example/android/apis/view/Gallery1.java +0 -139
- data/ApiDemos/src/com/example/android/apis/view/Gallery2.java +0 -61
- data/ApiDemos/src/com/example/android/apis/view/GameControllerInput.java +0 -460
- data/ApiDemos/src/com/example/android/apis/view/GameView.java +0 -747
- data/ApiDemos/src/com/example/android/apis/view/Grid1.java +0 -95
- data/ApiDemos/src/com/example/android/apis/view/Grid2.java +0 -166
- data/ApiDemos/src/com/example/android/apis/view/Grid3.java +0 -164
- data/ApiDemos/src/com/example/android/apis/view/GridLayout0.java +0 -113
- data/ApiDemos/src/com/example/android/apis/view/GridLayout1.java +0 -32
- data/ApiDemos/src/com/example/android/apis/view/HorizontalScrollView1.java +0 -33
- data/ApiDemos/src/com/example/android/apis/view/Hover.java +0 -96
- data/ApiDemos/src/com/example/android/apis/view/HoverInterceptorView.java +0 -71
- data/ApiDemos/src/com/example/android/apis/view/ImageButton1.java +0 -33
- data/ApiDemos/src/com/example/android/apis/view/ImageSwitcher1.java +0 -120
- data/ApiDemos/src/com/example/android/apis/view/ImageView1.java +0 -36
- data/ApiDemos/src/com/example/android/apis/view/InternalSelectionFocus.java +0 -74
- data/ApiDemos/src/com/example/android/apis/view/InternalSelectionScroll.java +0 -64
- data/ApiDemos/src/com/example/android/apis/view/InternalSelectionView.java +0 -272
- data/ApiDemos/src/com/example/android/apis/view/LabelView.java +0 -194
- data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation1.java +0 -81
- data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation2.java +0 -64
- data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation3.java +0 -44
- data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation4.java +0 -81
- data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation5.java +0 -81
- data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation6.java +0 -81
- data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation7.java +0 -31
- data/ApiDemos/src/com/example/android/apis/view/LinearLayout1.java +0 -37
- data/ApiDemos/src/com/example/android/apis/view/LinearLayout10.java +0 -37
- data/ApiDemos/src/com/example/android/apis/view/LinearLayout2.java +0 -37
- data/ApiDemos/src/com/example/android/apis/view/LinearLayout3.java +0 -37
- data/ApiDemos/src/com/example/android/apis/view/LinearLayout4.java +0 -38
- data/ApiDemos/src/com/example/android/apis/view/LinearLayout5.java +0 -38
- data/ApiDemos/src/com/example/android/apis/view/LinearLayout6.java +0 -38
- data/ApiDemos/src/com/example/android/apis/view/LinearLayout7.java +0 -38
- data/ApiDemos/src/com/example/android/apis/view/LinearLayout8.java +0 -106
- data/ApiDemos/src/com/example/android/apis/view/LinearLayout9.java +0 -41
- data/ApiDemos/src/com/example/android/apis/view/List1.java +0 -42
- data/ApiDemos/src/com/example/android/apis/view/List10.java +0 -49
- data/ApiDemos/src/com/example/android/apis/view/List11.java +0 -49
- data/ApiDemos/src/com/example/android/apis/view/List12.java +0 -83
- data/ApiDemos/src/com/example/android/apis/view/List13.java +0 -341
- data/ApiDemos/src/com/example/android/apis/view/List14.java +0 -141
- data/ApiDemos/src/com/example/android/apis/view/List15.java +0 -104
- data/ApiDemos/src/com/example/android/apis/view/List16.java +0 -100
- data/ApiDemos/src/com/example/android/apis/view/List17.java +0 -57
- data/ApiDemos/src/com/example/android/apis/view/List2.java +0 -57
- data/ApiDemos/src/com/example/android/apis/view/List3.java +0 -84
- data/ApiDemos/src/com/example/android/apis/view/List4.java +0 -154
- data/ApiDemos/src/com/example/android/apis/view/List5.java +0 -118
- data/ApiDemos/src/com/example/android/apis/view/List6.java +0 -410
- data/ApiDemos/src/com/example/android/apis/view/List7.java +0 -99
- data/ApiDemos/src/com/example/android/apis/view/List8.java +0 -133
- data/ApiDemos/src/com/example/android/apis/view/List9.java +0 -144
- data/ApiDemos/src/com/example/android/apis/view/OverscanActivity.java +0 -184
- data/ApiDemos/src/com/example/android/apis/view/PopupMenu1.java +0 -53
- data/ApiDemos/src/com/example/android/apis/view/ProgressBar1.java +0 -84
- data/ApiDemos/src/com/example/android/apis/view/ProgressBar2.java +0 -44
- data/ApiDemos/src/com/example/android/apis/view/ProgressBar3.java +0 -84
- data/ApiDemos/src/com/example/android/apis/view/ProgressBar4.java +0 -51
- data/ApiDemos/src/com/example/android/apis/view/RadioGroup1.java +0 -74
- data/ApiDemos/src/com/example/android/apis/view/RatingBar1.java +0 -74
- data/ApiDemos/src/com/example/android/apis/view/RelativeLayout1.java +0 -37
- data/ApiDemos/src/com/example/android/apis/view/RelativeLayout2.java +0 -38
- data/ApiDemos/src/com/example/android/apis/view/RotatingButton.java +0 -152
- data/ApiDemos/src/com/example/android/apis/view/ScrollBar1.java +0 -32
- data/ApiDemos/src/com/example/android/apis/view/ScrollBar2.java +0 -32
- data/ApiDemos/src/com/example/android/apis/view/ScrollBar3.java +0 -35
- data/ApiDemos/src/com/example/android/apis/view/ScrollView1.java +0 -37
- data/ApiDemos/src/com/example/android/apis/view/ScrollView2.java +0 -52
- data/ApiDemos/src/com/example/android/apis/view/SearchViewActionBar.java +0 -115
- data/ApiDemos/src/com/example/android/apis/view/SearchViewAlwaysVisible.java +0 -46
- data/ApiDemos/src/com/example/android/apis/view/SearchViewFilterMode.java +0 -78
- data/ApiDemos/src/com/example/android/apis/view/SecureView.java +0 -144
- data/ApiDemos/src/com/example/android/apis/view/SecureViewOverlay.java +0 -74
- data/ApiDemos/src/com/example/android/apis/view/SeekBar1.java +0 -60
- data/ApiDemos/src/com/example/android/apis/view/Spinner1.java +0 -78
- data/ApiDemos/src/com/example/android/apis/view/SplitTouchView.java +0 -66
- data/ApiDemos/src/com/example/android/apis/view/Switches.java +0 -47
- data/ApiDemos/src/com/example/android/apis/view/TableLayout1.java +0 -32
- data/ApiDemos/src/com/example/android/apis/view/TableLayout10.java +0 -31
- data/ApiDemos/src/com/example/android/apis/view/TableLayout11.java +0 -34
- data/ApiDemos/src/com/example/android/apis/view/TableLayout12.java +0 -34
- data/ApiDemos/src/com/example/android/apis/view/TableLayout2.java +0 -32
- data/ApiDemos/src/com/example/android/apis/view/TableLayout3.java +0 -32
- data/ApiDemos/src/com/example/android/apis/view/TableLayout4.java +0 -32
- data/ApiDemos/src/com/example/android/apis/view/TableLayout5.java +0 -32
- data/ApiDemos/src/com/example/android/apis/view/TableLayout6.java +0 -32
- data/ApiDemos/src/com/example/android/apis/view/TableLayout7.java +0 -80
- data/ApiDemos/src/com/example/android/apis/view/TableLayout8.java +0 -71
- data/ApiDemos/src/com/example/android/apis/view/TableLayout9.java +0 -48
- data/ApiDemos/src/com/example/android/apis/view/Tabs1.java +0 -50
- data/ApiDemos/src/com/example/android/apis/view/Tabs2.java +0 -57
- data/ApiDemos/src/com/example/android/apis/view/Tabs3.java +0 -50
- data/ApiDemos/src/com/example/android/apis/view/Tabs4.java +0 -23
- data/ApiDemos/src/com/example/android/apis/view/Tabs5.java +0 -54
- data/ApiDemos/src/com/example/android/apis/view/Tabs6.java +0 -55
- data/ApiDemos/src/com/example/android/apis/view/TextSwitcher1.java +0 -79
- data/ApiDemos/src/com/example/android/apis/view/Visibility1.java +0 -74
- data/ApiDemos/src/com/example/android/apis/view/WebView1.java +0 -71
- data/ApiDemos/tests/AndroidManifest.xml +0 -37
- data/ApiDemos/tests/ant.properties +0 -18
- data/ApiDemos/tests/build.xml +0 -83
- data/ApiDemos/tests/local.properties +0 -10
- data/ApiDemos/tests/proguard-project.txt +0 -20
- data/ApiDemos/tests/project.properties +0 -14
- data/ApiDemos/tests/src/com/example/android/apis/AllTests.java +0 -53
- data/ApiDemos/tests/src/com/example/android/apis/ApiDemosApplicationTests.java +0 -62
- data/ApiDemos/tests/src/com/example/android/apis/ApiDemosTest.java +0 -40
- data/ApiDemos/tests/src/com/example/android/apis/app/ForwardingTest.java +0 -129
- data/ApiDemos/tests/src/com/example/android/apis/app/LocalServiceTest.java +0 -80
- data/ApiDemos/tests/src/com/example/android/apis/os/MorseCodeConverterTest.java +0 -54
- data/ApiDemos/tests/src/com/example/android/apis/view/Focus2ActivityTest.java +0 -111
- data/ApiDemos/tests/src/com/example/android/apis/view/Focus2AndroidTest.java +0 -113
- data/ChangeLog +0 -16
- data/Gemfile +0 -12
- data/Guardfile +0 -17
- data/LICENSE +0 -22
- data/README.md +0 -72
- data/Rakefile +0 -24
- data/cucumber.yml +0 -14
- data/features/step_definitions/calabash_steps.rb +0 -1
- data/features/support/app_installation_hooks.rb +0 -23
- data/features/support/app_life_cycle_hooks.rb +0 -11
- data/gametel.gemspec +0 -23
- data/irb_android.sh +0 -2
- data/lib/gametel/platforms/calabash.rb +0 -155
@@ -1,116 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright (C) 2008 The Android Open Source Project
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
|
-
package com.example.android.apis.graphics.kube;
|
18
|
-
|
19
|
-
import android.opengl.GLSurfaceView;
|
20
|
-
|
21
|
-
import javax.microedition.khronos.egl.EGLConfig;
|
22
|
-
import javax.microedition.khronos.opengles.GL10;
|
23
|
-
|
24
|
-
|
25
|
-
/**
|
26
|
-
* Example of how to use OpenGL|ES in a custom view
|
27
|
-
*
|
28
|
-
*/
|
29
|
-
class KubeRenderer implements GLSurfaceView.Renderer {
|
30
|
-
public interface AnimationCallback {
|
31
|
-
void animate();
|
32
|
-
}
|
33
|
-
|
34
|
-
public KubeRenderer(GLWorld world, AnimationCallback callback) {
|
35
|
-
mWorld = world;
|
36
|
-
mCallback = callback;
|
37
|
-
}
|
38
|
-
|
39
|
-
public void onDrawFrame(GL10 gl) {
|
40
|
-
if (mCallback != null) {
|
41
|
-
mCallback.animate();
|
42
|
-
}
|
43
|
-
|
44
|
-
/*
|
45
|
-
* Usually, the first thing one might want to do is to clear
|
46
|
-
* the screen. The most efficient way of doing this is to use
|
47
|
-
* glClear(). However we must make sure to set the scissor
|
48
|
-
* correctly first. The scissor is always specified in window
|
49
|
-
* coordinates:
|
50
|
-
*/
|
51
|
-
|
52
|
-
gl.glClearColor(0.5f,0.5f,0.5f,1);
|
53
|
-
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
|
54
|
-
|
55
|
-
/*
|
56
|
-
* Now we're ready to draw some 3D object
|
57
|
-
*/
|
58
|
-
|
59
|
-
gl.glMatrixMode(GL10.GL_MODELVIEW);
|
60
|
-
gl.glLoadIdentity();
|
61
|
-
gl.glTranslatef(0, 0, -3.0f);
|
62
|
-
gl.glScalef(0.5f, 0.5f, 0.5f);
|
63
|
-
gl.glRotatef(mAngle, 0, 1, 0);
|
64
|
-
gl.glRotatef(mAngle*0.25f, 1, 0, 0);
|
65
|
-
|
66
|
-
gl.glColor4f(0.7f, 0.7f, 0.7f, 1.0f);
|
67
|
-
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
|
68
|
-
gl.glEnableClientState(GL10.GL_COLOR_ARRAY);
|
69
|
-
gl.glEnable(GL10.GL_CULL_FACE);
|
70
|
-
gl.glShadeModel(GL10.GL_SMOOTH);
|
71
|
-
gl.glEnable(GL10.GL_DEPTH_TEST);
|
72
|
-
|
73
|
-
mWorld.draw(gl);
|
74
|
-
}
|
75
|
-
|
76
|
-
public void onSurfaceChanged(GL10 gl, int width, int height) {
|
77
|
-
gl.glViewport(0, 0, width, height);
|
78
|
-
|
79
|
-
/*
|
80
|
-
* Set our projection matrix. This doesn't have to be done
|
81
|
-
* each time we draw, but usually a new projection needs to be set
|
82
|
-
* when the viewport is resized.
|
83
|
-
*/
|
84
|
-
|
85
|
-
float ratio = (float)width / height;
|
86
|
-
gl.glMatrixMode(GL10.GL_PROJECTION);
|
87
|
-
gl.glLoadIdentity();
|
88
|
-
gl.glFrustumf(-ratio, ratio, -1, 1, 2, 12);
|
89
|
-
|
90
|
-
/*
|
91
|
-
* By default, OpenGL enables features that improve quality
|
92
|
-
* but reduce performance. One might want to tweak that
|
93
|
-
* especially on software renderer.
|
94
|
-
*/
|
95
|
-
gl.glDisable(GL10.GL_DITHER);
|
96
|
-
gl.glActiveTexture(GL10.GL_TEXTURE0);
|
97
|
-
}
|
98
|
-
|
99
|
-
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
|
100
|
-
// Nothing special, don't have any textures we need to recreate.
|
101
|
-
}
|
102
|
-
|
103
|
-
public void setAngle(float angle) {
|
104
|
-
mAngle = angle;
|
105
|
-
}
|
106
|
-
|
107
|
-
public float getAngle() {
|
108
|
-
return mAngle;
|
109
|
-
}
|
110
|
-
|
111
|
-
private GLWorld mWorld;
|
112
|
-
private AnimationCallback mCallback;
|
113
|
-
private float mAngle;
|
114
|
-
}
|
115
|
-
|
116
|
-
|
@@ -1,101 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright (C) 2008 The Android Open Source Project
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
|
-
package com.example.android.apis.graphics.kube;
|
18
|
-
|
19
|
-
public class Layer {
|
20
|
-
|
21
|
-
public Layer(int axis) {
|
22
|
-
// start with identity matrix for transformation
|
23
|
-
mAxis = axis;
|
24
|
-
mTransform.setIdentity();
|
25
|
-
}
|
26
|
-
|
27
|
-
public void startAnimation() {
|
28
|
-
for (int i = 0; i < mShapes.length; i++) {
|
29
|
-
GLShape shape = mShapes[i];
|
30
|
-
if (shape != null) {
|
31
|
-
shape.startAnimation();
|
32
|
-
}
|
33
|
-
}
|
34
|
-
}
|
35
|
-
|
36
|
-
public void endAnimation() {
|
37
|
-
for (int i = 0; i < mShapes.length; i++) {
|
38
|
-
GLShape shape = mShapes[i];
|
39
|
-
if (shape != null) {
|
40
|
-
shape.endAnimation();
|
41
|
-
}
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
public void setAngle(float angle) {
|
46
|
-
// normalize the angle
|
47
|
-
float twopi = (float)Math.PI *2f;
|
48
|
-
while (angle >= twopi) angle -= twopi;
|
49
|
-
while (angle < 0f) angle += twopi;
|
50
|
-
// mAngle = angle;
|
51
|
-
|
52
|
-
float sin = (float)Math.sin(angle);
|
53
|
-
float cos = (float)Math.cos(angle);
|
54
|
-
|
55
|
-
float[][] m = mTransform.m;
|
56
|
-
switch (mAxis) {
|
57
|
-
case kAxisX:
|
58
|
-
m[1][1] = cos;
|
59
|
-
m[1][2] = sin;
|
60
|
-
m[2][1] = -sin;
|
61
|
-
m[2][2] = cos;
|
62
|
-
m[0][0] = 1f;
|
63
|
-
m[0][1] = m[0][2] = m[1][0] = m[2][0] = 0f;
|
64
|
-
break;
|
65
|
-
case kAxisY:
|
66
|
-
m[0][0] = cos;
|
67
|
-
m[0][2] = sin;
|
68
|
-
m[2][0] = -sin;
|
69
|
-
m[2][2] = cos;
|
70
|
-
m[1][1] = 1f;
|
71
|
-
m[0][1] = m[1][0] = m[1][2] = m[2][1] = 0f;
|
72
|
-
break;
|
73
|
-
case kAxisZ:
|
74
|
-
m[0][0] = cos;
|
75
|
-
m[0][1] = sin;
|
76
|
-
m[1][0] = -sin;
|
77
|
-
m[1][1] = cos;
|
78
|
-
m[2][2] = 1f;
|
79
|
-
m[2][0] = m[2][1] = m[0][2] = m[1][2] = 0f;
|
80
|
-
break;
|
81
|
-
}
|
82
|
-
|
83
|
-
for (int i = 0; i < mShapes.length; i++) {
|
84
|
-
GLShape shape = mShapes[i];
|
85
|
-
if (shape != null) {
|
86
|
-
shape.animateTransform(mTransform);
|
87
|
-
}
|
88
|
-
}
|
89
|
-
}
|
90
|
-
|
91
|
-
GLShape[] mShapes = new GLShape[9];
|
92
|
-
M4 mTransform = new M4();
|
93
|
-
// float mAngle;
|
94
|
-
|
95
|
-
// which axis do we rotate around?
|
96
|
-
// 0 for X, 1 for Y, 2 for Z
|
97
|
-
int mAxis;
|
98
|
-
static public final int kAxisX = 0;
|
99
|
-
static public final int kAxisY = 1;
|
100
|
-
static public final int kAxisZ = 2;
|
101
|
-
}
|
@@ -1,80 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright (C) 2008 The Android Open Source Project
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
|
-
package com.example.android.apis.graphics.kube;
|
18
|
-
|
19
|
-
/**
|
20
|
-
*
|
21
|
-
* A 4x4 float matrix
|
22
|
-
*
|
23
|
-
*/
|
24
|
-
public class M4 {
|
25
|
-
public float[][] m = new float[4][4];
|
26
|
-
|
27
|
-
public M4() {
|
28
|
-
}
|
29
|
-
|
30
|
-
public M4(M4 other) {
|
31
|
-
for (int i = 0; i < 4; i++) {
|
32
|
-
for (int j = 0; j < 4; j++) {
|
33
|
-
m[i][j] = other.m[i][j];
|
34
|
-
}
|
35
|
-
}
|
36
|
-
}
|
37
|
-
|
38
|
-
public void multiply(GLVertex src, GLVertex dest) {
|
39
|
-
dest.x = src.x * m[0][0] + src.y * m[1][0] + src.z * m[2][0] + m[3][0];
|
40
|
-
dest.y = src.x * m[0][1] + src.y * m[1][1] + src.z * m[2][1] + m[3][1];
|
41
|
-
dest.z = src.x * m[0][2] + src.y * m[1][2] + src.z * m[2][2] + m[3][2];
|
42
|
-
}
|
43
|
-
|
44
|
-
public M4 multiply(M4 other) {
|
45
|
-
M4 result = new M4();
|
46
|
-
float[][] m1 = m;
|
47
|
-
float[][] m2 = other.m;
|
48
|
-
|
49
|
-
for (int i = 0; i < 4; i++) {
|
50
|
-
for (int j = 0; j < 4; j++) {
|
51
|
-
result.m[i][j] = m1[i][0]*m2[0][j] + m1[i][1]*m2[1][j] + m1[i][2]*m2[2][j] + m1[i][3]*m2[3][j];
|
52
|
-
}
|
53
|
-
}
|
54
|
-
|
55
|
-
return result;
|
56
|
-
}
|
57
|
-
|
58
|
-
public void setIdentity() {
|
59
|
-
for (int i = 0; i < 4; i++) {
|
60
|
-
for (int j = 0; j < 4; j++) {
|
61
|
-
m[i][j] = (i == j ? 1f : 0f);
|
62
|
-
}
|
63
|
-
}
|
64
|
-
}
|
65
|
-
|
66
|
-
@Override
|
67
|
-
public String toString() {
|
68
|
-
StringBuilder builder = new StringBuilder("[ ");
|
69
|
-
for (int i = 0; i < 4; i++) {
|
70
|
-
for (int j = 0; j < 4; j++) {
|
71
|
-
builder.append(m[i][j]);
|
72
|
-
builder.append(" ");
|
73
|
-
}
|
74
|
-
if (i < 2)
|
75
|
-
builder.append("\n ");
|
76
|
-
}
|
77
|
-
builder.append(" ]");
|
78
|
-
return builder.toString();
|
79
|
-
}
|
80
|
-
}
|
@@ -1,140 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright (C) 2007 The Android Open Source Project
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
|
-
package com.example.android.apis.graphics.spritetext;
|
18
|
-
|
19
|
-
import java.nio.ByteBuffer;
|
20
|
-
import java.nio.ByteOrder;
|
21
|
-
import java.nio.CharBuffer;
|
22
|
-
import java.nio.FloatBuffer;
|
23
|
-
|
24
|
-
import javax.microedition.khronos.opengles.GL10;
|
25
|
-
|
26
|
-
/**
|
27
|
-
* A 2D rectangular mesh. Can be drawn textured or untextured.
|
28
|
-
*
|
29
|
-
*/
|
30
|
-
class Grid {
|
31
|
-
|
32
|
-
public Grid(int w, int h) {
|
33
|
-
if (w < 0 || w >= 65536) {
|
34
|
-
throw new IllegalArgumentException("w");
|
35
|
-
}
|
36
|
-
if (h < 0 || h >= 65536) {
|
37
|
-
throw new IllegalArgumentException("h");
|
38
|
-
}
|
39
|
-
if (w * h >= 65536) {
|
40
|
-
throw new IllegalArgumentException("w * h >= 65536");
|
41
|
-
}
|
42
|
-
|
43
|
-
mW = w;
|
44
|
-
mH = h;
|
45
|
-
int size = w * h;
|
46
|
-
final int FLOAT_SIZE = 4;
|
47
|
-
final int CHAR_SIZE = 2;
|
48
|
-
mVertexBuffer = ByteBuffer.allocateDirect(FLOAT_SIZE * size * 3)
|
49
|
-
.order(ByteOrder.nativeOrder()).asFloatBuffer();
|
50
|
-
mTexCoordBuffer = ByteBuffer.allocateDirect(FLOAT_SIZE * size * 2)
|
51
|
-
.order(ByteOrder.nativeOrder()).asFloatBuffer();
|
52
|
-
|
53
|
-
int quadW = mW - 1;
|
54
|
-
int quadH = mH - 1;
|
55
|
-
int quadCount = quadW * quadH;
|
56
|
-
int indexCount = quadCount * 6;
|
57
|
-
mIndexCount = indexCount;
|
58
|
-
mIndexBuffer = ByteBuffer.allocateDirect(CHAR_SIZE * indexCount)
|
59
|
-
.order(ByteOrder.nativeOrder()).asCharBuffer();
|
60
|
-
|
61
|
-
/*
|
62
|
-
* Initialize triangle list mesh.
|
63
|
-
*
|
64
|
-
* [0]-----[ 1] ...
|
65
|
-
* | / |
|
66
|
-
* | / |
|
67
|
-
* | / |
|
68
|
-
* [w]-----[w+1] ...
|
69
|
-
* | |
|
70
|
-
*
|
71
|
-
*/
|
72
|
-
|
73
|
-
{
|
74
|
-
int i = 0;
|
75
|
-
for (int y = 0; y < quadH; y++) {
|
76
|
-
for (int x = 0; x < quadW; x++) {
|
77
|
-
char a = (char) (y * mW + x);
|
78
|
-
char b = (char) (y * mW + x + 1);
|
79
|
-
char c = (char) ((y + 1) * mW + x);
|
80
|
-
char d = (char) ((y + 1) * mW + x + 1);
|
81
|
-
|
82
|
-
mIndexBuffer.put(i++, a);
|
83
|
-
mIndexBuffer.put(i++, b);
|
84
|
-
mIndexBuffer.put(i++, c);
|
85
|
-
|
86
|
-
mIndexBuffer.put(i++, b);
|
87
|
-
mIndexBuffer.put(i++, c);
|
88
|
-
mIndexBuffer.put(i++, d);
|
89
|
-
}
|
90
|
-
}
|
91
|
-
}
|
92
|
-
|
93
|
-
}
|
94
|
-
|
95
|
-
void set(int i, int j, float x, float y, float z, float u, float v) {
|
96
|
-
if (i < 0 || i >= mW) {
|
97
|
-
throw new IllegalArgumentException("i");
|
98
|
-
}
|
99
|
-
if (j < 0 || j >= mH) {
|
100
|
-
throw new IllegalArgumentException("j");
|
101
|
-
}
|
102
|
-
|
103
|
-
int index = mW * j + i;
|
104
|
-
|
105
|
-
int posIndex = index * 3;
|
106
|
-
mVertexBuffer.put(posIndex, x);
|
107
|
-
mVertexBuffer.put(posIndex + 1, y);
|
108
|
-
mVertexBuffer.put(posIndex + 2, z);
|
109
|
-
|
110
|
-
int texIndex = index * 2;
|
111
|
-
mTexCoordBuffer.put(texIndex, u);
|
112
|
-
mTexCoordBuffer.put(texIndex + 1, v);
|
113
|
-
}
|
114
|
-
|
115
|
-
public void draw(GL10 gl, boolean useTexture) {
|
116
|
-
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
|
117
|
-
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, mVertexBuffer);
|
118
|
-
|
119
|
-
if (useTexture) {
|
120
|
-
gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
|
121
|
-
gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, mTexCoordBuffer);
|
122
|
-
gl.glEnable(GL10.GL_TEXTURE_2D);
|
123
|
-
} else {
|
124
|
-
gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
|
125
|
-
gl.glDisable(GL10.GL_TEXTURE_2D);
|
126
|
-
}
|
127
|
-
|
128
|
-
gl.glDrawElements(GL10.GL_TRIANGLES, mIndexCount,
|
129
|
-
GL10.GL_UNSIGNED_SHORT, mIndexBuffer);
|
130
|
-
gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
|
131
|
-
}
|
132
|
-
|
133
|
-
private FloatBuffer mVertexBuffer;
|
134
|
-
private FloatBuffer mTexCoordBuffer;
|
135
|
-
private CharBuffer mIndexBuffer;
|
136
|
-
|
137
|
-
private int mW;
|
138
|
-
private int mH;
|
139
|
-
private int mIndexCount;
|
140
|
-
}
|
@@ -1,411 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright (C) 2007 The Android Open Source Project
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
|
-
package com.example.android.apis.graphics.spritetext;
|
18
|
-
|
19
|
-
import android.graphics.Bitmap;
|
20
|
-
import android.graphics.Canvas;
|
21
|
-
import android.graphics.Paint;
|
22
|
-
import android.graphics.Rect;
|
23
|
-
import android.graphics.Paint.Style;
|
24
|
-
import android.graphics.drawable.Drawable;
|
25
|
-
import android.opengl.GLUtils;
|
26
|
-
|
27
|
-
import java.util.ArrayList;
|
28
|
-
|
29
|
-
import javax.microedition.khronos.opengles.GL10;
|
30
|
-
import javax.microedition.khronos.opengles.GL11;
|
31
|
-
import javax.microedition.khronos.opengles.GL11Ext;
|
32
|
-
|
33
|
-
/**
|
34
|
-
* An OpenGL text label maker.
|
35
|
-
*
|
36
|
-
*
|
37
|
-
* OpenGL labels are implemented by creating a Bitmap, drawing all the labels
|
38
|
-
* into the Bitmap, converting the Bitmap into an Alpha texture, and drawing
|
39
|
-
* portions of the texture using glDrawTexiOES.
|
40
|
-
*
|
41
|
-
* The benefits of this approach are that the labels are drawn using the high
|
42
|
-
* quality anti-aliased font rasterizer, full character set support, and all the
|
43
|
-
* text labels are stored on a single texture, which makes it faster to use.
|
44
|
-
*
|
45
|
-
* The drawbacks are that you can only have as many labels as will fit onto one
|
46
|
-
* texture, and you have to recreate the whole texture if any label text
|
47
|
-
* changes.
|
48
|
-
*
|
49
|
-
*/
|
50
|
-
public class LabelMaker {
|
51
|
-
/**
|
52
|
-
* Create a label maker
|
53
|
-
* or maximum compatibility with various OpenGL ES implementations,
|
54
|
-
* the strike width and height must be powers of two,
|
55
|
-
* We want the strike width to be at least as wide as the widest window.
|
56
|
-
*
|
57
|
-
* @param fullColor true if we want a full color backing store (4444),
|
58
|
-
* otherwise we generate a grey L8 backing store.
|
59
|
-
* @param strikeWidth width of strike
|
60
|
-
* @param strikeHeight height of strike
|
61
|
-
*/
|
62
|
-
public LabelMaker(boolean fullColor, int strikeWidth, int strikeHeight) {
|
63
|
-
mFullColor = fullColor;
|
64
|
-
mStrikeWidth = strikeWidth;
|
65
|
-
mStrikeHeight = strikeHeight;
|
66
|
-
mTexelWidth = (float) (1.0 / mStrikeWidth);
|
67
|
-
mTexelHeight = (float) (1.0 / mStrikeHeight);
|
68
|
-
mClearPaint = new Paint();
|
69
|
-
mClearPaint.setARGB(0, 0, 0, 0);
|
70
|
-
mClearPaint.setStyle(Style.FILL);
|
71
|
-
mState = STATE_NEW;
|
72
|
-
}
|
73
|
-
|
74
|
-
/**
|
75
|
-
* Call to initialize the class.
|
76
|
-
* Call whenever the surface has been created.
|
77
|
-
*
|
78
|
-
* @param gl
|
79
|
-
*/
|
80
|
-
public void initialize(GL10 gl) {
|
81
|
-
mState = STATE_INITIALIZED;
|
82
|
-
int[] textures = new int[1];
|
83
|
-
gl.glGenTextures(1, textures, 0);
|
84
|
-
mTextureID = textures[0];
|
85
|
-
gl.glBindTexture(GL10.GL_TEXTURE_2D, mTextureID);
|
86
|
-
|
87
|
-
// Use Nearest for performance.
|
88
|
-
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER,
|
89
|
-
GL10.GL_NEAREST);
|
90
|
-
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER,
|
91
|
-
GL10.GL_NEAREST);
|
92
|
-
|
93
|
-
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S,
|
94
|
-
GL10.GL_CLAMP_TO_EDGE);
|
95
|
-
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T,
|
96
|
-
GL10.GL_CLAMP_TO_EDGE);
|
97
|
-
|
98
|
-
gl.glTexEnvf(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE,
|
99
|
-
GL10.GL_REPLACE);
|
100
|
-
}
|
101
|
-
|
102
|
-
/**
|
103
|
-
* Call when the surface has been destroyed
|
104
|
-
*/
|
105
|
-
public void shutdown(GL10 gl) {
|
106
|
-
if ( gl != null) {
|
107
|
-
if (mState > STATE_NEW) {
|
108
|
-
int[] textures = new int[1];
|
109
|
-
textures[0] = mTextureID;
|
110
|
-
gl.glDeleteTextures(1, textures, 0);
|
111
|
-
mState = STATE_NEW;
|
112
|
-
}
|
113
|
-
}
|
114
|
-
}
|
115
|
-
|
116
|
-
/**
|
117
|
-
* Call before adding labels. Clears out any existing labels.
|
118
|
-
*
|
119
|
-
* @param gl
|
120
|
-
*/
|
121
|
-
public void beginAdding(GL10 gl) {
|
122
|
-
checkState(STATE_INITIALIZED, STATE_ADDING);
|
123
|
-
mLabels.clear();
|
124
|
-
mU = 0;
|
125
|
-
mV = 0;
|
126
|
-
mLineHeight = 0;
|
127
|
-
Bitmap.Config config = mFullColor ?
|
128
|
-
Bitmap.Config.ARGB_4444 : Bitmap.Config.ALPHA_8;
|
129
|
-
mBitmap = Bitmap.createBitmap(mStrikeWidth, mStrikeHeight, config);
|
130
|
-
mCanvas = new Canvas(mBitmap);
|
131
|
-
mBitmap.eraseColor(0);
|
132
|
-
}
|
133
|
-
|
134
|
-
/**
|
135
|
-
* Call to add a label
|
136
|
-
*
|
137
|
-
* @param gl
|
138
|
-
* @param text the text of the label
|
139
|
-
* @param textPaint the paint of the label
|
140
|
-
* @return the id of the label, used to measure and draw the label
|
141
|
-
*/
|
142
|
-
public int add(GL10 gl, String text, Paint textPaint) {
|
143
|
-
return add(gl, null, text, textPaint);
|
144
|
-
}
|
145
|
-
|
146
|
-
/**
|
147
|
-
* Call to add a label
|
148
|
-
*
|
149
|
-
* @param gl
|
150
|
-
* @param text the text of the label
|
151
|
-
* @param textPaint the paint of the label
|
152
|
-
* @return the id of the label, used to measure and draw the label
|
153
|
-
*/
|
154
|
-
public int add(GL10 gl, Drawable background, String text, Paint textPaint) {
|
155
|
-
return add(gl, background, text, textPaint, 0, 0);
|
156
|
-
}
|
157
|
-
|
158
|
-
/**
|
159
|
-
* Call to add a label
|
160
|
-
* @return the id of the label, used to measure and draw the label
|
161
|
-
*/
|
162
|
-
public int add(GL10 gl, Drawable drawable, int minWidth, int minHeight) {
|
163
|
-
return add(gl, drawable, null, null, minWidth, minHeight);
|
164
|
-
}
|
165
|
-
|
166
|
-
/**
|
167
|
-
* Call to add a label
|
168
|
-
*
|
169
|
-
* @param gl
|
170
|
-
* @param text the text of the label
|
171
|
-
* @param textPaint the paint of the label
|
172
|
-
* @return the id of the label, used to measure and draw the label
|
173
|
-
*/
|
174
|
-
public int add(GL10 gl, Drawable background, String text, Paint textPaint,
|
175
|
-
int minWidth, int minHeight) {
|
176
|
-
checkState(STATE_ADDING, STATE_ADDING);
|
177
|
-
boolean drawBackground = background != null;
|
178
|
-
boolean drawText = (text != null) && (textPaint != null);
|
179
|
-
|
180
|
-
Rect padding = new Rect();
|
181
|
-
if (drawBackground) {
|
182
|
-
background.getPadding(padding);
|
183
|
-
minWidth = Math.max(minWidth, background.getMinimumWidth());
|
184
|
-
minHeight = Math.max(minHeight, background.getMinimumHeight());
|
185
|
-
}
|
186
|
-
|
187
|
-
int ascent = 0;
|
188
|
-
int descent = 0;
|
189
|
-
int measuredTextWidth = 0;
|
190
|
-
if (drawText) {
|
191
|
-
// Paint.ascent is negative, so negate it.
|
192
|
-
ascent = (int) Math.ceil(-textPaint.ascent());
|
193
|
-
descent = (int) Math.ceil(textPaint.descent());
|
194
|
-
measuredTextWidth = (int) Math.ceil(textPaint.measureText(text));
|
195
|
-
}
|
196
|
-
int textHeight = ascent + descent;
|
197
|
-
int textWidth = Math.min(mStrikeWidth,measuredTextWidth);
|
198
|
-
|
199
|
-
int padHeight = padding.top + padding.bottom;
|
200
|
-
int padWidth = padding.left + padding.right;
|
201
|
-
int height = Math.max(minHeight, textHeight + padHeight);
|
202
|
-
int width = Math.max(minWidth, textWidth + padWidth);
|
203
|
-
int effectiveTextHeight = height - padHeight;
|
204
|
-
int effectiveTextWidth = width - padWidth;
|
205
|
-
|
206
|
-
int centerOffsetHeight = (effectiveTextHeight - textHeight) / 2;
|
207
|
-
int centerOffsetWidth = (effectiveTextWidth - textWidth) / 2;
|
208
|
-
|
209
|
-
// Make changes to the local variables, only commit them
|
210
|
-
// to the member variables after we've decided not to throw
|
211
|
-
// any exceptions.
|
212
|
-
|
213
|
-
int u = mU;
|
214
|
-
int v = mV;
|
215
|
-
int lineHeight = mLineHeight;
|
216
|
-
|
217
|
-
if (width > mStrikeWidth) {
|
218
|
-
width = mStrikeWidth;
|
219
|
-
}
|
220
|
-
|
221
|
-
// Is there room for this string on the current line?
|
222
|
-
if (u + width > mStrikeWidth) {
|
223
|
-
// No room, go to the next line:
|
224
|
-
u = 0;
|
225
|
-
v += lineHeight;
|
226
|
-
lineHeight = 0;
|
227
|
-
}
|
228
|
-
lineHeight = Math.max(lineHeight, height);
|
229
|
-
if (v + lineHeight > mStrikeHeight) {
|
230
|
-
throw new IllegalArgumentException("Out of texture space.");
|
231
|
-
}
|
232
|
-
|
233
|
-
int u2 = u + width;
|
234
|
-
int vBase = v + ascent;
|
235
|
-
int v2 = v + height;
|
236
|
-
|
237
|
-
if (drawBackground) {
|
238
|
-
background.setBounds(u, v, u + width, v + height);
|
239
|
-
background.draw(mCanvas);
|
240
|
-
}
|
241
|
-
|
242
|
-
if (drawText) {
|
243
|
-
mCanvas.drawText(text,
|
244
|
-
u + padding.left + centerOffsetWidth,
|
245
|
-
vBase + padding.top + centerOffsetHeight,
|
246
|
-
textPaint);
|
247
|
-
}
|
248
|
-
|
249
|
-
// We know there's enough space, so update the member variables
|
250
|
-
mU = u + width;
|
251
|
-
mV = v;
|
252
|
-
mLineHeight = lineHeight;
|
253
|
-
mLabels.add(new Label(width, height, ascent,
|
254
|
-
u, v + height, width, -height));
|
255
|
-
return mLabels.size() - 1;
|
256
|
-
}
|
257
|
-
|
258
|
-
/**
|
259
|
-
* Call to end adding labels. Must be called before drawing starts.
|
260
|
-
*
|
261
|
-
* @param gl
|
262
|
-
*/
|
263
|
-
public void endAdding(GL10 gl) {
|
264
|
-
checkState(STATE_ADDING, STATE_INITIALIZED);
|
265
|
-
gl.glBindTexture(GL10.GL_TEXTURE_2D, mTextureID);
|
266
|
-
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, mBitmap, 0);
|
267
|
-
// Reclaim storage used by bitmap and canvas.
|
268
|
-
mBitmap.recycle();
|
269
|
-
mBitmap = null;
|
270
|
-
mCanvas = null;
|
271
|
-
}
|
272
|
-
|
273
|
-
/**
|
274
|
-
* Get the width in pixels of a given label.
|
275
|
-
*
|
276
|
-
* @param labelID
|
277
|
-
* @return the width in pixels
|
278
|
-
*/
|
279
|
-
public float getWidth(int labelID) {
|
280
|
-
return mLabels.get(labelID).width;
|
281
|
-
}
|
282
|
-
|
283
|
-
/**
|
284
|
-
* Get the height in pixels of a given label.
|
285
|
-
*
|
286
|
-
* @param labelID
|
287
|
-
* @return the height in pixels
|
288
|
-
*/
|
289
|
-
public float getHeight(int labelID) {
|
290
|
-
return mLabels.get(labelID).height;
|
291
|
-
}
|
292
|
-
|
293
|
-
/**
|
294
|
-
* Get the baseline of a given label. That's how many pixels from the top of
|
295
|
-
* the label to the text baseline. (This is equivalent to the negative of
|
296
|
-
* the label's paint's ascent.)
|
297
|
-
*
|
298
|
-
* @param labelID
|
299
|
-
* @return the baseline in pixels.
|
300
|
-
*/
|
301
|
-
public float getBaseline(int labelID) {
|
302
|
-
return mLabels.get(labelID).baseline;
|
303
|
-
}
|
304
|
-
|
305
|
-
/**
|
306
|
-
* Begin drawing labels. Sets the OpenGL state for rapid drawing.
|
307
|
-
*
|
308
|
-
* @param gl
|
309
|
-
* @param viewWidth
|
310
|
-
* @param viewHeight
|
311
|
-
*/
|
312
|
-
public void beginDrawing(GL10 gl, float viewWidth, float viewHeight) {
|
313
|
-
checkState(STATE_INITIALIZED, STATE_DRAWING);
|
314
|
-
gl.glBindTexture(GL10.GL_TEXTURE_2D, mTextureID);
|
315
|
-
gl.glShadeModel(GL10.GL_FLAT);
|
316
|
-
gl.glEnable(GL10.GL_BLEND);
|
317
|
-
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
|
318
|
-
gl.glColor4x(0x10000, 0x10000, 0x10000, 0x10000);
|
319
|
-
gl.glMatrixMode(GL10.GL_PROJECTION);
|
320
|
-
gl.glPushMatrix();
|
321
|
-
gl.glLoadIdentity();
|
322
|
-
gl.glOrthof(0.0f, viewWidth, 0.0f, viewHeight, 0.0f, 1.0f);
|
323
|
-
gl.glMatrixMode(GL10.GL_MODELVIEW);
|
324
|
-
gl.glPushMatrix();
|
325
|
-
gl.glLoadIdentity();
|
326
|
-
// Magic offsets to promote consistent rasterization.
|
327
|
-
gl.glTranslatef(0.375f, 0.375f, 0.0f);
|
328
|
-
}
|
329
|
-
|
330
|
-
/**
|
331
|
-
* Draw a given label at a given x,y position, expressed in pixels, with the
|
332
|
-
* lower-left-hand-corner of the view being (0,0).
|
333
|
-
*
|
334
|
-
* @param gl
|
335
|
-
* @param x
|
336
|
-
* @param y
|
337
|
-
* @param labelID
|
338
|
-
*/
|
339
|
-
public void draw(GL10 gl, float x, float y, int labelID) {
|
340
|
-
checkState(STATE_DRAWING, STATE_DRAWING);
|
341
|
-
Label label = mLabels.get(labelID);
|
342
|
-
gl.glEnable(GL10.GL_TEXTURE_2D);
|
343
|
-
((GL11)gl).glTexParameteriv(GL10.GL_TEXTURE_2D,
|
344
|
-
GL11Ext.GL_TEXTURE_CROP_RECT_OES, label.mCrop, 0);
|
345
|
-
((GL11Ext)gl).glDrawTexiOES((int) x, (int) y, 0,
|
346
|
-
(int) label.width, (int) label.height);
|
347
|
-
}
|
348
|
-
|
349
|
-
/**
|
350
|
-
* Ends the drawing and restores the OpenGL state.
|
351
|
-
*
|
352
|
-
* @param gl
|
353
|
-
*/
|
354
|
-
public void endDrawing(GL10 gl) {
|
355
|
-
checkState(STATE_DRAWING, STATE_INITIALIZED);
|
356
|
-
gl.glDisable(GL10.GL_BLEND);
|
357
|
-
gl.glMatrixMode(GL10.GL_PROJECTION);
|
358
|
-
gl.glPopMatrix();
|
359
|
-
gl.glMatrixMode(GL10.GL_MODELVIEW);
|
360
|
-
gl.glPopMatrix();
|
361
|
-
}
|
362
|
-
|
363
|
-
private void checkState(int oldState, int newState) {
|
364
|
-
if (mState != oldState) {
|
365
|
-
throw new IllegalArgumentException("Can't call this method now.");
|
366
|
-
}
|
367
|
-
mState = newState;
|
368
|
-
}
|
369
|
-
|
370
|
-
private static class Label {
|
371
|
-
public Label(float width, float height, float baseLine,
|
372
|
-
int cropU, int cropV, int cropW, int cropH) {
|
373
|
-
this.width = width;
|
374
|
-
this.height = height;
|
375
|
-
this.baseline = baseLine;
|
376
|
-
int[] crop = new int[4];
|
377
|
-
crop[0] = cropU;
|
378
|
-
crop[1] = cropV;
|
379
|
-
crop[2] = cropW;
|
380
|
-
crop[3] = cropH;
|
381
|
-
mCrop = crop;
|
382
|
-
}
|
383
|
-
|
384
|
-
public float width;
|
385
|
-
public float height;
|
386
|
-
public float baseline;
|
387
|
-
public int[] mCrop;
|
388
|
-
}
|
389
|
-
|
390
|
-
private int mStrikeWidth;
|
391
|
-
private int mStrikeHeight;
|
392
|
-
private boolean mFullColor;
|
393
|
-
private Bitmap mBitmap;
|
394
|
-
private Canvas mCanvas;
|
395
|
-
private Paint mClearPaint;
|
396
|
-
|
397
|
-
private int mTextureID;
|
398
|
-
|
399
|
-
private float mTexelWidth; // Convert texel to U
|
400
|
-
private float mTexelHeight; // Convert texel to V
|
401
|
-
private int mU;
|
402
|
-
private int mV;
|
403
|
-
private int mLineHeight;
|
404
|
-
private ArrayList<Label> mLabels = new ArrayList<Label>();
|
405
|
-
|
406
|
-
private static final int STATE_NEW = 0;
|
407
|
-
private static final int STATE_INITIALIZED = 1;
|
408
|
-
private static final int STATE_ADDING = 2;
|
409
|
-
private static final int STATE_DRAWING = 3;
|
410
|
-
private int mState;
|
411
|
-
}
|