gametel 0.3 → 0.4

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.
Files changed (907) hide show
  1. data/features/main_screen.feature +1 -1
  2. data/features/step_definitions/button_steps.rb +1 -1
  3. data/features/step_definitions/main_screen_steps.rb +1 -2
  4. data/features/support/env.rb +24 -1
  5. data/features/text.feature +0 -12
  6. data/features/view.feature +0 -1
  7. data/lib/gametel.rb +3 -4
  8. data/lib/gametel/accessors.rb +0 -1
  9. data/lib/gametel/platforms/brazenhead/basic.rb +17 -0
  10. data/lib/gametel/platforms/brazenhead/spinner.rb +17 -0
  11. data/lib/gametel/platforms/brazenhead/text.rb +39 -0
  12. data/lib/gametel/platforms/brazenhead/view.rb +24 -0
  13. data/lib/gametel/platforms/brazenhead_platform.rb +139 -0
  14. data/lib/gametel/version.rb +1 -1
  15. data/spec/lib/gametel/accessors_spec.rb +46 -31
  16. data/spec/lib/gametel_spec.rb +30 -12
  17. data/spec/spec_helper.rb +4 -2
  18. metadata +32 -897
  19. data/.calabash_settings +0 -1
  20. data/.gitignore +0 -26
  21. data/.irbrc +0 -16
  22. data/.rspec +0 -2
  23. data/.rvmrc +0 -1
  24. data/.travis.yml +0 -5
  25. data/ApiDemos/.classpath +0 -8
  26. data/ApiDemos/.project +0 -33
  27. data/ApiDemos/.settings/org.eclipse.jdt.core.prefs +0 -4
  28. data/ApiDemos/AndroidManifest.xml +0 -2715
  29. data/ApiDemos/README.txt +0 -19
  30. data/ApiDemos/assets/HelloActivity.apk +0 -0
  31. data/ApiDemos/assets/fonts/samplefont.ttf +0 -0
  32. data/ApiDemos/assets/read_asset.txt +0 -3
  33. data/ApiDemos/build.xml +0 -83
  34. data/ApiDemos/proguard-project.txt +0 -20
  35. data/ApiDemos/project.properties +0 -14
  36. data/ApiDemos/res/anim/animator.xml +0 -23
  37. data/ApiDemos/res/anim/animator_set.xml +0 -32
  38. data/ApiDemos/res/anim/color_animator.xml +0 -23
  39. data/ApiDemos/res/anim/cycle_7.xml +0 -17
  40. data/ApiDemos/res/anim/fade.xml +0 -20
  41. data/ApiDemos/res/anim/hold.xml +0 -20
  42. data/ApiDemos/res/anim/hyperspace_in.xml +0 -17
  43. data/ApiDemos/res/anim/hyperspace_out.xml +0 -61
  44. data/ApiDemos/res/anim/layout_animation_row_left_slide.xml +0 -19
  45. data/ApiDemos/res/anim/layout_animation_row_right_slide.xml +0 -20
  46. data/ApiDemos/res/anim/layout_animation_table.xml +0 -19
  47. data/ApiDemos/res/anim/layout_bottom_to_top_slide.xml +0 -20
  48. data/ApiDemos/res/anim/layout_grid_fade.xml +0 -20
  49. data/ApiDemos/res/anim/layout_grid_inverse_fade.xml +0 -21
  50. data/ApiDemos/res/anim/layout_random_fade.xml +0 -20
  51. data/ApiDemos/res/anim/layout_wave_scale.xml +0 -21
  52. data/ApiDemos/res/anim/object_animator.xml +0 -23
  53. data/ApiDemos/res/anim/push_left_in.xml +0 -20
  54. data/ApiDemos/res/anim/push_left_out.xml +0 -20
  55. data/ApiDemos/res/anim/push_up_in.xml +0 -20
  56. data/ApiDemos/res/anim/push_up_out.xml +0 -20
  57. data/ApiDemos/res/anim/shake.xml +0 -17
  58. data/ApiDemos/res/anim/slide_left.xml +0 -20
  59. data/ApiDemos/res/anim/slide_right.xml +0 -20
  60. data/ApiDemos/res/anim/slide_top_to_bottom.xml +0 -20
  61. data/ApiDemos/res/anim/wave_scale.xml +0 -33
  62. data/ApiDemos/res/anim/zoom_enter.xml +0 -28
  63. data/ApiDemos/res/anim/zoom_exit.xml +0 -33
  64. data/ApiDemos/res/animator/fragment_slide_left_enter.xml +0 -32
  65. data/ApiDemos/res/animator/fragment_slide_left_exit.xml +0 -32
  66. data/ApiDemos/res/animator/fragment_slide_right_enter.xml +0 -32
  67. data/ApiDemos/res/animator/fragment_slide_right_exit.xml +0 -32
  68. data/ApiDemos/res/drawable-hdpi/alert_dialog_icon.png +0 -0
  69. data/ApiDemos/res/drawable-hdpi/apidemo_androidlogo.png +0 -0
  70. data/ApiDemos/res/drawable-hdpi/app_sample_code.png +0 -0
  71. data/ApiDemos/res/drawable-hdpi/arrow_down_float.png +0 -0
  72. data/ApiDemos/res/drawable-hdpi/arrow_up_float.png +0 -0
  73. data/ApiDemos/res/drawable-hdpi/btn_check_off.png +0 -0
  74. data/ApiDemos/res/drawable-hdpi/btn_check_on.png +0 -0
  75. data/ApiDemos/res/drawable-hdpi/btn_circle_normal.png +0 -0
  76. data/ApiDemos/res/drawable-hdpi/btn_default_normal.9.png +0 -0
  77. data/ApiDemos/res/drawable-hdpi/button.9.png +0 -0
  78. data/ApiDemos/res/drawable-hdpi/ic_contact_picture.png +0 -0
  79. data/ApiDemos/res/drawable-hdpi/ic_launcher_settings.png +0 -0
  80. data/ApiDemos/res/drawable-hdpi/ic_popup_reminder.png +0 -0
  81. data/ApiDemos/res/drawable-hdpi/icon48x48_2.png +0 -0
  82. data/ApiDemos/res/drawable-hdpi/logo240dpi.png +0 -0
  83. data/ApiDemos/res/drawable-hdpi/npatch240dpi.9.png +0 -0
  84. data/ApiDemos/res/drawable-hdpi/progress_circular_background.png +0 -0
  85. data/ApiDemos/res/drawable-hdpi/progress_particle.png +0 -0
  86. data/ApiDemos/res/drawable-hdpi/reslogo240dpi.png +0 -0
  87. data/ApiDemos/res/drawable-hdpi/scrollbar_state2.png +0 -0
  88. data/ApiDemos/res/drawable-hdpi/smlnpatch240dpi.9.png +0 -0
  89. data/ApiDemos/res/drawable-hdpi/star_big_on.png +0 -0
  90. data/ApiDemos/res/drawable-hdpi/stat_happy.png +0 -0
  91. data/ApiDemos/res/drawable-hdpi/stat_neutral.png +0 -0
  92. data/ApiDemos/res/drawable-hdpi/stat_sad.png +0 -0
  93. data/ApiDemos/res/drawable-hdpi/stat_sample.png +0 -0
  94. data/ApiDemos/res/drawable-hdpi/stylogo240dpi.png +0 -0
  95. data/ApiDemos/res/drawable-ldpi/logo120dpi.png +0 -0
  96. data/ApiDemos/res/drawable-ldpi/npatch120dpi.9.png +0 -0
  97. data/ApiDemos/res/drawable-ldpi/reslogo120dpi.png +0 -0
  98. data/ApiDemos/res/drawable-ldpi/smlnpatch120dpi.9.png +0 -0
  99. data/ApiDemos/res/drawable-ldpi/stylogo120dpi.png +0 -0
  100. data/ApiDemos/res/drawable-mdpi/alert_dialog_icon.png +0 -0
  101. data/ApiDemos/res/drawable-mdpi/apidemo_androidlogo.png +0 -0
  102. data/ApiDemos/res/drawable-mdpi/app_sample_code.png +0 -0
  103. data/ApiDemos/res/drawable-mdpi/arrow_down_float.png +0 -0
  104. data/ApiDemos/res/drawable-mdpi/arrow_up_float.png +0 -0
  105. data/ApiDemos/res/drawable-mdpi/btn_check_off.png +0 -0
  106. data/ApiDemos/res/drawable-mdpi/btn_check_on.png +0 -0
  107. data/ApiDemos/res/drawable-mdpi/btn_circle_normal.png +0 -0
  108. data/ApiDemos/res/drawable-mdpi/btn_default_normal.9.png +0 -0
  109. data/ApiDemos/res/drawable-mdpi/button.9.png +0 -0
  110. data/ApiDemos/res/drawable-mdpi/ic_contact_picture.png +0 -0
  111. data/ApiDemos/res/drawable-mdpi/ic_launcher_settings.png +0 -0
  112. data/ApiDemos/res/drawable-mdpi/ic_popup_reminder.png +0 -0
  113. data/ApiDemos/res/drawable-mdpi/ic_settings_applications.png +0 -0
  114. data/ApiDemos/res/drawable-mdpi/ic_settings_display.png +0 -0
  115. data/ApiDemos/res/drawable-mdpi/icon48x48_2.png +0 -0
  116. data/ApiDemos/res/drawable-mdpi/progress_circular_background.png +0 -0
  117. data/ApiDemos/res/drawable-mdpi/progress_particle.png +0 -0
  118. data/ApiDemos/res/drawable-mdpi/scrollbar_state2.png +0 -0
  119. data/ApiDemos/res/drawable-mdpi/star_big_on.png +0 -0
  120. data/ApiDemos/res/drawable-mdpi/stat_happy.png +0 -0
  121. data/ApiDemos/res/drawable-mdpi/stat_neutral.png +0 -0
  122. data/ApiDemos/res/drawable-mdpi/stat_sad.png +0 -0
  123. data/ApiDemos/res/drawable-mdpi/stat_sample.png +0 -0
  124. data/ApiDemos/res/drawable-nodpi/frantic.jpg +0 -0
  125. data/ApiDemos/res/drawable-nodpi/logonodpi120.png +0 -0
  126. data/ApiDemos/res/drawable-nodpi/logonodpi160.png +0 -0
  127. data/ApiDemos/res/drawable-nodpi/logonodpi240.png +0 -0
  128. data/ApiDemos/res/drawable-xhdpi/ic_launcher_settings.png +0 -0
  129. data/ApiDemos/res/drawable/animated_gif.gif +0 -0
  130. data/ApiDemos/res/drawable/balloons.jpg +0 -0
  131. data/ApiDemos/res/drawable/beach.jpg +0 -0
  132. data/ApiDemos/res/drawable/black_box.xml +0 -21
  133. data/ApiDemos/res/drawable/black_opaque_box.xml +0 -21
  134. data/ApiDemos/res/drawable/box.xml +0 -24
  135. data/ApiDemos/res/drawable/circular_progress.xml +0 -29
  136. data/ApiDemos/res/drawable/filled_box.xml +0 -25
  137. data/ApiDemos/res/drawable/frog.gif +0 -0
  138. data/ApiDemos/res/drawable/gallery_background_1.xml +0 -20
  139. data/ApiDemos/res/drawable/gallery_photo_1.jpg +0 -0
  140. data/ApiDemos/res/drawable/gallery_photo_2.jpg +0 -0
  141. data/ApiDemos/res/drawable/gallery_photo_3.jpg +0 -0
  142. data/ApiDemos/res/drawable/gallery_photo_4.jpg +0 -0
  143. data/ApiDemos/res/drawable/gallery_photo_5.jpg +0 -0
  144. data/ApiDemos/res/drawable/gallery_photo_6.jpg +0 -0
  145. data/ApiDemos/res/drawable/gallery_photo_7.jpg +0 -0
  146. data/ApiDemos/res/drawable/gallery_photo_8.jpg +0 -0
  147. data/ApiDemos/res/drawable/hover_background.xml +0 -20
  148. data/ApiDemos/res/drawable/hover_background_active.xml +0 -23
  149. data/ApiDemos/res/drawable/hover_background_inactive.xml +0 -23
  150. data/ApiDemos/res/drawable/icon48x48_1.png +0 -0
  151. data/ApiDemos/res/drawable/line.xml +0 -21
  152. data/ApiDemos/res/drawable/logo160dpi.png +0 -0
  153. data/ApiDemos/res/drawable/magnifying_glass.png +0 -0
  154. data/ApiDemos/res/drawable/npatch160dpi.9.png +0 -0
  155. data/ApiDemos/res/drawable/photo1.jpg +0 -0
  156. data/ApiDemos/res/drawable/photo2.jpg +0 -0
  157. data/ApiDemos/res/drawable/photo3.jpg +0 -0
  158. data/ApiDemos/res/drawable/photo4.jpg +0 -0
  159. data/ApiDemos/res/drawable/photo5.jpg +0 -0
  160. data/ApiDemos/res/drawable/photo6.jpg +0 -0
  161. data/ApiDemos/res/drawable/picture_frame.png +0 -0
  162. data/ApiDemos/res/drawable/reslogo160dpi.png +0 -0
  163. data/ApiDemos/res/drawable/sample_0.jpg +0 -0
  164. data/ApiDemos/res/drawable/sample_1.jpg +0 -0
  165. data/ApiDemos/res/drawable/sample_2.jpg +0 -0
  166. data/ApiDemos/res/drawable/sample_3.jpg +0 -0
  167. data/ApiDemos/res/drawable/sample_4.jpg +0 -0
  168. data/ApiDemos/res/drawable/sample_5.jpg +0 -0
  169. data/ApiDemos/res/drawable/sample_6.jpg +0 -0
  170. data/ApiDemos/res/drawable/sample_7.jpg +0 -0
  171. data/ApiDemos/res/drawable/sample_thumb_0.jpg +0 -0
  172. data/ApiDemos/res/drawable/sample_thumb_1.jpg +0 -0
  173. data/ApiDemos/res/drawable/sample_thumb_2.jpg +0 -0
  174. data/ApiDemos/res/drawable/sample_thumb_3.jpg +0 -0
  175. data/ApiDemos/res/drawable/sample_thumb_4.jpg +0 -0
  176. data/ApiDemos/res/drawable/sample_thumb_5.jpg +0 -0
  177. data/ApiDemos/res/drawable/sample_thumb_6.jpg +0 -0
  178. data/ApiDemos/res/drawable/sample_thumb_7.jpg +0 -0
  179. data/ApiDemos/res/drawable/scrollbar_vertical_thumb.xml +0 -21
  180. data/ApiDemos/res/drawable/scrollbar_vertical_track.xml +0 -21
  181. data/ApiDemos/res/drawable/shape_1.xml +0 -22
  182. data/ApiDemos/res/drawable/shape_2.xml +0 -24
  183. data/ApiDemos/res/drawable/shape_3.xml +0 -24
  184. data/ApiDemos/res/drawable/shape_4.xml +0 -20
  185. data/ApiDemos/res/drawable/shape_5.xml +0 -23
  186. data/ApiDemos/res/drawable/smlnpatch160dpi.9.png +0 -0
  187. data/ApiDemos/res/drawable/stylogo160dpi.png +0 -0
  188. data/ApiDemos/res/layout-h550dp/resources_height.xml +0 -53
  189. data/ApiDemos/res/layout-h670dp/resources_height.xml +0 -63
  190. data/ApiDemos/res/layout-h974dp/resources_height.xml +0 -83
  191. data/ApiDemos/res/layout-land/fragment_arguments.xml +0 -57
  192. data/ApiDemos/res/layout-land/fragment_layout.xml +0 -34
  193. data/ApiDemos/res/layout-sw480dp/resources_smallest_width_inner.xml +0 -43
  194. data/ApiDemos/res/layout-sw480dp/resources_smallest_width_row.xml +0 -43
  195. data/ApiDemos/res/layout-sw600dp/resources_smallest_width_inner.xml +0 -53
  196. data/ApiDemos/res/layout-sw600dp/resources_smallest_width_row.xml +0 -53
  197. data/ApiDemos/res/layout-sw720dp/resources_smallest_width_inner.xml +0 -63
  198. data/ApiDemos/res/layout-sw720dp/resources_smallest_width_row.xml +0 -63
  199. data/ApiDemos/res/layout-w1024dp/resources_width.xml +0 -83
  200. data/ApiDemos/res/layout-w600dp/resources_width.xml +0 -53
  201. data/ApiDemos/res/layout-w720dp/resources_width.xml +0 -63
  202. data/ApiDemos/res/layout/accessibility_service.xml +0 -36
  203. data/ApiDemos/res/layout/action_bar_display_options.xml +0 -48
  204. data/ApiDemos/res/layout/action_bar_display_options_custom.xml +0 -17
  205. data/ApiDemos/res/layout/action_bar_settings_action_provider.xml +0 -34
  206. data/ApiDemos/res/layout/action_bar_tab_content.xml +0 -19
  207. data/ApiDemos/res/layout/action_bar_tabs.xml +0 -49
  208. data/ApiDemos/res/layout/activity_animation.xml +0 -42
  209. data/ApiDemos/res/layout/activity_recreate.xml +0 -37
  210. data/ApiDemos/res/layout/alarm_controller.xml +0 -45
  211. data/ApiDemos/res/layout/alarm_service.xml +0 -41
  212. data/ApiDemos/res/layout/alert_dialog.xml +0 -60
  213. data/ApiDemos/res/layout/alert_dialog_text_entry.xml +0 -67
  214. data/ApiDemos/res/layout/animation_1.xml +0 -44
  215. data/ApiDemos/res/layout/animation_2.xml +0 -67
  216. data/ApiDemos/res/layout/animation_3.xml +0 -44
  217. data/ApiDemos/res/layout/animation_cloning.xml +0 -28
  218. data/ApiDemos/res/layout/animation_custom_evaluator.xml +0 -28
  219. data/ApiDemos/res/layout/animation_loading.xml +0 -28
  220. data/ApiDemos/res/layout/animation_multi_property.xml +0 -28
  221. data/ApiDemos/res/layout/animation_reversing.xml +0 -40
  222. data/ApiDemos/res/layout/animation_seeking.xml +0 -40
  223. data/ApiDemos/res/layout/animations_main_screen.xml +0 -36
  224. data/ApiDemos/res/layout/animator_custom_evaluator.xml +0 -34
  225. data/ApiDemos/res/layout/animator_events.xml +0 -122
  226. data/ApiDemos/res/layout/appwidget_configure.xml +0 -42
  227. data/ApiDemos/res/layout/appwidget_provider.xml +0 -24
  228. data/ApiDemos/res/layout/autocomplete_1.xml +0 -48
  229. data/ApiDemos/res/layout/autocomplete_2.xml +0 -44
  230. data/ApiDemos/res/layout/autocomplete_3.xml +0 -165
  231. data/ApiDemos/res/layout/autocomplete_4.xml +0 -49
  232. data/ApiDemos/res/layout/autocomplete_5.xml +0 -45
  233. data/ApiDemos/res/layout/autocomplete_6.xml +0 -48
  234. data/ApiDemos/res/layout/baseline_1.xml +0 -40
  235. data/ApiDemos/res/layout/baseline_2.xml +0 -43
  236. data/ApiDemos/res/layout/baseline_3.xml +0 -56
  237. data/ApiDemos/res/layout/baseline_4.xml +0 -55
  238. data/ApiDemos/res/layout/baseline_6.xml +0 -34
  239. data/ApiDemos/res/layout/baseline_7.xml +0 -36
  240. data/ApiDemos/res/layout/baseline_nested_1.xml +0 -85
  241. data/ApiDemos/res/layout/baseline_nested_2.xml +0 -85
  242. data/ApiDemos/res/layout/baseline_nested_3.xml +0 -96
  243. data/ApiDemos/res/layout/bouncing_balls.xml +0 -22
  244. data/ApiDemos/res/layout/buttons_1.xml +0 -53
  245. data/ApiDemos/res/layout/chronometer.xml +0 -64
  246. data/ApiDemos/res/layout/clipboard.xml +0 -107
  247. data/ApiDemos/res/layout/contacts_filter.xml +0 -37
  248. data/ApiDemos/res/layout/controls_1.xml +0 -154
  249. data/ApiDemos/res/layout/custom_dialog_activity.xml +0 -24
  250. data/ApiDemos/res/layout/custom_title.xml +0 -57
  251. data/ApiDemos/res/layout/custom_title_1.xml +0 -33
  252. data/ApiDemos/res/layout/custom_view_1.xml +0 -44
  253. data/ApiDemos/res/layout/custom_view_accessibility.xml +0 -44
  254. data/ApiDemos/res/layout/date_widgets_example_1.xml +0 -40
  255. data/ApiDemos/res/layout/date_widgets_example_2.xml +0 -33
  256. data/ApiDemos/res/layout/density_image_views.xml +0 -37
  257. data/ApiDemos/res/layout/density_styled_image_views.xml +0 -26
  258. data/ApiDemos/res/layout/dialog_activity.xml +0 -53
  259. data/ApiDemos/res/layout/drag_layout.xml +0 -93
  260. data/ApiDemos/res/layout/external_storage.xml +0 -27
  261. data/ApiDemos/res/layout/external_storage_item.xml +0 -58
  262. data/ApiDemos/res/layout/focus_1.xml +0 -42
  263. data/ApiDemos/res/layout/focus_2.xml +0 -41
  264. data/ApiDemos/res/layout/focus_3.xml +0 -64
  265. data/ApiDemos/res/layout/focus_5.xml +0 -60
  266. data/ApiDemos/res/layout/foreground_dispatch.xml +0 -23
  267. data/ApiDemos/res/layout/foreground_service_controller.xml +0 -49
  268. data/ApiDemos/res/layout/forward_target.xml +0 -30
  269. data/ApiDemos/res/layout/forwarding.xml +0 -37
  270. data/ApiDemos/res/layout/fragment_arguments.xml +0 -54
  271. data/ApiDemos/res/layout/fragment_context_menu.xml +0 -38
  272. data/ApiDemos/res/layout/fragment_dialog.xml +0 -40
  273. data/ApiDemos/res/layout/fragment_dialog_or_activity.xml +0 -64
  274. data/ApiDemos/res/layout/fragment_hide_show.xml +0 -57
  275. data/ApiDemos/res/layout/fragment_layout.xml +0 -27
  276. data/ApiDemos/res/layout/fragment_menu.xml +0 -46
  277. data/ApiDemos/res/layout/fragment_pager_support.xml +0 -44
  278. data/ApiDemos/res/layout/fragment_pager_support_list.xml +0 -52
  279. data/ApiDemos/res/layout/fragment_retain_instance.xml +0 -46
  280. data/ApiDemos/res/layout/fragment_stack.xml +0 -38
  281. data/ApiDemos/res/layout/gallery_1.xml +0 -32
  282. data/ApiDemos/res/layout/gallery_2.xml +0 -38
  283. data/ApiDemos/res/layout/game_controller_input.xml +0 -52
  284. data/ApiDemos/res/layout/game_controller_input_heading.xml +0 -21
  285. data/ApiDemos/res/layout/game_controller_input_text_column.xml +0 -34
  286. data/ApiDemos/res/layout/google_login.xml +0 -60
  287. data/ApiDemos/res/layout/grid_1.xml +0 -29
  288. data/ApiDemos/res/layout/grid_2.xml +0 -30
  289. data/ApiDemos/res/layout/grid_layout_1.xml +0 -87
  290. data/ApiDemos/res/layout/hello_world.xml +0 -26
  291. data/ApiDemos/res/layout/horizontal_scroll_view1.xml +0 -26
  292. data/ApiDemos/res/layout/hover.xml +0 -64
  293. data/ApiDemos/res/layout/image_button_1.xml +0 -36
  294. data/ApiDemos/res/layout/image_switcher_1.xml +0 -40
  295. data/ApiDemos/res/layout/image_view_1.xml +0 -144
  296. data/ApiDemos/res/layout/incoming_message.xml +0 -50
  297. data/ApiDemos/res/layout/incoming_message_info.xml +0 -38
  298. data/ApiDemos/res/layout/incoming_message_interstitial.xml +0 -37
  299. data/ApiDemos/res/layout/incoming_message_panel.xml +0 -42
  300. data/ApiDemos/res/layout/incoming_message_view.xml +0 -80
  301. data/ApiDemos/res/layout/install_apk.xml +0 -56
  302. data/ApiDemos/res/layout/intent_activity_flags.xml +0 -43
  303. data/ApiDemos/res/layout/intents.xml +0 -37
  304. data/ApiDemos/res/layout/labeled_text_edit.xml +0 -38
  305. data/ApiDemos/res/layout/launcher_shortcuts.xml +0 -40
  306. data/ApiDemos/res/layout/layout_animation_1.xml +0 -30
  307. data/ApiDemos/res/layout/layout_animation_3.xml +0 -21
  308. data/ApiDemos/res/layout/layout_animation_4.xml +0 -30
  309. data/ApiDemos/res/layout/layout_animation_5.xml +0 -30
  310. data/ApiDemos/res/layout/layout_animation_6.xml +0 -29
  311. data/ApiDemos/res/layout/layout_animation_7.xml +0 -57
  312. data/ApiDemos/res/layout/layout_animations.xml +0 -80
  313. data/ApiDemos/res/layout/layout_animations_by_default.xml +0 -34
  314. data/ApiDemos/res/layout/layout_animations_hideshow.xml +0 -52
  315. data/ApiDemos/res/layout/linear_layout_1.xml +0 -46
  316. data/ApiDemos/res/layout/linear_layout_10.xml +0 -122
  317. data/ApiDemos/res/layout/linear_layout_2.xml +0 -47
  318. data/ApiDemos/res/layout/linear_layout_3.xml +0 -51
  319. data/ApiDemos/res/layout/linear_layout_4.xml +0 -50
  320. data/ApiDemos/res/layout/linear_layout_5.xml +0 -76
  321. data/ApiDemos/res/layout/linear_layout_6.xml +0 -53
  322. data/ApiDemos/res/layout/linear_layout_7.xml +0 -54
  323. data/ApiDemos/res/layout/linear_layout_8.xml +0 -53
  324. data/ApiDemos/res/layout/linear_layout_9.xml +0 -38
  325. data/ApiDemos/res/layout/link.xml +0 -68
  326. data/ApiDemos/res/layout/list_12.xml +0 -35
  327. data/ApiDemos/res/layout/list_13.xml +0 -34
  328. data/ApiDemos/res/layout/list_7.xml +0 -35
  329. data/ApiDemos/res/layout/list_8.xml +0 -61
  330. data/ApiDemos/res/layout/list_item_checkbox.xml +0 -22
  331. data/ApiDemos/res/layout/list_item_icon_text.xml +0 -32
  332. data/ApiDemos/res/layout/list_position.xml +0 -25
  333. data/ApiDemos/res/layout/local_sample.xml +0 -37
  334. data/ApiDemos/res/layout/local_service_binding.xml +0 -42
  335. data/ApiDemos/res/layout/local_service_controller.xml +0 -42
  336. data/ApiDemos/res/layout/log_text_box_1.xml +0 -42
  337. data/ApiDemos/res/layout/mapview.xml +0 -31
  338. data/ApiDemos/res/layout/marquee.xml +0 -46
  339. data/ApiDemos/res/layout/mediaplayer_1.xml +0 -31
  340. data/ApiDemos/res/layout/mediaplayer_2.xml +0 -13
  341. data/ApiDemos/res/layout/messenger_service_binding.xml +0 -47
  342. data/ApiDemos/res/layout/morse_code.xml +0 -37
  343. data/ApiDemos/res/layout/notify_with_text.xml +0 -34
  344. data/ApiDemos/res/layout/notifying_controller.xml +0 -41
  345. data/ApiDemos/res/layout/overscan.xml +0 -79
  346. data/ApiDemos/res/layout/pick_contact.xml +0 -48
  347. data/ApiDemos/res/layout/popup_menu_1.xml +0 -25
  348. data/ApiDemos/res/layout/preference_widget_mypreference.xml +0 -25
  349. data/ApiDemos/res/layout/progressbar_1.xml +0 -74
  350. data/ApiDemos/res/layout/progressbar_2.xml +0 -41
  351. data/ApiDemos/res/layout/progressbar_3.xml +0 -32
  352. data/ApiDemos/res/layout/progressbar_4.xml +0 -27
  353. data/ApiDemos/res/layout/quick_contacts.xml +0 -47
  354. data/ApiDemos/res/layout/radio_group_1.xml +0 -49
  355. data/ApiDemos/res/layout/ratingbar_1.xml +0 -60
  356. data/ApiDemos/res/layout/read_asset.xml +0 -29
  357. data/ApiDemos/res/layout/receive_result.xml +0 -50
  358. data/ApiDemos/res/layout/redirect_enter.xml +0 -36
  359. data/ApiDemos/res/layout/redirect_getter.xml +0 -42
  360. data/ApiDemos/res/layout/redirect_main.xml +0 -47
  361. data/ApiDemos/res/layout/relative_layout_1.xml +0 -54
  362. data/ApiDemos/res/layout/relative_layout_2.xml +0 -78
  363. data/ApiDemos/res/layout/remote_binding_options.xml +0 -82
  364. data/ApiDemos/res/layout/remote_service_binding.xml +0 -52
  365. data/ApiDemos/res/layout/remote_service_controller.xml +0 -42
  366. data/ApiDemos/res/layout/reorder_four.xml +0 -38
  367. data/ApiDemos/res/layout/reorder_on_launch.xml +0 -38
  368. data/ApiDemos/res/layout/reorder_three.xml +0 -38
  369. data/ApiDemos/res/layout/reorder_two.xml +0 -38
  370. data/ApiDemos/res/layout/resources.xml +0 -55
  371. data/ApiDemos/res/layout/resources_height.xml +0 -33
  372. data/ApiDemos/res/layout/resources_layout_reference.xml +0 -35
  373. data/ApiDemos/res/layout/resources_layout_reference_tablet.xml +0 -35
  374. data/ApiDemos/res/layout/resources_smallest_width.xml +0 -35
  375. data/ApiDemos/res/layout/resources_smallest_width_inner.xml +0 -33
  376. data/ApiDemos/res/layout/resources_smallest_width_row.xml +0 -33
  377. data/ApiDemos/res/layout/resources_width.xml +0 -33
  378. data/ApiDemos/res/layout/resources_width_and_height.xml +0 -35
  379. data/ApiDemos/res/layout/rotating_list.xml +0 -37
  380. data/ApiDemos/res/layout/rotating_view.xml +0 -160
  381. data/ApiDemos/res/layout/save_restore_state.xml +0 -58
  382. data/ApiDemos/res/layout/screen_orientation.xml +0 -37
  383. data/ApiDemos/res/layout/scroll_view_1.xml +0 -90
  384. data/ApiDemos/res/layout/scroll_view_2.xml +0 -41
  385. data/ApiDemos/res/layout/scrollbar1.xml +0 -169
  386. data/ApiDemos/res/layout/scrollbar2.xml +0 -172
  387. data/ApiDemos/res/layout/scrollbar3.xml +0 -136
  388. data/ApiDemos/res/layout/search_invoke.xml +0 -96
  389. data/ApiDemos/res/layout/search_query_results.xml +0 -76
  390. data/ApiDemos/res/layout/search_view.xml +0 -19
  391. data/ApiDemos/res/layout/searchview_actionbar.xml +0 -28
  392. data/ApiDemos/res/layout/searchview_filter.xml +0 -31
  393. data/ApiDemos/res/layout/secure_view.xml +0 -112
  394. data/ApiDemos/res/layout/secure_view_overlay.xml +0 -50
  395. data/ApiDemos/res/layout/seekbar_1.xml +0 -36
  396. data/ApiDemos/res/layout/select_dialog.xml +0 -29
  397. data/ApiDemos/res/layout/send_result.xml +0 -45
  398. data/ApiDemos/res/layout/service_start_arguments_controller.xml +0 -57
  399. data/ApiDemos/res/layout/shape_drawable_1.xml +0 -73
  400. data/ApiDemos/res/layout/simple_list_item_checkable_1.xml +0 -29
  401. data/ApiDemos/res/layout/sms_demo.xml +0 -67
  402. data/ApiDemos/res/layout/soft_input_modes.xml +0 -64
  403. data/ApiDemos/res/layout/spinner_1.xml +0 -51
  404. data/ApiDemos/res/layout/split_touch_view.xml +0 -42
  405. data/ApiDemos/res/layout/status_bar_balloon.xml +0 -32
  406. data/ApiDemos/res/layout/status_bar_notifications.xml +0 -157
  407. data/ApiDemos/res/layout/styled_text.xml +0 -52
  408. data/ApiDemos/res/layout/surface_view_overlay.xml +0 -84
  409. data/ApiDemos/res/layout/switches.xml +0 -82
  410. data/ApiDemos/res/layout/table_layout_1.xml +0 -56
  411. data/ApiDemos/res/layout/table_layout_10.xml +0 -58
  412. data/ApiDemos/res/layout/table_layout_11.xml +0 -93
  413. data/ApiDemos/res/layout/table_layout_12.xml +0 -85
  414. data/ApiDemos/res/layout/table_layout_2.xml +0 -40
  415. data/ApiDemos/res/layout/table_layout_3.xml +0 -62
  416. data/ApiDemos/res/layout/table_layout_4.xml +0 -42
  417. data/ApiDemos/res/layout/table_layout_5.xml +0 -82
  418. data/ApiDemos/res/layout/table_layout_6.xml +0 -92
  419. data/ApiDemos/res/layout/table_layout_7.xml +0 -106
  420. data/ApiDemos/res/layout/table_layout_8.xml +0 -87
  421. data/ApiDemos/res/layout/table_layout_9.xml +0 -92
  422. data/ApiDemos/res/layout/tabs1.xml +0 -39
  423. data/ApiDemos/res/layout/tabs_right_gravity.xml +0 -37
  424. data/ApiDemos/res/layout/tabs_scroll.xml +0 -41
  425. data/ApiDemos/res/layout/tasklist_main.xml +0 -47
  426. data/ApiDemos/res/layout/tasklist_row.xml +0 -38
  427. data/ApiDemos/res/layout/text_switcher_1.xml +0 -31
  428. data/ApiDemos/res/layout/text_to_speech.xml +0 -26
  429. data/ApiDemos/res/layout/translucent_background.xml +0 -24
  430. data/ApiDemos/res/layout/videoview.xml +0 -14
  431. data/ApiDemos/res/layout/visibility_1.xml +0 -71
  432. data/ApiDemos/res/layout/voice_recognition.xml +0 -61
  433. data/ApiDemos/res/layout/wallpaper_2.xml +0 -27
  434. data/ApiDemos/res/layout/webview_1.xml +0 -79
  435. data/ApiDemos/res/menu/action_bar_settings_action_provider.xml +0 -28
  436. data/ApiDemos/res/menu/action_bar_share_action_provider.xml +0 -28
  437. data/ApiDemos/res/menu/actions.xml +0 -48
  438. data/ApiDemos/res/menu/camera_menu.xml +0 -5
  439. data/ApiDemos/res/menu/category_order.xml +0 -57
  440. data/ApiDemos/res/menu/checkable.xml +0 -91
  441. data/ApiDemos/res/menu/disabled.xml +0 -55
  442. data/ApiDemos/res/menu/display_options_actions.xml +0 -19
  443. data/ApiDemos/res/menu/groups.xml +0 -45
  444. data/ApiDemos/res/menu/list_select_menu.xml +0 -22
  445. data/ApiDemos/res/menu/order.xml +0 -38
  446. data/ApiDemos/res/menu/popup.xml +0 -32
  447. data/ApiDemos/res/menu/searchview_in_menu.xml +0 -22
  448. data/ApiDemos/res/menu/shortcuts.xml +0 -60
  449. data/ApiDemos/res/menu/submenu.xml +0 -44
  450. data/ApiDemos/res/menu/title_icon.xml +0 -31
  451. data/ApiDemos/res/menu/title_only.xml +0 -25
  452. data/ApiDemos/res/menu/visible.xml +0 -37
  453. data/ApiDemos/res/raw/androids.pkm +0 -0
  454. data/ApiDemos/res/raw/robot.png +0 -0
  455. data/ApiDemos/res/raw/skycubemap0.jpg +0 -0
  456. data/ApiDemos/res/raw/skycubemap1.jpg +0 -0
  457. data/ApiDemos/res/raw/skycubemap2.jpg +0 -0
  458. data/ApiDemos/res/raw/skycubemap3.jpg +0 -0
  459. data/ApiDemos/res/raw/skycubemap4.jpg +0 -0
  460. data/ApiDemos/res/raw/skycubemap5.jpg +0 -0
  461. data/ApiDemos/res/raw/sound_ringer_normal.ogg +0 -0
  462. data/ApiDemos/res/raw/sound_ringer_silent.ogg +0 -0
  463. data/ApiDemos/res/raw/sound_ringer_vibrate.ogg +0 -0
  464. data/ApiDemos/res/raw/sound_screen_off.ogg +0 -0
  465. data/ApiDemos/res/raw/sound_screen_on.ogg +0 -0
  466. data/ApiDemos/res/raw/sound_view_clicked.ogg +0 -0
  467. data/ApiDemos/res/raw/sound_view_focused_or_selected.ogg +0 -0
  468. data/ApiDemos/res/raw/sound_view_hover_enter.ogg +0 -0
  469. data/ApiDemos/res/raw/sound_window_state_changed.ogg +0 -0
  470. data/ApiDemos/res/raw/test_cbr.mp3 +0 -0
  471. data/ApiDemos/res/values-hdpi/strings.xml +0 -19
  472. data/ApiDemos/res/values-ldpi/strings.xml +0 -19
  473. data/ApiDemos/res/values-mdpi/strings.xml +0 -19
  474. data/ApiDemos/res/values-sw600dp/layout.xml +0 -22
  475. data/ApiDemos/res/values-v11/bools.xml +0 -20
  476. data/ApiDemos/res/values-v11/styles.xml +0 -29
  477. data/ApiDemos/res/values-v13/bools.xml +0 -20
  478. data/ApiDemos/res/values-v14/bools.xml +0 -20
  479. data/ApiDemos/res/values-xhdpi/strings.xml +0 -19
  480. data/ApiDemos/res/values-xlarge/layout.xml +0 -22
  481. data/ApiDemos/res/values/arrays.xml +0 -149
  482. data/ApiDemos/res/values/attrs.xml +0 -55
  483. data/ApiDemos/res/values/bools.xml +0 -32
  484. data/ApiDemos/res/values/colors.xml +0 -32
  485. data/ApiDemos/res/values/ids.xml +0 -19
  486. data/ApiDemos/res/values/strings.xml +0 -1343
  487. data/ApiDemos/res/values/styles.xml +0 -124
  488. data/ApiDemos/res/xml/advanced_preferences.xml +0 -38
  489. data/ApiDemos/res/xml/appwidget_provider.xml +0 -28
  490. data/ApiDemos/res/xml/default_values.xml +0 -44
  491. data/ApiDemos/res/xml/device_admin_encryption.xml +0 -34
  492. data/ApiDemos/res/xml/device_admin_expiration.xml +0 -53
  493. data/ApiDemos/res/xml/device_admin_general.xml +0 -40
  494. data/ApiDemos/res/xml/device_admin_headers.xml +0 -41
  495. data/ApiDemos/res/xml/device_admin_lock_wipe.xml +0 -50
  496. data/ApiDemos/res/xml/device_admin_quality.xml +0 -79
  497. data/ApiDemos/res/xml/device_admin_sample.xml +0 -30
  498. data/ApiDemos/res/xml/filter_nfc.xml +0 -28
  499. data/ApiDemos/res/xml/fragmented_preferences.xml +0 -97
  500. data/ApiDemos/res/xml/fragmented_preferences_inner.xml +0 -26
  501. data/ApiDemos/res/xml/preference_dependencies.xml +0 -35
  502. data/ApiDemos/res/xml/preference_headers.xml +0 -44
  503. data/ApiDemos/res/xml/preference_switch +0 -46
  504. data/ApiDemos/res/xml/preferences.xml +0 -101
  505. data/ApiDemos/res/xml/searchable.xml +0 -30
  506. data/ApiDemos/res/xml/taskbackconfig.xml +0 -24
  507. data/ApiDemos/src/com/example/android/apis/ApiDemos.java +0 -149
  508. data/ApiDemos/src/com/example/android/apis/ApiDemosApplication.java +0 -36
  509. data/ApiDemos/src/com/example/android/apis/Shakespeare.java +0 -223
  510. data/ApiDemos/src/com/example/android/apis/accessibility/ClockBackActivity.java +0 -54
  511. data/ApiDemos/src/com/example/android/apis/accessibility/ClockBackService.java +0 -575
  512. data/ApiDemos/src/com/example/android/apis/accessibility/CustomViewAccessibilityActivity.java +0 -280
  513. data/ApiDemos/src/com/example/android/apis/accessibility/TaskBackService.java +0 -190
  514. data/ApiDemos/src/com/example/android/apis/accessibility/TaskListActivity.java +0 -58
  515. data/ApiDemos/src/com/example/android/apis/accessibility/TaskListView.java +0 -115
  516. data/ApiDemos/src/com/example/android/apis/animation/AnimationCloning.java +0 -148
  517. data/ApiDemos/src/com/example/android/apis/animation/AnimationLoading.java +0 -165
  518. data/ApiDemos/src/com/example/android/apis/animation/AnimationSeeking.java +0 -173
  519. data/ApiDemos/src/com/example/android/apis/animation/AnimatorEvents.java +0 -237
  520. data/ApiDemos/src/com/example/android/apis/animation/BouncingBalls.java +0 -184
  521. data/ApiDemos/src/com/example/android/apis/animation/CustomEvaluator.java +0 -174
  522. data/ApiDemos/src/com/example/android/apis/animation/FixedGridLayout.java +0 -108
  523. data/ApiDemos/src/com/example/android/apis/animation/LayoutAnimations.java +0 -210
  524. data/ApiDemos/src/com/example/android/apis/animation/LayoutAnimationsByDefault.java +0 -61
  525. data/ApiDemos/src/com/example/android/apis/animation/LayoutAnimationsHideShow.java +0 -178
  526. data/ApiDemos/src/com/example/android/apis/animation/ListFlipper.java +0 -126
  527. data/ApiDemos/src/com/example/android/apis/animation/MultiPropertyAnimation.java +0 -178
  528. data/ApiDemos/src/com/example/android/apis/animation/ReversingAnimation.java +0 -135
  529. data/ApiDemos/src/com/example/android/apis/animation/Rotate3dAnimation.java +0 -92
  530. data/ApiDemos/src/com/example/android/apis/animation/ShapeHolder.java +0 -100
  531. data/ApiDemos/src/com/example/android/apis/animation/Transition3d.java +0 -175
  532. data/ApiDemos/src/com/example/android/apis/app/ActionBarDisplayOptions.java +0 -124
  533. data/ApiDemos/src/com/example/android/apis/app/ActionBarMechanics.java +0 -73
  534. data/ApiDemos/src/com/example/android/apis/app/ActionBarSettingsActionProviderActivity.java +0 -111
  535. data/ApiDemos/src/com/example/android/apis/app/ActionBarShareActionProviderActivity.java +0 -125
  536. data/ApiDemos/src/com/example/android/apis/app/ActionBarTabs.java +0 -131
  537. data/ApiDemos/src/com/example/android/apis/app/ActionBarUsage.java +0 -93
  538. data/ApiDemos/src/com/example/android/apis/app/ActivityRecreate.java +0 -73
  539. data/ApiDemos/src/com/example/android/apis/app/AlarmController.java +0 -168
  540. data/ApiDemos/src/com/example/android/apis/app/AlarmService.java +0 -89
  541. data/ApiDemos/src/com/example/android/apis/app/AlarmService_Service.java +0 -131
  542. data/ApiDemos/src/com/example/android/apis/app/AlertDialogSamples.java +0 -423
  543. data/ApiDemos/src/com/example/android/apis/app/Animation.java +0 -74
  544. data/ApiDemos/src/com/example/android/apis/app/AppUpdateReceiver.java +0 -34
  545. data/ApiDemos/src/com/example/android/apis/app/ContactsFilter.java +0 -53
  546. data/ApiDemos/src/com/example/android/apis/app/ContactsFilterInstrumentation.java +0 -73
  547. data/ApiDemos/src/com/example/android/apis/app/ContactsSelectInstrumentation.java +0 -86
  548. data/ApiDemos/src/com/example/android/apis/app/CustomDialogActivity.java +0 -48
  549. data/ApiDemos/src/com/example/android/apis/app/CustomTitle.java +0 -85
  550. data/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java +0 -934
  551. data/ApiDemos/src/com/example/android/apis/app/DialogActivity.java +0 -86
  552. data/ApiDemos/src/com/example/android/apis/app/ForegroundService.java +0 -240
  553. data/ApiDemos/src/com/example/android/apis/app/ForwardTarget.java +0 -41
  554. data/ApiDemos/src/com/example/android/apis/app/Forwarding.java +0 -85
  555. data/ApiDemos/src/com/example/android/apis/app/FragmentAlertDialog.java +0 -109
  556. data/ApiDemos/src/com/example/android/apis/app/FragmentArguments.java +0 -108
  557. data/ApiDemos/src/com/example/android/apis/app/FragmentContextMenu.java +0 -77
  558. data/ApiDemos/src/com/example/android/apis/app/FragmentCustomAnimations.java +0 -131
  559. data/ApiDemos/src/com/example/android/apis/app/FragmentDialog.java +0 -168
  560. data/ApiDemos/src/com/example/android/apis/app/FragmentDialogOrActivity.java +0 -82
  561. data/ApiDemos/src/com/example/android/apis/app/FragmentHideShow.java +0 -113
  562. data/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java +0 -220
  563. data/ApiDemos/src/com/example/android/apis/app/FragmentListArray.java +0 -60
  564. data/ApiDemos/src/com/example/android/apis/app/FragmentMenu.java +0 -132
  565. data/ApiDemos/src/com/example/android/apis/app/FragmentReceiveResult.java +0 -133
  566. data/ApiDemos/src/com/example/android/apis/app/FragmentRetainInstance.java +0 -232
  567. data/ApiDemos/src/com/example/android/apis/app/FragmentStack.java +0 -124
  568. data/ApiDemos/src/com/example/android/apis/app/FragmentTabs.java +0 -118
  569. data/ApiDemos/src/com/example/android/apis/app/HelloWorld.java +0 -66
  570. data/ApiDemos/src/com/example/android/apis/app/IRemoteService.aidl +0 -37
  571. data/ApiDemos/src/com/example/android/apis/app/IRemoteServiceCallback.aidl +0 -29
  572. data/ApiDemos/src/com/example/android/apis/app/ISecondary.aidl +0 -36
  573. data/ApiDemos/src/com/example/android/apis/app/IncomingMessage.java +0 -197
  574. data/ApiDemos/src/com/example/android/apis/app/IncomingMessageInterstitial.java +0 -64
  575. data/ApiDemos/src/com/example/android/apis/app/IncomingMessageView.java +0 -59
  576. data/ApiDemos/src/com/example/android/apis/app/IntentActivityFlags.java +0 -86
  577. data/ApiDemos/src/com/example/android/apis/app/Intents.java +0 -47
  578. data/ApiDemos/src/com/example/android/apis/app/LauncherShortcuts.java +0 -141
  579. data/ApiDemos/src/com/example/android/apis/app/LoaderCursor.java +0 -177
  580. data/ApiDemos/src/com/example/android/apis/app/LoaderCustom.java +0 -481
  581. data/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.java +0 -512
  582. data/ApiDemos/src/com/example/android/apis/app/LocalSample.java +0 -53
  583. data/ApiDemos/src/com/example/android/apis/app/LocalSampleInstrumentation.java +0 -92
  584. data/ApiDemos/src/com/example/android/apis/app/LocalService.java +0 -120
  585. data/ApiDemos/src/com/example/android/apis/app/LocalServiceActivities.java +0 -171
  586. data/ApiDemos/src/com/example/android/apis/app/MenuInflateFromXml.java +0 -174
  587. data/ApiDemos/src/com/example/android/apis/app/MessengerService.java +0 -169
  588. data/ApiDemos/src/com/example/android/apis/app/MessengerServiceActivities.java +0 -178
  589. data/ApiDemos/src/com/example/android/apis/app/NotificationDisplay.java +0 -82
  590. data/ApiDemos/src/com/example/android/apis/app/NotifyWithText.java +0 -80
  591. data/ApiDemos/src/com/example/android/apis/app/NotifyingController.java +0 -61
  592. data/ApiDemos/src/com/example/android/apis/app/NotifyingService.java +0 -128
  593. data/ApiDemos/src/com/example/android/apis/app/OneShotAlarm.java +0 -42
  594. data/ApiDemos/src/com/example/android/apis/app/PersistentState.java +0 -128
  595. data/ApiDemos/src/com/example/android/apis/app/QuickContactsDemo.java +0 -104
  596. data/ApiDemos/src/com/example/android/apis/app/ReceiveResult.java +0 -153
  597. data/ApiDemos/src/com/example/android/apis/app/RedirectEnter.java +0 -59
  598. data/ApiDemos/src/com/example/android/apis/app/RedirectGetter.java +0 -87
  599. data/ApiDemos/src/com/example/android/apis/app/RedirectMain.java +0 -122
  600. data/ApiDemos/src/com/example/android/apis/app/RemoteService.java +0 -652
  601. data/ApiDemos/src/com/example/android/apis/app/ReorderFour.java +0 -46
  602. data/ApiDemos/src/com/example/android/apis/app/ReorderOnLaunch.java +0 -44
  603. data/ApiDemos/src/com/example/android/apis/app/ReorderThree.java +0 -44
  604. data/ApiDemos/src/com/example/android/apis/app/ReorderTwo.java +0 -44
  605. data/ApiDemos/src/com/example/android/apis/app/RepeatingAlarm.java +0 -40
  606. data/ApiDemos/src/com/example/android/apis/app/SaveRestoreState.java +0 -98
  607. data/ApiDemos/src/com/example/android/apis/app/ScreenOrientation.java +0 -73
  608. data/ApiDemos/src/com/example/android/apis/app/SearchInvoke.java +0 -241
  609. data/ApiDemos/src/com/example/android/apis/app/SearchQueryResults.java +0 -118
  610. data/ApiDemos/src/com/example/android/apis/app/SearchSuggestionSampleProvider.java +0 -50
  611. data/ApiDemos/src/com/example/android/apis/app/SendResult.java +0 -81
  612. data/ApiDemos/src/com/example/android/apis/app/ServiceStartArguments.java +0 -272
  613. data/ApiDemos/src/com/example/android/apis/app/SetWallpaperActivity.java +0 -89
  614. data/ApiDemos/src/com/example/android/apis/app/SoftInputModes.java +0 -67
  615. data/ApiDemos/src/com/example/android/apis/app/StatusBarNotifications.java +0 -270
  616. data/ApiDemos/src/com/example/android/apis/app/TextToSpeechActivity.java +0 -136
  617. data/ApiDemos/src/com/example/android/apis/app/TranslucentActivity.java +0 -48
  618. data/ApiDemos/src/com/example/android/apis/app/TranslucentBlurActivity.java +0 -55
  619. data/ApiDemos/src/com/example/android/apis/app/VoiceRecognition.java +0 -226
  620. data/ApiDemos/src/com/example/android/apis/app/WallpaperActivity.java +0 -48
  621. data/ApiDemos/src/com/example/android/apis/appwidget/ExampleAppWidgetConfigure.java +0 -134
  622. data/ApiDemos/src/com/example/android/apis/appwidget/ExampleAppWidgetProvider.java +0 -122
  623. data/ApiDemos/src/com/example/android/apis/appwidget/ExampleBroadcastReceiver.java +0 -56
  624. data/ApiDemos/src/com/example/android/apis/content/ClipboardSample.java +0 -144
  625. data/ApiDemos/src/com/example/android/apis/content/ExternalStorage.java +0 -376
  626. data/ApiDemos/src/com/example/android/apis/content/FileProvider.java +0 -114
  627. data/ApiDemos/src/com/example/android/apis/content/InstallApk.java +0 -179
  628. data/ApiDemos/src/com/example/android/apis/content/PickContact.java +0 -114
  629. data/ApiDemos/src/com/example/android/apis/content/ReadAsset.java +0 -73
  630. data/ApiDemos/src/com/example/android/apis/content/ResourcesLayoutReference.java +0 -33
  631. data/ApiDemos/src/com/example/android/apis/content/ResourcesSample.java +0 -90
  632. data/ApiDemos/src/com/example/android/apis/content/ResourcesSmallestWidth.java +0 -33
  633. data/ApiDemos/src/com/example/android/apis/content/ResourcesWidthAndHeight.java +0 -33
  634. data/ApiDemos/src/com/example/android/apis/content/StyledText.java +0 -51
  635. data/ApiDemos/src/com/example/android/apis/graphics/AlphaBitmap.java +0 -91
  636. data/ApiDemos/src/com/example/android/apis/graphics/AnimateDrawable.java +0 -72
  637. data/ApiDemos/src/com/example/android/apis/graphics/AnimateDrawables.java +0 -67
  638. data/ApiDemos/src/com/example/android/apis/graphics/Arcs.java +0 -118
  639. data/ApiDemos/src/com/example/android/apis/graphics/BitmapDecode.java +0 -144
  640. data/ApiDemos/src/com/example/android/apis/graphics/BitmapMesh.java +0 -130
  641. data/ApiDemos/src/com/example/android/apis/graphics/BitmapPixels.java +0 -161
  642. data/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.java +0 -311
  643. data/ApiDemos/src/com/example/android/apis/graphics/Clipping.java +0 -111
  644. data/ApiDemos/src/com/example/android/apis/graphics/ColorFilters.java +0 -180
  645. data/ApiDemos/src/com/example/android/apis/graphics/ColorMatrixSample.java +0 -122
  646. data/ApiDemos/src/com/example/android/apis/graphics/ColorPickerDialog.java +0 -233
  647. data/ApiDemos/src/com/example/android/apis/graphics/Compass.java +0 -130
  648. data/ApiDemos/src/com/example/android/apis/graphics/CompressedTextureActivity.java +0 -157
  649. data/ApiDemos/src/com/example/android/apis/graphics/CreateBitmap.java +0 -126
  650. data/ApiDemos/src/com/example/android/apis/graphics/Cube.java +0 -100
  651. data/ApiDemos/src/com/example/android/apis/graphics/CubeMapActivity.java +0 -416
  652. data/ApiDemos/src/com/example/android/apis/graphics/CubeRenderer.java +0 -108
  653. data/ApiDemos/src/com/example/android/apis/graphics/DensityActivity.java +0 -220
  654. data/ApiDemos/src/com/example/android/apis/graphics/DrawPoints.java +0 -79
  655. data/ApiDemos/src/com/example/android/apis/graphics/FingerPaint.java +0 -208
  656. data/ApiDemos/src/com/example/android/apis/graphics/FrameBufferObjectActivity.java +0 -282
  657. data/ApiDemos/src/com/example/android/apis/graphics/GLES20Activity.java +0 -72
  658. data/ApiDemos/src/com/example/android/apis/graphics/GLES20TriangleRenderer.java +0 -255
  659. data/ApiDemos/src/com/example/android/apis/graphics/GLSurfaceViewActivity.java +0 -56
  660. data/ApiDemos/src/com/example/android/apis/graphics/GradientDrawable1.java +0 -31
  661. data/ApiDemos/src/com/example/android/apis/graphics/GraphicsActivity.java +0 -43
  662. data/ApiDemos/src/com/example/android/apis/graphics/Layers.java +0 -65
  663. data/ApiDemos/src/com/example/android/apis/graphics/MatrixPaletteActivity.java +0 -52
  664. data/ApiDemos/src/com/example/android/apis/graphics/MatrixPaletteRenderer.java +0 -408
  665. data/ApiDemos/src/com/example/android/apis/graphics/MeasureText.java +0 -112
  666. data/ApiDemos/src/com/example/android/apis/graphics/PathEffects.java +0 -121
  667. data/ApiDemos/src/com/example/android/apis/graphics/PathFillTypes.java +0 -77
  668. data/ApiDemos/src/com/example/android/apis/graphics/Patterns.java +0 -125
  669. data/ApiDemos/src/com/example/android/apis/graphics/PictureLayout.java +0 -161
  670. data/ApiDemos/src/com/example/android/apis/graphics/Pictures.java +0 -81
  671. data/ApiDemos/src/com/example/android/apis/graphics/PolyToPoly.java +0 -107
  672. data/ApiDemos/src/com/example/android/apis/graphics/ProxyDrawable.java +0 -102
  673. data/ApiDemos/src/com/example/android/apis/graphics/PurgeableBitmap.java +0 -118
  674. data/ApiDemos/src/com/example/android/apis/graphics/PurgeableBitmapView.java +0 -116
  675. data/ApiDemos/src/com/example/android/apis/graphics/Regions.java +0 -126
  676. data/ApiDemos/src/com/example/android/apis/graphics/RoundRects.java +0 -113
  677. data/ApiDemos/src/com/example/android/apis/graphics/ScaleToFit.java +0 -121
  678. data/ApiDemos/src/com/example/android/apis/graphics/SensorTest.java +0 -213
  679. data/ApiDemos/src/com/example/android/apis/graphics/ShapeDrawable1.java +0 -136
  680. data/ApiDemos/src/com/example/android/apis/graphics/StaticTriangleRenderer.java +0 -274
  681. data/ApiDemos/src/com/example/android/apis/graphics/SurfaceViewOverlay.java +0 -116
  682. data/ApiDemos/src/com/example/android/apis/graphics/Sweep.java +0 -97
  683. data/ApiDemos/src/com/example/android/apis/graphics/TextAlign.java +0 -161
  684. data/ApiDemos/src/com/example/android/apis/graphics/TouchPaint.java +0 -528
  685. data/ApiDemos/src/com/example/android/apis/graphics/TouchRotateActivity.java +0 -184
  686. data/ApiDemos/src/com/example/android/apis/graphics/TranslucentGLSurfaceViewActivity.java +0 -63
  687. data/ApiDemos/src/com/example/android/apis/graphics/TriangleActivity.java +0 -49
  688. data/ApiDemos/src/com/example/android/apis/graphics/TriangleRenderer.java +0 -241
  689. data/ApiDemos/src/com/example/android/apis/graphics/Typefaces.java +0 -55
  690. data/ApiDemos/src/com/example/android/apis/graphics/UnicodeChart.java +0 -119
  691. data/ApiDemos/src/com/example/android/apis/graphics/Vertices.java +0 -103
  692. data/ApiDemos/src/com/example/android/apis/graphics/WindowSurface.java +0 -271
  693. data/ApiDemos/src/com/example/android/apis/graphics/Xfermodes.java +0 -171
  694. data/ApiDemos/src/com/example/android/apis/graphics/kube/Cube.java +0 -57
  695. data/ApiDemos/src/com/example/android/apis/graphics/kube/GLColor.java +0 -51
  696. data/ApiDemos/src/com/example/android/apis/graphics/kube/GLFace.java +0 -94
  697. data/ApiDemos/src/com/example/android/apis/graphics/kube/GLShape.java +0 -102
  698. data/ApiDemos/src/com/example/android/apis/graphics/kube/GLVertex.java +0 -89
  699. data/ApiDemos/src/com/example/android/apis/graphics/kube/GLWorld.java +0 -98
  700. data/ApiDemos/src/com/example/android/apis/graphics/kube/Kube.java +0 -342
  701. data/ApiDemos/src/com/example/android/apis/graphics/kube/KubeRenderer.java +0 -116
  702. data/ApiDemos/src/com/example/android/apis/graphics/kube/Layer.java +0 -101
  703. data/ApiDemos/src/com/example/android/apis/graphics/kube/M4.java +0 -80
  704. data/ApiDemos/src/com/example/android/apis/graphics/spritetext/Grid.java +0 -140
  705. data/ApiDemos/src/com/example/android/apis/graphics/spritetext/LabelMaker.java +0 -411
  706. data/ApiDemos/src/com/example/android/apis/graphics/spritetext/MatrixGrabber.java +0 -63
  707. data/ApiDemos/src/com/example/android/apis/graphics/spritetext/MatrixStack.java +0 -179
  708. data/ApiDemos/src/com/example/android/apis/graphics/spritetext/MatrixTrackingGL.java +0 -1086
  709. data/ApiDemos/src/com/example/android/apis/graphics/spritetext/NumericSprite.java +0 -99
  710. data/ApiDemos/src/com/example/android/apis/graphics/spritetext/Projector.java +0 -84
  711. data/ApiDemos/src/com/example/android/apis/graphics/spritetext/SpriteTextActivity.java +0 -52
  712. data/ApiDemos/src/com/example/android/apis/graphics/spritetext/SpriteTextRenderer.java +0 -354
  713. data/ApiDemos/src/com/example/android/apis/media/AudioFxDemo.java +0 -252
  714. data/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo.java +0 -102
  715. data/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo_Audio.java +0 -102
  716. data/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo_Video.java +0 -219
  717. data/ApiDemos/src/com/example/android/apis/media/VideoViewDemo.java +0 -61
  718. data/ApiDemos/src/com/example/android/apis/nfc/ForegroundDispatch.java +0 -93
  719. data/ApiDemos/src/com/example/android/apis/nfc/ForegroundNdefPush.java +0 -86
  720. data/ApiDemos/src/com/example/android/apis/nfc/TechFilter.java +0 -51
  721. data/ApiDemos/src/com/example/android/apis/os/MorseCode.java +0 -93
  722. data/ApiDemos/src/com/example/android/apis/os/MorseCodeConverter.java +0 -141
  723. data/ApiDemos/src/com/example/android/apis/os/RotationVectorDemo.java +0 -216
  724. data/ApiDemos/src/com/example/android/apis/os/Sensors.java +0 -241
  725. data/ApiDemos/src/com/example/android/apis/os/SmsMessageReceiver.java +0 -78
  726. data/ApiDemos/src/com/example/android/apis/os/SmsMessagingDemo.java +0 -159
  727. data/ApiDemos/src/com/example/android/apis/os/SmsReceivedDialog.java +0 -115
  728. data/ApiDemos/src/com/example/android/apis/preference/AdvancedPreferences.java +0 -94
  729. data/ApiDemos/src/com/example/android/apis/preference/DefaultValues.java +0 -61
  730. data/ApiDemos/src/com/example/android/apis/preference/FragmentPreferences.java +0 -52
  731. data/ApiDemos/src/com/example/android/apis/preference/LaunchingPreferences.java +0 -100
  732. data/ApiDemos/src/com/example/android/apis/preference/MyPreference.java +0 -171
  733. data/ApiDemos/src/com/example/android/apis/preference/PreferenceDependencies.java +0 -33
  734. data/ApiDemos/src/com/example/android/apis/preference/PreferenceWithHeaders.java +0 -108
  735. data/ApiDemos/src/com/example/android/apis/preference/PreferencesFromCode.java +0 -151
  736. data/ApiDemos/src/com/example/android/apis/preference/PreferencesFromXml.java +0 -34
  737. data/ApiDemos/src/com/example/android/apis/preference/SwitchPreference.java +0 -38
  738. data/ApiDemos/src/com/example/android/apis/text/Link.java +0 -84
  739. data/ApiDemos/src/com/example/android/apis/text/LogTextBox.java +0 -64
  740. data/ApiDemos/src/com/example/android/apis/text/LogTextBox1.java +0 -50
  741. data/ApiDemos/src/com/example/android/apis/text/Marquee.java +0 -31
  742. data/ApiDemos/src/com/example/android/apis/view/Animation1.java +0 -45
  743. data/ApiDemos/src/com/example/android/apis/view/Animation2.java +0 -90
  744. data/ApiDemos/src/com/example/android/apis/view/Animation3.java +0 -101
  745. data/ApiDemos/src/com/example/android/apis/view/AutoComplete1.java +0 -82
  746. data/ApiDemos/src/com/example/android/apis/view/AutoComplete2.java +0 -41
  747. data/ApiDemos/src/com/example/android/apis/view/AutoComplete3.java +0 -43
  748. data/ApiDemos/src/com/example/android/apis/view/AutoComplete4.java +0 -103
  749. data/ApiDemos/src/com/example/android/apis/view/AutoComplete5.java +0 -44
  750. data/ApiDemos/src/com/example/android/apis/view/AutoComplete6.java +0 -83
  751. data/ApiDemos/src/com/example/android/apis/view/Baseline1.java +0 -35
  752. data/ApiDemos/src/com/example/android/apis/view/Baseline2.java +0 -35
  753. data/ApiDemos/src/com/example/android/apis/view/Baseline3.java +0 -36
  754. data/ApiDemos/src/com/example/android/apis/view/Baseline4.java +0 -35
  755. data/ApiDemos/src/com/example/android/apis/view/Baseline6.java +0 -35
  756. data/ApiDemos/src/com/example/android/apis/view/Baseline7.java +0 -35
  757. data/ApiDemos/src/com/example/android/apis/view/BaselineNested1.java +0 -36
  758. data/ApiDemos/src/com/example/android/apis/view/BaselineNested2.java +0 -36
  759. data/ApiDemos/src/com/example/android/apis/view/BaselineNested3.java +0 -36
  760. data/ApiDemos/src/com/example/android/apis/view/Buttons1.java +0 -36
  761. data/ApiDemos/src/com/example/android/apis/view/CheckableFrameLayout.java +0 -49
  762. data/ApiDemos/src/com/example/android/apis/view/Cheeses.java +0 -155
  763. data/ApiDemos/src/com/example/android/apis/view/ChronometerDemo.java +0 -90
  764. data/ApiDemos/src/com/example/android/apis/view/Controls1.java +0 -54
  765. data/ApiDemos/src/com/example/android/apis/view/Controls2.java +0 -19
  766. data/ApiDemos/src/com/example/android/apis/view/Controls3.java +0 -19
  767. data/ApiDemos/src/com/example/android/apis/view/Controls4.java +0 -19
  768. data/ApiDemos/src/com/example/android/apis/view/Controls5.java +0 -19
  769. data/ApiDemos/src/com/example/android/apis/view/Controls6.java +0 -19
  770. data/ApiDemos/src/com/example/android/apis/view/CustomView1.java +0 -40
  771. data/ApiDemos/src/com/example/android/apis/view/DateWidgets1.java +0 -156
  772. data/ApiDemos/src/com/example/android/apis/view/DateWidgets2.java +0 -68
  773. data/ApiDemos/src/com/example/android/apis/view/DragAndDropDemo.java +0 -72
  774. data/ApiDemos/src/com/example/android/apis/view/DraggableDot.java +0 -261
  775. data/ApiDemos/src/com/example/android/apis/view/ExpandableList1.java +0 -160
  776. data/ApiDemos/src/com/example/android/apis/view/ExpandableList2.java +0 -138
  777. data/ApiDemos/src/com/example/android/apis/view/ExpandableList3.java +0 -76
  778. data/ApiDemos/src/com/example/android/apis/view/Focus1.java +0 -47
  779. data/ApiDemos/src/com/example/android/apis/view/Focus2.java +0 -32
  780. data/ApiDemos/src/com/example/android/apis/view/Focus3.java +0 -45
  781. data/ApiDemos/src/com/example/android/apis/view/Focus5.java +0 -31
  782. data/ApiDemos/src/com/example/android/apis/view/Gallery1.java +0 -139
  783. data/ApiDemos/src/com/example/android/apis/view/Gallery2.java +0 -61
  784. data/ApiDemos/src/com/example/android/apis/view/GameControllerInput.java +0 -460
  785. data/ApiDemos/src/com/example/android/apis/view/GameView.java +0 -747
  786. data/ApiDemos/src/com/example/android/apis/view/Grid1.java +0 -95
  787. data/ApiDemos/src/com/example/android/apis/view/Grid2.java +0 -166
  788. data/ApiDemos/src/com/example/android/apis/view/Grid3.java +0 -164
  789. data/ApiDemos/src/com/example/android/apis/view/GridLayout0.java +0 -113
  790. data/ApiDemos/src/com/example/android/apis/view/GridLayout1.java +0 -32
  791. data/ApiDemos/src/com/example/android/apis/view/HorizontalScrollView1.java +0 -33
  792. data/ApiDemos/src/com/example/android/apis/view/Hover.java +0 -96
  793. data/ApiDemos/src/com/example/android/apis/view/HoverInterceptorView.java +0 -71
  794. data/ApiDemos/src/com/example/android/apis/view/ImageButton1.java +0 -33
  795. data/ApiDemos/src/com/example/android/apis/view/ImageSwitcher1.java +0 -120
  796. data/ApiDemos/src/com/example/android/apis/view/ImageView1.java +0 -36
  797. data/ApiDemos/src/com/example/android/apis/view/InternalSelectionFocus.java +0 -74
  798. data/ApiDemos/src/com/example/android/apis/view/InternalSelectionScroll.java +0 -64
  799. data/ApiDemos/src/com/example/android/apis/view/InternalSelectionView.java +0 -272
  800. data/ApiDemos/src/com/example/android/apis/view/LabelView.java +0 -194
  801. data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation1.java +0 -81
  802. data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation2.java +0 -64
  803. data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation3.java +0 -44
  804. data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation4.java +0 -81
  805. data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation5.java +0 -81
  806. data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation6.java +0 -81
  807. data/ApiDemos/src/com/example/android/apis/view/LayoutAnimation7.java +0 -31
  808. data/ApiDemos/src/com/example/android/apis/view/LinearLayout1.java +0 -37
  809. data/ApiDemos/src/com/example/android/apis/view/LinearLayout10.java +0 -37
  810. data/ApiDemos/src/com/example/android/apis/view/LinearLayout2.java +0 -37
  811. data/ApiDemos/src/com/example/android/apis/view/LinearLayout3.java +0 -37
  812. data/ApiDemos/src/com/example/android/apis/view/LinearLayout4.java +0 -38
  813. data/ApiDemos/src/com/example/android/apis/view/LinearLayout5.java +0 -38
  814. data/ApiDemos/src/com/example/android/apis/view/LinearLayout6.java +0 -38
  815. data/ApiDemos/src/com/example/android/apis/view/LinearLayout7.java +0 -38
  816. data/ApiDemos/src/com/example/android/apis/view/LinearLayout8.java +0 -106
  817. data/ApiDemos/src/com/example/android/apis/view/LinearLayout9.java +0 -41
  818. data/ApiDemos/src/com/example/android/apis/view/List1.java +0 -42
  819. data/ApiDemos/src/com/example/android/apis/view/List10.java +0 -49
  820. data/ApiDemos/src/com/example/android/apis/view/List11.java +0 -49
  821. data/ApiDemos/src/com/example/android/apis/view/List12.java +0 -83
  822. data/ApiDemos/src/com/example/android/apis/view/List13.java +0 -341
  823. data/ApiDemos/src/com/example/android/apis/view/List14.java +0 -141
  824. data/ApiDemos/src/com/example/android/apis/view/List15.java +0 -104
  825. data/ApiDemos/src/com/example/android/apis/view/List16.java +0 -100
  826. data/ApiDemos/src/com/example/android/apis/view/List17.java +0 -57
  827. data/ApiDemos/src/com/example/android/apis/view/List2.java +0 -57
  828. data/ApiDemos/src/com/example/android/apis/view/List3.java +0 -84
  829. data/ApiDemos/src/com/example/android/apis/view/List4.java +0 -154
  830. data/ApiDemos/src/com/example/android/apis/view/List5.java +0 -118
  831. data/ApiDemos/src/com/example/android/apis/view/List6.java +0 -410
  832. data/ApiDemos/src/com/example/android/apis/view/List7.java +0 -99
  833. data/ApiDemos/src/com/example/android/apis/view/List8.java +0 -133
  834. data/ApiDemos/src/com/example/android/apis/view/List9.java +0 -144
  835. data/ApiDemos/src/com/example/android/apis/view/OverscanActivity.java +0 -184
  836. data/ApiDemos/src/com/example/android/apis/view/PopupMenu1.java +0 -53
  837. data/ApiDemos/src/com/example/android/apis/view/ProgressBar1.java +0 -84
  838. data/ApiDemos/src/com/example/android/apis/view/ProgressBar2.java +0 -44
  839. data/ApiDemos/src/com/example/android/apis/view/ProgressBar3.java +0 -84
  840. data/ApiDemos/src/com/example/android/apis/view/ProgressBar4.java +0 -51
  841. data/ApiDemos/src/com/example/android/apis/view/RadioGroup1.java +0 -74
  842. data/ApiDemos/src/com/example/android/apis/view/RatingBar1.java +0 -74
  843. data/ApiDemos/src/com/example/android/apis/view/RelativeLayout1.java +0 -37
  844. data/ApiDemos/src/com/example/android/apis/view/RelativeLayout2.java +0 -38
  845. data/ApiDemos/src/com/example/android/apis/view/RotatingButton.java +0 -152
  846. data/ApiDemos/src/com/example/android/apis/view/ScrollBar1.java +0 -32
  847. data/ApiDemos/src/com/example/android/apis/view/ScrollBar2.java +0 -32
  848. data/ApiDemos/src/com/example/android/apis/view/ScrollBar3.java +0 -35
  849. data/ApiDemos/src/com/example/android/apis/view/ScrollView1.java +0 -37
  850. data/ApiDemos/src/com/example/android/apis/view/ScrollView2.java +0 -52
  851. data/ApiDemos/src/com/example/android/apis/view/SearchViewActionBar.java +0 -115
  852. data/ApiDemos/src/com/example/android/apis/view/SearchViewAlwaysVisible.java +0 -46
  853. data/ApiDemos/src/com/example/android/apis/view/SearchViewFilterMode.java +0 -78
  854. data/ApiDemos/src/com/example/android/apis/view/SecureView.java +0 -144
  855. data/ApiDemos/src/com/example/android/apis/view/SecureViewOverlay.java +0 -74
  856. data/ApiDemos/src/com/example/android/apis/view/SeekBar1.java +0 -60
  857. data/ApiDemos/src/com/example/android/apis/view/Spinner1.java +0 -78
  858. data/ApiDemos/src/com/example/android/apis/view/SplitTouchView.java +0 -66
  859. data/ApiDemos/src/com/example/android/apis/view/Switches.java +0 -47
  860. data/ApiDemos/src/com/example/android/apis/view/TableLayout1.java +0 -32
  861. data/ApiDemos/src/com/example/android/apis/view/TableLayout10.java +0 -31
  862. data/ApiDemos/src/com/example/android/apis/view/TableLayout11.java +0 -34
  863. data/ApiDemos/src/com/example/android/apis/view/TableLayout12.java +0 -34
  864. data/ApiDemos/src/com/example/android/apis/view/TableLayout2.java +0 -32
  865. data/ApiDemos/src/com/example/android/apis/view/TableLayout3.java +0 -32
  866. data/ApiDemos/src/com/example/android/apis/view/TableLayout4.java +0 -32
  867. data/ApiDemos/src/com/example/android/apis/view/TableLayout5.java +0 -32
  868. data/ApiDemos/src/com/example/android/apis/view/TableLayout6.java +0 -32
  869. data/ApiDemos/src/com/example/android/apis/view/TableLayout7.java +0 -80
  870. data/ApiDemos/src/com/example/android/apis/view/TableLayout8.java +0 -71
  871. data/ApiDemos/src/com/example/android/apis/view/TableLayout9.java +0 -48
  872. data/ApiDemos/src/com/example/android/apis/view/Tabs1.java +0 -50
  873. data/ApiDemos/src/com/example/android/apis/view/Tabs2.java +0 -57
  874. data/ApiDemos/src/com/example/android/apis/view/Tabs3.java +0 -50
  875. data/ApiDemos/src/com/example/android/apis/view/Tabs4.java +0 -23
  876. data/ApiDemos/src/com/example/android/apis/view/Tabs5.java +0 -54
  877. data/ApiDemos/src/com/example/android/apis/view/Tabs6.java +0 -55
  878. data/ApiDemos/src/com/example/android/apis/view/TextSwitcher1.java +0 -79
  879. data/ApiDemos/src/com/example/android/apis/view/Visibility1.java +0 -74
  880. data/ApiDemos/src/com/example/android/apis/view/WebView1.java +0 -71
  881. data/ApiDemos/tests/AndroidManifest.xml +0 -37
  882. data/ApiDemos/tests/ant.properties +0 -18
  883. data/ApiDemos/tests/build.xml +0 -83
  884. data/ApiDemos/tests/local.properties +0 -10
  885. data/ApiDemos/tests/proguard-project.txt +0 -20
  886. data/ApiDemos/tests/project.properties +0 -14
  887. data/ApiDemos/tests/src/com/example/android/apis/AllTests.java +0 -53
  888. data/ApiDemos/tests/src/com/example/android/apis/ApiDemosApplicationTests.java +0 -62
  889. data/ApiDemos/tests/src/com/example/android/apis/ApiDemosTest.java +0 -40
  890. data/ApiDemos/tests/src/com/example/android/apis/app/ForwardingTest.java +0 -129
  891. data/ApiDemos/tests/src/com/example/android/apis/app/LocalServiceTest.java +0 -80
  892. data/ApiDemos/tests/src/com/example/android/apis/os/MorseCodeConverterTest.java +0 -54
  893. data/ApiDemos/tests/src/com/example/android/apis/view/Focus2ActivityTest.java +0 -111
  894. data/ApiDemos/tests/src/com/example/android/apis/view/Focus2AndroidTest.java +0 -113
  895. data/ChangeLog +0 -16
  896. data/Gemfile +0 -12
  897. data/Guardfile +0 -17
  898. data/LICENSE +0 -22
  899. data/README.md +0 -72
  900. data/Rakefile +0 -24
  901. data/cucumber.yml +0 -14
  902. data/features/step_definitions/calabash_steps.rb +0 -1
  903. data/features/support/app_installation_hooks.rb +0 -23
  904. data/features/support/app_life_cycle_hooks.rb +0 -11
  905. data/gametel.gemspec +0 -23
  906. data/irb_android.sh +0 -2
  907. data/lib/gametel/platforms/calabash.rb +0 -155
