gametel 0.1

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