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,76 +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.view;
18
-
19
- import android.app.ExpandableListActivity;
20
- import android.os.Bundle;
21
- import android.widget.ExpandableListAdapter;
22
- import android.widget.SimpleExpandableListAdapter;
23
-
24
- import java.util.ArrayList;
25
- import java.util.HashMap;
26
- import java.util.List;
27
- import java.util.Map;
28
-
29
-
30
- /**
31
- * Demonstrates expandable lists backed by a Simple Map-based adapter
32
- */
33
- public class ExpandableList3 extends ExpandableListActivity {
34
- private static final String NAME = "NAME";
35
- private static final String IS_EVEN = "IS_EVEN";
36
-
37
- private ExpandableListAdapter mAdapter;
38
-
39
- @Override
40
- public void onCreate(Bundle savedInstanceState) {
41
- super.onCreate(savedInstanceState);
42
-
43
- List<Map<String, String>> groupData = new ArrayList<Map<String, String>>();
44
- List<List<Map<String, String>>> childData = new ArrayList<List<Map<String, String>>>();
45
- for (int i = 0; i < 20; i++) {
46
- Map<String, String> curGroupMap = new HashMap<String, String>();
47
- groupData.add(curGroupMap);
48
- curGroupMap.put(NAME, "Group " + i);
49
- curGroupMap.put(IS_EVEN, (i % 2 == 0) ? "This group is even" : "This group is odd");
50
-
51
- List<Map<String, String>> children = new ArrayList<Map<String, String>>();
52
- for (int j = 0; j < 15; j++) {
53
- Map<String, String> curChildMap = new HashMap<String, String>();
54
- children.add(curChildMap);
55
- curChildMap.put(NAME, "Child " + j);
56
- curChildMap.put(IS_EVEN, (j % 2 == 0) ? "This child is even" : "This child is odd");
57
- }
58
- childData.add(children);
59
- }
60
-
61
- // Set up our adapter
62
- mAdapter = new SimpleExpandableListAdapter(
63
- this,
64
- groupData,
65
- android.R.layout.simple_expandable_list_item_1,
66
- new String[] { NAME, IS_EVEN },
67
- new int[] { android.R.id.text1, android.R.id.text2 },
68
- childData,
69
- android.R.layout.simple_expandable_list_item_2,
70
- new String[] { NAME, IS_EVEN },
71
- new int[] { android.R.id.text1, android.R.id.text2 }
72
- );
73
- setListAdapter(mAdapter);
74
- }
75
-
76
- }
@@ -1,47 +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.view;
18
-
19
- import com.example.android.apis.R;
20
-
21
- import android.app.Activity;
22
- import android.os.Bundle;
23
- import android.webkit.WebView;
24
- import android.widget.ListView;
25
- import android.widget.ArrayAdapter;
26
-
27
- /**
28
- * Demonstrates the use of non-focusable views.
29
- */
30
- public class Focus1 extends Activity {
31
-
32
- @Override
33
- protected void onCreate(Bundle savedInstanceState) {
34
- super.onCreate(savedInstanceState);
35
- setContentView(R.layout.focus_1);
36
-
37
- WebView webView = (WebView) findViewById(R.id.rssWebView);
38
- webView.loadData(
39
- "<html><body>Can I focus?<br /><a href=\"#\">No I cannot!</a>.</body></html>",
40
- "text/html", null);
41
-
42
- ListView listView = (ListView) findViewById(R.id.rssListView);
43
- listView.setAdapter(new ArrayAdapter<String>(this,
44
- android.R.layout.simple_list_item_1,
45
- new String[] {"Ars Technica", "Slashdot", "GameKult"}));
46
- }
47
- }
@@ -1,32 +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.view;
18
-
19
- import com.example.android.apis.R;
20
-
21
- import android.app.Activity;
22
- import android.os.Bundle;
23
-
24
- public class Focus2 extends Activity {
25
-
26
- @Override
27
- protected void onCreate(Bundle savedInstanceState) {
28
- super.onCreate(savedInstanceState);
29
-
30
- setContentView(R.layout.focus_2);
31
- }
32
- }
@@ -1,45 +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.view;
18
-
19
- import android.app.Activity;
20
- import android.os.Bundle;
21
- import android.widget.Button;
22
- import com.example.android.apis.R;
23
-
24
- public class Focus3 extends Activity {
25
- private Button mTopButton;
26
- private Button mBottomButton;
27
-
28
- @Override
29
- protected void onCreate(Bundle savedInstanceState) {
30
- super.onCreate(savedInstanceState);
31
-
32
- setContentView(R.layout.focus_3);
33
-
34
- mTopButton = (Button) findViewById(R.id.top);
35
- mBottomButton = (Button) findViewById(R.id.bottom);
36
- }
37
-
38
- public Button getTopButton() {
39
- return mTopButton;
40
- }
41
-
42
- public Button getBottomButton() {
43
- return mBottomButton;
44
- }
45
- }
@@ -1,31 +0,0 @@
1
- /*
2
- * Copyright (C) 2010 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.view;
18
-
19
- import android.app.Activity;
20
- import android.os.Bundle;
21
- import android.widget.Button;
22
- import com.example.android.apis.R;
23
-
24
- public class Focus5 extends Activity {
25
- @Override
26
- protected void onCreate(Bundle savedInstanceState) {
27
- super.onCreate(savedInstanceState);
28
-
29
- setContentView(R.layout.focus_5);
30
- }
31
- }
@@ -1,139 +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.view;
18
-
19
- import com.example.android.apis.R;
20
-
21
- import android.app.Activity;
22
- import android.content.Context;
23
- import android.content.res.TypedArray;
24
- import android.os.Bundle;
25
- import android.view.ContextMenu;
26
- import android.view.MenuItem;
27
- import android.view.View;
28
- import android.view.ViewGroup;
29
- import android.view.ContextMenu.ContextMenuInfo;
30
- import android.widget.AdapterView;
31
- import android.widget.BaseAdapter;
32
- import android.widget.Gallery;
33
- import android.widget.ImageView;
34
- import android.widget.Toast;
35
- import android.widget.AdapterView.AdapterContextMenuInfo;
36
- import android.widget.AdapterView.OnItemClickListener;
37
-
38
- public class Gallery1 extends Activity {
39
-
40
- @Override
41
- public void onCreate(Bundle savedInstanceState) {
42
- super.onCreate(savedInstanceState);
43
- setContentView(R.layout.gallery_1);
44
-
45
- // Reference the Gallery view
46
- Gallery g = (Gallery) findViewById(R.id.gallery);
47
- // Set the adapter to our custom adapter (below)
48
- g.setAdapter(new ImageAdapter(this));
49
-
50
- // Set a item click listener, and just Toast the clicked position
51
- g.setOnItemClickListener(new OnItemClickListener() {
52
- public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
53
- Toast.makeText(Gallery1.this, "" + position, Toast.LENGTH_SHORT).show();
54
- }
55
- });
56
-
57
- // We also want to show context menu for longpressed items in the gallery
58
- registerForContextMenu(g);
59
- }
60
-
61
- @Override
62
- public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
63
- menu.add(R.string.gallery_2_text);
64
- }
65
-
66
- @Override
67
- public boolean onContextItemSelected(MenuItem item) {
68
- AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
69
- Toast.makeText(this, "Longpress: " + info.position, Toast.LENGTH_SHORT).show();
70
- return true;
71
- }
72
-
73
- public class ImageAdapter extends BaseAdapter {
74
- private static final int ITEM_WIDTH = 136;
75
- private static final int ITEM_HEIGHT = 88;
76
-
77
- private final int mGalleryItemBackground;
78
- private final Context mContext;
79
-
80
- private final Integer[] mImageIds = {
81
- R.drawable.gallery_photo_1,
82
- R.drawable.gallery_photo_2,
83
- R.drawable.gallery_photo_3,
84
- R.drawable.gallery_photo_4,
85
- R.drawable.gallery_photo_5,
86
- R.drawable.gallery_photo_6,
87
- R.drawable.gallery_photo_7,
88
- R.drawable.gallery_photo_8
89
- };
90
-
91
- private final float mDensity;
92
-
93
- public ImageAdapter(Context c) {
94
- mContext = c;
95
- // See res/values/attrs.xml for the <declare-styleable> that defines
96
- // Gallery1.
97
- TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);
98
- mGalleryItemBackground = a.getResourceId(
99
- R.styleable.Gallery1_android_galleryItemBackground, 0);
100
- a.recycle();
101
-
102
- mDensity = c.getResources().getDisplayMetrics().density;
103
- }
104
-
105
- public int getCount() {
106
- return mImageIds.length;
107
- }
108
-
109
- public Object getItem(int position) {
110
- return position;
111
- }
112
-
113
- public long getItemId(int position) {
114
- return position;
115
- }
116
-
117
- public View getView(int position, View convertView, ViewGroup parent) {
118
- ImageView imageView;
119
- if (convertView == null) {
120
- convertView = new ImageView(mContext);
121
-
122
- imageView = (ImageView) convertView;
123
- imageView.setScaleType(ImageView.ScaleType.FIT_XY);
124
- imageView.setLayoutParams(new Gallery.LayoutParams(
125
- (int) (ITEM_WIDTH * mDensity + 0.5f),
126
- (int) (ITEM_HEIGHT * mDensity + 0.5f)));
127
-
128
- // The preferred Gallery item background
129
- imageView.setBackgroundResource(mGalleryItemBackground);
130
- } else {
131
- imageView = (ImageView) convertView;
132
- }
133
-
134
- imageView.setImageResource(mImageIds[position]);
135
-
136
- return imageView;
137
- }
138
- }
139
- }
@@ -1,61 +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.view;
18
-
19
- import android.app.Activity;
20
- import android.database.Cursor;
21
- import android.provider.ContactsContract.Contacts;
22
- import android.os.Bundle;
23
- import android.widget.Gallery;
24
- import android.widget.SimpleCursorAdapter;
25
- import android.widget.SpinnerAdapter;
26
-
27
- // Need the following import to get access to the app resources, since this
28
- // class is in a sub-package.
29
- import com.example.android.apis.R;
30
-
31
- public class Gallery2 extends Activity {
32
-
33
- @Override
34
- public void onCreate(Bundle savedInstanceState) {
35
- super.onCreate(savedInstanceState);
36
- setContentView(R.layout.gallery_2);
37
-
38
- // Get a cursor with all people
39
- Cursor c = getContentResolver().query(Contacts.CONTENT_URI,
40
- CONTACT_PROJECTION, null, null, null);
41
- startManagingCursor(c);
42
-
43
- SpinnerAdapter adapter = new SimpleCursorAdapter(this,
44
- // Use a template that displays a text view
45
- android.R.layout.simple_gallery_item,
46
- // Give the cursor to the list adatper
47
- c,
48
- // Map the NAME column in the people database to...
49
- new String[] {Contacts.DISPLAY_NAME},
50
- // The "text1" view defined in the XML template
51
- new int[] { android.R.id.text1 });
52
-
53
- Gallery g = (Gallery) findViewById(R.id.gallery);
54
- g.setAdapter(adapter);
55
- }
56
-
57
- private static final String[] CONTACT_PROJECTION = new String[] {
58
- Contacts._ID,
59
- Contacts.DISPLAY_NAME
60
- };
61
- }
@@ -1,460 +0,0 @@
1
- /*
2
- * Copyright (C) 2011 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.view;
18
-
19
- import java.util.ArrayList;
20
- import java.util.List;
21
-
22
- import android.app.Activity;
23
- import android.content.Context;
24
- import android.content.res.Resources;
25
- import android.os.Bundle;
26
- import android.util.Log;
27
- import android.util.SparseArray;
28
- import android.util.SparseIntArray;
29
- import android.view.InputDevice;
30
- import android.view.InputDevice.MotionRange;
31
- import android.view.InputEvent;
32
- import android.view.KeyEvent;
33
- import android.view.LayoutInflater;
34
- import android.view.MotionEvent;
35
- import android.view.View;
36
- import android.view.ViewGroup;
37
- import android.widget.AdapterView;
38
- import android.widget.BaseAdapter;
39
- import android.widget.ListView;
40
- import android.widget.TextView;
41
- import android.widget.Toast;
42
-
43
- import com.example.android.apis.R;
44
-
45
-
46
- /**
47
- * Demonstrates how to process input events received from game controllers.
48
- *
49
- * This activity displays button states and joystick positions.
50
- * Also writes detailed information about relevant input events to the log.
51
- *
52
- * The game controller is also uses to control a very simple game. See {@link GameView}
53
- * for the game itself.
54
- */
55
- public class GameControllerInput extends Activity {
56
- private static final String TAG = "GameControllerInput";
57
-
58
- private SparseArray<InputDeviceState> mInputDeviceStates;
59
- private GameView mGame;
60
- private ListView mSummaryList;
61
- private SummaryAdapter mSummaryAdapter;
62
-
63
- @Override
64
- protected void onCreate(Bundle savedInstanceState) {
65
- super.onCreate(savedInstanceState);
66
-
67
- mInputDeviceStates = new SparseArray<InputDeviceState>();
68
- mSummaryAdapter = new SummaryAdapter(this, getResources());
69
-
70
- setContentView(R.layout.game_controller_input);
71
-
72
- mGame = (GameView) findViewById(R.id.game);
73
-
74
- mSummaryList = (ListView) findViewById(R.id.summary);
75
- mSummaryList.setAdapter(mSummaryAdapter);
76
- mSummaryList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
77
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
78
- mSummaryAdapter.onItemClick(position);
79
- }
80
- });
81
- }
82
-
83
- @Override
84
- public void onWindowFocusChanged(boolean hasFocus) {
85
- super.onWindowFocusChanged(hasFocus);
86
-
87
- mGame.requestFocus();
88
- }
89
-
90
- @Override
91
- public boolean dispatchKeyEvent(KeyEvent event) {
92
- // Update device state for visualization and logging.
93
- InputDeviceState state = getInputDeviceState(event);
94
- if (state != null) {
95
- switch (event.getAction()) {
96
- case KeyEvent.ACTION_DOWN:
97
- if (state.onKeyDown(event)) {
98
- mSummaryAdapter.show(state);
99
- }
100
- break;
101
- case KeyEvent.ACTION_UP:
102
- if (state.onKeyUp(event)) {
103
- mSummaryAdapter.show(state);
104
- }
105
- break;
106
- }
107
- }
108
- return super.dispatchKeyEvent(event);
109
- }
110
-
111
- @Override
112
- public boolean dispatchGenericMotionEvent(MotionEvent event) {
113
- // Check that the event came from a joystick since a generic motion event
114
- // could be almost anything.
115
- if ((event.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0
116
- && event.getAction() == MotionEvent.ACTION_MOVE) {
117
- // Update device state for visualization and logging.
118
- InputDeviceState state = getInputDeviceState(event);
119
- if (state != null && state.onJoystickMotion(event)) {
120
- mSummaryAdapter.show(state);
121
- }
122
- }
123
- return super.dispatchGenericMotionEvent(event);
124
- }
125
-
126
- private InputDeviceState getInputDeviceState(InputEvent event) {
127
- final int deviceId = event.getDeviceId();
128
- InputDeviceState state = mInputDeviceStates.get(deviceId);
129
- if (state == null) {
130
- final InputDevice device = event.getDevice();
131
- if (device == null) {
132
- return null;
133
- }
134
- state = new InputDeviceState(device);
135
- mInputDeviceStates.put(deviceId, state);
136
-
137
- Log.i(TAG, device.toString());
138
- }
139
- return state;
140
- }
141
-
142
- /**
143
- * Tracks the state of joystick axes and game controller buttons for a particular
144
- * input device for diagnostic purposes.
145
- */
146
- private static class InputDeviceState {
147
- private final InputDevice mDevice;
148
- private final int[] mAxes;
149
- private final float[] mAxisValues;
150
- private final SparseIntArray mKeys;
151
-
152
- public InputDeviceState(InputDevice device) {
153
- mDevice = device;
154
-
155
- int numAxes = 0;
156
- final List<MotionRange> ranges = device.getMotionRanges();
157
- for (MotionRange range : ranges) {
158
- if ((range.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
159
- numAxes += 1;
160
- }
161
- }
162
-
163
- mAxes = new int[numAxes];
164
- mAxisValues = new float[numAxes];
165
- int i = 0;
166
- for (MotionRange range : ranges) {
167
- if ((range.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
168
- mAxes[i++] = range.getAxis();
169
- }
170
- }
171
-
172
- mKeys = new SparseIntArray();
173
- }
174
-
175
- public InputDevice getDevice() {
176
- return mDevice;
177
- }
178
-
179
- public int getAxisCount() {
180
- return mAxes.length;
181
- }
182
-
183
- public int getAxis(int axisIndex) {
184
- return mAxes[axisIndex];
185
- }
186
-
187
- public float getAxisValue(int axisIndex) {
188
- return mAxisValues[axisIndex];
189
- }
190
-
191
- public int getKeyCount() {
192
- return mKeys.size();
193
- }
194
-
195
- public int getKeyCode(int keyIndex) {
196
- return mKeys.keyAt(keyIndex);
197
- }
198
-
199
- public boolean isKeyPressed(int keyIndex) {
200
- return mKeys.valueAt(keyIndex) != 0;
201
- }
202
-
203
- public boolean onKeyDown(KeyEvent event) {
204
- final int keyCode = event.getKeyCode();
205
- if (isGameKey(keyCode)) {
206
- if (event.getRepeatCount() == 0) {
207
- final String symbolicName = KeyEvent.keyCodeToString(keyCode);
208
- mKeys.put(keyCode, 1);
209
- Log.i(TAG, mDevice.getName() + " - Key Down: " + symbolicName);
210
- }
211
- return true;
212
- }
213
- return false;
214
- }
215
-
216
- public boolean onKeyUp(KeyEvent event) {
217
- final int keyCode = event.getKeyCode();
218
- if (isGameKey(keyCode)) {
219
- int index = mKeys.indexOfKey(keyCode);
220
- if (index >= 0) {
221
- final String symbolicName = KeyEvent.keyCodeToString(keyCode);
222
- mKeys.put(keyCode, 0);
223
- Log.i(TAG, mDevice.getName() + " - Key Up: " + symbolicName);
224
- }
225
- return true;
226
- }
227
- return false;
228
- }
229
-
230
- public boolean onJoystickMotion(MotionEvent event) {
231
- StringBuilder message = new StringBuilder();
232
- message.append(mDevice.getName()).append(" - Joystick Motion:\n");
233
-
234
- final int historySize = event.getHistorySize();
235
- for (int i = 0; i < mAxes.length; i++) {
236
- final int axis = mAxes[i];
237
- final float value = event.getAxisValue(axis);
238
- mAxisValues[i] = value;
239
- message.append(" ").append(MotionEvent.axisToString(axis)).append(": ");
240
-
241
- // Append all historical values in the batch.
242
- for (int historyPos = 0; historyPos < historySize; historyPos++) {
243
- message.append(event.getHistoricalAxisValue(axis, historyPos));
244
- message.append(", ");
245
- }
246
-
247
- // Append the current value.
248
- message.append(value);
249
- message.append("\n");
250
- }
251
- Log.i(TAG, message.toString());
252
- return true;
253
- }
254
-
255
- // Check whether this is a key we care about.
256
- // In a real game, we would probably let the user configure which keys to use
257
- // instead of hardcoding the keys like this.
258
- private static boolean isGameKey(int keyCode) {
259
- switch (keyCode) {
260
- case KeyEvent.KEYCODE_DPAD_UP:
261
- case KeyEvent.KEYCODE_DPAD_DOWN:
262
- case KeyEvent.KEYCODE_DPAD_LEFT:
263
- case KeyEvent.KEYCODE_DPAD_RIGHT:
264
- case KeyEvent.KEYCODE_DPAD_CENTER:
265
- case KeyEvent.KEYCODE_SPACE:
266
- return true;
267
- default:
268
- return KeyEvent.isGamepadButton(keyCode);
269
- }
270
- }
271
- }
272
-
273
- /**
274
- * A list adapter that displays a summary of the device state.
275
- */
276
- private static class SummaryAdapter extends BaseAdapter {
277
- private static final int BASE_ID_HEADING = 1 << 10;
278
- private static final int BASE_ID_DEVICE_ITEM = 2 << 10;
279
- private static final int BASE_ID_AXIS_ITEM = 3 << 10;
280
- private static final int BASE_ID_KEY_ITEM = 4 << 10;
281
-
282
- private final Context mContext;
283
- private final Resources mResources;
284
-
285
- private final SparseArray<Item> mDataItems = new SparseArray<Item>();
286
- private final ArrayList<Item> mVisibleItems = new ArrayList<Item>();
287
-
288
- private final Heading mDeviceHeading;
289
- private final TextColumn mDeviceNameTextColumn;
290
-
291
- private final Heading mAxesHeading;
292
- private final Heading mKeysHeading;
293
-
294
- private InputDeviceState mState;
295
-
296
- public SummaryAdapter(Context context, Resources resources) {
297
- mContext = context;
298
- mResources = resources;
299
-
300
- mDeviceHeading = new Heading(BASE_ID_HEADING | 0,
301
- mResources.getString(R.string.game_controller_input_heading_device));
302
- mDeviceNameTextColumn = new TextColumn(BASE_ID_DEVICE_ITEM | 0,
303
- mResources.getString(R.string.game_controller_input_label_device_name));
304
-
305
- mAxesHeading = new Heading(BASE_ID_HEADING | 1,
306
- mResources.getString(R.string.game_controller_input_heading_axes));
307
- mKeysHeading = new Heading(BASE_ID_HEADING | 2,
308
- mResources.getString(R.string.game_controller_input_heading_keys));
309
- }
310
-
311
- public void onItemClick(int position) {
312
- if (mState != null) {
313
- Toast toast = Toast.makeText(
314
- mContext, mState.getDevice().toString(), Toast.LENGTH_LONG);
315
- toast.show();
316
- }
317
- }
318
-
319
- public void show(InputDeviceState state) {
320
- mState = state;
321
- mVisibleItems.clear();
322
-
323
- // Populate device information.
324
- mVisibleItems.add(mDeviceHeading);
325
- mDeviceNameTextColumn.setContent(state.getDevice().getName());
326
- mVisibleItems.add(mDeviceNameTextColumn);
327
-
328
- // Populate axes.
329
- mVisibleItems.add(mAxesHeading);
330
- final int axisCount = state.getAxisCount();
331
- for (int i = 0; i < axisCount; i++) {
332
- final int axis = state.getAxis(i);
333
- final int id = BASE_ID_AXIS_ITEM | axis;
334
- TextColumn column = (TextColumn) mDataItems.get(id);
335
- if (column == null) {
336
- column = new TextColumn(id, MotionEvent.axisToString(axis));
337
- mDataItems.put(id, column);
338
- }
339
- column.setContent(Float.toString(state.getAxisValue(i)));
340
- mVisibleItems.add(column);
341
- }
342
-
343
- // Populate keys.
344
- mVisibleItems.add(mKeysHeading);
345
- final int keyCount = state.getKeyCount();
346
- for (int i = 0; i < keyCount; i++) {
347
- final int keyCode = state.getKeyCode(i);
348
- final int id = BASE_ID_KEY_ITEM | keyCode;
349
- TextColumn column = (TextColumn) mDataItems.get(id);
350
- if (column == null) {
351
- column = new TextColumn(id, KeyEvent.keyCodeToString(keyCode));
352
- mDataItems.put(id, column);
353
- }
354
- column.setContent(mResources.getString(state.isKeyPressed(i)
355
- ? R.string.game_controller_input_key_pressed
356
- : R.string.game_controller_input_key_released));
357
- mVisibleItems.add(column);
358
- }
359
-
360
- notifyDataSetChanged();
361
- }
362
-
363
- @Override
364
- public boolean hasStableIds() {
365
- return true;
366
- }
367
-
368
- public int getCount() {
369
- return mVisibleItems.size();
370
- }
371
-
372
- public Item getItem(int position) {
373
- return mVisibleItems.get(position);
374
- }
375
-
376
- public long getItemId(int position) {
377
- return getItem(position).getItemId();
378
- }
379
-
380
- public View getView(int position, View convertView, ViewGroup parent) {
381
- return getItem(position).getView(convertView, parent);
382
- }
383
-
384
- private static abstract class Item {
385
- private final int mItemId;
386
- private final int mLayoutResourceId;
387
- private View mView;
388
-
389
- public Item(int itemId, int layoutResourceId) {
390
- mItemId = itemId;
391
- mLayoutResourceId = layoutResourceId;
392
- }
393
-
394
- public long getItemId() {
395
- return mItemId;
396
- }
397
-
398
- public View getView(View convertView, ViewGroup parent) {
399
- if (mView == null) {
400
- LayoutInflater inflater = (LayoutInflater)
401
- parent.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
402
- mView = inflater.inflate(mLayoutResourceId, parent, false);
403
- initView(mView);
404
- }
405
- updateView(mView);
406
- return mView;
407
- }
408
-
409
- protected void initView(View view) {
410
- }
411
-
412
- protected void updateView(View view) {
413
- }
414
- }
415
-
416
- private static class Heading extends Item {
417
- private final String mLabel;
418
-
419
- public Heading(int itemId, String label) {
420
- super(itemId, R.layout.game_controller_input_heading);
421
- mLabel = label;
422
- }
423
-
424
- @Override
425
- public void initView(View view) {
426
- TextView textView = (TextView) view;
427
- textView.setText(mLabel);
428
- }
429
- }
430
-
431
- private static class TextColumn extends Item {
432
- private final String mLabel;
433
-
434
- private String mContent;
435
- private TextView mContentView;
436
-
437
- public TextColumn(int itemId, String label) {
438
- super(itemId, R.layout.game_controller_input_text_column);
439
- mLabel = label;
440
- }
441
-
442
- public void setContent(String content) {
443
- mContent = content;
444
- }
445
-
446
- @Override
447
- public void initView(View view) {
448
- TextView textView = (TextView) view.findViewById(R.id.label);
449
- textView.setText(mLabel);
450
-
451
- mContentView = (TextView) view.findViewById(R.id.content);
452
- }
453
-
454
- @Override
455
- public void updateView(View view) {
456
- mContentView.setText(mContent);
457
- }
458
- }
459
- }
460
- }