@@ -1,157 +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;
18
-
19
- import java.io.ByteArrayInputStream;
20
- import java.io.ByteArrayOutputStream;
21
- import java.io.IOException;
22
- import java.io.InputStream;
23
- import java.nio.Buffer;
24
- import java.nio.ByteBuffer;
25
- import java.nio.ByteOrder;
26
-
27
- import javax.microedition.khronos.opengles.GL10;
28
-
29
- import android.app.Activity;
30
- import android.opengl.ETC1Util;
31
- import android.opengl.GLES10;
32
- import android.opengl.GLSurfaceView;
33
- import android.os.Bundle;
34
- import android.util.Log;
35
-
36
- import com.example.android.apis.R;
37
-
38
- /**
39
- * Demonstrate how to use ETC1 format compressed textures.
40
- * This sample can be recompiled to use either resource-based
41
- * textures (compressed offline using the etc1tool), or
42
- * textures created on the fly by compressing images.
43
- *
44
- */
45
- public class CompressedTextureActivity extends Activity {
46
- private final static String TAG = "CompressedTextureActivity";
47
- /**
48
- * Choose between creating a compressed texture on the fly or
49
- * loading a compressed texture from a resource.
50
- */
51
- private final static boolean TEST_CREATE_TEXTURE = false;
52
- /**
53
- * When creating a compressed texture on the fly, choose
54
- * whether or not to use the i/o stream APIs.
55
- */
56
- private final static boolean USE_STREAM_IO = false;
57
-
58
- @Override
59
- protected void onCreate(Bundle savedInstanceState) {
60
- super.onCreate(savedInstanceState);
61
- mGLView = new GLSurfaceView(this);
62
- mGLView.setEGLConfigChooser(false);
63
- StaticTriangleRenderer.TextureLoader loader;
64
- if (TEST_CREATE_TEXTURE) {
65
- loader = new SyntheticCompressedTextureLoader();
66
- } else {
67
- loader = new CompressedTextureLoader();
68
- }
69
- mGLView.setRenderer(new StaticTriangleRenderer(this, loader));
70
- setContentView(mGLView);
71
- }
72
-
73
- @Override
74
- protected void onPause() {
75
- super.onPause();
76
- mGLView.onPause();
77
- }
78
-
79
- @Override
80
- protected void onResume() {
81
- super.onResume();
82
- mGLView.onResume();
83
- }
84
-
85
- /**
86
- * Demonstrate how to load a compressed texture from an APK resource.
87
- *
88
- */
89
- private class CompressedTextureLoader implements StaticTriangleRenderer.TextureLoader {
90
- public void load(GL10 gl) {
91
- Log.w(TAG, "ETC1 texture support: " + ETC1Util.isETC1Supported());
92
- InputStream input = getResources().openRawResource(R.raw.androids);
93
- try {
94
- ETC1Util.loadTexture(GLES10.GL_TEXTURE_2D, 0, 0,
95
- GLES10.GL_RGB, GLES10.GL_UNSIGNED_SHORT_5_6_5, input);
96
- } catch (IOException e) {
97
- Log.w(TAG, "Could not load texture: " + e);
98
- } finally {
99
- try {
100
- input.close();
101
- } catch (IOException e) {
102
- // ignore exception thrown from close.
103
- }
104
- }
105
- }
106
- }
107
-
108
- /**
109
- * Demonstrate how to create a compressed texture on the fly.
110
- */
111
- private class SyntheticCompressedTextureLoader implements StaticTriangleRenderer.TextureLoader {
112
- public void load(GL10 gl) {
113
- int width = 128;
114
- int height = 128;
115
- Buffer image = createImage(width, height);
116
- ETC1Util.ETC1Texture etc1Texture = ETC1Util.compressTexture(image, width, height, 3, 3 * width);
117
- if (USE_STREAM_IO) {
118
- // Test the ETC1Util APIs for reading and writing compressed textures to I/O streams.
119
- try {
120
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
121
- ETC1Util.writeTexture(etc1Texture, bos);
122
- ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
123
- ETC1Util.loadTexture(GLES10.GL_TEXTURE_2D, 0, 0,
124
- GLES10.GL_RGB, GLES10.GL_UNSIGNED_SHORT_5_6_5, bis);
125
- } catch (IOException e) {
126
- Log.w(TAG, "Could not load texture: " + e);
127
- }
128
- } else {
129
- ETC1Util.loadTexture(GLES10.GL_TEXTURE_2D, 0, 0,
130
- GLES10.GL_RGB, GLES10.GL_UNSIGNED_SHORT_5_6_5, etc1Texture);
131
- }
132
- }
133
-
134
- private Buffer createImage(int width, int height) {
135
- int stride = 3 * width;
136
- ByteBuffer image = ByteBuffer.allocateDirect(height * stride)
137
- .order(ByteOrder.nativeOrder());
138
-
139
- // Fill with a pretty "munching squares" pattern:
140
- for (int t = 0; t < height; t++) {
141
- byte red = (byte)(255-2*t);
142
- byte green = (byte)(2*t);
143
- byte blue = 0;
144
- for (int x = 0; x < width; x++) {
145
- int y = x ^ t;
146
- image.position(stride*y+x*3);
147
- image.put(red);
148
- image.put(green);
149
- image.put(blue);
150
- }
151
- }
152
- image.position(0);
153
- return image;
154
- }
155
- }
156
- private GLSurfaceView mGLView;
157
- }
@@ -1,126 +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;
18
-
19
- import android.content.Context;
20
- import android.graphics.*;
21
- import android.os.Bundle;
22
- import android.view.*;
23
-
24
- import java.io.ByteArrayOutputStream;
25
-
26
- public class CreateBitmap extends GraphicsActivity {
27
-
28
- @Override
29
- protected void onCreate(Bundle savedInstanceState) {
30
- super.onCreate(savedInstanceState);
31
- setContentView(new SampleView(this));
32
- }
33
-
34
- private static final int WIDTH = 50;
35
- private static final int HEIGHT = 50;
36
- private static final int STRIDE = 64; // must be >= WIDTH
37
-
38
- private static int[] createColors() {
39
- int[] colors = new int[STRIDE * HEIGHT];
40
- for (int y = 0; y < HEIGHT; y++) {
41
- for (int x = 0; x < WIDTH; x++) {
42
- int r = x * 255 / (WIDTH - 1);
43
- int g = y * 255 / (HEIGHT - 1);
44
- int b = 255 - Math.min(r, g);
45
- int a = Math.max(r, g);
46
- colors[y * STRIDE + x] = (a << 24) | (r << 16) | (g << 8) | b;
47
- }
48
- }
49
- return colors;
50
- }
51
-
52
- private static class SampleView extends View {
53
- private Bitmap[] mBitmaps;
54
- private Bitmap[] mJPEG;
55
- private Bitmap[] mPNG;
56
- private int[] mColors;
57
- private Paint mPaint;
58
-
59
- private static Bitmap codec(Bitmap src, Bitmap.CompressFormat format,
60
- int quality) {
61
- ByteArrayOutputStream os = new ByteArrayOutputStream();
62
- src.compress(format, quality, os);
63
-
64
- byte[] array = os.toByteArray();
65
- return BitmapFactory.decodeByteArray(array, 0, array.length);
66
- }
67
-
68
- public SampleView(Context context) {
69
- super(context);
70
- setFocusable(true);
71
-
72
- mColors = createColors();
73
- int[] colors = mColors;
74
-
75
- mBitmaps = new Bitmap[6];
76
- // these three are initialized with colors[]
77
- mBitmaps[0] = Bitmap.createBitmap(colors, 0, STRIDE, WIDTH, HEIGHT,
78
- Bitmap.Config.ARGB_8888);
79
- mBitmaps[1] = Bitmap.createBitmap(colors, 0, STRIDE, WIDTH, HEIGHT,
80
- Bitmap.Config.RGB_565);
81
- mBitmaps[2] = Bitmap.createBitmap(colors, 0, STRIDE, WIDTH, HEIGHT,
82
- Bitmap.Config.ARGB_4444);
83
-
84
- // these three will have their colors set later
85
- mBitmaps[3] = Bitmap.createBitmap(WIDTH, HEIGHT,
86
- Bitmap.Config.ARGB_8888);
87
- mBitmaps[4] = Bitmap.createBitmap(WIDTH, HEIGHT,
88
- Bitmap.Config.RGB_565);
89
- mBitmaps[5] = Bitmap.createBitmap(WIDTH, HEIGHT,
90
- Bitmap.Config.ARGB_4444);
91
- for (int i = 3; i <= 5; i++) {
92
- mBitmaps[i].setPixels(colors, 0, STRIDE, 0, 0, WIDTH, HEIGHT);
93
- }
94
-
95
- mPaint = new Paint();
96
- mPaint.setDither(true);
97
-
98
- // now encode/decode using JPEG and PNG
99
- mJPEG = new Bitmap[mBitmaps.length];
100
- mPNG = new Bitmap[mBitmaps.length];
101
- for (int i = 0; i < mBitmaps.length; i++) {
102
- mJPEG[i] = codec(mBitmaps[i], Bitmap.CompressFormat.JPEG, 80);
103
- mPNG[i] = codec(mBitmaps[i], Bitmap.CompressFormat.PNG, 0);
104
- }
105
- }
106
-
107
- @Override protected void onDraw(Canvas canvas) {
108
- canvas.drawColor(Color.WHITE);
109
-
110
- for (int i = 0; i < mBitmaps.length; i++) {
111
- canvas.drawBitmap(mBitmaps[i], 0, 0, null);
112
- canvas.drawBitmap(mJPEG[i], 80, 0, null);
113
- canvas.drawBitmap(mPNG[i], 160, 0, null);
114
- canvas.translate(0, mBitmaps[i].getHeight());
115
- }
116
-
117
- // draw the color array directly, w/o craeting a bitmap object
118
- canvas.drawBitmap(mColors, 0, STRIDE, 0, 0, WIDTH, HEIGHT,
119
- true, null);
120
- canvas.translate(0, HEIGHT);
121
- canvas.drawBitmap(mColors, 0, STRIDE, 0, 0, WIDTH, HEIGHT,
122
- false, mPaint);
123
- }
124
- }
125
- }
126
-
@@ -1,100 +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;
18
-
19
- import java.nio.ByteBuffer;
20
- import java.nio.ByteOrder;
21
- import java.nio.IntBuffer;
22
-
23
- import javax.microedition.khronos.opengles.GL10;
24
-
25
- /**
26
- * A vertex shaded cube.
27
- */
28
- class Cube
29
- {
30
- public Cube()
31
- {
32
- int one = 0x10000;
33
- int vertices[] = {
34
- -one, -one, -one,
35
- one, -one, -one,
36
- one, one, -one,
37
- -one, one, -one,
38
- -one, -one, one,
39
- one, -one, one,
40
- one, one, one,
41
- -one, one, one,
42
- };
43
-
44
- int colors[] = {
45
- 0, 0, 0, one,
46
- one, 0, 0, one,
47
- one, one, 0, one,
48
- 0, one, 0, one,
49
- 0, 0, one, one,
50
- one, 0, one, one,
51
- one, one, one, one,
52
- 0, one, one, one,
53
- };
54
-
55
- byte indices[] = {
56
- 0, 4, 5, 0, 5, 1,
57
- 1, 5, 6, 1, 6, 2,
58
- 2, 6, 7, 2, 7, 3,
59
- 3, 7, 4, 3, 4, 0,
60
- 4, 7, 6, 4, 6, 5,
61
- 3, 0, 1, 3, 1, 2
62
- };
63
-
64
- // Buffers to be passed to gl*Pointer() functions
65
- // must be direct, i.e., they must be placed on the
66
- // native heap where the garbage collector cannot
67
- // move them.
68
- //
69
- // Buffers with multi-byte datatypes (e.g., short, int, float)
70
- // must have their byte order set to native order
71
-
72
- ByteBuffer vbb = ByteBuffer.allocateDirect(vertices.length*4);
73
- vbb.order(ByteOrder.nativeOrder());
74
- mVertexBuffer = vbb.asIntBuffer();
75
- mVertexBuffer.put(vertices);
76
- mVertexBuffer.position(0);
77
-
78
- ByteBuffer cbb = ByteBuffer.allocateDirect(colors.length*4);
79
- cbb.order(ByteOrder.nativeOrder());
80
- mColorBuffer = cbb.asIntBuffer();
81
- mColorBuffer.put(colors);
82
- mColorBuffer.position(0);
83
-
84
- mIndexBuffer = ByteBuffer.allocateDirect(indices.length);
85
- mIndexBuffer.put(indices);
86
- mIndexBuffer.position(0);
87
- }
88
-
89
- public void draw(GL10 gl)
90
- {
91
- gl.glFrontFace(GL10.GL_CW);
92
- gl.glVertexPointer(3, GL10.GL_FIXED, 0, mVertexBuffer);
93
- gl.glColorPointer(4, GL10.GL_FIXED, 0, mColorBuffer);
94
- gl.glDrawElements(GL10.GL_TRIANGLES, 36, GL10.GL_UNSIGNED_BYTE, mIndexBuffer);
95
- }
96
-
97
- private IntBuffer mVertexBuffer;
98
- private IntBuffer mColorBuffer;
99
- private ByteBuffer mIndexBuffer;
100
- }
@@ -1,416 +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;
18
-
19
- import java.io.IOException;
20
- import java.io.InputStream;
21
- import java.nio.ByteBuffer;
22
- import java.nio.ByteOrder;
23
- import java.nio.CharBuffer;
24
- import java.nio.FloatBuffer;
25
-
26
- import javax.microedition.khronos.egl.EGLConfig;
27
- import javax.microedition.khronos.opengles.GL;
28
- import javax.microedition.khronos.opengles.GL10;
29
- import javax.microedition.khronos.opengles.GL11;
30
- import javax.microedition.khronos.opengles.GL11Ext;
31
- import javax.microedition.khronos.opengles.GL11ExtensionPack;
32
-
33
- import android.app.Activity;
34
- import android.graphics.Bitmap;
35
- import android.graphics.BitmapFactory;
36
- import android.opengl.GLSurfaceView;
37
- import android.opengl.GLU;
38
- import android.opengl.GLUtils;
39
- import android.os.Bundle;
40
- import android.util.Log;
41
-
42
- import com.example.android.apis.R;
43
-
44
- /**
45
- * Demonstrate how to use the OES_texture_cube_map extension, available on some
46
- * high-end OpenGL ES 1.x GPUs.
47
- */
48
- public class CubeMapActivity extends Activity {
49
- private GLSurfaceView mGLSurfaceView;
50
- private class Renderer implements GLSurfaceView.Renderer {
51
- private boolean mContextSupportsCubeMap;
52
- private Grid mGrid;
53
- private int mCubeMapTextureID;
54
- private boolean mUseTexGen = false;
55
- private float mAngle;
56
-
57
- public void onDrawFrame(GL10 gl) {
58
- checkGLError(gl);
59
- if (mContextSupportsCubeMap) {
60
- gl.glClearColor(0,0,1,0);
61
- } else {
62
- // Current context doesn't support cube maps.
63
- // Indicate this by drawing a red background.
64
- gl.glClearColor(1,0,0,0);
65
- }
66
- gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
67
- gl.glEnable(GL10.GL_DEPTH_TEST);
68
- gl.glMatrixMode(GL10.GL_MODELVIEW);
69
- gl.glLoadIdentity();
70
-
71
- GLU.gluLookAt(gl, 0, 0, -5, 0f, 0f, 0f, 0f, 1.0f, 0.0f);
72
- gl.glRotatef(mAngle, 0, 1, 0);
73
- gl.glRotatef(mAngle*0.25f, 1, 0, 0);
74
-
75
- gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
76
-
77
- checkGLError(gl);
78
-
79
- if (mContextSupportsCubeMap) {
80
- gl.glActiveTexture(GL10.GL_TEXTURE0);
81
- checkGLError(gl);
82
- gl.glEnable(GL11ExtensionPack.GL_TEXTURE_CUBE_MAP);
83
- checkGLError(gl);
84
- gl.glBindTexture(GL11ExtensionPack.GL_TEXTURE_CUBE_MAP, mCubeMapTextureID);
85
- checkGLError(gl);
86
- GL11ExtensionPack gl11ep = (GL11ExtensionPack) gl;
87
- gl11ep.glTexGeni(GL11ExtensionPack.GL_TEXTURE_GEN_STR,
88
- GL11ExtensionPack.GL_TEXTURE_GEN_MODE,
89
- GL11ExtensionPack.GL_REFLECTION_MAP);
90
- checkGLError(gl);
91
- gl.glEnable(GL11ExtensionPack.GL_TEXTURE_GEN_STR);
92
- checkGLError(gl);
93
- gl.glTexEnvx(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE, GL10.GL_DECAL);
94
- }
95
-
96
- checkGLError(gl);
97
- mGrid.draw(gl);
98
-
99
- if (mContextSupportsCubeMap) {
100
- gl.glDisable(GL11ExtensionPack.GL_TEXTURE_GEN_STR);
101
- }
102
- checkGLError(gl);
103
-
104
- mAngle += 1.2f;
105
- }
106
-
107
- public void onSurfaceChanged(GL10 gl, int width, int height) {
108
- checkGLError(gl);
109
- gl.glViewport(0, 0, width, height);
110
- float ratio = (float) width / height;
111
- gl.glMatrixMode(GL10.GL_PROJECTION);
112
- gl.glLoadIdentity();
113
- gl.glFrustumf(-ratio, ratio, -1, 1, 1, 10);
114
- checkGLError(gl);
115
- }
116
-
117
- public void onSurfaceCreated(GL10 gl, EGLConfig config) {
118
- checkGLError(gl);
119
- // This test needs to be done each time a context is created,
120
- // because different contexts may support different extensions.
121
- mContextSupportsCubeMap = checkIfContextSupportsCubeMap(gl);
122
-
123
- mGrid = generateTorusGrid(gl, 60, 60, 3.0f, 0.75f);
124
-
125
- if (mContextSupportsCubeMap) {
126
- int[] cubeMapResourceIds = new int[]{
127
- R.raw.skycubemap0, R.raw.skycubemap1, R.raw.skycubemap2,
128
- R.raw.skycubemap3, R.raw.skycubemap4, R.raw.skycubemap5};
129
- mCubeMapTextureID = generateCubeMap(gl, cubeMapResourceIds);
130
- }
131
- checkGLError(gl);
132
- }
133
-
134
- private int generateCubeMap(GL10 gl, int[] resourceIds) {
135
- checkGLError(gl);
136
- int[] ids = new int[1];
137
- gl.glGenTextures(1, ids, 0);
138
- int cubeMapTextureId = ids[0];
139
- gl.glBindTexture(GL11ExtensionPack.GL_TEXTURE_CUBE_MAP, cubeMapTextureId);
140
- gl.glTexParameterf(GL11ExtensionPack.GL_TEXTURE_CUBE_MAP,
141
- GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR);
142
- gl.glTexParameterf(GL11ExtensionPack.GL_TEXTURE_CUBE_MAP,
143
- GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR);
144
-
145
- for (int face = 0; face < 6; face++) {
146
- InputStream is = getResources().openRawResource(resourceIds[face]);
147
- Bitmap bitmap;
148
- try {
149
- bitmap = BitmapFactory.decodeStream(is);
150
- } finally {
151
- try {
152
- is.close();
153
- } catch(IOException e) {
154
- Log.e("CubeMap", "Could not decode texture for face " + Integer.toString(face));
155
- }
156
- }
157
- GLUtils.texImage2D(GL11ExtensionPack.GL_TEXTURE_CUBE_MAP_POSITIVE_X + face, 0,
158
- bitmap, 0);
159
- bitmap.recycle();
160
- }
161
- checkGLError(gl);
162
- return cubeMapTextureId;
163
- }
164
-
165
- private Grid generateTorusGrid(GL gl, int uSteps, int vSteps, float majorRadius, float minorRadius) {
166
- Grid grid = new Grid(uSteps + 1, vSteps + 1);
167
- for (int j = 0; j <= vSteps; j++) {
168
- double angleV = Math.PI * 2 * j / vSteps;
169
- float cosV = (float) Math.cos(angleV);
170
- float sinV = (float) Math.sin(angleV);
171
- for (int i = 0; i <= uSteps; i++) {
172
- double angleU = Math.PI * 2 * i / uSteps;
173
- float cosU = (float) Math.cos(angleU);
174
- float sinU = (float) Math.sin(angleU);
175
- float d = majorRadius+minorRadius*cosU;
176
- float x = d*cosV;
177
- float y = d*(-sinV);
178
- float z = minorRadius * sinU;
179
-
180
- float nx = cosV * cosU;
181
- float ny = -sinV * cosU;
182
- float nz = sinU;
183
-
184
- float length = (float) Math.sqrt(nx*nx + ny*ny + nz*nz);
185
- nx /= length;
186
- ny /= length;
187
- nz /= length;
188
-
189
- grid.set(i, j, x, y, z, nx, ny, nz);
190
- }
191
- }
192
- grid.createBufferObjects(gl);
193
- return grid;
194
- }
195
-
196
- private boolean checkIfContextSupportsCubeMap(GL10 gl) {
197
- return checkIfContextSupportsExtension(gl, "GL_OES_texture_cube_map");
198
- }
199
-
200
- /**
201
- * This is not the fastest way to check for an extension, but fine if
202
- * we are only checking for a few extensions each time a context is created.
203
- * @param gl
204
- * @param extension
205
- * @return true if the extension is present in the current context.
206
- */
207
- private boolean checkIfContextSupportsExtension(GL10 gl, String extension) {
208
- String extensions = " " + gl.glGetString(GL10.GL_EXTENSIONS) + " ";
209
- // The extensions string is padded with spaces between extensions, but not
210
- // necessarily at the beginning or end. For simplicity, add spaces at the
211
- // beginning and end of the extensions string and the extension string.
212
- // This means we can avoid special-case checks for the first or last
213
- // extension, as well as avoid special-case checks when an extension name
214
- // is the same as the first part of another extension name.
215
- return extensions.indexOf(" " + extension + " ") >= 0;
216
- }
217
- }
218
-
219
- /** A grid is a topologically rectangular array of vertices.
220
- *
221
- * This grid class is customized for the vertex data required for this
222
- * example.
223
- *
224
- * The vertex and index data are held in VBO objects because on most
225
- * GPUs VBO objects are the fastest way of rendering static vertex
226
- * and index data.
227
- *
228
- */
229
-
230
- private static class Grid {
231
- // Size of vertex data elements in bytes:
232
- final static int FLOAT_SIZE = 4;
233
- final static int CHAR_SIZE = 2;
234
-
235
- // Vertex structure:
236
- // float x, y, z;
237
- // float nx, ny, nx;
238
-
239
- final static int VERTEX_SIZE = 6 * FLOAT_SIZE;
240
- final static int VERTEX_NORMAL_BUFFER_INDEX_OFFSET = 3;
241
-
242
- private int mVertexBufferObjectId;
243
- private int mElementBufferObjectId;
244
-
245
- // These buffers are used to hold the vertex and index data while
246
- // constructing the grid. Once createBufferObjects() is called
247
- // the buffers are nulled out to save memory.
248
-
249
- private ByteBuffer mVertexByteBuffer;
250
- private FloatBuffer mVertexBuffer;
251
- private CharBuffer mIndexBuffer;
252
-
253
- private int mW;
254
- private int mH;
255
- private int mIndexCount;
256
-
257
- public Grid(int w, int h) {
258
- if (w < 0 || w >= 65536) {
259
- throw new IllegalArgumentException("w");
260
- }
261
- if (h < 0 || h >= 65536) {
262
- throw new IllegalArgumentException("h");
263
- }
264
- if (w * h >= 65536) {
265
- throw new IllegalArgumentException("w * h >= 65536");
266
- }
267
-
268
- mW = w;
269
- mH = h;
270
- int size = w * h;
271
-
272
- mVertexByteBuffer = ByteBuffer.allocateDirect(VERTEX_SIZE * size)
273
- .order(ByteOrder.nativeOrder());
274
- mVertexBuffer = mVertexByteBuffer.asFloatBuffer();
275
-
276
- int quadW = mW - 1;
277
- int quadH = mH - 1;
278
- int quadCount = quadW * quadH;
279
- int indexCount = quadCount * 6;
280
- mIndexCount = indexCount;
281
- mIndexBuffer = ByteBuffer.allocateDirect(CHAR_SIZE * indexCount)
282
- .order(ByteOrder.nativeOrder()).asCharBuffer();
283
-
284
- /*
285
- * Initialize triangle list mesh.
286
- *
287
- * [0]-----[ 1] ...
288
- * | / |
289
- * | / |
290
- * | / |
291
- * [w]-----[w+1] ...
292
- * | |
293
- *
294
- */
295
-
296
- {
297
- int i = 0;
298
- for (int y = 0; y < quadH; y++) {
299
- for (int x = 0; x < quadW; x++) {
300
- char a = (char) (y * mW + x);
301
- char b = (char) (y * mW + x + 1);
302
- char c = (char) ((y + 1) * mW + x);
303
- char d = (char) ((y + 1) * mW + x + 1);
304
-
305
- mIndexBuffer.put(i++, a);
306
- mIndexBuffer.put(i++, c);
307
- mIndexBuffer.put(i++, b);
308
-
309
- mIndexBuffer.put(i++, b);
310
- mIndexBuffer.put(i++, c);
311
- mIndexBuffer.put(i++, d);
312
- }
313
- }
314
- }
315
- }
316
-
317
- public void set(int i, int j, float x, float y, float z, float nx, float ny, float nz) {
318
- if (i < 0 || i >= mW) {
319
- throw new IllegalArgumentException("i");
320
- }
321
- if (j < 0 || j >= mH) {
322
- throw new IllegalArgumentException("j");
323
- }
324
-
325
- int index = mW * j + i;
326
-
327
- mVertexBuffer.position(index * VERTEX_SIZE / FLOAT_SIZE);
328
- mVertexBuffer.put(x);
329
- mVertexBuffer.put(y);
330
- mVertexBuffer.put(z);
331
- mVertexBuffer.put(nx);
332
- mVertexBuffer.put(ny);
333
- mVertexBuffer.put(nz);
334
- }
335
-
336
- public void createBufferObjects(GL gl) {
337
- checkGLError(gl);
338
- // Generate a the vertex and element buffer IDs
339
- int[] vboIds = new int[2];
340
- GL11 gl11 = (GL11) gl;
341
- gl11.glGenBuffers(2, vboIds, 0);
342
- mVertexBufferObjectId = vboIds[0];
343
- mElementBufferObjectId = vboIds[1];
344
-
345
- // Upload the vertex data
346
- gl11.glBindBuffer(GL11.GL_ARRAY_BUFFER, mVertexBufferObjectId);
347
- mVertexByteBuffer.position(0);
348
- gl11.glBufferData(GL11.GL_ARRAY_BUFFER, mVertexByteBuffer.capacity(), mVertexByteBuffer, GL11.GL_STATIC_DRAW);
349
-
350
- gl11.glBindBuffer(GL11.GL_ELEMENT_ARRAY_BUFFER, mElementBufferObjectId);
351
- mIndexBuffer.position(0);
352
- gl11.glBufferData(GL11.GL_ELEMENT_ARRAY_BUFFER, mIndexBuffer.capacity() * CHAR_SIZE, mIndexBuffer, GL11.GL_STATIC_DRAW);
353
-
354
- // We don't need the in-memory data any more
355
- mVertexBuffer = null;
356
- mVertexByteBuffer = null;
357
- mIndexBuffer = null;
358
- checkGLError(gl);
359
- }
360
-
361
- public void draw(GL10 gl) {
362
- checkGLError(gl);
363
- GL11 gl11 = (GL11) gl;
364
-
365
- gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
366
-
367
- gl11.glBindBuffer(GL11.GL_ARRAY_BUFFER, mVertexBufferObjectId);
368
- gl11.glVertexPointer(3, GL10.GL_FLOAT, VERTEX_SIZE, 0);
369
-
370
- gl.glEnableClientState(GL10.GL_NORMAL_ARRAY);
371
- gl11.glNormalPointer(GL10.GL_FLOAT, VERTEX_SIZE, VERTEX_NORMAL_BUFFER_INDEX_OFFSET * FLOAT_SIZE);
372
-
373
- gl11.glBindBuffer(GL11.GL_ELEMENT_ARRAY_BUFFER, mElementBufferObjectId);
374
- gl11.glDrawElements(GL10.GL_TRIANGLES, mIndexCount, GL10.GL_UNSIGNED_SHORT, 0);
375
- gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
376
- gl.glDisableClientState(GL10.GL_NORMAL_ARRAY);
377
- gl11.glBindBuffer(GL11.GL_ARRAY_BUFFER, 0);
378
- gl11.glBindBuffer(GL11.GL_ELEMENT_ARRAY_BUFFER, 0);
379
- checkGLError(gl);
380
- }
381
- }
382
-
383
- static void checkGLError(GL gl) {
384
- int error = ((GL10) gl).glGetError();
385
- if (error != GL10.GL_NO_ERROR) {
386
- throw new RuntimeException("GLError 0x" + Integer.toHexString(error));
387
- }
388
- }
389
-
390
- @Override
391
- protected void onCreate(Bundle savedInstanceState) {
392
- super.onCreate(savedInstanceState);
393
-
394
- // Create our surface view and set it as the content of our
395
- // Activity
396
- mGLSurfaceView = new GLSurfaceView(this);
397
- mGLSurfaceView.setRenderer(new Renderer());
398
- setContentView(mGLSurfaceView);
399
- }
400
-
401
- @Override
402
- protected void onResume() {
403
- // Ideally a game should implement onResume() and onPause()
404
- // to take appropriate action when the activity looses focus
405
- super.onResume();
406
- mGLSurfaceView.onResume();
407
- }
408
-
409
- @Override
410
- protected void onPause() {
411
- // Ideally a game should implement onResume() and onPause()
412
- // to take appropriate action when the activity looses focus
413
- super.onPause();
414
- mGLSurfaceView.onPause();
415
- }
416
- }