summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/15.txt46591
-rw-r--r--api/current.txt45
-rw-r--r--cmds/am/src/com/android/commands/am/Am.java260
-rw-r--r--cmds/stagefright/stagefright.cpp29
-rw-r--r--core/java/android/app/Fragment.java35
-rw-r--r--core/java/android/app/FragmentManager.java31
-rw-r--r--core/java/android/app/LoaderManager.java17
-rw-r--r--core/java/android/app/SearchManager.java22
-rw-r--r--core/java/android/content/ContentResolver.java3
-rw-r--r--core/java/android/content/Context.java9
-rw-r--r--core/java/android/content/Loader.java26
-rw-r--r--core/java/android/content/SyncManager.java6
-rw-r--r--core/java/android/database/AbstractCursor.java46
-rw-r--r--core/java/android/database/AbstractWindowedCursor.java7
-rw-r--r--core/java/android/database/CrossProcessCursor.java52
-rw-r--r--core/java/android/database/CrossProcessCursorWrapper.java75
-rw-r--r--core/java/android/database/CursorToBulkCursorAdaptor.java71
-rw-r--r--core/java/android/database/CursorWindow.java80
-rw-r--r--core/java/android/database/CursorWrapper.java8
-rw-r--r--core/java/android/database/DatabaseUtils.java79
-rw-r--r--core/java/android/database/sqlite/SQLiteCompiledSql.java10
-rw-r--r--core/java/android/database/sqlite/SQLiteCursor.java10
-rw-r--r--core/java/android/database/sqlite/package.html2
-rw-r--r--core/java/android/hardware/Camera.java3
-rw-r--r--core/java/android/inputmethodservice/SoftInputWindow.java6
-rw-r--r--core/java/android/nfc/NfcAdapter.java55
-rw-r--r--core/java/android/os/CountDownTimer.java2
-rw-r--r--core/java/android/os/StrictMode.java7
-rw-r--r--core/java/android/provider/CalendarContract.java162
-rwxr-xr-xcore/java/android/provider/Telephony.java3
-rw-r--r--core/java/android/service/wallpaper/WallpaperService.java29
-rw-r--r--core/java/android/speech/tts/FileSynthesisCallback.java20
-rw-r--r--core/java/android/text/DynamicLayout.java6
-rw-r--r--core/java/android/text/StaticLayout.java144
-rw-r--r--core/java/android/text/method/ArrowKeyMovementMethod.java12
-rw-r--r--core/java/android/text/style/SuggestionSpan.java1
-rw-r--r--core/java/android/view/IApplicationToken.aidl1
-rw-r--r--core/java/android/view/View.java13
-rw-r--r--core/java/android/view/ViewRootImpl.java48
-rw-r--r--core/java/android/view/WindowManager.java11
-rw-r--r--core/java/android/view/accessibility/AccessibilityNodeInfo.java2
-rw-r--r--core/java/android/view/accessibility/AccessibilityRecord.java8
-rw-r--r--core/java/android/view/inputmethod/InputMethodManager.java14
-rw-r--r--core/java/android/view/textservice/SpellCheckerSession.java12
-rw-r--r--core/java/android/view/textservice/SuggestionsInfo.java6
-rw-r--r--core/java/android/webkit/HTML5VideoFullScreen.java4
-rw-r--r--core/java/android/webkit/JniUtil.java8
-rw-r--r--core/java/android/webkit/WebChromeClient.java46
-rw-r--r--core/java/android/webkit/WebSettings.java2
-rw-r--r--core/java/android/webkit/WebView.java89
-rw-r--r--core/java/android/webkit/WebViewCore.java35
-rw-r--r--core/java/android/webkit/ZoomManager.java22
-rw-r--r--core/java/android/widget/GridLayout.java14
-rw-r--r--core/java/android/widget/HorizontalScrollView.java5
-rw-r--r--core/java/android/widget/ListView.java4
-rw-r--r--core/java/android/widget/NumberPicker.java113
-rw-r--r--core/java/android/widget/RemoteViews.java10
-rw-r--r--core/java/android/widget/SpellChecker.java75
-rw-r--r--core/java/android/widget/TextView.java144
-rw-r--r--core/java/com/android/internal/view/menu/ActionMenuItemView.java26
-rw-r--r--core/java/com/android/internal/view/menu/ActionMenuPresenter.java6
-rw-r--r--core/java/com/android/internal/view/menu/BaseMenuPresenter.java7
-rw-r--r--core/java/com/android/internal/view/menu/ExpandedMenuView.java5
-rw-r--r--core/java/com/android/internal/view/menu/ListMenuItemView.java21
-rw-r--r--core/java/com/android/internal/widget/ActionBarContextView.java3
-rw-r--r--core/java/com/android/internal/widget/ActionBarView.java1
-rw-r--r--core/java/com/android/internal/widget/DigitalClock.java2
-rw-r--r--core/java/com/android/internal/widget/WaveView.java90
-rw-r--r--core/jni/android/graphics/Bitmap.cpp1
-rw-r--r--core/jni/android/graphics/TextLayoutCache.cpp78
-rw-r--r--core/jni/android_database_CursorWindow.cpp7
-rw-r--r--core/res/res/drawable-hdpi/btn_check_off_disabled_focused_holo_dark.pngbin474 -> 433 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_off_disabled_focused_holo_light.pngbin467 -> 433 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_off_disabled_holo_dark.pngbin355 -> 354 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_off_disabled_holo_light.pngbin352 -> 361 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_off_focused_holo_dark.pngbin476 -> 450 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_off_focused_holo_light.pngbin465 -> 515 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_off_holo.pngbin422 -> 486 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_off_holo_dark.pngbin354 -> 361 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_off_holo_light.pngbin352 -> 362 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_off_pressed_holo_dark.pngbin1411 -> 2422 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_off_pressed_holo_light.pngbin1358 -> 2375 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_dark.pngbin1731 -> 938 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_light.pngbin1695 -> 783 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_on_disabled_holo_dark.pngbin1172 -> 585 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_on_disabled_holo_light.pngbin1146 -> 624 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_on_focused_holo_dark.pngbin2332 -> 2425 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_on_focused_holo_light.pngbin2367 -> 2461 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_on_holo_dark.pngbin2132 -> 2150 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_on_holo_light.pngbin2186 -> 2181 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_on_pressed_holo_dark.pngbin2952 -> 2982 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_check_on_pressed_holo_light.pngbin2831 -> 2651 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_code_lock_default_holo.pngbin697 -> 697 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_dark.pngbin1491 -> 1382 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_light.pngbin1496 -> 1461 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_off_disabled_holo_dark.pngbin651 -> 654 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_off_disabled_holo_light.pngbin672 -> 717 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_off_focused_holo_dark.pngbin1531 -> 1658 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_off_focused_holo_light.pngbin1508 -> 1835 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_off_holo.pngbin989 -> 1142 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_off_holo_dark.pngbin685 -> 682 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_off_holo_light.pngbin716 -> 794 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_dark.pngbin2204 -> 2430 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_light.pngbin2184 -> 2526 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_dark.pngbin2310 -> 2055 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_light.pngbin2282 -> 2166 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_dark.pngbin1071 -> 1058 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_light.pngbin1071 -> 1169 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_on_focused_holo_dark.pngbin2325 -> 2799 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_on_focused_holo_light.pngbin2372 -> 2943 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_on_holo.pngbin2221 -> 1741 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_on_holo_dark.pngbin1514 -> 1808 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_on_holo_light.pngbin1697 -> 2208 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_dark.pngbin2849 -> 3261 bytes
-rw-r--r--core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_light.pngbin2763 -> 2896 bytes
-rw-r--r--core/res/res/drawable-hdpi/ic_lockscreen_outerring.pngbin9454 -> 0 bytes
-rw-r--r--core/res/res/drawable-hdpi/ic_suggestions_add.pngbin381 -> 373 bytes
-rw-r--r--core/res/res/drawable-hdpi/ic_suggestions_delete.pngbin478 -> 580 bytes
-rw-r--r--core/res/res/drawable-hdpi/spinner_ab_focused_holo_dark.9.pngbin263 -> 379 bytes
-rw-r--r--core/res/res/drawable-hdpi/spinner_ab_focused_holo_light.9.pngbin263 -> 382 bytes
-rw-r--r--core/res/res/drawable-hdpi/spinner_focused_holo_dark.9.pngbin272 -> 398 bytes
-rw-r--r--core/res/res/drawable-hdpi/spinner_focused_holo_light.9.pngbin272 -> 397 bytes
-rw-r--r--core/res/res/drawable-hdpi/stat_notify_chat.pngbin1217 -> 763 bytes
-rw-r--r--core/res/res/drawable-hdpi/stat_notify_disabled.pngbin1059 -> 1014 bytes
-rw-r--r--core/res/res/drawable-hdpi/text_edit_paste_window.9.pngbin917 -> 1058 bytes
-rw-r--r--core/res/res/drawable-hdpi/text_edit_side_paste_window.9.pngbin452 -> 488 bytes
-rw-r--r--core/res/res/drawable-hdpi/text_edit_suggestions_window.9.pngbin917 -> 1058 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_activated_holo_dark.9.pngbin212 -> 155 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_activated_holo_light.9.pngbin212 -> 155 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_default_holo_dark.9.pngbin209 -> 148 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_default_holo_light.9.pngbin207 -> 144 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_disabled_focused_holo_dark.9.pngbin298 -> 222 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_disabled_focused_holo_light.9.pngbin301 -> 201 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_disabled_holo_dark.9.pngbin208 -> 149 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_disabled_holo_light.9.pngbin206 -> 144 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_multiline_activated_holo_dark.9.pngbin212 -> 155 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_multiline_activated_holo_light.9.pngbin212 -> 155 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_multiline_default_holo_dark.9.pngbin209 -> 149 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_multiline_default_holo_light.9.pngbin207 -> 144 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_multiline_disabled_focused_holo_dark.9.pngbin298 -> 223 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_multiline_disabled_focused_holo_light.9.pngbin301 -> 201 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_multiline_disabled_holo_dark.9.pngbin208 -> 149 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_multiline_disabled_holo_light.9.pngbin206 -> 144 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_multiline_focused_holo_dark.9.pngbin330 -> 251 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_multiline_focused_holo_light.9.pngbin330 -> 294 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_search_default_holo_dark.9.pngbin171 -> 110 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_search_default_holo_light.9.pngbin162 -> 105 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_search_right_default_holo_dark.9.pngbin167 -> 108 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_search_right_default_holo_light.9.pngbin160 -> 103 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_search_right_selected_holo_dark.9.pngbin181 -> 114 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_search_right_selected_holo_light.9.pngbin175 -> 111 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_search_selected_holo_dark.9.pngbin186 -> 114 bytes
-rw-r--r--core/res/res/drawable-hdpi/textfield_search_selected_holo_light.9.pngbin177 -> 112 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_disable_focused_holo_dark.pngbin352 -> 354 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_disable_focused_holo_light.pngbin346 -> 351 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_disable_holo_dark.pngbin352 -> 354 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_disable_holo_light.pngbin346 -> 351 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_disabled_focused_holo_dark.pngbin450 -> 368 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_disabled_focused_holo_light.pngbin448 -> 368 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_disabled_holo_dark.pngbin344 -> 329 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_disabled_holo_light.pngbin344 -> 329 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_focused_holo_dark.pngbin448 -> 366 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_focused_holo_light.pngbin452 -> 425 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_holo.pngbin387 -> 429 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_holo_dark.pngbin344 -> 329 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_holo_light.pngbin344 -> 323 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_normal_holo_dark.pngbin443 -> 490 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_normal_holo_light.pngbin415 -> 491 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_pressed_holo_dark.pngbin940 -> 1603 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_off_pressed_holo_light.pngbin938 -> 1598 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_dark.pngbin1115 -> 694 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_light.pngbin1118 -> 632 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_on_disabled_holo_dark.pngbin792 -> 475 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_on_disabled_holo_light.pngbin793 -> 508 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_on_focused_holo_dark.pngbin1452 -> 1752 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_on_focused_holo_light.pngbin1455 -> 1749 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_on_holo_dark.pngbin1339 -> 1564 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_on_holo_light.pngbin1346 -> 1529 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_on_pressed_holo_dark.pngbin1737 -> 1816 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_check_on_pressed_holo_light.pngbin1711 -> 1907 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_code_lock_touched.pngbin826 -> 827 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_dark.pngbin1000 -> 895 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_light.pngbin988 -> 919 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_off_disabled_holo_dark.pngbin516 -> 464 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_off_disabled_holo_light.pngbin533 -> 479 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_off_focused_holo_dark.pngbin1012 -> 985 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_off_focused_holo_light.pngbin1002 -> 1046 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_off_holo.pngbin724 -> 747 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_off_holo_dark.pngbin530 -> 478 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_off_holo_light.pngbin556 -> 533 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_dark.pngbin1447 -> 1774 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_light.pngbin1445 -> 1834 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_dark.pngbin1450 -> 1189 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_light.pngbin1410 -> 1272 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_dark.pngbin725 -> 684 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_light.pngbin723 -> 736 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_on_focused_holo_dark.pngbin1404 -> 1347 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_on_focused_holo_light.pngbin1460 -> 1403 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_on_holo.pngbin1350 -> 1022 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_on_holo_dark.pngbin972 -> 959 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_on_holo_light.pngbin1128 -> 993 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_dark.pngbin1724 -> 2104 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_light.pngbin1695 -> 1829 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_light.pngbin2282 -> 2286 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_light.pngbin1572 -> 1575 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_light.pngbin2367 -> 2361 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_light.pngbin1656 -> 1661 bytes
-rw-r--r--core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_light.pngbin2668 -> 2664 bytes
-rw-r--r--core/res/res/drawable-mdpi/ic_lockscreen_outerring.pngbin5840 -> 0 bytes
-rw-r--r--core/res/res/drawable-mdpi/ic_suggestions_add.pngbin353 -> 359 bytes
-rw-r--r--core/res/res/drawable-mdpi/ic_suggestions_delete.pngbin401 -> 460 bytes
-rw-r--r--core/res/res/drawable-mdpi/spinner_ab_focused_holo_dark.9.pngbin208 -> 293 bytes
-rw-r--r--core/res/res/drawable-mdpi/spinner_ab_focused_holo_light.9.pngbin208 -> 287 bytes
-rw-r--r--core/res/res/drawable-mdpi/spinner_focused_holo_dark.9.pngbin222 -> 319 bytes
-rw-r--r--core/res/res/drawable-mdpi/spinner_focused_holo_light.9.pngbin222 -> 316 bytes
-rw-r--r--core/res/res/drawable-mdpi/stat_notify_chat.pngbin844 -> 617 bytes
-rw-r--r--core/res/res/drawable-mdpi/stat_notify_disabled.pngbin738 -> 729 bytes
-rw-r--r--core/res/res/drawable-mdpi/text_edit_paste_window.9.pngbin568 -> 736 bytes
-rw-r--r--core/res/res/drawable-mdpi/text_edit_side_paste_window.9.pngbin318 -> 406 bytes
-rw-r--r--core/res/res/drawable-mdpi/text_edit_suggestions_window.9.pngbin568 -> 736 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_activated_holo_dark.9.pngbin187 -> 146 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_activated_holo_light.9.pngbin187 -> 146 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_default_holo_dark.9.pngbin176 -> 169 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_default_holo_light.9.pngbin173 -> 166 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_disabled_focused_holo_dark.9.pngbin263 -> 172 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_disabled_focused_holo_light.9.pngbin248 -> 162 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_disabled_holo_dark.9.pngbin176 -> 169 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_disabled_holo_light.9.pngbin173 -> 166 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_multiline_activated_holo_dark.9.pngbin187 -> 146 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_multiline_activated_holo_light.9.pngbin187 -> 146 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_multiline_default_holo_dark.9.pngbin176 -> 169 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_multiline_default_holo_light.9.pngbin173 -> 166 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_multiline_disabled_focused_holo_dark.9.pngbin263 -> 172 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_multiline_disabled_focused_holo_light.9.pngbin248 -> 162 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_multiline_disabled_holo_dark.9.pngbin176 -> 169 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_multiline_disabled_holo_light.9.pngbin173 -> 166 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_multiline_focused_holo_dark.9.pngbin303 -> 193 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_multiline_focused_holo_light.9.pngbin303 -> 189 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_search_default_holo_dark.9.pngbin164 -> 106 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_search_default_holo_light.9.pngbin160 -> 100 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_search_right_default_holo_dark.9.pngbin157 -> 105 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_search_right_default_holo_light.9.pngbin156 -> 98 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_search_right_selected_holo_dark.9.pngbin167 -> 107 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_search_right_selected_holo_light.9.pngbin164 -> 107 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_search_selected_holo_dark.9.pngbin178 -> 109 bytes
-rw-r--r--core/res/res/drawable-mdpi/textfield_search_selected_holo_light.9.pngbin175 -> 109 bytes
-rw-r--r--core/res/res/drawable-nodpi/text_cursor_holo_dark.9.pngbin121 -> 116 bytes
-rw-r--r--core/res/res/drawable-nodpi/text_cursor_holo_light.9.pngbin120 -> 116 bytes
-rw-r--r--core/res/res/drawable-sw600dp-hdpi/ic_lockscreen_handle_normal.pngbin0 -> 13316 bytes
-rw-r--r--core/res/res/drawable-sw600dp-hdpi/ic_lockscreen_handle_pressed.pngbin0 -> 15564 bytes
-rw-r--r--core/res/res/drawable-sw600dp-mdpi/ic_lockscreen_handle_normal.pngbin0 -> 6774 bytes
-rw-r--r--core/res/res/drawable-sw600dp-mdpi/ic_lockscreen_handle_pressed.pngbin0 -> 8147 bytes
-rw-r--r--core/res/res/drawable-sw600dp-xhdpi/ic_lockscreen_handle_normal.pngbin0 -> 21777 bytes
-rw-r--r--core/res/res/drawable-sw600dp-xhdpi/ic_lockscreen_handle_pressed.pngbin0 -> 25531 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_buttonless_off.pngbin1566 -> 1525 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_buttonless_on.pngbin2449 -> 2288 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off.pngbin861 -> 709 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_disable.pngbin788 -> 684 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_disable_focused.pngbin1383 -> 1200 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_disable_focused_holo_dark.pngbin465 -> 406 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_disable_focused_holo_light.pngbin461 -> 407 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_disable_holo_dark.pngbin465 -> 406 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_disable_holo_light.pngbin461 -> 407 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_disabled_focused_holo_dark.pngbin585 -> 478 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_disabled_focused_holo_light.pngbin581 -> 478 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_disabled_holo_dark.pngbin391 -> 376 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_disabled_holo_light.pngbin388 -> 375 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_focused_holo_dark.pngbin588 -> 485 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_focused_holo_light.pngbin583 -> 653 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_holo.pngbin475 -> 544 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_holo_dark.pngbin392 -> 377 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_holo_light.pngbin388 -> 375 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_normal_holo_dark.pngbin805 -> 683 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_normal_holo_light.pngbin772 -> 721 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_pressed.pngbin4509 -> 4116 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_dark.pngbin2047 -> 3152 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_light.pngbin1979 -> 3119 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_off_selected.pngbin4777 -> 4388 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_on.pngbin3428 -> 3147 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_dark.pngbin2242 -> 1207 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_light.pngbin2204 -> 945 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_dark.pngbin1519 -> 701 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_light.pngbin1495 -> 762 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_on_focused_holo_dark.pngbin3274 -> 3457 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_on_focused_holo_light.pngbin3329 -> 3469 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_on_holo_dark.pngbin2987 -> 2995 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_on_holo_light.pngbin3043 -> 2996 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_dark.pngbin4220 -> 4377 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_light.pngbin4133 -> 3702 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off.pngbin6432 -> 6451 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_dark.pngbin2241 -> 1689 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_light.pngbin2235 -> 1789 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_dark.pngbin889 -> 817 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_light.pngbin913 -> 919 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_dark.pngbin2296 -> 2109 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_light.pngbin2291 -> 2321 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off_holo.pngbin1466 -> 1484 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off_holo_dark.pngbin940 -> 911 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off_holo_light.pngbin997 -> 1009 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off_pressed.pngbin7382 -> 7287 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_dark.pngbin3364 -> 3514 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_light.pngbin3346 -> 3684 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_off_selected.pngbin7514 -> 7415 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on.pngbin6624 -> 6685 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_dark.pngbin3591 -> 3334 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_light.pngbin3511 -> 3591 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_dark.pngbin1541 -> 1446 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_light.pngbin1565 -> 1643 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_dark.pngbin3574 -> 4123 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_light.pngbin3679 -> 4273 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on_holo.pngbin3491 -> 3517 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on_holo_dark.pngbin2372 -> 2971 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on_holo_light.pngbin2571 -> 3127 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on_pressed.pngbin7430 -> 7373 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_dark.pngbin4350 -> 4884 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_light.pngbin4281 -> 4189 bytes
-rw-r--r--core/res/res/drawable-xhdpi/btn_radio_on_selected.pngbin7591 -> 7499 bytes
-rw-r--r--core/res/res/drawable-xhdpi/ic_lockscreen_outerring.pngbin13636 -> 0 bytes
-rw-r--r--core/res/res/drawable-xhdpi/ic_suggestions_add.pngbin401 -> 419 bytes
-rw-r--r--core/res/res/drawable-xhdpi/ic_suggestions_delete.pngbin627 -> 771 bytes
-rw-r--r--core/res/res/drawable-xhdpi/spinner_ab_focused_holo_dark.9.pngbin327 -> 511 bytes
-rw-r--r--core/res/res/drawable-xhdpi/spinner_ab_focused_holo_light.9.pngbin327 -> 505 bytes
-rw-r--r--core/res/res/drawable-xhdpi/spinner_focused_holo_dark.9.pngbin344 -> 550 bytes
-rw-r--r--core/res/res/drawable-xhdpi/spinner_focused_holo_light.9.pngbin344 -> 538 bytes
-rw-r--r--core/res/res/drawable-xhdpi/stat_notify_chat.pngbin1662 -> 864 bytes
-rw-r--r--core/res/res/drawable-xhdpi/stat_notify_disabled.pngbin1409 -> 1406 bytes
-rw-r--r--core/res/res/drawable-xhdpi/text_edit_paste_window.9.pngbin1279 -> 1484 bytes
-rw-r--r--core/res/res/drawable-xhdpi/text_edit_side_paste_window.9.pngbin522 -> 641 bytes
-rw-r--r--core/res/res/drawable-xhdpi/text_edit_suggestions_window.9.pngbin1279 -> 1484 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_activated_holo_dark.9.pngbin270 -> 169 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_activated_holo_light.9.pngbin270 -> 169 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_default_holo_dark.9.pngbin259 -> 170 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_default_holo_light.9.pngbin254 -> 157 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_disabled_focused_holo_dark.9.pngbin423 -> 341 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_disabled_focused_holo_light.9.pngbin409 -> 323 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_disabled_holo_dark.9.pngbin253 -> 170 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_disabled_holo_light.9.pngbin250 -> 157 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_multiline_activated_holo_dark.9.pngbin270 -> 169 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_multiline_activated_holo_light.9.pngbin270 -> 169 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_multiline_default_holo_dark.9.pngbin259 -> 170 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_multiline_default_holo_light.9.pngbin254 -> 157 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_multiline_disabled_focused_holo_dark.9.pngbin423 -> 341 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_multiline_disabled_focused_holo_light.9.pngbin409 -> 323 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_multiline_disabled_holo_dark.9.pngbin253 -> 170 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_multiline_disabled_holo_light.9.pngbin250 -> 157 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_multiline_focused_holo_dark.9.pngbin494 -> 593 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_multiline_focused_holo_light.9.pngbin494 -> 593 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_search_default_holo_dark.9.pngbin191 -> 126 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_search_default_holo_light.9.pngbin176 -> 126 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_search_right_default_holo_dark.9.pngbin184 -> 125 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_search_right_default_holo_light.9.pngbin175 -> 127 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_search_right_selected_holo_dark.9.pngbin195 -> 128 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_search_right_selected_holo_light.9.pngbin193 -> 128 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_search_selected_holo_dark.9.pngbin213 -> 114 bytes
-rw-r--r--core/res/res/drawable-xhdpi/textfield_search_selected_holo_light.9.pngbin208 -> 126 bytes
-rw-r--r--core/res/res/drawable/edit_text_holo_dark.xml2
-rw-r--r--core/res/res/drawable/ic_lockscreen_outerring.xml23
-rw-r--r--core/res/res/layout-sw600dp/keyguard_screen_tab_unlock.xml22
-rw-r--r--core/res/res/layout-sw600dp/keyguard_screen_tab_unlock_land.xml22
-rw-r--r--core/res/res/values-af/strings.xml2
-rw-r--r--core/res/res/values-am/strings.xml2
-rw-r--r--core/res/res/values-ar/strings.xml2
-rw-r--r--core/res/res/values-bg/strings.xml2
-rw-r--r--core/res/res/values-ca/strings.xml1
-rw-r--r--core/res/res/values-cs/strings.xml2
-rw-r--r--core/res/res/values-da/strings.xml2
-rw-r--r--core/res/res/values-de/strings.xml2
-rw-r--r--core/res/res/values-el/strings.xml1
-rw-r--r--core/res/res/values-en-rGB/strings.xml1
-rw-r--r--core/res/res/values-es-rUS/strings.xml2
-rw-r--r--core/res/res/values-es/strings.xml2
-rw-r--r--core/res/res/values-fa/strings.xml2
-rw-r--r--core/res/res/values-fi/strings.xml2
-rw-r--r--core/res/res/values-fr/strings.xml2
-rw-r--r--core/res/res/values-hi/strings.xml2
-rw-r--r--core/res/res/values-hr/strings.xml2
-rw-r--r--core/res/res/values-hu/strings.xml2
-rw-r--r--core/res/res/values-in/strings.xml2
-rw-r--r--core/res/res/values-it/strings.xml2
-rw-r--r--core/res/res/values-iw/strings.xml2
-rw-r--r--core/res/res/values-ja/strings.xml2
-rw-r--r--core/res/res/values-ko/strings.xml2
-rw-r--r--core/res/res/values-lt/strings.xml2
-rw-r--r--core/res/res/values-lv/strings.xml2
-rw-r--r--core/res/res/values-ms/strings.xml2
-rw-r--r--core/res/res/values-nb/strings.xml2
-rw-r--r--core/res/res/values-nl/strings.xml2
-rw-r--r--core/res/res/values-pl/strings.xml2
-rw-r--r--core/res/res/values-pt-rPT/strings.xml2
-rw-r--r--core/res/res/values-pt/strings.xml2
-rw-r--r--core/res/res/values-rm/strings.xml2
-rw-r--r--core/res/res/values-ro/strings.xml2
-rw-r--r--core/res/res/values-ru/strings.xml4
-rw-r--r--core/res/res/values-sk/strings.xml2
-rw-r--r--core/res/res/values-sl/strings.xml2
-rw-r--r--core/res/res/values-sr/strings.xml2
-rw-r--r--core/res/res/values-sv/strings.xml1
-rw-r--r--core/res/res/values-sw/strings.xml2
-rw-r--r--core/res/res/values-sw600dp-land/arrays.xml72
-rw-r--r--core/res/res/values-sw600dp/colors.xml4
-rw-r--r--core/res/res/values-sw600dp/dimens.xml2
-rw-r--r--core/res/res/values-th/strings.xml2
-rw-r--r--core/res/res/values-tl/strings.xml2
-rw-r--r--core/res/res/values-tr/strings.xml2
-rw-r--r--core/res/res/values-uk/strings.xml4
-rw-r--r--core/res/res/values-vi/strings.xml2
-rw-r--r--core/res/res/values-zh-rCN/strings.xml2
-rw-r--r--core/res/res/values-zh-rTW/strings.xml2
-rw-r--r--core/res/res/values-zu/strings.xml1
-rwxr-xr-xcore/res/res/values/attrs.xml8
-rw-r--r--core/res/res/values/colors.xml6
-rw-r--r--core/res/res/values/dimens.xml3
-rwxr-xr-xcore/res/res/values/strings.xml3
-rw-r--r--core/res/res/values/styles.xml13
-rw-r--r--core/tests/coretests/src/android/database/CursorWindowTest.java94
-rw-r--r--core/tests/coretests/src/android/webkit/AccessibilityInjectorTest.java2
-rw-r--r--core/tests/coretests/src/android/widget/SimpleCursorAdapterTest.java23
-rw-r--r--core/tests/coretests/src/android/widget/focus/ListWithMailMessages.java3
-rw-r--r--data/etc/platform.xml1
-rw-r--r--data/keyboards/keyboards.mk3
-rw-r--r--docs/html/guide/topics/resources/drawable-resource.jd2
-rw-r--r--graphics/java/android/renderscript/Element.java87
-rw-r--r--graphics/java/android/renderscript/ProgramRaster.java28
-rw-r--r--graphics/java/android/renderscript/ProgramStore.java93
-rw-r--r--graphics/java/android/renderscript/RenderScript.java7
-rw-r--r--graphics/java/android/renderscript/Sampler.java59
-rw-r--r--graphics/jni/android_renderscript_RenderScript.cpp12
-rw-r--r--include/binder/CursorWindow.h3
-rw-r--r--include/media/stagefright/MediaDefs.h5
-rw-r--r--include/surfaceflinger/ISurfaceComposer.h10
-rw-r--r--include/surfaceflinger/SurfaceComposerClient.h2
-rw-r--r--include/utils/Singleton.h3
-rw-r--r--libs/binder/CursorWindow.cpp4
-rw-r--r--libs/gui/ISurfaceComposer.cpp6
-rw-r--r--libs/gui/SurfaceComposerClient.cpp33
-rw-r--r--libs/gui/tests/SurfaceTexture_test.cpp84
-rw-r--r--libs/hwui/Android.mk1
-rw-r--r--libs/hwui/Caches.h4
-rw-r--r--libs/hwui/DisplayListLogBuffer.h1
-rw-r--r--libs/hwui/DisplayListRenderer.cpp13
-rw-r--r--libs/hwui/DisplayListRenderer.h99
-rw-r--r--libs/hwui/LayerRenderer.cpp24
-rw-r--r--libs/hwui/LayerRenderer.h33
-rw-r--r--libs/hwui/Matrix.h4
-rw-r--r--libs/hwui/OpenGLRenderer.h14
-rw-r--r--libs/hwui/Patch.cpp33
-rw-r--r--libs/hwui/ResourceCache.h4
-rw-r--r--libs/hwui/SkiaColorFilter.h10
-rw-r--r--libs/hwui/SkiaShader.h24
-rw-r--r--libs/rs/RenderScript.h12
-rw-r--r--libs/rs/driver/rsdBcc.cpp46
-rw-r--r--libs/rs/driver/rsdCore.cpp97
-rw-r--r--libs/rs/driver/rsdCore.h4
-rw-r--r--libs/rs/driver/rsdFrameBuffer.cpp12
-rw-r--r--libs/rs/driver/rsdMeshObj.cpp9
-rw-r--r--libs/rs/driver/rsdProgram.cpp2
-rw-r--r--libs/rs/driver/rsdShader.cpp18
-rw-r--r--libs/rs/rsAllocation.cpp8
-rw-r--r--libs/rs/rsAllocation.h9
-rw-r--r--libs/rs/rsElement.cpp3
-rw-r--r--libs/rs/rsFBOCache.cpp17
-rw-r--r--libs/rs/rsFBOCache.h6
-rw-r--r--libs/rs/rsMesh.cpp69
-rw-r--r--libs/rs/rsMesh.h24
-rw-r--r--libs/rs/rsProgram.cpp55
-rw-r--r--libs/rs/rsProgram.h41
-rw-r--r--libs/rs/rsProgramFragment.cpp4
-rw-r--r--libs/rs/rsProgramRaster.h25
-rw-r--r--libs/rs/rsProgramStore.h35
-rw-r--r--libs/rs/rsProgramVertex.cpp10
-rw-r--r--libs/rs/rsSampler.h37
-rw-r--r--libs/rs/scriptc/rs_graphics.rsh1
-rw-r--r--libs/rs/scriptc/rs_quaternion.rsh78
-rw-r--r--libs/utils/Android.mk4
-rw-r--r--media/java/android/media/CamcorderProfile.java2
-rw-r--r--media/java/android/media/MediaFile.java11
-rw-r--r--media/java/android/media/MediaInserter.java74
-rw-r--r--media/java/android/media/MediaRecorder.java2
-rw-r--r--media/java/android/media/MediaScanner.java62
-rw-r--r--media/libmediaplayerservice/Android.mk2
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.cpp4
-rw-r--r--media/libmediaplayerservice/nuplayer/Android.mk2
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayer.cpp21
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayer.h1
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp17
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDriver.h2
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp4
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerSource.h1
-rw-r--r--media/libmediaplayerservice/nuplayer/RTSPSource.cpp354
-rw-r--r--media/libmediaplayerservice/nuplayer/RTSPSource.h109
-rw-r--r--media/libstagefright/ACodec.cpp4
-rw-r--r--media/libstagefright/Android.mk2
-rw-r--r--media/libstagefright/AwesomePlayer.cpp96
-rw-r--r--media/libstagefright/DataSource.cpp2
-rw-r--r--media/libstagefright/MP3Extractor.cpp19
-rw-r--r--media/libstagefright/MediaDefs.cpp3
-rw-r--r--media/libstagefright/MediaExtractor.cpp3
-rwxr-xr-xmedia/libstagefright/OMXCodec.cpp11
-rw-r--r--media/libstagefright/StagefrightMediaScanner.cpp2
-rw-r--r--media/libstagefright/codecs/amrnb/enc/AMRNBEncoder.cpp6
-rw-r--r--media/libstagefright/codecs/amrwbenc/AMRWBEncoder.cpp6
-rw-r--r--media/libstagefright/include/ARTSPController.h97
-rw-r--r--media/libstagefright/include/AwesomePlayer.h10
-rw-r--r--media/libstagefright/include/MPEG2PSExtractor.h80
-rw-r--r--media/libstagefright/mpeg2ts/ATSParser.h9
-rw-r--r--media/libstagefright/mpeg2ts/Android.mk1
-rw-r--r--media/libstagefright/mpeg2ts/ESQueue.cpp21
-rw-r--r--media/libstagefright/mpeg2ts/MPEG2PSExtractor.cpp715
-rw-r--r--media/libstagefright/rtsp/APacketSource.cpp163
-rw-r--r--media/libstagefright/rtsp/APacketSource.h42
-rw-r--r--media/libstagefright/rtsp/ARTSPController.cpp214
-rw-r--r--media/libstagefright/rtsp/Android.mk1
-rw-r--r--media/libstagefright/rtsp/MyHandler.h167
-rw-r--r--media/tests/MediaFrameworkTest/Android.mk2
-rwxr-xr-xmedia/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkUnitTestRunner.java5
-rw-r--r--media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/MediaInserterTest.java246
-rw-r--r--opengl/java/android/opengl/GLSurfaceView.java20
-rw-r--r--packages/SharedStorageBackup/AndroidManifest.xml3
-rw-r--r--packages/SharedStorageBackup/src/com/android/sharedstoragebackup/SharedStorageAgent.java6
-rw-r--r--packages/SystemUI/res/drawable-hdpi/stat_notify_image.pngbin717 -> 720 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/stat_notify_image_error.pngbin969 -> 972 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_notify_image.pngbin614 -> 613 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/stat_notify_image_error.pngbin726 -> 731 bytes
-rw-r--r--packages/SystemUI/res/drawable-xhdpi/stat_notify_image.pngbin847 -> 894 bytes
-rw-r--r--packages/SystemUI/res/drawable-xhdpi/stat_notify_image_error.pngbin1248 -> 1252 bytes
-rw-r--r--packages/SystemUI/res/layout-sw600dp/status_bar_notification_area.xml13
-rw-r--r--packages/SystemUI/res/values-af/strings.xml28
-rw-r--r--packages/SystemUI/res/values-am/strings.xml28
-rw-r--r--packages/SystemUI/res/values-ar/strings.xml28
-rw-r--r--packages/SystemUI/res/values-bg/strings.xml28
-rw-r--r--packages/SystemUI/res/values-ca/strings.xml28
-rw-r--r--packages/SystemUI/res/values-cs/strings.xml28
-rw-r--r--packages/SystemUI/res/values-da/strings.xml28
-rw-r--r--packages/SystemUI/res/values-de/strings.xml28
-rw-r--r--packages/SystemUI/res/values-el/strings.xml28
-rw-r--r--packages/SystemUI/res/values-en-rGB/strings.xml28
-rw-r--r--packages/SystemUI/res/values-es-rUS/strings.xml28
-rw-r--r--packages/SystemUI/res/values-es/strings.xml28
-rw-r--r--packages/SystemUI/res/values-fa/strings.xml28
-rw-r--r--packages/SystemUI/res/values-fi/strings.xml28
-rw-r--r--packages/SystemUI/res/values-fr/strings.xml30
-rw-r--r--packages/SystemUI/res/values-hi/strings.xml28
-rw-r--r--packages/SystemUI/res/values-hr/strings.xml28
-rw-r--r--packages/SystemUI/res/values-hu/strings.xml28
-rw-r--r--packages/SystemUI/res/values-in/strings.xml28
-rw-r--r--packages/SystemUI/res/values-it/strings.xml28
-rw-r--r--packages/SystemUI/res/values-iw/strings.xml28
-rw-r--r--packages/SystemUI/res/values-ja/strings.xml28
-rw-r--r--packages/SystemUI/res/values-ko/strings.xml28
-rw-r--r--packages/SystemUI/res/values-lt/strings.xml28
-rw-r--r--packages/SystemUI/res/values-lv/strings.xml28
-rw-r--r--packages/SystemUI/res/values-ms/strings.xml28
-rw-r--r--packages/SystemUI/res/values-nb/strings.xml28
-rw-r--r--packages/SystemUI/res/values-nl/strings.xml28
-rw-r--r--packages/SystemUI/res/values-pl/strings.xml28
-rw-r--r--packages/SystemUI/res/values-pt-rPT/strings.xml28
-rw-r--r--packages/SystemUI/res/values-pt/strings.xml28
-rw-r--r--packages/SystemUI/res/values-rm/strings.xml28
-rw-r--r--packages/SystemUI/res/values-ro/strings.xml28
-rw-r--r--packages/SystemUI/res/values-ru/strings.xml30
-rw-r--r--packages/SystemUI/res/values-sk/strings.xml28
-rw-r--r--packages/SystemUI/res/values-sl/strings.xml28
-rw-r--r--packages/SystemUI/res/values-sr/strings.xml28
-rw-r--r--packages/SystemUI/res/values-sv/strings.xml28
-rw-r--r--packages/SystemUI/res/values-sw/strings.xml28
-rw-r--r--packages/SystemUI/res/values-th/strings.xml28
-rw-r--r--packages/SystemUI/res/values-tl/strings.xml28
-rw-r--r--packages/SystemUI/res/values-tr/strings.xml28
-rw-r--r--packages/SystemUI/res/values-uk/strings.xml28
-rw-r--r--packages/SystemUI/res/values-vi/strings.xml28
-rw-r--r--packages/SystemUI/res/values-zh-rCN/strings.xml28
-rw-r--r--packages/SystemUI/res/values-zh-rTW/strings.xml28
-rw-r--r--packages/SystemUI/res/values-zu/strings.xml28
-rw-r--r--packages/SystemUI/res/values/config.xml6
-rw-r--r--packages/SystemUI/res/values/strings.xml28
-rw-r--r--packages/SystemUI/src/com/android/systemui/ImageWallpaper.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java26
-rw-r--r--packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java58
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java14
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java37
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java39
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java53
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/tablet/HoloClock.java8
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java5
-rw-r--r--policy/src/com/android/internal/policy/impl/KeyguardStatusViewManager.java10
-rw-r--r--policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java103
-rw-r--r--services/java/com/android/server/InputMethodManagerService.java63
-rw-r--r--services/java/com/android/server/NetworkManagementService.java5
-rw-r--r--services/java/com/android/server/PowerManagerService.java24
-rw-r--r--services/java/com/android/server/TextServicesManagerService.java9
-rw-r--r--services/java/com/android/server/Watchdog.java3
-rw-r--r--services/java/com/android/server/am/ActivityManagerService.java153
-rw-r--r--services/java/com/android/server/am/ActivityRecord.java7
-rw-r--r--services/java/com/android/server/am/ProcessList.java38
-rw-r--r--services/java/com/android/server/am/ProcessRecord.java4
-rw-r--r--services/java/com/android/server/wm/AppWindowToken.java24
-rw-r--r--services/java/com/android/server/wm/Session.java10
-rw-r--r--services/java/com/android/server/wm/WindowManagerService.java52
-rw-r--r--services/java/com/android/server/wm/WindowState.java17
-rw-r--r--services/surfaceflinger/Layer.cpp34
-rw-r--r--services/surfaceflinger/Layer.h5
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp116
-rw-r--r--services/surfaceflinger/SurfaceFlinger.h40
-rw-r--r--services/surfaceflinger/tests/Android.mk41
-rw-r--r--services/surfaceflinger/tests/Transaction_test.cpp236
-rw-r--r--telephony/java/com/android/internal/telephony/CommandsInterface.java33
-rw-r--r--telephony/java/com/android/internal/telephony/IccIoResult.java4
-rw-r--r--telephony/java/com/android/internal/telephony/IccProvider.java254
-rw-r--r--telephony/java/com/android/internal/telephony/IccRecords.java6
-rw-r--r--telephony/java/com/android/internal/telephony/IccServiceTable.java81
-rw-r--r--telephony/java/com/android/internal/telephony/Phone.java7
-rw-r--r--telephony/java/com/android/internal/telephony/PhoneBase.java10
-rw-r--r--telephony/java/com/android/internal/telephony/PhoneProxy.java6
-rw-r--r--telephony/java/com/android/internal/telephony/RIL.java38
-rw-r--r--telephony/java/com/android/internal/telephony/RILConstants.java2
-rw-r--r--telephony/java/com/android/internal/telephony/cat/CatService.java55
-rw-r--r--telephony/java/com/android/internal/telephony/cat/ComprehensionTlvTag.java74
-rw-r--r--telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java10
-rwxr-xr-xtelephony/java/com/android/internal/telephony/cdma/CdmaLteUiccRecords.java7
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java10
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java46
-rwxr-xr-xtelephony/java/com/android/internal/telephony/gsm/SIMRecords.java14
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/SmsMessage.java18
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/UsimDataDownloadHandler.java267
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/UsimServiceTable.java142
-rw-r--r--telephony/java/com/android/internal/telephony/sip/SipCommandInterface.java6
-rw-r--r--telephony/java/com/android/internal/telephony/test/SimulatedCommands.java12
-rw-r--r--telephony/tests/telephonytests/src/com/android/internal/telephony/IccServiceTableTest.java85
-rw-r--r--telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimDataDownloadCommands.java611
-rw-r--r--telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimDataDownloadTest.java144
-rw-r--r--telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimServiceTableTest.java75
-rw-r--r--tests/FrameworkPerf/Android.mk12
-rw-r--r--tests/FrameworkPerf/AndroidManifest.xml19
-rwxr-xr-xtests/FrameworkPerf/res/drawable-161dpi/stat_sample_scale.pngbin0 -> 364 bytes
-rw-r--r--tests/FrameworkPerf/res/drawable-161dpi/wallpaper_goldengate_scale.jpgbin0 -> 429660 bytes
-rwxr-xr-xtests/FrameworkPerf/res/drawable-hdpi/stat_happy.pngbin0 -> 634 bytes
-rw-r--r--tests/FrameworkPerf/res/drawable-mdpi/stat_happy.pngbin0 -> 1157 bytes
-rwxr-xr-xtests/FrameworkPerf/res/drawable-nodpi/stat_sample.pngbin0 -> 364 bytes
-rw-r--r--tests/FrameworkPerf/res/drawable-nodpi/wallpaper_goldengate.jpgbin0 -> 429660 bytes
-rw-r--r--tests/FrameworkPerf/res/layout/large_layout.xml460
-rw-r--r--tests/FrameworkPerf/res/layout/main.xml88
-rw-r--r--tests/FrameworkPerf/res/layout/small_layout.xml33
-rw-r--r--tests/FrameworkPerf/res/values/attrs.xml64
-rw-r--r--tests/FrameworkPerf/res/values/strings.xml25
-rw-r--r--tests/FrameworkPerf/res/xml/simple.xml38
-rw-r--r--tests/FrameworkPerf/res/xml/simple_large.xml418
-rw-r--r--tests/FrameworkPerf/src/com/android/frameworkperf/FrameworkPerfActivity.java990
-rw-r--r--tests/FrameworkPerf/src/com/android/frameworkperf/Receiver.java30
-rw-r--r--tests/FrameworkPerf/src/com/android/frameworkperf/SchedulerService.java48
-rw-r--r--tests/FrameworkPerf/src/com/android/frameworkperf/SimpleInflater.java147
-rw-r--r--tests/HwAccelerationTest/res/drawable-nodpi/appwidget_bg.9.png (renamed from tests/HwAccelerationTest/res/drawable-hdpi/appwidget_bg.9.png)bin1694 -> 1694 bytes
-rw-r--r--tests/HwAccelerationTest/res/drawable-nodpi/appwidget_bg_focus.9.png (renamed from tests/HwAccelerationTest/res/drawable-hdpi/appwidget_bg_focus.9.png)bin1910 -> 1910 bytes
-rw-r--r--tests/HwAccelerationTest/res/drawable-nodpi/appwidget_bg_press.9.png (renamed from tests/HwAccelerationTest/res/drawable-hdpi/appwidget_bg_press.9.png)bin1908 -> 1908 bytes
-rw-r--r--tests/HwAccelerationTest/res/drawable-nodpi/green_gradient.9.png (renamed from tests/HwAccelerationTest/res/drawable-hdpi/green_gradient.9.png)bin1239 -> 1239 bytes
-rw-r--r--tests/HwAccelerationTest/res/drawable-nodpi/patch.9.png (renamed from tests/HwAccelerationTest/res/drawable-hdpi/patch.9.png)bin2863 -> 2863 bytes
-rw-r--r--tests/HwAccelerationTest/res/drawable-nodpi/patch2.9.pngbin0 -> 2825 bytes
-rw-r--r--tests/HwAccelerationTest/res/drawable-nodpi/widget_title_bg.9.png (renamed from tests/HwAccelerationTest/res/drawable-hdpi/widget_title_bg.9.png)bin1429 -> 1429 bytes
-rw-r--r--tests/HwAccelerationTest/src/com/android/test/hwui/GLTextureViewActivity.java18
-rw-r--r--tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java57
-rw-r--r--tests/HwAccelerationTest/src/com/android/test/hwui/ThinPatchesActivity.java11
-rw-r--r--tests/RenderScriptTests/ComputePerf/Android.mk27
-rw-r--r--tests/RenderScriptTests/ComputePerf/AndroidManifest.xml30
-rw-r--r--tests/RenderScriptTests/ComputePerf/res/layout/main.xml31
-rw-r--r--tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/ComputePerf.java48
-rw-r--r--tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/LaunchTest.java57
-rw-r--r--tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/Mandelbrot.java45
-rw-r--r--tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/launchtestxlw.rs30
-rw-r--r--tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/launchtestxyw.rs23
-rw-r--r--tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/mandelbrot.rs42
-rw-r--r--tests/RenderScriptTests/FBOTest/src/com/android/fbotest/fbosync.rs4
-rw-r--r--tests/RenderScriptTests/FBOTest/src/com/android/fbotest/fbotest.rs4
-rw-r--r--tests/RenderScriptTests/tests/src/com/android/rs/test/UnitTest.java36
-rw-r--r--tools/aapt/Android.mk2
-rw-r--r--tools/aapt/Resource.cpp16
-rw-r--r--tools/aapt/StringPool.cpp10
-rw-r--r--tools/localize/Android.mk2
-rw-r--r--tools/obbtool/Android.mk2
-rw-r--r--tools/validatekeymaps/Android.mk2
678 files changed, 57223 insertions, 3514 deletions
diff --git a/api/15.txt b/api/15.txt
new file mode 100644
index 000000000000..bca8e012d89f
--- /dev/null
+++ b/api/15.txt
@@ -0,0 +1,46591 @@
+package android {
+
+ public final class Manifest {
+ ctor public Manifest();
+ }
+
+ public static final class Manifest.permission {
+ ctor public Manifest.permission();
+ field public static final java.lang.String ACCESS_CHECKIN_PROPERTIES = "android.permission.ACCESS_CHECKIN_PROPERTIES";
+ field public static final java.lang.String ACCESS_COARSE_LOCATION = "android.permission.ACCESS_COARSE_LOCATION";
+ field public static final java.lang.String ACCESS_FINE_LOCATION = "android.permission.ACCESS_FINE_LOCATION";
+ field public static final java.lang.String ACCESS_LOCATION_EXTRA_COMMANDS = "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS";
+ field public static final java.lang.String ACCESS_MOCK_LOCATION = "android.permission.ACCESS_MOCK_LOCATION";
+ field public static final java.lang.String ACCESS_NETWORK_STATE = "android.permission.ACCESS_NETWORK_STATE";
+ field public static final java.lang.String ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER";
+ field public static final java.lang.String ACCESS_WIFI_STATE = "android.permission.ACCESS_WIFI_STATE";
+ field public static final java.lang.String ACCOUNT_MANAGER = "android.permission.ACCOUNT_MANAGER";
+ field public static final java.lang.String ADD_VOICEMAIL = "com.android.voicemail.permission.ADD_VOICEMAIL";
+ field public static final java.lang.String AUTHENTICATE_ACCOUNTS = "android.permission.AUTHENTICATE_ACCOUNTS";
+ field public static final java.lang.String BATTERY_STATS = "android.permission.BATTERY_STATS";
+ field public static final java.lang.String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET";
+ field public static final java.lang.String BIND_DEVICE_ADMIN = "android.permission.BIND_DEVICE_ADMIN";
+ field public static final java.lang.String BIND_INPUT_METHOD = "android.permission.BIND_INPUT_METHOD";
+ field public static final java.lang.String BIND_REMOTEVIEWS = "android.permission.BIND_REMOTEVIEWS";
+ field public static final java.lang.String BIND_TEXT_SERVICE = "android.permission.BIND_TEXT_SERVICE";
+ field public static final java.lang.String BIND_VPN_SERVICE = "android.permission.BIND_VPN_SERVICE";
+ field public static final java.lang.String BIND_WALLPAPER = "android.permission.BIND_WALLPAPER";
+ field public static final java.lang.String BLUETOOTH = "android.permission.BLUETOOTH";
+ field public static final java.lang.String BLUETOOTH_ADMIN = "android.permission.BLUETOOTH_ADMIN";
+ field public static final java.lang.String BRICK = "android.permission.BRICK";
+ field public static final java.lang.String BROADCAST_PACKAGE_REMOVED = "android.permission.BROADCAST_PACKAGE_REMOVED";
+ field public static final java.lang.String BROADCAST_SMS = "android.permission.BROADCAST_SMS";
+ field public static final java.lang.String BROADCAST_STICKY = "android.permission.BROADCAST_STICKY";
+ field public static final java.lang.String BROADCAST_WAP_PUSH = "android.permission.BROADCAST_WAP_PUSH";
+ field public static final java.lang.String CALL_PHONE = "android.permission.CALL_PHONE";
+ field public static final java.lang.String CALL_PRIVILEGED = "android.permission.CALL_PRIVILEGED";
+ field public static final java.lang.String CAMERA = "android.permission.CAMERA";
+ field public static final java.lang.String CHANGE_COMPONENT_ENABLED_STATE = "android.permission.CHANGE_COMPONENT_ENABLED_STATE";
+ field public static final java.lang.String CHANGE_CONFIGURATION = "android.permission.CHANGE_CONFIGURATION";
+ field public static final java.lang.String CHANGE_NETWORK_STATE = "android.permission.CHANGE_NETWORK_STATE";
+ field public static final java.lang.String CHANGE_WIFI_MULTICAST_STATE = "android.permission.CHANGE_WIFI_MULTICAST_STATE";
+ field public static final java.lang.String CHANGE_WIFI_STATE = "android.permission.CHANGE_WIFI_STATE";
+ field public static final java.lang.String CLEAR_APP_CACHE = "android.permission.CLEAR_APP_CACHE";
+ field public static final java.lang.String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
+ field public static final java.lang.String CONTROL_LOCATION_UPDATES = "android.permission.CONTROL_LOCATION_UPDATES";
+ field public static final java.lang.String DELETE_CACHE_FILES = "android.permission.DELETE_CACHE_FILES";
+ field public static final java.lang.String DELETE_PACKAGES = "android.permission.DELETE_PACKAGES";
+ field public static final java.lang.String DEVICE_POWER = "android.permission.DEVICE_POWER";
+ field public static final java.lang.String DIAGNOSTIC = "android.permission.DIAGNOSTIC";
+ field public static final java.lang.String DISABLE_KEYGUARD = "android.permission.DISABLE_KEYGUARD";
+ field public static final java.lang.String DUMP = "android.permission.DUMP";
+ field public static final java.lang.String EXPAND_STATUS_BAR = "android.permission.EXPAND_STATUS_BAR";
+ field public static final java.lang.String FACTORY_TEST = "android.permission.FACTORY_TEST";
+ field public static final java.lang.String FLASHLIGHT = "android.permission.FLASHLIGHT";
+ field public static final java.lang.String FORCE_BACK = "android.permission.FORCE_BACK";
+ field public static final java.lang.String GET_ACCOUNTS = "android.permission.GET_ACCOUNTS";
+ field public static final java.lang.String GET_PACKAGE_SIZE = "android.permission.GET_PACKAGE_SIZE";
+ field public static final java.lang.String GET_TASKS = "android.permission.GET_TASKS";
+ field public static final java.lang.String GLOBAL_SEARCH = "android.permission.GLOBAL_SEARCH";
+ field public static final java.lang.String HARDWARE_TEST = "android.permission.HARDWARE_TEST";
+ field public static final java.lang.String INJECT_EVENTS = "android.permission.INJECT_EVENTS";
+ field public static final java.lang.String INSTALL_LOCATION_PROVIDER = "android.permission.INSTALL_LOCATION_PROVIDER";
+ field public static final java.lang.String INSTALL_PACKAGES = "android.permission.INSTALL_PACKAGES";
+ field public static final java.lang.String INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW";
+ field public static final java.lang.String INTERNET = "android.permission.INTERNET";
+ field public static final java.lang.String KILL_BACKGROUND_PROCESSES = "android.permission.KILL_BACKGROUND_PROCESSES";
+ field public static final java.lang.String MANAGE_ACCOUNTS = "android.permission.MANAGE_ACCOUNTS";
+ field public static final java.lang.String MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS";
+ field public static final java.lang.String MASTER_CLEAR = "android.permission.MASTER_CLEAR";
+ field public static final java.lang.String MODIFY_AUDIO_SETTINGS = "android.permission.MODIFY_AUDIO_SETTINGS";
+ field public static final java.lang.String MODIFY_PHONE_STATE = "android.permission.MODIFY_PHONE_STATE";
+ field public static final java.lang.String MOUNT_FORMAT_FILESYSTEMS = "android.permission.MOUNT_FORMAT_FILESYSTEMS";
+ field public static final java.lang.String MOUNT_UNMOUNT_FILESYSTEMS = "android.permission.MOUNT_UNMOUNT_FILESYSTEMS";
+ field public static final java.lang.String NFC = "android.permission.NFC";
+ field public static final deprecated java.lang.String PERSISTENT_ACTIVITY = "android.permission.PERSISTENT_ACTIVITY";
+ field public static final java.lang.String PROCESS_OUTGOING_CALLS = "android.permission.PROCESS_OUTGOING_CALLS";
+ field public static final java.lang.String READ_CALENDAR = "android.permission.READ_CALENDAR";
+ field public static final java.lang.String READ_CONTACTS = "android.permission.READ_CONTACTS";
+ field public static final java.lang.String READ_FRAME_BUFFER = "android.permission.READ_FRAME_BUFFER";
+ field public static final java.lang.String READ_HISTORY_BOOKMARKS = "com.android.browser.permission.READ_HISTORY_BOOKMARKS";
+ field public static final java.lang.String READ_INPUT_STATE = "android.permission.READ_INPUT_STATE";
+ field public static final java.lang.String READ_LOGS = "android.permission.READ_LOGS";
+ field public static final java.lang.String READ_PHONE_STATE = "android.permission.READ_PHONE_STATE";
+ field public static final java.lang.String READ_PROFILE = "android.permission.READ_PROFILE";
+ field public static final java.lang.String READ_SMS = "android.permission.READ_SMS";
+ field public static final java.lang.String READ_SYNC_SETTINGS = "android.permission.READ_SYNC_SETTINGS";
+ field public static final java.lang.String READ_SYNC_STATS = "android.permission.READ_SYNC_STATS";
+ field public static final java.lang.String REBOOT = "android.permission.REBOOT";
+ field public static final java.lang.String RECEIVE_BOOT_COMPLETED = "android.permission.RECEIVE_BOOT_COMPLETED";
+ field public static final java.lang.String RECEIVE_MMS = "android.permission.RECEIVE_MMS";
+ field public static final java.lang.String RECEIVE_SMS = "android.permission.RECEIVE_SMS";
+ field public static final java.lang.String RECEIVE_WAP_PUSH = "android.permission.RECEIVE_WAP_PUSH";
+ field public static final java.lang.String RECORD_AUDIO = "android.permission.RECORD_AUDIO";
+ field public static final java.lang.String REORDER_TASKS = "android.permission.REORDER_TASKS";
+ field public static final deprecated java.lang.String RESTART_PACKAGES = "android.permission.RESTART_PACKAGES";
+ field public static final java.lang.String SEND_SMS = "android.permission.SEND_SMS";
+ field public static final java.lang.String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
+ field public static final java.lang.String SET_ALARM = "com.android.alarm.permission.SET_ALARM";
+ field public static final java.lang.String SET_ALWAYS_FINISH = "android.permission.SET_ALWAYS_FINISH";
+ field public static final java.lang.String SET_ANIMATION_SCALE = "android.permission.SET_ANIMATION_SCALE";
+ field public static final java.lang.String SET_DEBUG_APP = "android.permission.SET_DEBUG_APP";
+ field public static final java.lang.String SET_ORIENTATION = "android.permission.SET_ORIENTATION";
+ field public static final java.lang.String SET_POINTER_SPEED = "android.permission.SET_POINTER_SPEED";
+ field public static final deprecated java.lang.String SET_PREFERRED_APPLICATIONS = "android.permission.SET_PREFERRED_APPLICATIONS";
+ field public static final java.lang.String SET_PROCESS_LIMIT = "android.permission.SET_PROCESS_LIMIT";
+ field public static final java.lang.String SET_TIME = "android.permission.SET_TIME";
+ field public static final java.lang.String SET_TIME_ZONE = "android.permission.SET_TIME_ZONE";
+ field public static final java.lang.String SET_WALLPAPER = "android.permission.SET_WALLPAPER";
+ field public static final java.lang.String SET_WALLPAPER_HINTS = "android.permission.SET_WALLPAPER_HINTS";
+ field public static final java.lang.String SIGNAL_PERSISTENT_PROCESSES = "android.permission.SIGNAL_PERSISTENT_PROCESSES";
+ field public static final java.lang.String STATUS_BAR = "android.permission.STATUS_BAR";
+ field public static final java.lang.String SUBSCRIBED_FEEDS_READ = "android.permission.SUBSCRIBED_FEEDS_READ";
+ field public static final java.lang.String SUBSCRIBED_FEEDS_WRITE = "android.permission.SUBSCRIBED_FEEDS_WRITE";
+ field public static final java.lang.String SYSTEM_ALERT_WINDOW = "android.permission.SYSTEM_ALERT_WINDOW";
+ field public static final java.lang.String UPDATE_DEVICE_STATS = "android.permission.UPDATE_DEVICE_STATS";
+ field public static final java.lang.String USE_CREDENTIALS = "android.permission.USE_CREDENTIALS";
+ field public static final java.lang.String USE_SIP = "android.permission.USE_SIP";
+ field public static final java.lang.String VIBRATE = "android.permission.VIBRATE";
+ field public static final java.lang.String WAKE_LOCK = "android.permission.WAKE_LOCK";
+ field public static final java.lang.String WRITE_APN_SETTINGS = "android.permission.WRITE_APN_SETTINGS";
+ field public static final java.lang.String WRITE_CALENDAR = "android.permission.WRITE_CALENDAR";
+ field public static final java.lang.String WRITE_CONTACTS = "android.permission.WRITE_CONTACTS";
+ field public static final java.lang.String WRITE_EXTERNAL_STORAGE = "android.permission.WRITE_EXTERNAL_STORAGE";
+ field public static final java.lang.String WRITE_GSERVICES = "android.permission.WRITE_GSERVICES";
+ field public static final java.lang.String WRITE_HISTORY_BOOKMARKS = "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS";
+ field public static final java.lang.String WRITE_PROFILE = "android.permission.WRITE_PROFILE";
+ field public static final java.lang.String WRITE_SECURE_SETTINGS = "android.permission.WRITE_SECURE_SETTINGS";
+ field public static final java.lang.String WRITE_SETTINGS = "android.permission.WRITE_SETTINGS";
+ field public static final java.lang.String WRITE_SMS = "android.permission.WRITE_SMS";
+ field public static final java.lang.String WRITE_SYNC_SETTINGS = "android.permission.WRITE_SYNC_SETTINGS";
+ }
+
+ public static final class Manifest.permission_group {
+ ctor public Manifest.permission_group();
+ field public static final java.lang.String ACCOUNTS = "android.permission-group.ACCOUNTS";
+ field public static final java.lang.String COST_MONEY = "android.permission-group.COST_MONEY";
+ field public static final java.lang.String DEVELOPMENT_TOOLS = "android.permission-group.DEVELOPMENT_TOOLS";
+ field public static final java.lang.String HARDWARE_CONTROLS = "android.permission-group.HARDWARE_CONTROLS";
+ field public static final java.lang.String LOCATION = "android.permission-group.LOCATION";
+ field public static final java.lang.String MESSAGES = "android.permission-group.MESSAGES";
+ field public static final java.lang.String NETWORK = "android.permission-group.NETWORK";
+ field public static final java.lang.String PERSONAL_INFO = "android.permission-group.PERSONAL_INFO";
+ field public static final java.lang.String PHONE_CALLS = "android.permission-group.PHONE_CALLS";
+ field public static final java.lang.String STORAGE = "android.permission-group.STORAGE";
+ field public static final java.lang.String SYSTEM_TOOLS = "android.permission-group.SYSTEM_TOOLS";
+ }
+
+ public final class R {
+ ctor public R();
+ }
+
+ public static final class R.anim {
+ ctor public R.anim();
+ field public static final int accelerate_decelerate_interpolator = 17432580; // 0x10a0004
+ field public static final int accelerate_interpolator = 17432581; // 0x10a0005
+ field public static final int anticipate_interpolator = 17432583; // 0x10a0007
+ field public static final int anticipate_overshoot_interpolator = 17432585; // 0x10a0009
+ field public static final int bounce_interpolator = 17432586; // 0x10a000a
+ field public static final int cycle_interpolator = 17432588; // 0x10a000c
+ field public static final int decelerate_interpolator = 17432582; // 0x10a0006
+ field public static final int fade_in = 17432576; // 0x10a0000
+ field public static final int fade_out = 17432577; // 0x10a0001
+ field public static final int linear_interpolator = 17432587; // 0x10a000b
+ field public static final int overshoot_interpolator = 17432584; // 0x10a0008
+ field public static final int slide_in_left = 17432578; // 0x10a0002
+ field public static final int slide_out_right = 17432579; // 0x10a0003
+ }
+
+ public static final class R.animator {
+ ctor public R.animator();
+ field public static final int fade_in = 17498112; // 0x10b0000
+ field public static final int fade_out = 17498113; // 0x10b0001
+ }
+
+ public static final class R.array {
+ ctor public R.array();
+ field public static final int emailAddressTypes = 17235968; // 0x1070000
+ field public static final int imProtocols = 17235969; // 0x1070001
+ field public static final int organizationTypes = 17235970; // 0x1070002
+ field public static final int phoneTypes = 17235971; // 0x1070003
+ field public static final int postalAddressTypes = 17235972; // 0x1070004
+ }
+
+ public static final class R.attr {
+ ctor public R.attr();
+ field public static final int absListViewStyle = 16842858; // 0x101006a
+ field public static final int accessibilityEventTypes = 16843648; // 0x1010380
+ field public static final int accessibilityFeedbackType = 16843650; // 0x1010382
+ field public static final int accessibilityFlags = 16843652; // 0x1010384
+ field public static final int accountPreferences = 16843423; // 0x101029f
+ field public static final int accountType = 16843407; // 0x101028f
+ field public static final int action = 16842797; // 0x101002d
+ field public static final int actionBarDivider = 16843675; // 0x101039b
+ field public static final int actionBarItemBackground = 16843676; // 0x101039c
+ field public static final int actionBarSize = 16843499; // 0x10102eb
+ field public static final int actionBarSplitStyle = 16843656; // 0x1010388
+ field public static final int actionBarStyle = 16843470; // 0x10102ce
+ field public static final int actionBarTabBarStyle = 16843508; // 0x10102f4
+ field public static final int actionBarTabStyle = 16843507; // 0x10102f3
+ field public static final int actionBarTabTextStyle = 16843509; // 0x10102f5
+ field public static final int actionBarWidgetTheme = 16843671; // 0x1010397
+ field public static final int actionButtonStyle = 16843480; // 0x10102d8
+ field public static final int actionDropDownStyle = 16843479; // 0x10102d7
+ field public static final int actionLayout = 16843515; // 0x10102fb
+ field public static final int actionMenuTextAppearance = 16843616; // 0x1010360
+ field public static final int actionMenuTextColor = 16843617; // 0x1010361
+ field public static final int actionModeBackground = 16843483; // 0x10102db
+ field public static final int actionModeCloseButtonStyle = 16843511; // 0x10102f7
+ field public static final int actionModeCloseDrawable = 16843484; // 0x10102dc
+ field public static final int actionModeCopyDrawable = 16843538; // 0x1010312
+ field public static final int actionModeCutDrawable = 16843537; // 0x1010311
+ field public static final int actionModePasteDrawable = 16843539; // 0x1010313
+ field public static final int actionModeSelectAllDrawable = 16843646; // 0x101037e
+ field public static final int actionModeSplitBackground = 16843677; // 0x101039d
+ field public static final int actionModeStyle = 16843668; // 0x1010394
+ field public static final int actionOverflowButtonStyle = 16843510; // 0x10102f6
+ field public static final int actionProviderClass = 16843657; // 0x1010389
+ field public static final int actionViewClass = 16843516; // 0x10102fc
+ field public static final int activatedBackgroundIndicator = 16843517; // 0x10102fd
+ field public static final int activityCloseEnterAnimation = 16842938; // 0x10100ba
+ field public static final int activityCloseExitAnimation = 16842939; // 0x10100bb
+ field public static final int activityOpenEnterAnimation = 16842936; // 0x10100b8
+ field public static final int activityOpenExitAnimation = 16842937; // 0x10100b9
+ field public static final int addStatesFromChildren = 16842992; // 0x10100f0
+ field public static final int adjustViewBounds = 16843038; // 0x101011e
+ field public static final int alertDialogIcon = 16843605; // 0x1010355
+ field public static final int alertDialogStyle = 16842845; // 0x101005d
+ field public static final int alertDialogTheme = 16843529; // 0x1010309
+ field public static final int alignmentMode = 16843642; // 0x101037a
+ field public static final int allContactsName = 16843468; // 0x10102cc
+ field public static final int allowBackup = 16843392; // 0x1010280
+ field public static final int allowClearUserData = 16842757; // 0x1010005
+ field public static final int allowParallelSyncs = 16843570; // 0x1010332
+ field public static final int allowSingleTap = 16843353; // 0x1010259
+ field public static final int allowTaskReparenting = 16843268; // 0x1010204
+ field public static final int alpha = 16843551; // 0x101031f
+ field public static final int alphabeticShortcut = 16843235; // 0x10101e3
+ field public static final int alwaysDrawnWithCache = 16842991; // 0x10100ef
+ field public static final int alwaysRetainTaskState = 16843267; // 0x1010203
+ field public static final int angle = 16843168; // 0x10101a0
+ field public static final int animateFirstView = 16843477; // 0x10102d5
+ field public static final int animateLayoutChanges = 16843506; // 0x10102f2
+ field public static final int animateOnClick = 16843356; // 0x101025c
+ field public static final int animation = 16843213; // 0x10101cd
+ field public static final int animationCache = 16842989; // 0x10100ed
+ field public static final int animationDuration = 16843026; // 0x1010112
+ field public static final int animationOrder = 16843214; // 0x10101ce
+ field public static final int animationResolution = 16843546; // 0x101031a
+ field public static final int antialias = 16843034; // 0x101011a
+ field public static final int anyDensity = 16843372; // 0x101026c
+ field public static final int apiKey = 16843281; // 0x1010211
+ field public static final int author = 16843444; // 0x10102b4
+ field public static final int authorities = 16842776; // 0x1010018
+ field public static final int autoAdvanceViewId = 16843535; // 0x101030f
+ field public static final int autoCompleteTextViewStyle = 16842859; // 0x101006b
+ field public static final int autoLink = 16842928; // 0x10100b0
+ field public static final int autoStart = 16843445; // 0x10102b5
+ field public static final deprecated int autoText = 16843114; // 0x101016a
+ field public static final int autoUrlDetect = 16843404; // 0x101028c
+ field public static final int background = 16842964; // 0x10100d4
+ field public static final int backgroundDimAmount = 16842802; // 0x1010032
+ field public static final int backgroundDimEnabled = 16843295; // 0x101021f
+ field public static final int backgroundSplit = 16843659; // 0x101038b
+ field public static final int backgroundStacked = 16843658; // 0x101038a
+ field public static final int backupAgent = 16843391; // 0x101027f
+ field public static final int baseline = 16843548; // 0x101031c
+ field public static final int baselineAlignBottom = 16843042; // 0x1010122
+ field public static final int baselineAligned = 16843046; // 0x1010126
+ field public static final int baselineAlignedChildIndex = 16843047; // 0x1010127
+ field public static final int borderlessButtonStyle = 16843563; // 0x101032b
+ field public static final int bottom = 16843184; // 0x10101b0
+ field public static final int bottomBright = 16842957; // 0x10100cd
+ field public static final int bottomDark = 16842953; // 0x10100c9
+ field public static final int bottomLeftRadius = 16843179; // 0x10101ab
+ field public static final int bottomMedium = 16842958; // 0x10100ce
+ field public static final int bottomOffset = 16843351; // 0x1010257
+ field public static final int bottomRightRadius = 16843180; // 0x10101ac
+ field public static final int breadCrumbShortTitle = 16843524; // 0x1010304
+ field public static final int breadCrumbTitle = 16843523; // 0x1010303
+ field public static final int bufferType = 16843086; // 0x101014e
+ field public static final int button = 16843015; // 0x1010107
+ field public static final int buttonBarButtonStyle = 16843567; // 0x101032f
+ field public static final int buttonBarStyle = 16843566; // 0x101032e
+ field public static final int buttonStyle = 16842824; // 0x1010048
+ field public static final int buttonStyleInset = 16842826; // 0x101004a
+ field public static final int buttonStyleSmall = 16842825; // 0x1010049
+ field public static final int buttonStyleToggle = 16842827; // 0x101004b
+ field public static final int cacheColorHint = 16843009; // 0x1010101
+ field public static final int calendarViewShown = 16843596; // 0x101034c
+ field public static final int calendarViewStyle = 16843613; // 0x101035d
+ field public static final int canRetrieveWindowContent = 16843653; // 0x1010385
+ field public static final int candidatesTextStyleSpans = 16843312; // 0x1010230
+ field public static final deprecated int capitalize = 16843113; // 0x1010169
+ field public static final int centerBright = 16842956; // 0x10100cc
+ field public static final int centerColor = 16843275; // 0x101020b
+ field public static final int centerDark = 16842952; // 0x10100c8
+ field public static final int centerMedium = 16842959; // 0x10100cf
+ field public static final int centerX = 16843170; // 0x10101a2
+ field public static final int centerY = 16843171; // 0x10101a3
+ field public static final int checkBoxPreferenceStyle = 16842895; // 0x101008f
+ field public static final int checkMark = 16843016; // 0x1010108
+ field public static final int checkable = 16843237; // 0x10101e5
+ field public static final int checkableBehavior = 16843232; // 0x10101e0
+ field public static final int checkboxStyle = 16842860; // 0x101006c
+ field public static final int checked = 16843014; // 0x1010106
+ field public static final int checkedButton = 16843080; // 0x1010148
+ field public static final int childDivider = 16843025; // 0x1010111
+ field public static final int childIndicator = 16843020; // 0x101010c
+ field public static final int childIndicatorLeft = 16843023; // 0x101010f
+ field public static final int childIndicatorRight = 16843024; // 0x1010110
+ field public static final int choiceMode = 16843051; // 0x101012b
+ field public static final int clearTaskOnLaunch = 16842773; // 0x1010015
+ field public static final int clickable = 16842981; // 0x10100e5
+ field public static final int clipChildren = 16842986; // 0x10100ea
+ field public static final int clipOrientation = 16843274; // 0x101020a
+ field public static final int clipToPadding = 16842987; // 0x10100eb
+ field public static final int codes = 16843330; // 0x1010242
+ field public static final int collapseColumns = 16843083; // 0x101014b
+ field public static final int color = 16843173; // 0x10101a5
+ field public static final int colorActivatedHighlight = 16843664; // 0x1010390
+ field public static final int colorBackground = 16842801; // 0x1010031
+ field public static final int colorBackgroundCacheHint = 16843435; // 0x10102ab
+ field public static final int colorFocusedHighlight = 16843663; // 0x101038f
+ field public static final int colorForeground = 16842800; // 0x1010030
+ field public static final int colorForegroundInverse = 16843270; // 0x1010206
+ field public static final int colorLongPressedHighlight = 16843662; // 0x101038e
+ field public static final int colorMultiSelectHighlight = 16843665; // 0x1010391
+ field public static final int colorPressedHighlight = 16843661; // 0x101038d
+ field public static final int columnCount = 16843639; // 0x1010377
+ field public static final int columnDelay = 16843215; // 0x10101cf
+ field public static final int columnOrderPreserved = 16843640; // 0x1010378
+ field public static final int columnWidth = 16843031; // 0x1010117
+ field public static final int compatibleWidthLimitDp = 16843621; // 0x1010365
+ field public static final int completionHint = 16843122; // 0x1010172
+ field public static final int completionHintView = 16843123; // 0x1010173
+ field public static final int completionThreshold = 16843124; // 0x1010174
+ field public static final int configChanges = 16842783; // 0x101001f
+ field public static final int configure = 16843357; // 0x101025d
+ field public static final int constantSize = 16843158; // 0x1010196
+ field public static final int content = 16843355; // 0x101025b
+ field public static final int contentAuthority = 16843408; // 0x1010290
+ field public static final int contentDescription = 16843379; // 0x1010273
+ field public static final int cropToPadding = 16843043; // 0x1010123
+ field public static final int cursorVisible = 16843090; // 0x1010152
+ field public static final int customNavigationLayout = 16843474; // 0x10102d2
+ field public static final int customTokens = 16843579; // 0x101033b
+ field public static final int cycles = 16843220; // 0x10101d4
+ field public static final int dashGap = 16843175; // 0x10101a7
+ field public static final int dashWidth = 16843174; // 0x10101a6
+ field public static final int data = 16842798; // 0x101002e
+ field public static final int datePickerStyle = 16843612; // 0x101035c
+ field public static final int dateTextAppearance = 16843593; // 0x1010349
+ field public static final int debuggable = 16842767; // 0x101000f
+ field public static final int defaultValue = 16843245; // 0x10101ed
+ field public static final int delay = 16843212; // 0x10101cc
+ field public static final int dependency = 16843244; // 0x10101ec
+ field public static final int descendantFocusability = 16842993; // 0x10100f1
+ field public static final int description = 16842784; // 0x1010020
+ field public static final int detachWallpaper = 16843430; // 0x10102a6
+ field public static final int detailColumn = 16843427; // 0x10102a3
+ field public static final int detailSocialSummary = 16843428; // 0x10102a4
+ field public static final int detailsElementBackground = 16843598; // 0x101034e
+ field public static final int dial = 16843010; // 0x1010102
+ field public static final int dialogIcon = 16843252; // 0x10101f4
+ field public static final int dialogLayout = 16843255; // 0x10101f7
+ field public static final int dialogMessage = 16843251; // 0x10101f3
+ field public static final int dialogPreferenceStyle = 16842897; // 0x1010091
+ field public static final int dialogTheme = 16843528; // 0x1010308
+ field public static final int dialogTitle = 16843250; // 0x10101f2
+ field public static final int digits = 16843110; // 0x1010166
+ field public static final int direction = 16843217; // 0x10101d1
+ field public static final int directionDescriptions = 16843681; // 0x10103a1
+ field public static final int directionPriority = 16843218; // 0x10101d2
+ field public static final int disableDependentsState = 16843249; // 0x10101f1
+ field public static final int disabledAlpha = 16842803; // 0x1010033
+ field public static final int displayOptions = 16843472; // 0x10102d0
+ field public static final int dither = 16843036; // 0x101011c
+ field public static final int divider = 16843049; // 0x1010129
+ field public static final int dividerHeight = 16843050; // 0x101012a
+ field public static final int dividerHorizontal = 16843564; // 0x101032c
+ field public static final int dividerPadding = 16843562; // 0x101032a
+ field public static final int dividerVertical = 16843530; // 0x101030a
+ field public static final int drawSelectorOnTop = 16843004; // 0x10100fc
+ field public static final int drawable = 16843161; // 0x1010199
+ field public static final int drawableBottom = 16843118; // 0x101016e
+ field public static final int drawableEnd = 16843667; // 0x1010393
+ field public static final int drawableLeft = 16843119; // 0x101016f
+ field public static final int drawablePadding = 16843121; // 0x1010171
+ field public static final int drawableRight = 16843120; // 0x1010170
+ field public static final int drawableStart = 16843666; // 0x1010392
+ field public static final int drawableTop = 16843117; // 0x101016d
+ field public static final int drawingCacheQuality = 16842984; // 0x10100e8
+ field public static final int dropDownAnchor = 16843363; // 0x1010263
+ field public static final int dropDownHeight = 16843395; // 0x1010283
+ field public static final int dropDownHintAppearance = 16842888; // 0x1010088
+ field public static final int dropDownHorizontalOffset = 16843436; // 0x10102ac
+ field public static final int dropDownItemStyle = 16842886; // 0x1010086
+ field public static final int dropDownListViewStyle = 16842861; // 0x101006d
+ field public static final int dropDownSelector = 16843125; // 0x1010175
+ field public static final int dropDownSpinnerStyle = 16843478; // 0x10102d6
+ field public static final int dropDownVerticalOffset = 16843437; // 0x10102ad
+ field public static final int dropDownWidth = 16843362; // 0x1010262
+ field public static final int duplicateParentState = 16842985; // 0x10100e9
+ field public static final int duration = 16843160; // 0x1010198
+ field public static final int editTextBackground = 16843602; // 0x1010352
+ field public static final int editTextColor = 16843601; // 0x1010351
+ field public static final int editTextPreferenceStyle = 16842898; // 0x1010092
+ field public static final int editTextStyle = 16842862; // 0x101006e
+ field public static final deprecated int editable = 16843115; // 0x101016b
+ field public static final int editorExtras = 16843300; // 0x1010224
+ field public static final int ellipsize = 16842923; // 0x10100ab
+ field public static final int ems = 16843096; // 0x1010158
+ field public static final deprecated int enabled = 16842766; // 0x101000e
+ field public static final int endColor = 16843166; // 0x101019e
+ field public static final int endYear = 16843133; // 0x101017d
+ field public static final int enterFadeDuration = 16843532; // 0x101030c
+ field public static final int entries = 16842930; // 0x10100b2
+ field public static final int entryValues = 16843256; // 0x10101f8
+ field public static final int eventsInterceptionEnabled = 16843389; // 0x101027d
+ field public static final int excludeFromRecents = 16842775; // 0x1010017
+ field public static final int exitFadeDuration = 16843533; // 0x101030d
+ field public static final int expandableListPreferredChildIndicatorLeft = 16842834; // 0x1010052
+ field public static final int expandableListPreferredChildIndicatorRight = 16842835; // 0x1010053
+ field public static final int expandableListPreferredChildPaddingLeft = 16842831; // 0x101004f
+ field public static final int expandableListPreferredItemIndicatorLeft = 16842832; // 0x1010050
+ field public static final int expandableListPreferredItemIndicatorRight = 16842833; // 0x1010051
+ field public static final int expandableListPreferredItemPaddingLeft = 16842830; // 0x101004e
+ field public static final int expandableListViewStyle = 16842863; // 0x101006f
+ field public static final int expandableListViewWhiteStyle = 16843446; // 0x10102b6
+ field public static final int exported = 16842768; // 0x1010010
+ field public static final int extraTension = 16843371; // 0x101026b
+ field public static final int factor = 16843219; // 0x10101d3
+ field public static final int fadeDuration = 16843384; // 0x1010278
+ field public static final int fadeEnabled = 16843390; // 0x101027e
+ field public static final int fadeOffset = 16843383; // 0x1010277
+ field public static final int fadeScrollbars = 16843434; // 0x10102aa
+ field public static final deprecated int fadingEdge = 16842975; // 0x10100df
+ field public static final int fadingEdgeLength = 16842976; // 0x10100e0
+ field public static final int fastScrollAlwaysVisible = 16843573; // 0x1010335
+ field public static final int fastScrollEnabled = 16843302; // 0x1010226
+ field public static final int fastScrollOverlayPosition = 16843578; // 0x101033a
+ field public static final int fastScrollPreviewBackgroundLeft = 16843575; // 0x1010337
+ field public static final int fastScrollPreviewBackgroundRight = 16843576; // 0x1010338
+ field public static final int fastScrollTextColor = 16843609; // 0x1010359
+ field public static final int fastScrollThumbDrawable = 16843574; // 0x1010336
+ field public static final int fastScrollTrackDrawable = 16843577; // 0x1010339
+ field public static final int fillAfter = 16843197; // 0x10101bd
+ field public static final int fillBefore = 16843196; // 0x10101bc
+ field public static final int fillEnabled = 16843343; // 0x101024f
+ field public static final int fillViewport = 16843130; // 0x101017a
+ field public static final int filter = 16843035; // 0x101011b
+ field public static final int filterTouchesWhenObscured = 16843460; // 0x10102c4
+ field public static final int finishOnCloseSystemDialogs = 16843431; // 0x10102a7
+ field public static final int finishOnTaskLaunch = 16842772; // 0x1010014
+ field public static final int firstDayOfWeek = 16843581; // 0x101033d
+ field public static final int fitsSystemWindows = 16842973; // 0x10100dd
+ field public static final int flipInterval = 16843129; // 0x1010179
+ field public static final int focusable = 16842970; // 0x10100da
+ field public static final int focusableInTouchMode = 16842971; // 0x10100db
+ field public static final int focusedMonthDateColor = 16843587; // 0x1010343
+ field public static final int footerDividersEnabled = 16843311; // 0x101022f
+ field public static final int foreground = 16843017; // 0x1010109
+ field public static final int foregroundGravity = 16843264; // 0x1010200
+ field public static final int format = 16843013; // 0x1010105
+ field public static final int fragment = 16843491; // 0x10102e3
+ field public static final int fragmentCloseEnterAnimation = 16843495; // 0x10102e7
+ field public static final int fragmentCloseExitAnimation = 16843496; // 0x10102e8
+ field public static final int fragmentFadeEnterAnimation = 16843497; // 0x10102e9
+ field public static final int fragmentFadeExitAnimation = 16843498; // 0x10102ea
+ field public static final int fragmentOpenEnterAnimation = 16843493; // 0x10102e5
+ field public static final int fragmentOpenExitAnimation = 16843494; // 0x10102e6
+ field public static final int freezesText = 16843116; // 0x101016c
+ field public static final int fromAlpha = 16843210; // 0x10101ca
+ field public static final int fromDegrees = 16843187; // 0x10101b3
+ field public static final int fromXDelta = 16843206; // 0x10101c6
+ field public static final int fromXScale = 16843202; // 0x10101c2
+ field public static final int fromYDelta = 16843208; // 0x10101c8
+ field public static final int fromYScale = 16843204; // 0x10101c4
+ field public static final int fullBright = 16842954; // 0x10100ca
+ field public static final int fullDark = 16842950; // 0x10100c6
+ field public static final int functionalTest = 16842787; // 0x1010023
+ field public static final int galleryItemBackground = 16842828; // 0x101004c
+ field public static final int galleryStyle = 16842864; // 0x1010070
+ field public static final int gestureColor = 16843381; // 0x1010275
+ field public static final int gestureStrokeAngleThreshold = 16843388; // 0x101027c
+ field public static final int gestureStrokeLengthThreshold = 16843386; // 0x101027a
+ field public static final int gestureStrokeSquarenessThreshold = 16843387; // 0x101027b
+ field public static final int gestureStrokeType = 16843385; // 0x1010279
+ field public static final int gestureStrokeWidth = 16843380; // 0x1010274
+ field public static final int glEsVersion = 16843393; // 0x1010281
+ field public static final int gradientRadius = 16843172; // 0x10101a4
+ field public static final int grantUriPermissions = 16842779; // 0x101001b
+ field public static final int gravity = 16842927; // 0x10100af
+ field public static final int gridViewStyle = 16842865; // 0x1010071
+ field public static final int groupIndicator = 16843019; // 0x101010b
+ field public static final int hand_hour = 16843011; // 0x1010103
+ field public static final int hand_minute = 16843012; // 0x1010104
+ field public static final int handle = 16843354; // 0x101025a
+ field public static final int handleProfiling = 16842786; // 0x1010022
+ field public static final int hapticFeedbackEnabled = 16843358; // 0x101025e
+ field public static final int hardwareAccelerated = 16843475; // 0x10102d3
+ field public static final int hasCode = 16842764; // 0x101000c
+ field public static final int headerBackground = 16843055; // 0x101012f
+ field public static final int headerDividersEnabled = 16843310; // 0x101022e
+ field public static final int height = 16843093; // 0x1010155
+ field public static final int hint = 16843088; // 0x1010150
+ field public static final int homeAsUpIndicator = 16843531; // 0x101030b
+ field public static final int homeLayout = 16843549; // 0x101031d
+ field public static final int horizontalDivider = 16843053; // 0x101012d
+ field public static final int horizontalGap = 16843327; // 0x101023f
+ field public static final int horizontalScrollViewStyle = 16843603; // 0x1010353
+ field public static final int horizontalSpacing = 16843028; // 0x1010114
+ field public static final int host = 16842792; // 0x1010028
+ field public static final int icon = 16842754; // 0x1010002
+ field public static final int iconPreview = 16843337; // 0x1010249
+ field public static final int iconifiedByDefault = 16843514; // 0x10102fa
+ field public static final int id = 16842960; // 0x10100d0
+ field public static final int ignoreGravity = 16843263; // 0x10101ff
+ field public static final int imageButtonStyle = 16842866; // 0x1010072
+ field public static final int imageWellStyle = 16842867; // 0x1010073
+ field public static final int imeActionId = 16843366; // 0x1010266
+ field public static final int imeActionLabel = 16843365; // 0x1010265
+ field public static final int imeExtractEnterAnimation = 16843368; // 0x1010268
+ field public static final int imeExtractExitAnimation = 16843369; // 0x1010269
+ field public static final int imeFullscreenBackground = 16843308; // 0x101022c
+ field public static final int imeOptions = 16843364; // 0x1010264
+ field public static final int imeSubtypeExtraValue = 16843502; // 0x10102ee
+ field public static final int imeSubtypeLocale = 16843500; // 0x10102ec
+ field public static final int imeSubtypeMode = 16843501; // 0x10102ed
+ field public static final int immersive = 16843456; // 0x10102c0
+ field public static final int inAnimation = 16843127; // 0x1010177
+ field public static final int includeFontPadding = 16843103; // 0x101015f
+ field public static final int includeInGlobalSearch = 16843374; // 0x101026e
+ field public static final int indeterminate = 16843065; // 0x1010139
+ field public static final int indeterminateBehavior = 16843070; // 0x101013e
+ field public static final int indeterminateDrawable = 16843067; // 0x101013b
+ field public static final int indeterminateDuration = 16843069; // 0x101013d
+ field public static final int indeterminateOnly = 16843066; // 0x101013a
+ field public static final int indeterminateProgressStyle = 16843544; // 0x1010318
+ field public static final int indicatorLeft = 16843021; // 0x101010d
+ field public static final int indicatorRight = 16843022; // 0x101010e
+ field public static final int inflatedId = 16842995; // 0x10100f3
+ field public static final int initOrder = 16842778; // 0x101001a
+ field public static final int initialLayout = 16843345; // 0x1010251
+ field public static final int innerRadius = 16843359; // 0x101025f
+ field public static final int innerRadiusRatio = 16843163; // 0x101019b
+ field public static final deprecated int inputMethod = 16843112; // 0x1010168
+ field public static final int inputType = 16843296; // 0x1010220
+ field public static final int insetBottom = 16843194; // 0x10101ba
+ field public static final int insetLeft = 16843191; // 0x10101b7
+ field public static final int insetRight = 16843192; // 0x10101b8
+ field public static final int insetTop = 16843193; // 0x10101b9
+ field public static final int installLocation = 16843447; // 0x10102b7
+ field public static final int interpolator = 16843073; // 0x1010141
+ field public static final int isAlwaysSyncable = 16843571; // 0x1010333
+ field public static final int isAuxiliary = 16843647; // 0x101037f
+ field public static final int isDefault = 16843297; // 0x1010221
+ field public static final int isIndicator = 16843079; // 0x1010147
+ field public static final int isModifier = 16843334; // 0x1010246
+ field public static final int isRepeatable = 16843336; // 0x1010248
+ field public static final int isScrollContainer = 16843342; // 0x101024e
+ field public static final int isSticky = 16843335; // 0x1010247
+ field public static final int itemBackground = 16843056; // 0x1010130
+ field public static final int itemIconDisabledAlpha = 16843057; // 0x1010131
+ field public static final int itemPadding = 16843565; // 0x101032d
+ field public static final int itemTextAppearance = 16843052; // 0x101012c
+ field public static final int keepScreenOn = 16843286; // 0x1010216
+ field public static final int key = 16843240; // 0x10101e8
+ field public static final int keyBackground = 16843315; // 0x1010233
+ field public static final int keyEdgeFlags = 16843333; // 0x1010245
+ field public static final int keyHeight = 16843326; // 0x101023e
+ field public static final int keyIcon = 16843340; // 0x101024c
+ field public static final int keyLabel = 16843339; // 0x101024b
+ field public static final int keyOutputText = 16843338; // 0x101024a
+ field public static final int keyPreviewHeight = 16843321; // 0x1010239
+ field public static final int keyPreviewLayout = 16843319; // 0x1010237
+ field public static final int keyPreviewOffset = 16843320; // 0x1010238
+ field public static final int keyTextColor = 16843318; // 0x1010236
+ field public static final int keyTextSize = 16843316; // 0x1010234
+ field public static final int keyWidth = 16843325; // 0x101023d
+ field public static final int keyboardMode = 16843341; // 0x101024d
+ field public static final int keycode = 16842949; // 0x10100c5
+ field public static final int killAfterRestore = 16843420; // 0x101029c
+ field public static final int label = 16842753; // 0x1010001
+ field public static final int labelTextSize = 16843317; // 0x1010235
+ field public static final int largeHeap = 16843610; // 0x101035a
+ field public static final int largeScreens = 16843398; // 0x1010286
+ field public static final int largestWidthLimitDp = 16843622; // 0x1010366
+ field public static final int launchMode = 16842781; // 0x101001d
+ field public static final int layerType = 16843604; // 0x1010354
+ field public static final int layout = 16842994; // 0x10100f2
+ field public static final int layoutAnimation = 16842988; // 0x10100ec
+ field public static final int layout_above = 16843140; // 0x1010184
+ field public static final int layout_alignBaseline = 16843142; // 0x1010186
+ field public static final int layout_alignBottom = 16843146; // 0x101018a
+ field public static final int layout_alignLeft = 16843143; // 0x1010187
+ field public static final int layout_alignParentBottom = 16843150; // 0x101018e
+ field public static final int layout_alignParentLeft = 16843147; // 0x101018b
+ field public static final int layout_alignParentRight = 16843149; // 0x101018d
+ field public static final int layout_alignParentTop = 16843148; // 0x101018c
+ field public static final int layout_alignRight = 16843145; // 0x1010189
+ field public static final int layout_alignTop = 16843144; // 0x1010188
+ field public static final int layout_alignWithParentIfMissing = 16843154; // 0x1010192
+ field public static final int layout_below = 16843141; // 0x1010185
+ field public static final int layout_centerHorizontal = 16843152; // 0x1010190
+ field public static final int layout_centerInParent = 16843151; // 0x101018f
+ field public static final int layout_centerVertical = 16843153; // 0x1010191
+ field public static final int layout_column = 16843084; // 0x101014c
+ field public static final int layout_columnSpan = 16843645; // 0x101037d
+ field public static final int layout_gravity = 16842931; // 0x10100b3
+ field public static final int layout_height = 16842997; // 0x10100f5
+ field public static final int layout_margin = 16842998; // 0x10100f6
+ field public static final int layout_marginBottom = 16843002; // 0x10100fa
+ field public static final int layout_marginLeft = 16842999; // 0x10100f7
+ field public static final int layout_marginRight = 16843001; // 0x10100f9
+ field public static final int layout_marginTop = 16843000; // 0x10100f8
+ field public static final int layout_row = 16843643; // 0x101037b
+ field public static final int layout_rowSpan = 16843644; // 0x101037c
+ field public static final int layout_scale = 16843155; // 0x1010193
+ field public static final int layout_span = 16843085; // 0x101014d
+ field public static final int layout_toLeftOf = 16843138; // 0x1010182
+ field public static final int layout_toRightOf = 16843139; // 0x1010183
+ field public static final int layout_weight = 16843137; // 0x1010181
+ field public static final int layout_width = 16842996; // 0x10100f4
+ field public static final int layout_x = 16843135; // 0x101017f
+ field public static final int layout_y = 16843136; // 0x1010180
+ field public static final int left = 16843181; // 0x10101ad
+ field public static final int lineSpacingExtra = 16843287; // 0x1010217
+ field public static final int lineSpacingMultiplier = 16843288; // 0x1010218
+ field public static final int lines = 16843092; // 0x1010154
+ field public static final int linksClickable = 16842929; // 0x10100b1
+ field public static final int listChoiceBackgroundIndicator = 16843504; // 0x10102f0
+ field public static final int listChoiceIndicatorMultiple = 16843290; // 0x101021a
+ field public static final int listChoiceIndicatorSingle = 16843289; // 0x1010219
+ field public static final int listDivider = 16843284; // 0x1010214
+ field public static final int listDividerAlertDialog = 16843525; // 0x1010305
+ field public static final int listPopupWindowStyle = 16843519; // 0x10102ff
+ field public static final int listPreferredItemHeight = 16842829; // 0x101004d
+ field public static final int listPreferredItemHeightLarge = 16843654; // 0x1010386
+ field public static final int listPreferredItemHeightSmall = 16843655; // 0x1010387
+ field public static final int listPreferredItemPaddingLeft = 16843683; // 0x10103a3
+ field public static final int listPreferredItemPaddingRight = 16843684; // 0x10103a4
+ field public static final int listSelector = 16843003; // 0x10100fb
+ field public static final int listSeparatorTextViewStyle = 16843272; // 0x1010208
+ field public static final int listViewStyle = 16842868; // 0x1010074
+ field public static final int listViewWhiteStyle = 16842869; // 0x1010075
+ field public static final int logo = 16843454; // 0x10102be
+ field public static final int longClickable = 16842982; // 0x10100e6
+ field public static final int loopViews = 16843527; // 0x1010307
+ field public static final int manageSpaceActivity = 16842756; // 0x1010004
+ field public static final int mapViewStyle = 16842890; // 0x101008a
+ field public static final int marqueeRepeatLimit = 16843293; // 0x101021d
+ field public static final int max = 16843062; // 0x1010136
+ field public static final int maxDate = 16843584; // 0x1010340
+ field public static final int maxEms = 16843095; // 0x1010157
+ field public static final int maxHeight = 16843040; // 0x1010120
+ field public static final int maxItemsPerRow = 16843060; // 0x1010134
+ field public static final int maxLength = 16843104; // 0x1010160
+ field public static final int maxLevel = 16843186; // 0x10101b2
+ field public static final int maxLines = 16843091; // 0x1010153
+ field public static final int maxRows = 16843059; // 0x1010133
+ field public static final int maxSdkVersion = 16843377; // 0x1010271
+ field public static final int maxWidth = 16843039; // 0x101011f
+ field public static final int measureAllChildren = 16843018; // 0x101010a
+ field public static final int measureWithLargestChild = 16843476; // 0x10102d4
+ field public static final int menuCategory = 16843230; // 0x10101de
+ field public static final int mimeType = 16842790; // 0x1010026
+ field public static final int minDate = 16843583; // 0x101033f
+ field public static final int minEms = 16843098; // 0x101015a
+ field public static final int minHeight = 16843072; // 0x1010140
+ field public static final int minLevel = 16843185; // 0x10101b1
+ field public static final int minLines = 16843094; // 0x1010156
+ field public static final int minResizeHeight = 16843670; // 0x1010396
+ field public static final int minResizeWidth = 16843669; // 0x1010395
+ field public static final int minSdkVersion = 16843276; // 0x101020c
+ field public static final int minWidth = 16843071; // 0x101013f
+ field public static final int mode = 16843134; // 0x101017e
+ field public static final int moreIcon = 16843061; // 0x1010135
+ field public static final int multiprocess = 16842771; // 0x1010013
+ field public static final int name = 16842755; // 0x1010003
+ field public static final int navigationMode = 16843471; // 0x10102cf
+ field public static final int negativeButtonText = 16843254; // 0x10101f6
+ field public static final int nextFocusDown = 16842980; // 0x10100e4
+ field public static final int nextFocusForward = 16843580; // 0x101033c
+ field public static final int nextFocusLeft = 16842977; // 0x10100e1
+ field public static final int nextFocusRight = 16842978; // 0x10100e2
+ field public static final int nextFocusUp = 16842979; // 0x10100e3
+ field public static final int noHistory = 16843309; // 0x101022d
+ field public static final int normalScreens = 16843397; // 0x1010285
+ field public static final int notificationTimeout = 16843651; // 0x1010383
+ field public static final int numColumns = 16843032; // 0x1010118
+ field public static final int numStars = 16843076; // 0x1010144
+ field public static final deprecated int numeric = 16843109; // 0x1010165
+ field public static final int numericShortcut = 16843236; // 0x10101e4
+ field public static final int onClick = 16843375; // 0x101026f
+ field public static final int oneshot = 16843159; // 0x1010197
+ field public static final int opacity = 16843550; // 0x101031e
+ field public static final int order = 16843242; // 0x10101ea
+ field public static final int orderInCategory = 16843231; // 0x10101df
+ field public static final int ordering = 16843490; // 0x10102e2
+ field public static final int orderingFromXml = 16843239; // 0x10101e7
+ field public static final int orientation = 16842948; // 0x10100c4
+ field public static final int outAnimation = 16843128; // 0x1010178
+ field public static final int overScrollFooter = 16843459; // 0x10102c3
+ field public static final int overScrollHeader = 16843458; // 0x10102c2
+ field public static final int overScrollMode = 16843457; // 0x10102c1
+ field public static final int overridesImplicitlyEnabledSubtype = 16843682; // 0x10103a2
+ field public static final int packageNames = 16843649; // 0x1010381
+ field public static final int padding = 16842965; // 0x10100d5
+ field public static final int paddingBottom = 16842969; // 0x10100d9
+ field public static final int paddingLeft = 16842966; // 0x10100d6
+ field public static final int paddingRight = 16842968; // 0x10100d8
+ field public static final int paddingTop = 16842967; // 0x10100d7
+ field public static final int panelBackground = 16842846; // 0x101005e
+ field public static final int panelColorBackground = 16842849; // 0x1010061
+ field public static final int panelColorForeground = 16842848; // 0x1010060
+ field public static final int panelFullBackground = 16842847; // 0x101005f
+ field public static final int panelTextAppearance = 16842850; // 0x1010062
+ field public static final deprecated int password = 16843100; // 0x101015c
+ field public static final int path = 16842794; // 0x101002a
+ field public static final int pathPattern = 16842796; // 0x101002c
+ field public static final int pathPrefix = 16842795; // 0x101002b
+ field public static final int permission = 16842758; // 0x1010006
+ field public static final int permissionGroup = 16842762; // 0x101000a
+ field public static final int persistent = 16842765; // 0x101000d
+ field public static final int persistentDrawingCache = 16842990; // 0x10100ee
+ field public static final deprecated int phoneNumber = 16843111; // 0x1010167
+ field public static final int pivotX = 16843189; // 0x10101b5
+ field public static final int pivotY = 16843190; // 0x10101b6
+ field public static final int popupAnimationStyle = 16843465; // 0x10102c9
+ field public static final int popupBackground = 16843126; // 0x1010176
+ field public static final int popupCharacters = 16843332; // 0x1010244
+ field public static final int popupKeyboard = 16843331; // 0x1010243
+ field public static final int popupLayout = 16843323; // 0x101023b
+ field public static final int popupMenuStyle = 16843520; // 0x1010300
+ field public static final int popupWindowStyle = 16842870; // 0x1010076
+ field public static final int port = 16842793; // 0x1010029
+ field public static final int positiveButtonText = 16843253; // 0x10101f5
+ field public static final int preferenceCategoryStyle = 16842892; // 0x101008c
+ field public static final int preferenceInformationStyle = 16842893; // 0x101008d
+ field public static final int preferenceLayoutChild = 16842900; // 0x1010094
+ field public static final int preferenceScreenStyle = 16842891; // 0x101008b
+ field public static final int preferenceStyle = 16842894; // 0x101008e
+ field public static final int previewImage = 16843482; // 0x10102da
+ field public static final int priority = 16842780; // 0x101001c
+ field public static final int privateImeOptions = 16843299; // 0x1010223
+ field public static final int process = 16842769; // 0x1010011
+ field public static final int progress = 16843063; // 0x1010137
+ field public static final int progressBarPadding = 16843545; // 0x1010319
+ field public static final int progressBarStyle = 16842871; // 0x1010077
+ field public static final int progressBarStyleHorizontal = 16842872; // 0x1010078
+ field public static final int progressBarStyleInverse = 16843399; // 0x1010287
+ field public static final int progressBarStyleLarge = 16842874; // 0x101007a
+ field public static final int progressBarStyleLargeInverse = 16843401; // 0x1010289
+ field public static final int progressBarStyleSmall = 16842873; // 0x1010079
+ field public static final int progressBarStyleSmallInverse = 16843400; // 0x1010288
+ field public static final int progressBarStyleSmallTitle = 16843279; // 0x101020f
+ field public static final int progressDrawable = 16843068; // 0x101013c
+ field public static final int prompt = 16843131; // 0x101017b
+ field public static final int propertyName = 16843489; // 0x10102e1
+ field public static final int protectionLevel = 16842761; // 0x1010009
+ field public static final int publicKey = 16843686; // 0x10103a6
+ field public static final int queryActionMsg = 16843227; // 0x10101db
+ field public static final int queryAfterZeroResults = 16843394; // 0x1010282
+ field public static final int queryHint = 16843608; // 0x1010358
+ field public static final int quickContactBadgeStyleSmallWindowLarge = 16843443; // 0x10102b3
+ field public static final int quickContactBadgeStyleSmallWindowMedium = 16843442; // 0x10102b2
+ field public static final int quickContactBadgeStyleSmallWindowSmall = 16843441; // 0x10102b1
+ field public static final int quickContactBadgeStyleWindowLarge = 16843440; // 0x10102b0
+ field public static final int quickContactBadgeStyleWindowMedium = 16843439; // 0x10102af
+ field public static final int quickContactBadgeStyleWindowSmall = 16843438; // 0x10102ae
+ field public static final int radioButtonStyle = 16842878; // 0x101007e
+ field public static final int radius = 16843176; // 0x10101a8
+ field public static final int rating = 16843077; // 0x1010145
+ field public static final int ratingBarStyle = 16842876; // 0x101007c
+ field public static final int ratingBarStyleIndicator = 16843280; // 0x1010210
+ field public static final int ratingBarStyleSmall = 16842877; // 0x101007d
+ field public static final int readPermission = 16842759; // 0x1010007
+ field public static final int repeatCount = 16843199; // 0x10101bf
+ field public static final int repeatMode = 16843200; // 0x10101c0
+ field public static final int reqFiveWayNav = 16843314; // 0x1010232
+ field public static final int reqHardKeyboard = 16843305; // 0x1010229
+ field public static final int reqKeyboardType = 16843304; // 0x1010228
+ field public static final int reqNavigation = 16843306; // 0x101022a
+ field public static final int reqTouchScreen = 16843303; // 0x1010227
+ field public static final int required = 16843406; // 0x101028e
+ field public static final int requiresFadingEdge = 16843685; // 0x10103a5
+ field public static final int requiresSmallestWidthDp = 16843620; // 0x1010364
+ field public static final int resizeMode = 16843619; // 0x1010363
+ field public static final int resizeable = 16843405; // 0x101028d
+ field public static final int resource = 16842789; // 0x1010025
+ field public static final int restoreAnyVersion = 16843450; // 0x10102ba
+ field public static final deprecated int restoreNeedsApplication = 16843421; // 0x101029d
+ field public static final int right = 16843183; // 0x10101af
+ field public static final int ringtonePreferenceStyle = 16842899; // 0x1010093
+ field public static final int ringtoneType = 16843257; // 0x10101f9
+ field public static final int rotation = 16843558; // 0x1010326
+ field public static final int rotationX = 16843559; // 0x1010327
+ field public static final int rotationY = 16843560; // 0x1010328
+ field public static final int rowCount = 16843637; // 0x1010375
+ field public static final int rowDelay = 16843216; // 0x10101d0
+ field public static final int rowEdgeFlags = 16843329; // 0x1010241
+ field public static final int rowHeight = 16843058; // 0x1010132
+ field public static final int rowOrderPreserved = 16843638; // 0x1010376
+ field public static final int saveEnabled = 16842983; // 0x10100e7
+ field public static final int scaleGravity = 16843262; // 0x10101fe
+ field public static final int scaleHeight = 16843261; // 0x10101fd
+ field public static final int scaleType = 16843037; // 0x101011d
+ field public static final int scaleWidth = 16843260; // 0x10101fc
+ field public static final int scaleX = 16843556; // 0x1010324
+ field public static final int scaleY = 16843557; // 0x1010325
+ field public static final int scheme = 16842791; // 0x1010027
+ field public static final int screenDensity = 16843467; // 0x10102cb
+ field public static final int screenOrientation = 16842782; // 0x101001e
+ field public static final int screenSize = 16843466; // 0x10102ca
+ field public static final int scrollHorizontally = 16843099; // 0x101015b
+ field public static final int scrollViewStyle = 16842880; // 0x1010080
+ field public static final int scrollX = 16842962; // 0x10100d2
+ field public static final int scrollY = 16842963; // 0x10100d3
+ field public static final int scrollbarAlwaysDrawHorizontalTrack = 16842856; // 0x1010068
+ field public static final int scrollbarAlwaysDrawVerticalTrack = 16842857; // 0x1010069
+ field public static final int scrollbarDefaultDelayBeforeFade = 16843433; // 0x10102a9
+ field public static final int scrollbarFadeDuration = 16843432; // 0x10102a8
+ field public static final int scrollbarSize = 16842851; // 0x1010063
+ field public static final int scrollbarStyle = 16842879; // 0x101007f
+ field public static final int scrollbarThumbHorizontal = 16842852; // 0x1010064
+ field public static final int scrollbarThumbVertical = 16842853; // 0x1010065
+ field public static final int scrollbarTrackHorizontal = 16842854; // 0x1010066
+ field public static final int scrollbarTrackVertical = 16842855; // 0x1010067
+ field public static final int scrollbars = 16842974; // 0x10100de
+ field public static final int scrollingCache = 16843006; // 0x10100fe
+ field public static final deprecated int searchButtonText = 16843269; // 0x1010205
+ field public static final int searchMode = 16843221; // 0x10101d5
+ field public static final int searchSettingsDescription = 16843402; // 0x101028a
+ field public static final int searchSuggestAuthority = 16843222; // 0x10101d6
+ field public static final int searchSuggestIntentAction = 16843225; // 0x10101d9
+ field public static final int searchSuggestIntentData = 16843226; // 0x10101da
+ field public static final int searchSuggestPath = 16843223; // 0x10101d7
+ field public static final int searchSuggestSelection = 16843224; // 0x10101d8
+ field public static final int searchSuggestThreshold = 16843373; // 0x101026d
+ field public static final int secondaryProgress = 16843064; // 0x1010138
+ field public static final int seekBarStyle = 16842875; // 0x101007b
+ field public static final int segmentedButtonStyle = 16843568; // 0x1010330
+ field public static final int selectAllOnFocus = 16843102; // 0x101015e
+ field public static final int selectable = 16843238; // 0x10101e6
+ field public static final int selectableItemBackground = 16843534; // 0x101030e
+ field public static final int selectedDateVerticalBar = 16843591; // 0x1010347
+ field public static final int selectedWeekBackgroundColor = 16843586; // 0x1010342
+ field public static final int settingsActivity = 16843301; // 0x1010225
+ field public static final int shadowColor = 16843105; // 0x1010161
+ field public static final int shadowDx = 16843106; // 0x1010162
+ field public static final int shadowDy = 16843107; // 0x1010163
+ field public static final int shadowRadius = 16843108; // 0x1010164
+ field public static final int shape = 16843162; // 0x101019a
+ field public static final int shareInterpolator = 16843195; // 0x10101bb
+ field public static final int sharedUserId = 16842763; // 0x101000b
+ field public static final int sharedUserLabel = 16843361; // 0x1010261
+ field public static final int shouldDisableView = 16843246; // 0x10101ee
+ field public static final int showAsAction = 16843481; // 0x10102d9
+ field public static final int showDefault = 16843258; // 0x10101fa
+ field public static final int showDividers = 16843561; // 0x1010329
+ field public static final int showSilent = 16843259; // 0x10101fb
+ field public static final int showWeekNumber = 16843582; // 0x101033e
+ field public static final int shownWeekCount = 16843585; // 0x1010341
+ field public static final int shrinkColumns = 16843082; // 0x101014a
+ field public static final deprecated int singleLine = 16843101; // 0x101015d
+ field public static final int smallIcon = 16843422; // 0x101029e
+ field public static final int smallScreens = 16843396; // 0x1010284
+ field public static final int smoothScrollbar = 16843313; // 0x1010231
+ field public static final int soundEffectsEnabled = 16843285; // 0x1010215
+ field public static final int spacing = 16843027; // 0x1010113
+ field public static final int spinnerDropDownItemStyle = 16842887; // 0x1010087
+ field public static final int spinnerItemStyle = 16842889; // 0x1010089
+ field public static final int spinnerMode = 16843505; // 0x10102f1
+ field public static final int spinnerStyle = 16842881; // 0x1010081
+ field public static final int spinnersShown = 16843595; // 0x101034b
+ field public static final int splitMotionEvents = 16843503; // 0x10102ef
+ field public static final int src = 16843033; // 0x1010119
+ field public static final int stackFromBottom = 16843005; // 0x10100fd
+ field public static final int starStyle = 16842882; // 0x1010082
+ field public static final int startColor = 16843165; // 0x101019d
+ field public static final int startOffset = 16843198; // 0x10101be
+ field public static final int startYear = 16843132; // 0x101017c
+ field public static final int stateNotNeeded = 16842774; // 0x1010016
+ field public static final int state_above_anchor = 16842922; // 0x10100aa
+ field public static final int state_accelerated = 16843547; // 0x101031b
+ field public static final int state_activated = 16843518; // 0x10102fe
+ field public static final int state_active = 16842914; // 0x10100a2
+ field public static final int state_checkable = 16842911; // 0x101009f
+ field public static final int state_checked = 16842912; // 0x10100a0
+ field public static final int state_drag_can_accept = 16843624; // 0x1010368
+ field public static final int state_drag_hovered = 16843625; // 0x1010369
+ field public static final int state_empty = 16842921; // 0x10100a9
+ field public static final int state_enabled = 16842910; // 0x101009e
+ field public static final int state_expanded = 16842920; // 0x10100a8
+ field public static final int state_first = 16842916; // 0x10100a4
+ field public static final int state_focused = 16842908; // 0x101009c
+ field public static final int state_hovered = 16843623; // 0x1010367
+ field public static final int state_last = 16842918; // 0x10100a6
+ field public static final int state_long_pressable = 16843324; // 0x101023c
+ field public static final int state_middle = 16842917; // 0x10100a5
+ field public static final int state_multiline = 16843597; // 0x101034d
+ field public static final int state_pressed = 16842919; // 0x10100a7
+ field public static final int state_selected = 16842913; // 0x10100a1
+ field public static final int state_single = 16842915; // 0x10100a3
+ field public static final int state_window_focused = 16842909; // 0x101009d
+ field public static final int staticWallpaperPreview = 16843569; // 0x1010331
+ field public static final int stepSize = 16843078; // 0x1010146
+ field public static final int stopWithTask = 16843626; // 0x101036a
+ field public static final int streamType = 16843273; // 0x1010209
+ field public static final int stretchColumns = 16843081; // 0x1010149
+ field public static final int stretchMode = 16843030; // 0x1010116
+ field public static final int subtitle = 16843473; // 0x10102d1
+ field public static final int subtitleTextStyle = 16843513; // 0x10102f9
+ field public static final int subtypeExtraValue = 16843674; // 0x101039a
+ field public static final int subtypeLocale = 16843673; // 0x1010399
+ field public static final int suggestActionMsg = 16843228; // 0x10101dc
+ field public static final int suggestActionMsgColumn = 16843229; // 0x10101dd
+ field public static final int summary = 16843241; // 0x10101e9
+ field public static final int summaryColumn = 16843426; // 0x10102a2
+ field public static final int summaryOff = 16843248; // 0x10101f0
+ field public static final int summaryOn = 16843247; // 0x10101ef
+ field public static final int supportsUploading = 16843419; // 0x101029b
+ field public static final int switchMinWidth = 16843632; // 0x1010370
+ field public static final int switchPadding = 16843633; // 0x1010371
+ field public static final int switchPreferenceStyle = 16843629; // 0x101036d
+ field public static final int switchTextAppearance = 16843630; // 0x101036e
+ field public static final int switchTextOff = 16843628; // 0x101036c
+ field public static final int switchTextOn = 16843627; // 0x101036b
+ field public static final int syncable = 16842777; // 0x1010019
+ field public static final int tabStripEnabled = 16843453; // 0x10102bd
+ field public static final int tabStripLeft = 16843451; // 0x10102bb
+ field public static final int tabStripRight = 16843452; // 0x10102bc
+ field public static final int tabWidgetStyle = 16842883; // 0x1010083
+ field public static final int tag = 16842961; // 0x10100d1
+ field public static final int targetActivity = 16843266; // 0x1010202
+ field public static final int targetClass = 16842799; // 0x101002f
+ field public static final int targetDescriptions = 16843680; // 0x10103a0
+ field public static final int targetPackage = 16842785; // 0x1010021
+ field public static final int targetSdkVersion = 16843376; // 0x1010270
+ field public static final int taskAffinity = 16842770; // 0x1010012
+ field public static final int taskCloseEnterAnimation = 16842942; // 0x10100be
+ field public static final int taskCloseExitAnimation = 16842943; // 0x10100bf
+ field public static final int taskOpenEnterAnimation = 16842940; // 0x10100bc
+ field public static final int taskOpenExitAnimation = 16842941; // 0x10100bd
+ field public static final int taskToBackEnterAnimation = 16842946; // 0x10100c2
+ field public static final int taskToBackExitAnimation = 16842947; // 0x10100c3
+ field public static final int taskToFrontEnterAnimation = 16842944; // 0x10100c0
+ field public static final int taskToFrontExitAnimation = 16842945; // 0x10100c1
+ field public static final int tension = 16843370; // 0x101026a
+ field public static final int testOnly = 16843378; // 0x1010272
+ field public static final int text = 16843087; // 0x101014f
+ field public static final int textAllCaps = 16843660; // 0x101038c
+ field public static final int textAppearance = 16842804; // 0x1010034
+ field public static final int textAppearanceButton = 16843271; // 0x1010207
+ field public static final int textAppearanceInverse = 16842805; // 0x1010035
+ field public static final int textAppearanceLarge = 16842816; // 0x1010040
+ field public static final int textAppearanceLargeInverse = 16842819; // 0x1010043
+ field public static final int textAppearanceLargePopupMenu = 16843521; // 0x1010301
+ field public static final int textAppearanceListItem = 16843678; // 0x101039e
+ field public static final int textAppearanceListItemSmall = 16843679; // 0x101039f
+ field public static final int textAppearanceMedium = 16842817; // 0x1010041
+ field public static final int textAppearanceMediumInverse = 16842820; // 0x1010044
+ field public static final int textAppearanceSearchResultSubtitle = 16843424; // 0x10102a0
+ field public static final int textAppearanceSearchResultTitle = 16843425; // 0x10102a1
+ field public static final int textAppearanceSmall = 16842818; // 0x1010042
+ field public static final int textAppearanceSmallInverse = 16842821; // 0x1010045
+ field public static final int textAppearanceSmallPopupMenu = 16843522; // 0x1010302
+ field public static final int textCheckMark = 16842822; // 0x1010046
+ field public static final int textCheckMarkInverse = 16842823; // 0x1010047
+ field public static final int textColor = 16842904; // 0x1010098
+ field public static final int textColorAlertDialogListItem = 16843526; // 0x1010306
+ field public static final int textColorHighlight = 16842905; // 0x1010099
+ field public static final int textColorHighlightInverse = 16843599; // 0x101034f
+ field public static final int textColorHint = 16842906; // 0x101009a
+ field public static final int textColorHintInverse = 16842815; // 0x101003f
+ field public static final int textColorLink = 16842907; // 0x101009b
+ field public static final int textColorLinkInverse = 16843600; // 0x1010350
+ field public static final int textColorPrimary = 16842806; // 0x1010036
+ field public static final int textColorPrimaryDisableOnly = 16842807; // 0x1010037
+ field public static final int textColorPrimaryInverse = 16842809; // 0x1010039
+ field public static final int textColorPrimaryInverseDisableOnly = 16843403; // 0x101028b
+ field public static final int textColorPrimaryInverseNoDisable = 16842813; // 0x101003d
+ field public static final int textColorPrimaryNoDisable = 16842811; // 0x101003b
+ field public static final int textColorSecondary = 16842808; // 0x1010038
+ field public static final int textColorSecondaryInverse = 16842810; // 0x101003a
+ field public static final int textColorSecondaryInverseNoDisable = 16842814; // 0x101003e
+ field public static final int textColorSecondaryNoDisable = 16842812; // 0x101003c
+ field public static final int textColorTertiary = 16843282; // 0x1010212
+ field public static final int textColorTertiaryInverse = 16843283; // 0x1010213
+ field public static final int textCursorDrawable = 16843618; // 0x1010362
+ field public static final int textEditNoPasteWindowLayout = 16843541; // 0x1010315
+ field public static final int textEditPasteWindowLayout = 16843540; // 0x1010314
+ field public static final int textEditSideNoPasteWindowLayout = 16843615; // 0x101035f
+ field public static final int textEditSidePasteWindowLayout = 16843614; // 0x101035e
+ field public static final int textEditSuggestionItemLayout = 16843636; // 0x1010374
+ field public static final int textFilterEnabled = 16843007; // 0x10100ff
+ field public static final int textIsSelectable = 16843542; // 0x1010316
+ field public static final int textOff = 16843045; // 0x1010125
+ field public static final int textOn = 16843044; // 0x1010124
+ field public static final int textScaleX = 16843089; // 0x1010151
+ field public static final int textSelectHandle = 16843463; // 0x10102c7
+ field public static final int textSelectHandleLeft = 16843461; // 0x10102c5
+ field public static final int textSelectHandleRight = 16843462; // 0x10102c6
+ field public static final int textSelectHandleWindowStyle = 16843464; // 0x10102c8
+ field public static final int textSize = 16842901; // 0x1010095
+ field public static final int textStyle = 16842903; // 0x1010097
+ field public static final int textSuggestionsWindowStyle = 16843635; // 0x1010373
+ field public static final int textViewStyle = 16842884; // 0x1010084
+ field public static final int theme = 16842752; // 0x1010000
+ field public static final int thickness = 16843360; // 0x1010260
+ field public static final int thicknessRatio = 16843164; // 0x101019c
+ field public static final int thumb = 16843074; // 0x1010142
+ field public static final int thumbOffset = 16843075; // 0x1010143
+ field public static final int thumbTextPadding = 16843634; // 0x1010372
+ field public static final int thumbnail = 16843429; // 0x10102a5
+ field public static final int tileMode = 16843265; // 0x1010201
+ field public static final int tint = 16843041; // 0x1010121
+ field public static final int title = 16843233; // 0x10101e1
+ field public static final int titleCondensed = 16843234; // 0x10101e2
+ field public static final int titleTextStyle = 16843512; // 0x10102f8
+ field public static final int toAlpha = 16843211; // 0x10101cb
+ field public static final int toDegrees = 16843188; // 0x10101b4
+ field public static final int toXDelta = 16843207; // 0x10101c7
+ field public static final int toXScale = 16843203; // 0x10101c3
+ field public static final int toYDelta = 16843209; // 0x10101c9
+ field public static final int toYScale = 16843205; // 0x10101c5
+ field public static final int top = 16843182; // 0x10101ae
+ field public static final int topBright = 16842955; // 0x10100cb
+ field public static final int topDark = 16842951; // 0x10100c7
+ field public static final int topLeftRadius = 16843177; // 0x10101a9
+ field public static final int topOffset = 16843352; // 0x1010258
+ field public static final int topRightRadius = 16843178; // 0x10101aa
+ field public static final int track = 16843631; // 0x101036f
+ field public static final int transcriptMode = 16843008; // 0x1010100
+ field public static final int transformPivotX = 16843552; // 0x1010320
+ field public static final int transformPivotY = 16843553; // 0x1010321
+ field public static final int translationX = 16843554; // 0x1010322
+ field public static final int translationY = 16843555; // 0x1010323
+ field public static final int type = 16843169; // 0x10101a1
+ field public static final int typeface = 16842902; // 0x1010096
+ field public static final int uiOptions = 16843672; // 0x1010398
+ field public static final int uncertainGestureColor = 16843382; // 0x1010276
+ field public static final int unfocusedMonthDateColor = 16843588; // 0x1010344
+ field public static final int unselectedAlpha = 16843278; // 0x101020e
+ field public static final int updatePeriodMillis = 16843344; // 0x1010250
+ field public static final int useDefaultMargins = 16843641; // 0x1010379
+ field public static final int useIntrinsicSizeAsMinimum = 16843536; // 0x1010310
+ field public static final int useLevel = 16843167; // 0x101019f
+ field public static final int userVisible = 16843409; // 0x1010291
+ field public static final int value = 16842788; // 0x1010024
+ field public static final int valueFrom = 16843486; // 0x10102de
+ field public static final int valueTo = 16843487; // 0x10102df
+ field public static final int valueType = 16843488; // 0x10102e0
+ field public static final int variablePadding = 16843157; // 0x1010195
+ field public static final int versionCode = 16843291; // 0x101021b
+ field public static final int versionName = 16843292; // 0x101021c
+ field public static final int verticalCorrection = 16843322; // 0x101023a
+ field public static final int verticalDivider = 16843054; // 0x101012e
+ field public static final int verticalGap = 16843328; // 0x1010240
+ field public static final int verticalScrollbarPosition = 16843572; // 0x1010334
+ field public static final int verticalSpacing = 16843029; // 0x1010115
+ field public static final int visibility = 16842972; // 0x10100dc
+ field public static final int visible = 16843156; // 0x1010194
+ field public static final int vmSafeMode = 16843448; // 0x10102b8
+ field public static final int voiceLanguage = 16843349; // 0x1010255
+ field public static final int voiceLanguageModel = 16843347; // 0x1010253
+ field public static final int voiceMaxResults = 16843350; // 0x1010256
+ field public static final int voicePromptText = 16843348; // 0x1010254
+ field public static final int voiceSearchMode = 16843346; // 0x1010252
+ field public static final int wallpaperCloseEnterAnimation = 16843413; // 0x1010295
+ field public static final int wallpaperCloseExitAnimation = 16843414; // 0x1010296
+ field public static final int wallpaperIntraCloseEnterAnimation = 16843417; // 0x1010299
+ field public static final int wallpaperIntraCloseExitAnimation = 16843418; // 0x101029a
+ field public static final int wallpaperIntraOpenEnterAnimation = 16843415; // 0x1010297
+ field public static final int wallpaperIntraOpenExitAnimation = 16843416; // 0x1010298
+ field public static final int wallpaperOpenEnterAnimation = 16843411; // 0x1010293
+ field public static final int wallpaperOpenExitAnimation = 16843412; // 0x1010294
+ field public static final int webTextViewStyle = 16843449; // 0x10102b9
+ field public static final int webViewStyle = 16842885; // 0x1010085
+ field public static final int weekDayTextAppearance = 16843592; // 0x1010348
+ field public static final int weekNumberColor = 16843589; // 0x1010345
+ field public static final int weekSeparatorLineColor = 16843590; // 0x1010346
+ field public static final int weightSum = 16843048; // 0x1010128
+ field public static final int widgetLayout = 16843243; // 0x10101eb
+ field public static final int width = 16843097; // 0x1010159
+ field public static final int windowActionBar = 16843469; // 0x10102cd
+ field public static final int windowActionBarOverlay = 16843492; // 0x10102e4
+ field public static final int windowActionModeOverlay = 16843485; // 0x10102dd
+ field public static final int windowAnimationStyle = 16842926; // 0x10100ae
+ field public static final int windowBackground = 16842836; // 0x1010054
+ field public static final int windowCloseOnTouchOutside = 16843611; // 0x101035b
+ field public static final int windowContentOverlay = 16842841; // 0x1010059
+ field public static final int windowDisablePreview = 16843298; // 0x1010222
+ field public static final int windowEnableSplitTouch = 16843543; // 0x1010317
+ field public static final int windowEnterAnimation = 16842932; // 0x10100b4
+ field public static final int windowExitAnimation = 16842933; // 0x10100b5
+ field public static final int windowFrame = 16842837; // 0x1010055
+ field public static final int windowFullscreen = 16843277; // 0x101020d
+ field public static final int windowHideAnimation = 16842935; // 0x10100b7
+ field public static final int windowIsFloating = 16842839; // 0x1010057
+ field public static final int windowIsTranslucent = 16842840; // 0x1010058
+ field public static final int windowMinWidthMajor = 16843606; // 0x1010356
+ field public static final int windowMinWidthMinor = 16843607; // 0x1010357
+ field public static final int windowNoDisplay = 16843294; // 0x101021e
+ field public static final int windowNoTitle = 16842838; // 0x1010056
+ field public static final int windowShowAnimation = 16842934; // 0x10100b6
+ field public static final int windowShowWallpaper = 16843410; // 0x1010292
+ field public static final int windowSoftInputMode = 16843307; // 0x101022b
+ field public static final int windowTitleBackgroundStyle = 16842844; // 0x101005c
+ field public static final int windowTitleSize = 16842842; // 0x101005a
+ field public static final int windowTitleStyle = 16842843; // 0x101005b
+ field public static final int writePermission = 16842760; // 0x1010008
+ field public static final int x = 16842924; // 0x10100ac
+ field public static final int xlargeScreens = 16843455; // 0x10102bf
+ field public static final int y = 16842925; // 0x10100ad
+ field public static final int yesNoPreferenceStyle = 16842896; // 0x1010090
+ field public static final int zAdjustment = 16843201; // 0x10101c1
+ }
+
+ public static final class R.bool {
+ ctor public R.bool();
+ }
+
+ public static final class R.color {
+ ctor public R.color();
+ field public static final int background_dark = 17170446; // 0x106000e
+ field public static final int background_light = 17170447; // 0x106000f
+ field public static final int black = 17170444; // 0x106000c
+ field public static final int darker_gray = 17170432; // 0x1060000
+ field public static final int holo_blue_bright = 17170459; // 0x106001b
+ field public static final int holo_blue_dark = 17170451; // 0x1060013
+ field public static final int holo_blue_light = 17170450; // 0x1060012
+ field public static final int holo_green_dark = 17170453; // 0x1060015
+ field public static final int holo_green_light = 17170452; // 0x1060014
+ field public static final int holo_orange_dark = 17170457; // 0x1060019
+ field public static final int holo_orange_light = 17170456; // 0x1060018
+ field public static final int holo_purple = 17170458; // 0x106001a
+ field public static final int holo_red_dark = 17170455; // 0x1060017
+ field public static final int holo_red_light = 17170454; // 0x1060016
+ field public static final int primary_text_dark = 17170433; // 0x1060001
+ field public static final int primary_text_dark_nodisable = 17170434; // 0x1060002
+ field public static final int primary_text_light = 17170435; // 0x1060003
+ field public static final int primary_text_light_nodisable = 17170436; // 0x1060004
+ field public static final int secondary_text_dark = 17170437; // 0x1060005
+ field public static final int secondary_text_dark_nodisable = 17170438; // 0x1060006
+ field public static final int secondary_text_light = 17170439; // 0x1060007
+ field public static final int secondary_text_light_nodisable = 17170440; // 0x1060008
+ field public static final int tab_indicator_text = 17170441; // 0x1060009
+ field public static final int tertiary_text_dark = 17170448; // 0x1060010
+ field public static final int tertiary_text_light = 17170449; // 0x1060011
+ field public static final int transparent = 17170445; // 0x106000d
+ field public static final int white = 17170443; // 0x106000b
+ field public static final int widget_edittext_dark = 17170442; // 0x106000a
+ }
+
+ public static final class R.dimen {
+ ctor public R.dimen();
+ field public static final int app_icon_size = 17104896; // 0x1050000
+ field public static final int dialog_min_width_major = 17104899; // 0x1050003
+ field public static final int dialog_min_width_minor = 17104900; // 0x1050004
+ field public static final int notification_large_icon_height = 17104902; // 0x1050006
+ field public static final int notification_large_icon_width = 17104901; // 0x1050005
+ field public static final int thumbnail_height = 17104897; // 0x1050001
+ field public static final int thumbnail_width = 17104898; // 0x1050002
+ }
+
+ public static final class R.drawable {
+ ctor public R.drawable();
+ field public static final int alert_dark_frame = 17301504; // 0x1080000
+ field public static final int alert_light_frame = 17301505; // 0x1080001
+ field public static final int arrow_down_float = 17301506; // 0x1080002
+ field public static final int arrow_up_float = 17301507; // 0x1080003
+ field public static final int bottom_bar = 17301658; // 0x108009a
+ field public static final int btn_default = 17301508; // 0x1080004
+ field public static final int btn_default_small = 17301509; // 0x1080005
+ field public static final int btn_dialog = 17301527; // 0x1080017
+ field public static final int btn_dropdown = 17301510; // 0x1080006
+ field public static final int btn_minus = 17301511; // 0x1080007
+ field public static final int btn_plus = 17301512; // 0x1080008
+ field public static final int btn_radio = 17301513; // 0x1080009
+ field public static final int btn_star = 17301514; // 0x108000a
+ field public static final int btn_star_big_off = 17301515; // 0x108000b
+ field public static final int btn_star_big_on = 17301516; // 0x108000c
+ field public static final int button_onoff_indicator_off = 17301518; // 0x108000e
+ field public static final int button_onoff_indicator_on = 17301517; // 0x108000d
+ field public static final int checkbox_off_background = 17301519; // 0x108000f
+ field public static final int checkbox_on_background = 17301520; // 0x1080010
+ field public static final int dark_header = 17301669; // 0x10800a5
+ field public static final int dialog_frame = 17301521; // 0x1080011
+ field public static final int dialog_holo_dark_frame = 17301682; // 0x10800b2
+ field public static final int dialog_holo_light_frame = 17301683; // 0x10800b3
+ field public static final int divider_horizontal_bright = 17301522; // 0x1080012
+ field public static final int divider_horizontal_dark = 17301524; // 0x1080014
+ field public static final int divider_horizontal_dim_dark = 17301525; // 0x1080015
+ field public static final int divider_horizontal_textfield = 17301523; // 0x1080013
+ field public static final int edit_text = 17301526; // 0x1080016
+ field public static final int editbox_background = 17301528; // 0x1080018
+ field public static final int editbox_background_normal = 17301529; // 0x1080019
+ field public static final int editbox_dropdown_dark_frame = 17301530; // 0x108001a
+ field public static final int editbox_dropdown_light_frame = 17301531; // 0x108001b
+ field public static final int gallery_thumb = 17301532; // 0x108001c
+ field public static final int ic_btn_speak_now = 17301668; // 0x10800a4
+ field public static final int ic_delete = 17301533; // 0x108001d
+ field public static final int ic_dialog_alert = 17301543; // 0x1080027
+ field public static final int ic_dialog_dialer = 17301544; // 0x1080028
+ field public static final int ic_dialog_email = 17301545; // 0x1080029
+ field public static final int ic_dialog_info = 17301659; // 0x108009b
+ field public static final int ic_dialog_map = 17301546; // 0x108002a
+ field public static final int ic_input_add = 17301547; // 0x108002b
+ field public static final int ic_input_delete = 17301548; // 0x108002c
+ field public static final int ic_input_get = 17301549; // 0x108002d
+ field public static final int ic_lock_idle_alarm = 17301550; // 0x108002e
+ field public static final int ic_lock_idle_charging = 17301534; // 0x108001e
+ field public static final int ic_lock_idle_lock = 17301535; // 0x108001f
+ field public static final int ic_lock_idle_low_battery = 17301536; // 0x1080020
+ field public static final int ic_lock_lock = 17301551; // 0x108002f
+ field public static final int ic_lock_power_off = 17301552; // 0x1080030
+ field public static final int ic_lock_silent_mode = 17301553; // 0x1080031
+ field public static final int ic_lock_silent_mode_off = 17301554; // 0x1080032
+ field public static final int ic_media_ff = 17301537; // 0x1080021
+ field public static final int ic_media_next = 17301538; // 0x1080022
+ field public static final int ic_media_pause = 17301539; // 0x1080023
+ field public static final int ic_media_play = 17301540; // 0x1080024
+ field public static final int ic_media_previous = 17301541; // 0x1080025
+ field public static final int ic_media_rew = 17301542; // 0x1080026
+ field public static final int ic_menu_add = 17301555; // 0x1080033
+ field public static final int ic_menu_agenda = 17301556; // 0x1080034
+ field public static final int ic_menu_always_landscape_portrait = 17301557; // 0x1080035
+ field public static final int ic_menu_call = 17301558; // 0x1080036
+ field public static final int ic_menu_camera = 17301559; // 0x1080037
+ field public static final int ic_menu_close_clear_cancel = 17301560; // 0x1080038
+ field public static final int ic_menu_compass = 17301561; // 0x1080039
+ field public static final int ic_menu_crop = 17301562; // 0x108003a
+ field public static final int ic_menu_day = 17301563; // 0x108003b
+ field public static final int ic_menu_delete = 17301564; // 0x108003c
+ field public static final int ic_menu_directions = 17301565; // 0x108003d
+ field public static final int ic_menu_edit = 17301566; // 0x108003e
+ field public static final int ic_menu_gallery = 17301567; // 0x108003f
+ field public static final int ic_menu_help = 17301568; // 0x1080040
+ field public static final int ic_menu_info_details = 17301569; // 0x1080041
+ field public static final int ic_menu_manage = 17301570; // 0x1080042
+ field public static final int ic_menu_mapmode = 17301571; // 0x1080043
+ field public static final int ic_menu_month = 17301572; // 0x1080044
+ field public static final int ic_menu_more = 17301573; // 0x1080045
+ field public static final int ic_menu_my_calendar = 17301574; // 0x1080046
+ field public static final int ic_menu_mylocation = 17301575; // 0x1080047
+ field public static final int ic_menu_myplaces = 17301576; // 0x1080048
+ field public static final int ic_menu_preferences = 17301577; // 0x1080049
+ field public static final int ic_menu_recent_history = 17301578; // 0x108004a
+ field public static final int ic_menu_report_image = 17301579; // 0x108004b
+ field public static final int ic_menu_revert = 17301580; // 0x108004c
+ field public static final int ic_menu_rotate = 17301581; // 0x108004d
+ field public static final int ic_menu_save = 17301582; // 0x108004e
+ field public static final int ic_menu_search = 17301583; // 0x108004f
+ field public static final int ic_menu_send = 17301584; // 0x1080050
+ field public static final int ic_menu_set_as = 17301585; // 0x1080051
+ field public static final int ic_menu_share = 17301586; // 0x1080052
+ field public static final int ic_menu_slideshow = 17301587; // 0x1080053
+ field public static final int ic_menu_sort_alphabetically = 17301660; // 0x108009c
+ field public static final int ic_menu_sort_by_size = 17301661; // 0x108009d
+ field public static final int ic_menu_today = 17301588; // 0x1080054
+ field public static final int ic_menu_upload = 17301589; // 0x1080055
+ field public static final int ic_menu_upload_you_tube = 17301590; // 0x1080056
+ field public static final int ic_menu_view = 17301591; // 0x1080057
+ field public static final int ic_menu_week = 17301592; // 0x1080058
+ field public static final int ic_menu_zoom = 17301593; // 0x1080059
+ field public static final int ic_notification_clear_all = 17301594; // 0x108005a
+ field public static final int ic_notification_overlay = 17301595; // 0x108005b
+ field public static final int ic_partial_secure = 17301596; // 0x108005c
+ field public static final int ic_popup_disk_full = 17301597; // 0x108005d
+ field public static final int ic_popup_reminder = 17301598; // 0x108005e
+ field public static final int ic_popup_sync = 17301599; // 0x108005f
+ field public static final int ic_search_category_default = 17301600; // 0x1080060
+ field public static final int ic_secure = 17301601; // 0x1080061
+ field public static final int list_selector_background = 17301602; // 0x1080062
+ field public static final int menu_frame = 17301603; // 0x1080063
+ field public static final int menu_full_frame = 17301604; // 0x1080064
+ field public static final int menuitem_background = 17301605; // 0x1080065
+ field public static final int picture_frame = 17301606; // 0x1080066
+ field public static final int presence_audio_away = 17301679; // 0x10800af
+ field public static final int presence_audio_busy = 17301680; // 0x10800b0
+ field public static final int presence_audio_online = 17301681; // 0x10800b1
+ field public static final int presence_away = 17301607; // 0x1080067
+ field public static final int presence_busy = 17301608; // 0x1080068
+ field public static final int presence_invisible = 17301609; // 0x1080069
+ field public static final int presence_offline = 17301610; // 0x108006a
+ field public static final int presence_online = 17301611; // 0x108006b
+ field public static final int presence_video_away = 17301676; // 0x10800ac
+ field public static final int presence_video_busy = 17301677; // 0x10800ad
+ field public static final int presence_video_online = 17301678; // 0x10800ae
+ field public static final int progress_horizontal = 17301612; // 0x108006c
+ field public static final int progress_indeterminate_horizontal = 17301613; // 0x108006d
+ field public static final int radiobutton_off_background = 17301614; // 0x108006e
+ field public static final int radiobutton_on_background = 17301615; // 0x108006f
+ field public static final int screen_background_dark = 17301656; // 0x1080098
+ field public static final int screen_background_dark_transparent = 17301673; // 0x10800a9
+ field public static final int screen_background_light = 17301657; // 0x1080099
+ field public static final int screen_background_light_transparent = 17301674; // 0x10800aa
+ field public static final int spinner_background = 17301616; // 0x1080070
+ field public static final int spinner_dropdown_background = 17301617; // 0x1080071
+ field public static final int star_big_off = 17301619; // 0x1080073
+ field public static final int star_big_on = 17301618; // 0x1080072
+ field public static final int star_off = 17301621; // 0x1080075
+ field public static final int star_on = 17301620; // 0x1080074
+ field public static final int stat_notify_call_mute = 17301622; // 0x1080076
+ field public static final int stat_notify_chat = 17301623; // 0x1080077
+ field public static final int stat_notify_error = 17301624; // 0x1080078
+ field public static final int stat_notify_missed_call = 17301631; // 0x108007f
+ field public static final int stat_notify_more = 17301625; // 0x1080079
+ field public static final int stat_notify_sdcard = 17301626; // 0x108007a
+ field public static final int stat_notify_sdcard_prepare = 17301675; // 0x10800ab
+ field public static final int stat_notify_sdcard_usb = 17301627; // 0x108007b
+ field public static final int stat_notify_sync = 17301628; // 0x108007c
+ field public static final int stat_notify_sync_noanim = 17301629; // 0x108007d
+ field public static final int stat_notify_voicemail = 17301630; // 0x108007e
+ field public static final int stat_sys_data_bluetooth = 17301632; // 0x1080080
+ field public static final int stat_sys_download = 17301633; // 0x1080081
+ field public static final int stat_sys_download_done = 17301634; // 0x1080082
+ field public static final int stat_sys_headset = 17301635; // 0x1080083
+ field public static final deprecated int stat_sys_phone_call = 17301636; // 0x1080084
+ field public static final deprecated int stat_sys_phone_call_forward = 17301637; // 0x1080085
+ field public static final deprecated int stat_sys_phone_call_on_hold = 17301638; // 0x1080086
+ field public static final int stat_sys_speakerphone = 17301639; // 0x1080087
+ field public static final int stat_sys_upload = 17301640; // 0x1080088
+ field public static final int stat_sys_upload_done = 17301641; // 0x1080089
+ field public static final deprecated int stat_sys_vp_phone_call = 17301671; // 0x10800a7
+ field public static final deprecated int stat_sys_vp_phone_call_on_hold = 17301672; // 0x10800a8
+ field public static final int stat_sys_warning = 17301642; // 0x108008a
+ field public static final int status_bar_item_app_background = 17301643; // 0x108008b
+ field public static final int status_bar_item_background = 17301644; // 0x108008c
+ field public static final int sym_action_call = 17301645; // 0x108008d
+ field public static final int sym_action_chat = 17301646; // 0x108008e
+ field public static final int sym_action_email = 17301647; // 0x108008f
+ field public static final int sym_call_incoming = 17301648; // 0x1080090
+ field public static final int sym_call_missed = 17301649; // 0x1080091
+ field public static final int sym_call_outgoing = 17301650; // 0x1080092
+ field public static final int sym_contact_card = 17301652; // 0x1080094
+ field public static final int sym_def_app_icon = 17301651; // 0x1080093
+ field public static final int title_bar = 17301653; // 0x1080095
+ field public static final int title_bar_tall = 17301670; // 0x10800a6
+ field public static final int toast_frame = 17301654; // 0x1080096
+ field public static final int zoom_plate = 17301655; // 0x1080097
+ }
+
+ public static final class R.fraction {
+ ctor public R.fraction();
+ }
+
+ public static final class R.id {
+ ctor public R.id();
+ field public static final int addToDictionary = 16908330; // 0x102002a
+ field public static final int background = 16908288; // 0x1020000
+ field public static final int button1 = 16908313; // 0x1020019
+ field public static final int button2 = 16908314; // 0x102001a
+ field public static final int button3 = 16908315; // 0x102001b
+ field public static final int candidatesArea = 16908317; // 0x102001d
+ field public static final int checkbox = 16908289; // 0x1020001
+ field public static final int closeButton = 16908327; // 0x1020027
+ field public static final int content = 16908290; // 0x1020002
+ field public static final int copy = 16908321; // 0x1020021
+ field public static final int copyUrl = 16908323; // 0x1020023
+ field public static final int custom = 16908331; // 0x102002b
+ field public static final int cut = 16908320; // 0x1020020
+ field public static final int edit = 16908291; // 0x1020003
+ field public static final int empty = 16908292; // 0x1020004
+ field public static final int extractArea = 16908316; // 0x102001c
+ field public static final int hint = 16908293; // 0x1020005
+ field public static final int home = 16908332; // 0x102002c
+ field public static final int icon = 16908294; // 0x1020006
+ field public static final int icon1 = 16908295; // 0x1020007
+ field public static final int icon2 = 16908296; // 0x1020008
+ field public static final int input = 16908297; // 0x1020009
+ field public static final int inputArea = 16908318; // 0x102001e
+ field public static final int inputExtractEditText = 16908325; // 0x1020025
+ field public static final int keyboardView = 16908326; // 0x1020026
+ field public static final int list = 16908298; // 0x102000a
+ field public static final int message = 16908299; // 0x102000b
+ field public static final int paste = 16908322; // 0x1020022
+ field public static final int primary = 16908300; // 0x102000c
+ field public static final int progress = 16908301; // 0x102000d
+ field public static final int secondaryProgress = 16908303; // 0x102000f
+ field public static final int selectAll = 16908319; // 0x102001f
+ field public static final int selectTextMode = 16908333; // 0x102002d
+ field public static final int selectedIcon = 16908302; // 0x102000e
+ field public static final int startSelectingText = 16908328; // 0x1020028
+ field public static final int stopSelectingText = 16908329; // 0x1020029
+ field public static final int summary = 16908304; // 0x1020010
+ field public static final int switchInputMethod = 16908324; // 0x1020024
+ field public static final int tabcontent = 16908305; // 0x1020011
+ field public static final int tabhost = 16908306; // 0x1020012
+ field public static final int tabs = 16908307; // 0x1020013
+ field public static final int text1 = 16908308; // 0x1020014
+ field public static final int text2 = 16908309; // 0x1020015
+ field public static final int title = 16908310; // 0x1020016
+ field public static final int toggle = 16908311; // 0x1020017
+ field public static final int widget_frame = 16908312; // 0x1020018
+ }
+
+ public static final class R.integer {
+ ctor public R.integer();
+ field public static final int config_longAnimTime = 17694722; // 0x10e0002
+ field public static final int config_mediumAnimTime = 17694721; // 0x10e0001
+ field public static final int config_shortAnimTime = 17694720; // 0x10e0000
+ field public static final int status_bar_notification_info_maxnum = 17694723; // 0x10e0003
+ }
+
+ public static final class R.interpolator {
+ ctor public R.interpolator();
+ field public static final int accelerate_cubic = 17563650; // 0x10c0002
+ field public static final int accelerate_decelerate = 17563654; // 0x10c0006
+ field public static final int accelerate_quad = 17563648; // 0x10c0000
+ field public static final int accelerate_quint = 17563652; // 0x10c0004
+ field public static final int anticipate = 17563655; // 0x10c0007
+ field public static final int anticipate_overshoot = 17563657; // 0x10c0009
+ field public static final int bounce = 17563658; // 0x10c000a
+ field public static final int cycle = 17563660; // 0x10c000c
+ field public static final int decelerate_cubic = 17563651; // 0x10c0003
+ field public static final int decelerate_quad = 17563649; // 0x10c0001
+ field public static final int decelerate_quint = 17563653; // 0x10c0005
+ field public static final int linear = 17563659; // 0x10c000b
+ field public static final int overshoot = 17563656; // 0x10c0008
+ }
+
+ public static final class R.layout {
+ ctor public R.layout();
+ field public static final int activity_list_item = 17367040; // 0x1090000
+ field public static final int browser_link_context_header = 17367054; // 0x109000e
+ field public static final int expandable_list_content = 17367041; // 0x1090001
+ field public static final int list_content = 17367060; // 0x1090014
+ field public static final int preference_category = 17367042; // 0x1090002
+ field public static final int select_dialog_item = 17367057; // 0x1090011
+ field public static final int select_dialog_multichoice = 17367059; // 0x1090013
+ field public static final int select_dialog_singlechoice = 17367058; // 0x1090012
+ field public static final int simple_dropdown_item_1line = 17367050; // 0x109000a
+ field public static final int simple_expandable_list_item_1 = 17367046; // 0x1090006
+ field public static final int simple_expandable_list_item_2 = 17367047; // 0x1090007
+ field public static final int simple_gallery_item = 17367051; // 0x109000b
+ field public static final int simple_list_item_1 = 17367043; // 0x1090003
+ field public static final int simple_list_item_2 = 17367044; // 0x1090004
+ field public static final int simple_list_item_activated_1 = 17367062; // 0x1090016
+ field public static final int simple_list_item_activated_2 = 17367063; // 0x1090017
+ field public static final int simple_list_item_checked = 17367045; // 0x1090005
+ field public static final int simple_list_item_multiple_choice = 17367056; // 0x1090010
+ field public static final int simple_list_item_single_choice = 17367055; // 0x109000f
+ field public static final int simple_selectable_list_item = 17367061; // 0x1090015
+ field public static final int simple_spinner_dropdown_item = 17367049; // 0x1090009
+ field public static final int simple_spinner_item = 17367048; // 0x1090008
+ field public static final int test_list_item = 17367052; // 0x109000c
+ field public static final int two_line_list_item = 17367053; // 0x109000d
+ }
+
+ public static final class R.menu {
+ ctor public R.menu();
+ }
+
+ public static final class R.mipmap {
+ ctor public R.mipmap();
+ field public static final int sym_def_app_icon = 17629184; // 0x10d0000
+ }
+
+ public static final class R.plurals {
+ ctor public R.plurals();
+ }
+
+ public static final class R.raw {
+ ctor public R.raw();
+ }
+
+ public static final class R.string {
+ ctor public R.string();
+ field public static final int VideoView_error_button = 17039376; // 0x1040010
+ field public static final int VideoView_error_text_invalid_progressive_playback = 17039381; // 0x1040015
+ field public static final int VideoView_error_text_unknown = 17039377; // 0x1040011
+ field public static final int VideoView_error_title = 17039378; // 0x1040012
+ field public static final int cancel = 17039360; // 0x1040000
+ field public static final int copy = 17039361; // 0x1040001
+ field public static final int copyUrl = 17039362; // 0x1040002
+ field public static final int cut = 17039363; // 0x1040003
+ field public static final int defaultMsisdnAlphaTag = 17039365; // 0x1040005
+ field public static final int defaultVoiceMailAlphaTag = 17039364; // 0x1040004
+ field public static final int dialog_alert_title = 17039380; // 0x1040014
+ field public static final int emptyPhoneNumber = 17039366; // 0x1040006
+ field public static final int httpErrorBadUrl = 17039367; // 0x1040007
+ field public static final int httpErrorUnsupportedScheme = 17039368; // 0x1040008
+ field public static final int no = 17039369; // 0x1040009
+ field public static final int ok = 17039370; // 0x104000a
+ field public static final int paste = 17039371; // 0x104000b
+ field public static final int search_go = 17039372; // 0x104000c
+ field public static final int selectAll = 17039373; // 0x104000d
+ field public static final int selectTextMode = 17039382; // 0x1040016
+ field public static final int status_bar_notification_info_overflow = 17039383; // 0x1040017
+ field public static final int unknownName = 17039374; // 0x104000e
+ field public static final int untitled = 17039375; // 0x104000f
+ field public static final int yes = 17039379; // 0x1040013
+ }
+
+ public static final class R.style {
+ ctor public R.style();
+ field public static final int Animation = 16973824; // 0x1030000
+ field public static final int Animation_Activity = 16973825; // 0x1030001
+ field public static final int Animation_Dialog = 16973826; // 0x1030002
+ field public static final int Animation_InputMethod = 16973910; // 0x1030056
+ field public static final int Animation_Toast = 16973828; // 0x1030004
+ field public static final int Animation_Translucent = 16973827; // 0x1030003
+ field public static final int DeviceDefault_ButtonBar = 16974287; // 0x10301cf
+ field public static final int DeviceDefault_ButtonBar_AlertDialog = 16974288; // 0x10301d0
+ field public static final int DeviceDefault_Light_ButtonBar = 16974290; // 0x10301d2
+ field public static final int DeviceDefault_Light_ButtonBar_AlertDialog = 16974291; // 0x10301d3
+ field public static final int DeviceDefault_Light_SegmentedButton = 16974292; // 0x10301d4
+ field public static final int DeviceDefault_SegmentedButton = 16974289; // 0x10301d1
+ field public static final int Holo_ButtonBar = 16974053; // 0x10300e5
+ field public static final int Holo_ButtonBar_AlertDialog = 16974055; // 0x10300e7
+ field public static final int Holo_Light_ButtonBar = 16974054; // 0x10300e6
+ field public static final int Holo_Light_ButtonBar_AlertDialog = 16974056; // 0x10300e8
+ field public static final int Holo_Light_SegmentedButton = 16974058; // 0x10300ea
+ field public static final int Holo_SegmentedButton = 16974057; // 0x10300e9
+ field public static final int MediaButton = 16973879; // 0x1030037
+ field public static final int MediaButton_Ffwd = 16973883; // 0x103003b
+ field public static final int MediaButton_Next = 16973881; // 0x1030039
+ field public static final int MediaButton_Pause = 16973885; // 0x103003d
+ field public static final int MediaButton_Play = 16973882; // 0x103003a
+ field public static final int MediaButton_Previous = 16973880; // 0x1030038
+ field public static final int MediaButton_Rew = 16973884; // 0x103003c
+ field public static final int TextAppearance = 16973886; // 0x103003e
+ field public static final int TextAppearance_DeviceDefault = 16974253; // 0x10301ad
+ field public static final int TextAppearance_DeviceDefault_DialogWindowTitle = 16974264; // 0x10301b8
+ field public static final int TextAppearance_DeviceDefault_Inverse = 16974254; // 0x10301ae
+ field public static final int TextAppearance_DeviceDefault_Large = 16974255; // 0x10301af
+ field public static final int TextAppearance_DeviceDefault_Large_Inverse = 16974256; // 0x10301b0
+ field public static final int TextAppearance_DeviceDefault_Medium = 16974257; // 0x10301b1
+ field public static final int TextAppearance_DeviceDefault_Medium_Inverse = 16974258; // 0x10301b2
+ field public static final int TextAppearance_DeviceDefault_SearchResult_Subtitle = 16974262; // 0x10301b6
+ field public static final int TextAppearance_DeviceDefault_SearchResult_Title = 16974261; // 0x10301b5
+ field public static final int TextAppearance_DeviceDefault_Small = 16974259; // 0x10301b3
+ field public static final int TextAppearance_DeviceDefault_Small_Inverse = 16974260; // 0x10301b4
+ field public static final int TextAppearance_DeviceDefault_Widget = 16974265; // 0x10301b9
+ field public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Menu = 16974286; // 0x10301ce
+ field public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle = 16974279; // 0x10301c7
+ field public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse = 16974283; // 0x10301cb
+ field public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Title = 16974278; // 0x10301c6
+ field public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse = 16974282; // 0x10301ca
+ field public static final int TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle = 16974281; // 0x10301c9
+ field public static final int TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse = 16974285; // 0x10301cd
+ field public static final int TextAppearance_DeviceDefault_Widget_ActionMode_Title = 16974280; // 0x10301c8
+ field public static final int TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse = 16974284; // 0x10301cc
+ field public static final int TextAppearance_DeviceDefault_Widget_Button = 16974266; // 0x10301ba
+ field public static final int TextAppearance_DeviceDefault_Widget_DropDownHint = 16974271; // 0x10301bf
+ field public static final int TextAppearance_DeviceDefault_Widget_DropDownItem = 16974272; // 0x10301c0
+ field public static final int TextAppearance_DeviceDefault_Widget_EditText = 16974274; // 0x10301c2
+ field public static final int TextAppearance_DeviceDefault_Widget_IconMenu_Item = 16974267; // 0x10301bb
+ field public static final int TextAppearance_DeviceDefault_Widget_PopupMenu = 16974275; // 0x10301c3
+ field public static final int TextAppearance_DeviceDefault_Widget_PopupMenu_Large = 16974276; // 0x10301c4
+ field public static final int TextAppearance_DeviceDefault_Widget_PopupMenu_Small = 16974277; // 0x10301c5
+ field public static final int TextAppearance_DeviceDefault_Widget_TabWidget = 16974268; // 0x10301bc
+ field public static final int TextAppearance_DeviceDefault_Widget_TextView = 16974269; // 0x10301bd
+ field public static final int TextAppearance_DeviceDefault_Widget_TextView_PopupMenu = 16974270; // 0x10301be
+ field public static final int TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem = 16974273; // 0x10301c1
+ field public static final int TextAppearance_DeviceDefault_WindowTitle = 16974263; // 0x10301b7
+ field public static final int TextAppearance_DialogWindowTitle = 16973889; // 0x1030041
+ field public static final int TextAppearance_Holo = 16974075; // 0x10300fb
+ field public static final int TextAppearance_Holo_DialogWindowTitle = 16974103; // 0x1030117
+ field public static final int TextAppearance_Holo_Inverse = 16974076; // 0x10300fc
+ field public static final int TextAppearance_Holo_Large = 16974077; // 0x10300fd
+ field public static final int TextAppearance_Holo_Large_Inverse = 16974078; // 0x10300fe
+ field public static final int TextAppearance_Holo_Medium = 16974079; // 0x10300ff
+ field public static final int TextAppearance_Holo_Medium_Inverse = 16974080; // 0x1030100
+ field public static final int TextAppearance_Holo_SearchResult_Subtitle = 16974084; // 0x1030104
+ field public static final int TextAppearance_Holo_SearchResult_Title = 16974083; // 0x1030103
+ field public static final int TextAppearance_Holo_Small = 16974081; // 0x1030101
+ field public static final int TextAppearance_Holo_Small_Inverse = 16974082; // 0x1030102
+ field public static final int TextAppearance_Holo_Widget = 16974085; // 0x1030105
+ field public static final int TextAppearance_Holo_Widget_ActionBar_Menu = 16974112; // 0x1030120
+ field public static final int TextAppearance_Holo_Widget_ActionBar_Subtitle = 16974099; // 0x1030113
+ field public static final int TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse = 16974109; // 0x103011d
+ field public static final int TextAppearance_Holo_Widget_ActionBar_Title = 16974098; // 0x1030112
+ field public static final int TextAppearance_Holo_Widget_ActionBar_Title_Inverse = 16974108; // 0x103011c
+ field public static final int TextAppearance_Holo_Widget_ActionMode_Subtitle = 16974101; // 0x1030115
+ field public static final int TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse = 16974111; // 0x103011f
+ field public static final int TextAppearance_Holo_Widget_ActionMode_Title = 16974100; // 0x1030114
+ field public static final int TextAppearance_Holo_Widget_ActionMode_Title_Inverse = 16974110; // 0x103011e
+ field public static final int TextAppearance_Holo_Widget_Button = 16974086; // 0x1030106
+ field public static final int TextAppearance_Holo_Widget_DropDownHint = 16974091; // 0x103010b
+ field public static final int TextAppearance_Holo_Widget_DropDownItem = 16974092; // 0x103010c
+ field public static final int TextAppearance_Holo_Widget_EditText = 16974094; // 0x103010e
+ field public static final int TextAppearance_Holo_Widget_IconMenu_Item = 16974087; // 0x1030107
+ field public static final int TextAppearance_Holo_Widget_PopupMenu = 16974095; // 0x103010f
+ field public static final int TextAppearance_Holo_Widget_PopupMenu_Large = 16974096; // 0x1030110
+ field public static final int TextAppearance_Holo_Widget_PopupMenu_Small = 16974097; // 0x1030111
+ field public static final int TextAppearance_Holo_Widget_TabWidget = 16974088; // 0x1030108
+ field public static final int TextAppearance_Holo_Widget_TextView = 16974089; // 0x1030109
+ field public static final int TextAppearance_Holo_Widget_TextView_PopupMenu = 16974090; // 0x103010a
+ field public static final int TextAppearance_Holo_Widget_TextView_SpinnerItem = 16974093; // 0x103010d
+ field public static final int TextAppearance_Holo_WindowTitle = 16974102; // 0x1030116
+ field public static final int TextAppearance_Inverse = 16973887; // 0x103003f
+ field public static final int TextAppearance_Large = 16973890; // 0x1030042
+ field public static final int TextAppearance_Large_Inverse = 16973891; // 0x1030043
+ field public static final int TextAppearance_Medium = 16973892; // 0x1030044
+ field public static final int TextAppearance_Medium_Inverse = 16973893; // 0x1030045
+ field public static final int TextAppearance_Small = 16973894; // 0x1030046
+ field public static final int TextAppearance_Small_Inverse = 16973895; // 0x1030047
+ field public static final int TextAppearance_StatusBar_EventContent = 16973927; // 0x1030067
+ field public static final int TextAppearance_StatusBar_EventContent_Title = 16973928; // 0x1030068
+ field public static final int TextAppearance_StatusBar_Icon = 16973926; // 0x1030066
+ field public static final int TextAppearance_StatusBar_Title = 16973925; // 0x1030065
+ field public static final int TextAppearance_SuggestionHighlight = 16974104; // 0x1030118
+ field public static final int TextAppearance_Theme = 16973888; // 0x1030040
+ field public static final int TextAppearance_Theme_Dialog = 16973896; // 0x1030048
+ field public static final int TextAppearance_Widget = 16973897; // 0x1030049
+ field public static final int TextAppearance_Widget_Button = 16973898; // 0x103004a
+ field public static final int TextAppearance_Widget_DropDownHint = 16973904; // 0x1030050
+ field public static final int TextAppearance_Widget_DropDownItem = 16973905; // 0x1030051
+ field public static final int TextAppearance_Widget_EditText = 16973900; // 0x103004c
+ field public static final int TextAppearance_Widget_IconMenu_Item = 16973899; // 0x103004b
+ field public static final int TextAppearance_Widget_PopupMenu_Large = 16973952; // 0x1030080
+ field public static final int TextAppearance_Widget_PopupMenu_Small = 16973953; // 0x1030081
+ field public static final int TextAppearance_Widget_TabWidget = 16973901; // 0x103004d
+ field public static final int TextAppearance_Widget_TextView = 16973902; // 0x103004e
+ field public static final int TextAppearance_Widget_TextView_PopupMenu = 16973903; // 0x103004f
+ field public static final int TextAppearance_Widget_TextView_SpinnerItem = 16973906; // 0x1030052
+ field public static final int TextAppearance_WindowTitle = 16973907; // 0x1030053
+ field public static final int Theme = 16973829; // 0x1030005
+ field public static final int Theme_Black = 16973832; // 0x1030008
+ field public static final int Theme_Black_NoTitleBar = 16973833; // 0x1030009
+ field public static final int Theme_Black_NoTitleBar_Fullscreen = 16973834; // 0x103000a
+ field public static final int Theme_DeviceDefault = 16974120; // 0x1030128
+ field public static final int Theme_DeviceDefault_Dialog = 16974126; // 0x103012e
+ field public static final int Theme_DeviceDefault_DialogWhenLarge = 16974134; // 0x1030136
+ field public static final int Theme_DeviceDefault_DialogWhenLarge_NoActionBar = 16974135; // 0x1030137
+ field public static final int Theme_DeviceDefault_Dialog_MinWidth = 16974127; // 0x103012f
+ field public static final int Theme_DeviceDefault_Dialog_NoActionBar = 16974128; // 0x1030130
+ field public static final int Theme_DeviceDefault_Dialog_NoActionBar_MinWidth = 16974129; // 0x1030131
+ field public static final int Theme_DeviceDefault_InputMethod = 16974142; // 0x103013e
+ field public static final int Theme_DeviceDefault_Light = 16974123; // 0x103012b
+ field public static final int Theme_DeviceDefault_Light_DarkActionBar = 16974143; // 0x103013f
+ field public static final int Theme_DeviceDefault_Light_Dialog = 16974130; // 0x1030132
+ field public static final int Theme_DeviceDefault_Light_DialogWhenLarge = 16974136; // 0x1030138
+ field public static final int Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar = 16974137; // 0x1030139
+ field public static final int Theme_DeviceDefault_Light_Dialog_MinWidth = 16974131; // 0x1030133
+ field public static final int Theme_DeviceDefault_Light_Dialog_NoActionBar = 16974132; // 0x1030134
+ field public static final int Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth = 16974133; // 0x1030135
+ field public static final int Theme_DeviceDefault_Light_NoActionBar = 16974124; // 0x103012c
+ field public static final int Theme_DeviceDefault_Light_NoActionBar_Fullscreen = 16974125; // 0x103012d
+ field public static final int Theme_DeviceDefault_Light_Panel = 16974139; // 0x103013b
+ field public static final int Theme_DeviceDefault_NoActionBar = 16974121; // 0x1030129
+ field public static final int Theme_DeviceDefault_NoActionBar_Fullscreen = 16974122; // 0x103012a
+ field public static final int Theme_DeviceDefault_Panel = 16974138; // 0x103013a
+ field public static final int Theme_DeviceDefault_Wallpaper = 16974140; // 0x103013c
+ field public static final int Theme_DeviceDefault_Wallpaper_NoTitleBar = 16974141; // 0x103013d
+ field public static final int Theme_Dialog = 16973835; // 0x103000b
+ field public static final int Theme_Holo = 16973931; // 0x103006b
+ field public static final int Theme_Holo_Dialog = 16973935; // 0x103006f
+ field public static final int Theme_Holo_DialogWhenLarge = 16973943; // 0x1030077
+ field public static final int Theme_Holo_DialogWhenLarge_NoActionBar = 16973944; // 0x1030078
+ field public static final int Theme_Holo_Dialog_MinWidth = 16973936; // 0x1030070
+ field public static final int Theme_Holo_Dialog_NoActionBar = 16973937; // 0x1030071
+ field public static final int Theme_Holo_Dialog_NoActionBar_MinWidth = 16973938; // 0x1030072
+ field public static final int Theme_Holo_InputMethod = 16973951; // 0x103007f
+ field public static final int Theme_Holo_Light = 16973934; // 0x103006e
+ field public static final int Theme_Holo_Light_DarkActionBar = 16974105; // 0x1030119
+ field public static final int Theme_Holo_Light_Dialog = 16973939; // 0x1030073
+ field public static final int Theme_Holo_Light_DialogWhenLarge = 16973945; // 0x1030079
+ field public static final int Theme_Holo_Light_DialogWhenLarge_NoActionBar = 16973946; // 0x103007a
+ field public static final int Theme_Holo_Light_Dialog_MinWidth = 16973940; // 0x1030074
+ field public static final int Theme_Holo_Light_Dialog_NoActionBar = 16973941; // 0x1030075
+ field public static final int Theme_Holo_Light_Dialog_NoActionBar_MinWidth = 16973942; // 0x1030076
+ field public static final int Theme_Holo_Light_NoActionBar = 16974064; // 0x10300f0
+ field public static final int Theme_Holo_Light_NoActionBar_Fullscreen = 16974065; // 0x10300f1
+ field public static final int Theme_Holo_Light_Panel = 16973948; // 0x103007c
+ field public static final int Theme_Holo_NoActionBar = 16973932; // 0x103006c
+ field public static final int Theme_Holo_NoActionBar_Fullscreen = 16973933; // 0x103006d
+ field public static final int Theme_Holo_Panel = 16973947; // 0x103007b
+ field public static final int Theme_Holo_Wallpaper = 16973949; // 0x103007d
+ field public static final int Theme_Holo_Wallpaper_NoTitleBar = 16973950; // 0x103007e
+ field public static final int Theme_InputMethod = 16973908; // 0x1030054
+ field public static final int Theme_Light = 16973836; // 0x103000c
+ field public static final int Theme_Light_NoTitleBar = 16973837; // 0x103000d
+ field public static final int Theme_Light_NoTitleBar_Fullscreen = 16973838; // 0x103000e
+ field public static final int Theme_Light_Panel = 16973914; // 0x103005a
+ field public static final int Theme_Light_WallpaperSettings = 16973922; // 0x1030062
+ field public static final int Theme_NoDisplay = 16973909; // 0x1030055
+ field public static final int Theme_NoTitleBar = 16973830; // 0x1030006
+ field public static final int Theme_NoTitleBar_Fullscreen = 16973831; // 0x1030007
+ field public static final int Theme_NoTitleBar_OverlayActionModes = 16973930; // 0x103006a
+ field public static final int Theme_Panel = 16973913; // 0x1030059
+ field public static final int Theme_Translucent = 16973839; // 0x103000f
+ field public static final int Theme_Translucent_NoTitleBar = 16973840; // 0x1030010
+ field public static final int Theme_Translucent_NoTitleBar_Fullscreen = 16973841; // 0x1030011
+ field public static final int Theme_Wallpaper = 16973918; // 0x103005e
+ field public static final int Theme_WallpaperSettings = 16973921; // 0x1030061
+ field public static final int Theme_Wallpaper_NoTitleBar = 16973919; // 0x103005f
+ field public static final int Theme_Wallpaper_NoTitleBar_Fullscreen = 16973920; // 0x1030060
+ field public static final int Theme_WithActionBar = 16973929; // 0x1030069
+ field public static final int Widget = 16973842; // 0x1030012
+ field public static final int Widget_AbsListView = 16973843; // 0x1030013
+ field public static final int Widget_ActionBar = 16973954; // 0x1030082
+ field public static final int Widget_ActionBar_TabBar = 16974068; // 0x10300f4
+ field public static final int Widget_ActionBar_TabText = 16974067; // 0x10300f3
+ field public static final int Widget_ActionBar_TabView = 16974066; // 0x10300f2
+ field public static final int Widget_ActionButton = 16973956; // 0x1030084
+ field public static final int Widget_ActionButton_CloseMode = 16973960; // 0x1030088
+ field public static final int Widget_ActionButton_Overflow = 16973959; // 0x1030087
+ field public static final int Widget_AutoCompleteTextView = 16973863; // 0x1030027
+ field public static final int Widget_Button = 16973844; // 0x1030014
+ field public static final int Widget_Button_Inset = 16973845; // 0x1030015
+ field public static final int Widget_Button_Small = 16973846; // 0x1030016
+ field public static final int Widget_Button_Toggle = 16973847; // 0x1030017
+ field public static final int Widget_CalendarView = 16974059; // 0x10300eb
+ field public static final int Widget_CompoundButton = 16973848; // 0x1030018
+ field public static final int Widget_CompoundButton_CheckBox = 16973849; // 0x1030019
+ field public static final int Widget_CompoundButton_RadioButton = 16973850; // 0x103001a
+ field public static final int Widget_CompoundButton_Star = 16973851; // 0x103001b
+ field public static final int Widget_DatePicker = 16974062; // 0x10300ee
+ field public static final int Widget_DeviceDefault = 16974144; // 0x1030140
+ field public static final int Widget_DeviceDefault_ActionBar = 16974187; // 0x103016b
+ field public static final int Widget_DeviceDefault_ActionBar_Solid = 16974195; // 0x1030173
+ field public static final int Widget_DeviceDefault_ActionBar_TabBar = 16974194; // 0x1030172
+ field public static final int Widget_DeviceDefault_ActionBar_TabText = 16974193; // 0x1030171
+ field public static final int Widget_DeviceDefault_ActionBar_TabView = 16974192; // 0x1030170
+ field public static final int Widget_DeviceDefault_ActionButton = 16974182; // 0x1030166
+ field public static final int Widget_DeviceDefault_ActionButton_CloseMode = 16974186; // 0x103016a
+ field public static final int Widget_DeviceDefault_ActionButton_Overflow = 16974183; // 0x1030167
+ field public static final int Widget_DeviceDefault_ActionButton_TextButton = 16974184; // 0x1030168
+ field public static final int Widget_DeviceDefault_ActionMode = 16974185; // 0x1030169
+ field public static final int Widget_DeviceDefault_AutoCompleteTextView = 16974151; // 0x1030147
+ field public static final int Widget_DeviceDefault_Button = 16974145; // 0x1030141
+ field public static final int Widget_DeviceDefault_Button_Borderless = 16974188; // 0x103016c
+ field public static final int Widget_DeviceDefault_Button_Borderless_Small = 16974149; // 0x1030145
+ field public static final int Widget_DeviceDefault_Button_Inset = 16974147; // 0x1030143
+ field public static final int Widget_DeviceDefault_Button_Small = 16974146; // 0x1030142
+ field public static final int Widget_DeviceDefault_Button_Toggle = 16974148; // 0x1030144
+ field public static final int Widget_DeviceDefault_CalendarView = 16974190; // 0x103016e
+ field public static final int Widget_DeviceDefault_CompoundButton_CheckBox = 16974152; // 0x1030148
+ field public static final int Widget_DeviceDefault_CompoundButton_RadioButton = 16974169; // 0x1030159
+ field public static final int Widget_DeviceDefault_CompoundButton_Star = 16974173; // 0x103015d
+ field public static final int Widget_DeviceDefault_DatePicker = 16974191; // 0x103016f
+ field public static final int Widget_DeviceDefault_DropDownItem = 16974177; // 0x1030161
+ field public static final int Widget_DeviceDefault_DropDownItem_Spinner = 16974178; // 0x1030162
+ field public static final int Widget_DeviceDefault_EditText = 16974154; // 0x103014a
+ field public static final int Widget_DeviceDefault_ExpandableListView = 16974155; // 0x103014b
+ field public static final int Widget_DeviceDefault_GridView = 16974156; // 0x103014c
+ field public static final int Widget_DeviceDefault_HorizontalScrollView = 16974171; // 0x103015b
+ field public static final int Widget_DeviceDefault_ImageButton = 16974157; // 0x103014d
+ field public static final int Widget_DeviceDefault_Light = 16974196; // 0x1030174
+ field public static final int Widget_DeviceDefault_Light_ActionBar = 16974243; // 0x10301a3
+ field public static final int Widget_DeviceDefault_Light_ActionBar_Solid = 16974247; // 0x10301a7
+ field public static final int Widget_DeviceDefault_Light_ActionBar_Solid_Inverse = 16974248; // 0x10301a8
+ field public static final int Widget_DeviceDefault_Light_ActionBar_TabBar = 16974246; // 0x10301a6
+ field public static final int Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse = 16974249; // 0x10301a9
+ field public static final int Widget_DeviceDefault_Light_ActionBar_TabText = 16974245; // 0x10301a5
+ field public static final int Widget_DeviceDefault_Light_ActionBar_TabText_Inverse = 16974251; // 0x10301ab
+ field public static final int Widget_DeviceDefault_Light_ActionBar_TabView = 16974244; // 0x10301a4
+ field public static final int Widget_DeviceDefault_Light_ActionBar_TabView_Inverse = 16974250; // 0x10301aa
+ field public static final int Widget_DeviceDefault_Light_ActionButton = 16974239; // 0x103019f
+ field public static final int Widget_DeviceDefault_Light_ActionButton_CloseMode = 16974242; // 0x10301a2
+ field public static final int Widget_DeviceDefault_Light_ActionButton_Overflow = 16974240; // 0x10301a0
+ field public static final int Widget_DeviceDefault_Light_ActionMode = 16974241; // 0x10301a1
+ field public static final int Widget_DeviceDefault_Light_ActionMode_Inverse = 16974252; // 0x10301ac
+ field public static final int Widget_DeviceDefault_Light_AutoCompleteTextView = 16974203; // 0x103017b
+ field public static final int Widget_DeviceDefault_Light_Button = 16974197; // 0x1030175
+ field public static final int Widget_DeviceDefault_Light_Button_Borderless_Small = 16974201; // 0x1030179
+ field public static final int Widget_DeviceDefault_Light_Button_Inset = 16974199; // 0x1030177
+ field public static final int Widget_DeviceDefault_Light_Button_Small = 16974198; // 0x1030176
+ field public static final int Widget_DeviceDefault_Light_Button_Toggle = 16974200; // 0x1030178
+ field public static final int Widget_DeviceDefault_Light_CalendarView = 16974238; // 0x103019e
+ field public static final int Widget_DeviceDefault_Light_CompoundButton_CheckBox = 16974204; // 0x103017c
+ field public static final int Widget_DeviceDefault_Light_CompoundButton_RadioButton = 16974224; // 0x1030190
+ field public static final int Widget_DeviceDefault_Light_CompoundButton_Star = 16974228; // 0x1030194
+ field public static final int Widget_DeviceDefault_Light_DropDownItem = 16974232; // 0x1030198
+ field public static final int Widget_DeviceDefault_Light_DropDownItem_Spinner = 16974233; // 0x1030199
+ field public static final int Widget_DeviceDefault_Light_EditText = 16974206; // 0x103017e
+ field public static final int Widget_DeviceDefault_Light_ExpandableListView = 16974207; // 0x103017f
+ field public static final int Widget_DeviceDefault_Light_GridView = 16974208; // 0x1030180
+ field public static final int Widget_DeviceDefault_Light_HorizontalScrollView = 16974226; // 0x1030192
+ field public static final int Widget_DeviceDefault_Light_ImageButton = 16974209; // 0x1030181
+ field public static final int Widget_DeviceDefault_Light_ListPopupWindow = 16974235; // 0x103019b
+ field public static final int Widget_DeviceDefault_Light_ListView = 16974210; // 0x1030182
+ field public static final int Widget_DeviceDefault_Light_ListView_DropDown = 16974205; // 0x103017d
+ field public static final int Widget_DeviceDefault_Light_PopupMenu = 16974236; // 0x103019c
+ field public static final int Widget_DeviceDefault_Light_PopupWindow = 16974211; // 0x1030183
+ field public static final int Widget_DeviceDefault_Light_ProgressBar = 16974212; // 0x1030184
+ field public static final int Widget_DeviceDefault_Light_ProgressBar_Horizontal = 16974213; // 0x1030185
+ field public static final int Widget_DeviceDefault_Light_ProgressBar_Inverse = 16974217; // 0x1030189
+ field public static final int Widget_DeviceDefault_Light_ProgressBar_Large = 16974216; // 0x1030188
+ field public static final int Widget_DeviceDefault_Light_ProgressBar_Large_Inverse = 16974219; // 0x103018b
+ field public static final int Widget_DeviceDefault_Light_ProgressBar_Small = 16974214; // 0x1030186
+ field public static final int Widget_DeviceDefault_Light_ProgressBar_Small_Inverse = 16974218; // 0x103018a
+ field public static final int Widget_DeviceDefault_Light_ProgressBar_Small_Title = 16974215; // 0x1030187
+ field public static final int Widget_DeviceDefault_Light_RatingBar = 16974221; // 0x103018d
+ field public static final int Widget_DeviceDefault_Light_RatingBar_Indicator = 16974222; // 0x103018e
+ field public static final int Widget_DeviceDefault_Light_RatingBar_Small = 16974223; // 0x103018f
+ field public static final int Widget_DeviceDefault_Light_ScrollView = 16974225; // 0x1030191
+ field public static final int Widget_DeviceDefault_Light_SeekBar = 16974220; // 0x103018c
+ field public static final int Widget_DeviceDefault_Light_Spinner = 16974227; // 0x1030193
+ field public static final int Widget_DeviceDefault_Light_Tab = 16974237; // 0x103019d
+ field public static final int Widget_DeviceDefault_Light_TabWidget = 16974229; // 0x1030195
+ field public static final int Widget_DeviceDefault_Light_TextView = 16974202; // 0x103017a
+ field public static final int Widget_DeviceDefault_Light_TextView_SpinnerItem = 16974234; // 0x103019a
+ field public static final int Widget_DeviceDefault_Light_WebTextView = 16974230; // 0x1030196
+ field public static final int Widget_DeviceDefault_Light_WebView = 16974231; // 0x1030197
+ field public static final int Widget_DeviceDefault_ListPopupWindow = 16974180; // 0x1030164
+ field public static final int Widget_DeviceDefault_ListView = 16974158; // 0x103014e
+ field public static final int Widget_DeviceDefault_ListView_DropDown = 16974153; // 0x1030149
+ field public static final int Widget_DeviceDefault_PopupMenu = 16974181; // 0x1030165
+ field public static final int Widget_DeviceDefault_PopupWindow = 16974159; // 0x103014f
+ field public static final int Widget_DeviceDefault_ProgressBar = 16974160; // 0x1030150
+ field public static final int Widget_DeviceDefault_ProgressBar_Horizontal = 16974161; // 0x1030151
+ field public static final int Widget_DeviceDefault_ProgressBar_Large = 16974164; // 0x1030154
+ field public static final int Widget_DeviceDefault_ProgressBar_Small = 16974162; // 0x1030152
+ field public static final int Widget_DeviceDefault_ProgressBar_Small_Title = 16974163; // 0x1030153
+ field public static final int Widget_DeviceDefault_RatingBar = 16974166; // 0x1030156
+ field public static final int Widget_DeviceDefault_RatingBar_Indicator = 16974167; // 0x1030157
+ field public static final int Widget_DeviceDefault_RatingBar_Small = 16974168; // 0x1030158
+ field public static final int Widget_DeviceDefault_ScrollView = 16974170; // 0x103015a
+ field public static final int Widget_DeviceDefault_SeekBar = 16974165; // 0x1030155
+ field public static final int Widget_DeviceDefault_Spinner = 16974172; // 0x103015c
+ field public static final int Widget_DeviceDefault_Tab = 16974189; // 0x103016d
+ field public static final int Widget_DeviceDefault_TabWidget = 16974174; // 0x103015e
+ field public static final int Widget_DeviceDefault_TextView = 16974150; // 0x1030146
+ field public static final int Widget_DeviceDefault_TextView_SpinnerItem = 16974179; // 0x1030163
+ field public static final int Widget_DeviceDefault_WebTextView = 16974175; // 0x103015f
+ field public static final int Widget_DeviceDefault_WebView = 16974176; // 0x1030160
+ field public static final int Widget_DropDownItem = 16973867; // 0x103002b
+ field public static final int Widget_DropDownItem_Spinner = 16973868; // 0x103002c
+ field public static final int Widget_EditText = 16973859; // 0x1030023
+ field public static final int Widget_ExpandableListView = 16973860; // 0x1030024
+ field public static final int Widget_FragmentBreadCrumbs = 16973961; // 0x1030089
+ field public static final int Widget_Gallery = 16973877; // 0x1030035
+ field public static final int Widget_GridView = 16973874; // 0x1030032
+ field public static final int Widget_Holo = 16973962; // 0x103008a
+ field public static final int Widget_Holo_ActionBar = 16974004; // 0x10300b4
+ field public static final int Widget_Holo_ActionBar_Solid = 16974113; // 0x1030121
+ field public static final int Widget_Holo_ActionBar_TabBar = 16974071; // 0x10300f7
+ field public static final int Widget_Holo_ActionBar_TabText = 16974070; // 0x10300f6
+ field public static final int Widget_Holo_ActionBar_TabView = 16974069; // 0x10300f5
+ field public static final int Widget_Holo_ActionButton = 16973999; // 0x10300af
+ field public static final int Widget_Holo_ActionButton_CloseMode = 16974003; // 0x10300b3
+ field public static final int Widget_Holo_ActionButton_Overflow = 16974000; // 0x10300b0
+ field public static final int Widget_Holo_ActionButton_TextButton = 16974001; // 0x10300b1
+ field public static final int Widget_Holo_ActionMode = 16974002; // 0x10300b2
+ field public static final int Widget_Holo_AutoCompleteTextView = 16973968; // 0x1030090
+ field public static final int Widget_Holo_Button = 16973963; // 0x103008b
+ field public static final int Widget_Holo_Button_Borderless = 16974050; // 0x10300e2
+ field public static final int Widget_Holo_Button_Borderless_Small = 16974106; // 0x103011a
+ field public static final int Widget_Holo_Button_Inset = 16973965; // 0x103008d
+ field public static final int Widget_Holo_Button_Small = 16973964; // 0x103008c
+ field public static final int Widget_Holo_Button_Toggle = 16973966; // 0x103008e
+ field public static final int Widget_Holo_CalendarView = 16974060; // 0x10300ec
+ field public static final int Widget_Holo_CompoundButton_CheckBox = 16973969; // 0x1030091
+ field public static final int Widget_Holo_CompoundButton_RadioButton = 16973986; // 0x10300a2
+ field public static final int Widget_Holo_CompoundButton_Star = 16973990; // 0x10300a6
+ field public static final int Widget_Holo_DatePicker = 16974063; // 0x10300ef
+ field public static final int Widget_Holo_DropDownItem = 16973994; // 0x10300aa
+ field public static final int Widget_Holo_DropDownItem_Spinner = 16973995; // 0x10300ab
+ field public static final int Widget_Holo_EditText = 16973971; // 0x1030093
+ field public static final int Widget_Holo_ExpandableListView = 16973972; // 0x1030094
+ field public static final int Widget_Holo_GridView = 16973973; // 0x1030095
+ field public static final int Widget_Holo_HorizontalScrollView = 16973988; // 0x10300a4
+ field public static final int Widget_Holo_ImageButton = 16973974; // 0x1030096
+ field public static final int Widget_Holo_Light = 16974005; // 0x10300b5
+ field public static final int Widget_Holo_Light_ActionBar = 16974049; // 0x10300e1
+ field public static final int Widget_Holo_Light_ActionBar_Solid = 16974114; // 0x1030122
+ field public static final int Widget_Holo_Light_ActionBar_Solid_Inverse = 16974115; // 0x1030123
+ field public static final int Widget_Holo_Light_ActionBar_TabBar = 16974074; // 0x10300fa
+ field public static final int Widget_Holo_Light_ActionBar_TabBar_Inverse = 16974116; // 0x1030124
+ field public static final int Widget_Holo_Light_ActionBar_TabText = 16974073; // 0x10300f9
+ field public static final int Widget_Holo_Light_ActionBar_TabText_Inverse = 16974118; // 0x1030126
+ field public static final int Widget_Holo_Light_ActionBar_TabView = 16974072; // 0x10300f8
+ field public static final int Widget_Holo_Light_ActionBar_TabView_Inverse = 16974117; // 0x1030125
+ field public static final int Widget_Holo_Light_ActionButton = 16974045; // 0x10300dd
+ field public static final int Widget_Holo_Light_ActionButton_CloseMode = 16974048; // 0x10300e0
+ field public static final int Widget_Holo_Light_ActionButton_Overflow = 16974046; // 0x10300de
+ field public static final int Widget_Holo_Light_ActionMode = 16974047; // 0x10300df
+ field public static final int Widget_Holo_Light_ActionMode_Inverse = 16974119; // 0x1030127
+ field public static final int Widget_Holo_Light_AutoCompleteTextView = 16974011; // 0x10300bb
+ field public static final int Widget_Holo_Light_Button = 16974006; // 0x10300b6
+ field public static final int Widget_Holo_Light_Button_Borderless_Small = 16974107; // 0x103011b
+ field public static final int Widget_Holo_Light_Button_Inset = 16974008; // 0x10300b8
+ field public static final int Widget_Holo_Light_Button_Small = 16974007; // 0x10300b7
+ field public static final int Widget_Holo_Light_Button_Toggle = 16974009; // 0x10300b9
+ field public static final int Widget_Holo_Light_CalendarView = 16974061; // 0x10300ed
+ field public static final int Widget_Holo_Light_CompoundButton_CheckBox = 16974012; // 0x10300bc
+ field public static final int Widget_Holo_Light_CompoundButton_RadioButton = 16974032; // 0x10300d0
+ field public static final int Widget_Holo_Light_CompoundButton_Star = 16974036; // 0x10300d4
+ field public static final int Widget_Holo_Light_DropDownItem = 16974040; // 0x10300d8
+ field public static final int Widget_Holo_Light_DropDownItem_Spinner = 16974041; // 0x10300d9
+ field public static final int Widget_Holo_Light_EditText = 16974014; // 0x10300be
+ field public static final int Widget_Holo_Light_ExpandableListView = 16974015; // 0x10300bf
+ field public static final int Widget_Holo_Light_GridView = 16974016; // 0x10300c0
+ field public static final int Widget_Holo_Light_HorizontalScrollView = 16974034; // 0x10300d2
+ field public static final int Widget_Holo_Light_ImageButton = 16974017; // 0x10300c1
+ field public static final int Widget_Holo_Light_ListPopupWindow = 16974043; // 0x10300db
+ field public static final int Widget_Holo_Light_ListView = 16974018; // 0x10300c2
+ field public static final int Widget_Holo_Light_ListView_DropDown = 16974013; // 0x10300bd
+ field public static final int Widget_Holo_Light_PopupMenu = 16974044; // 0x10300dc
+ field public static final int Widget_Holo_Light_PopupWindow = 16974019; // 0x10300c3
+ field public static final int Widget_Holo_Light_ProgressBar = 16974020; // 0x10300c4
+ field public static final int Widget_Holo_Light_ProgressBar_Horizontal = 16974021; // 0x10300c5
+ field public static final int Widget_Holo_Light_ProgressBar_Inverse = 16974025; // 0x10300c9
+ field public static final int Widget_Holo_Light_ProgressBar_Large = 16974024; // 0x10300c8
+ field public static final int Widget_Holo_Light_ProgressBar_Large_Inverse = 16974027; // 0x10300cb
+ field public static final int Widget_Holo_Light_ProgressBar_Small = 16974022; // 0x10300c6
+ field public static final int Widget_Holo_Light_ProgressBar_Small_Inverse = 16974026; // 0x10300ca
+ field public static final int Widget_Holo_Light_ProgressBar_Small_Title = 16974023; // 0x10300c7
+ field public static final int Widget_Holo_Light_RatingBar = 16974029; // 0x10300cd
+ field public static final int Widget_Holo_Light_RatingBar_Indicator = 16974030; // 0x10300ce
+ field public static final int Widget_Holo_Light_RatingBar_Small = 16974031; // 0x10300cf
+ field public static final int Widget_Holo_Light_ScrollView = 16974033; // 0x10300d1
+ field public static final int Widget_Holo_Light_SeekBar = 16974028; // 0x10300cc
+ field public static final int Widget_Holo_Light_Spinner = 16974035; // 0x10300d3
+ field public static final int Widget_Holo_Light_Tab = 16974052; // 0x10300e4
+ field public static final int Widget_Holo_Light_TabWidget = 16974037; // 0x10300d5
+ field public static final int Widget_Holo_Light_TextView = 16974010; // 0x10300ba
+ field public static final int Widget_Holo_Light_TextView_SpinnerItem = 16974042; // 0x10300da
+ field public static final int Widget_Holo_Light_WebTextView = 16974038; // 0x10300d6
+ field public static final int Widget_Holo_Light_WebView = 16974039; // 0x10300d7
+ field public static final int Widget_Holo_ListPopupWindow = 16973997; // 0x10300ad
+ field public static final int Widget_Holo_ListView = 16973975; // 0x1030097
+ field public static final int Widget_Holo_ListView_DropDown = 16973970; // 0x1030092
+ field public static final int Widget_Holo_PopupMenu = 16973998; // 0x10300ae
+ field public static final int Widget_Holo_PopupWindow = 16973976; // 0x1030098
+ field public static final int Widget_Holo_ProgressBar = 16973977; // 0x1030099
+ field public static final int Widget_Holo_ProgressBar_Horizontal = 16973978; // 0x103009a
+ field public static final int Widget_Holo_ProgressBar_Large = 16973981; // 0x103009d
+ field public static final int Widget_Holo_ProgressBar_Small = 16973979; // 0x103009b
+ field public static final int Widget_Holo_ProgressBar_Small_Title = 16973980; // 0x103009c
+ field public static final int Widget_Holo_RatingBar = 16973983; // 0x103009f
+ field public static final int Widget_Holo_RatingBar_Indicator = 16973984; // 0x10300a0
+ field public static final int Widget_Holo_RatingBar_Small = 16973985; // 0x10300a1
+ field public static final int Widget_Holo_ScrollView = 16973987; // 0x10300a3
+ field public static final int Widget_Holo_SeekBar = 16973982; // 0x103009e
+ field public static final int Widget_Holo_Spinner = 16973989; // 0x10300a5
+ field public static final int Widget_Holo_Tab = 16974051; // 0x10300e3
+ field public static final int Widget_Holo_TabWidget = 16973991; // 0x10300a7
+ field public static final int Widget_Holo_TextView = 16973967; // 0x103008f
+ field public static final int Widget_Holo_TextView_SpinnerItem = 16973996; // 0x10300ac
+ field public static final int Widget_Holo_WebTextView = 16973992; // 0x10300a8
+ field public static final int Widget_Holo_WebView = 16973993; // 0x10300a9
+ field public static final int Widget_ImageButton = 16973862; // 0x1030026
+ field public static final int Widget_ImageWell = 16973861; // 0x1030025
+ field public static final int Widget_KeyboardView = 16973911; // 0x1030057
+ field public static final int Widget_ListPopupWindow = 16973957; // 0x1030085
+ field public static final int Widget_ListView = 16973870; // 0x103002e
+ field public static final int Widget_ListView_DropDown = 16973872; // 0x1030030
+ field public static final int Widget_ListView_Menu = 16973873; // 0x1030031
+ field public static final int Widget_ListView_White = 16973871; // 0x103002f
+ field public static final int Widget_PopupMenu = 16973958; // 0x1030086
+ field public static final int Widget_PopupWindow = 16973878; // 0x1030036
+ field public static final int Widget_ProgressBar = 16973852; // 0x103001c
+ field public static final int Widget_ProgressBar_Horizontal = 16973855; // 0x103001f
+ field public static final int Widget_ProgressBar_Inverse = 16973915; // 0x103005b
+ field public static final int Widget_ProgressBar_Large = 16973853; // 0x103001d
+ field public static final int Widget_ProgressBar_Large_Inverse = 16973916; // 0x103005c
+ field public static final int Widget_ProgressBar_Small = 16973854; // 0x103001e
+ field public static final int Widget_ProgressBar_Small_Inverse = 16973917; // 0x103005d
+ field public static final int Widget_RatingBar = 16973857; // 0x1030021
+ field public static final int Widget_ScrollView = 16973869; // 0x103002d
+ field public static final int Widget_SeekBar = 16973856; // 0x1030020
+ field public static final int Widget_Spinner = 16973864; // 0x1030028
+ field public static final int Widget_Spinner_DropDown = 16973955; // 0x1030083
+ field public static final int Widget_TabWidget = 16973876; // 0x1030034
+ field public static final int Widget_TextView = 16973858; // 0x1030022
+ field public static final int Widget_TextView_PopupMenu = 16973865; // 0x1030029
+ field public static final int Widget_TextView_SpinnerItem = 16973866; // 0x103002a
+ field public static final int Widget_WebView = 16973875; // 0x1030033
+ }
+
+ public static final class R.xml {
+ ctor public R.xml();
+ }
+
+}
+
+package android.accessibilityservice {
+
+ public abstract class AccessibilityService extends android.app.Service {
+ ctor public AccessibilityService();
+ method public abstract void onAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+ method public final android.os.IBinder onBind(android.content.Intent);
+ method public abstract void onInterrupt();
+ method protected void onServiceConnected();
+ method public final void setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo);
+ field public static final java.lang.String SERVICE_INTERFACE = "android.accessibilityservice.AccessibilityService";
+ field public static final java.lang.String SERVICE_META_DATA = "android.accessibilityservice";
+ }
+
+ public class AccessibilityServiceInfo implements android.os.Parcelable {
+ ctor public AccessibilityServiceInfo();
+ method public int describeContents();
+ method public static java.lang.String feedbackTypeToString(int);
+ method public static java.lang.String flagToString(int);
+ method public boolean getCanRetrieveWindowContent();
+ method public java.lang.String getDescription();
+ method public java.lang.String getId();
+ method public android.content.pm.ResolveInfo getResolveInfo();
+ method public java.lang.String getSettingsActivityName();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int DEFAULT = 1; // 0x1
+ field public static final int FEEDBACK_ALL_MASK = -1; // 0xffffffff
+ field public static final int FEEDBACK_AUDIBLE = 4; // 0x4
+ field public static final int FEEDBACK_GENERIC = 16; // 0x10
+ field public static final int FEEDBACK_HAPTIC = 2; // 0x2
+ field public static final int FEEDBACK_SPOKEN = 1; // 0x1
+ field public static final int FEEDBACK_VISUAL = 8; // 0x8
+ field public int eventTypes;
+ field public int feedbackType;
+ field public int flags;
+ field public long notificationTimeout;
+ field public java.lang.String[] packageNames;
+ }
+
+}
+
+package android.accounts {
+
+ public abstract class AbstractAccountAuthenticator {
+ ctor public AbstractAccountAuthenticator(android.content.Context);
+ method public abstract android.os.Bundle addAccount(android.accounts.AccountAuthenticatorResponse, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle) throws android.accounts.NetworkErrorException;
+ method public abstract android.os.Bundle confirmCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException;
+ method public abstract android.os.Bundle editProperties(android.accounts.AccountAuthenticatorResponse, java.lang.String);
+ method public android.os.Bundle getAccountRemovalAllowed(android.accounts.AccountAuthenticatorResponse, android.accounts.Account) throws android.accounts.NetworkErrorException;
+ method public abstract android.os.Bundle getAuthToken(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+ method public abstract java.lang.String getAuthTokenLabel(java.lang.String);
+ method public final android.os.IBinder getIBinder();
+ method public abstract android.os.Bundle hasFeatures(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String[]) throws android.accounts.NetworkErrorException;
+ method public abstract android.os.Bundle updateCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+ }
+
+ public class Account implements android.os.Parcelable {
+ ctor public Account(java.lang.String, java.lang.String);
+ ctor public Account(android.os.Parcel);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public final java.lang.String name;
+ field public final java.lang.String type;
+ }
+
+ public class AccountAuthenticatorActivity extends android.app.Activity {
+ ctor public AccountAuthenticatorActivity();
+ method public final void setAccountAuthenticatorResult(android.os.Bundle);
+ }
+
+ public class AccountAuthenticatorResponse implements android.os.Parcelable {
+ ctor public AccountAuthenticatorResponse(android.os.Parcel);
+ method public int describeContents();
+ method public void onError(int, java.lang.String);
+ method public void onRequestContinued();
+ method public void onResult(android.os.Bundle);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class AccountManager {
+ method public android.accounts.AccountManagerFuture<android.os.Bundle> addAccount(java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+ method public boolean addAccountExplicitly(android.accounts.Account, java.lang.String, android.os.Bundle);
+ method public void addOnAccountsUpdatedListener(android.accounts.OnAccountsUpdateListener, android.os.Handler, boolean);
+ method public java.lang.String blockingGetAuthToken(android.accounts.Account, java.lang.String, boolean) throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
+ method public void clearPassword(android.accounts.Account);
+ method public android.accounts.AccountManagerFuture<android.os.Bundle> confirmCredentials(android.accounts.Account, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+ method public android.accounts.AccountManagerFuture<android.os.Bundle> editProperties(java.lang.String, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+ method public static android.accounts.AccountManager get(android.content.Context);
+ method public android.accounts.Account[] getAccounts();
+ method public android.accounts.Account[] getAccountsByType(java.lang.String);
+ method public android.accounts.AccountManagerFuture<android.accounts.Account[]> getAccountsByTypeAndFeatures(java.lang.String, java.lang.String[], android.accounts.AccountManagerCallback<android.accounts.Account[]>, android.os.Handler);
+ method public android.accounts.AccountManagerFuture<android.os.Bundle> getAuthToken(android.accounts.Account, java.lang.String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+ method public deprecated android.accounts.AccountManagerFuture<android.os.Bundle> getAuthToken(android.accounts.Account, java.lang.String, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+ method public android.accounts.AccountManagerFuture<android.os.Bundle> getAuthToken(android.accounts.Account, java.lang.String, android.os.Bundle, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+ method public android.accounts.AccountManagerFuture<android.os.Bundle> getAuthTokenByFeatures(java.lang.String, java.lang.String, java.lang.String[], android.app.Activity, android.os.Bundle, android.os.Bundle, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+ method public android.accounts.AuthenticatorDescription[] getAuthenticatorTypes();
+ method public java.lang.String getPassword(android.accounts.Account);
+ method public java.lang.String getUserData(android.accounts.Account, java.lang.String);
+ method public android.accounts.AccountManagerFuture<java.lang.Boolean> hasFeatures(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler);
+ method public void invalidateAuthToken(java.lang.String, java.lang.String);
+ method public static android.content.Intent newChooseAccountIntent(android.accounts.Account, java.util.ArrayList<android.accounts.Account>, java.lang.String[], boolean, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle);
+ method public java.lang.String peekAuthToken(android.accounts.Account, java.lang.String);
+ method public android.accounts.AccountManagerFuture<java.lang.Boolean> removeAccount(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler);
+ method public void removeOnAccountsUpdatedListener(android.accounts.OnAccountsUpdateListener);
+ method public void setAuthToken(android.accounts.Account, java.lang.String, java.lang.String);
+ method public void setPassword(android.accounts.Account, java.lang.String);
+ method public void setUserData(android.accounts.Account, java.lang.String, java.lang.String);
+ method public android.accounts.AccountManagerFuture<android.os.Bundle> updateCredentials(android.accounts.Account, java.lang.String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+ field public static final java.lang.String ACTION_AUTHENTICATOR_INTENT = "android.accounts.AccountAuthenticator";
+ field public static final java.lang.String AUTHENTICATOR_ATTRIBUTES_NAME = "account-authenticator";
+ field public static final java.lang.String AUTHENTICATOR_META_DATA_NAME = "android.accounts.AccountAuthenticator";
+ field public static final int ERROR_CODE_BAD_ARGUMENTS = 7; // 0x7
+ field public static final int ERROR_CODE_BAD_REQUEST = 8; // 0x8
+ field public static final int ERROR_CODE_CANCELED = 4; // 0x4
+ field public static final int ERROR_CODE_INVALID_RESPONSE = 5; // 0x5
+ field public static final int ERROR_CODE_NETWORK_ERROR = 3; // 0x3
+ field public static final int ERROR_CODE_REMOTE_EXCEPTION = 1; // 0x1
+ field public static final int ERROR_CODE_UNSUPPORTED_OPERATION = 6; // 0x6
+ field public static final java.lang.String KEY_ACCOUNTS = "accounts";
+ field public static final java.lang.String KEY_ACCOUNT_AUTHENTICATOR_RESPONSE = "accountAuthenticatorResponse";
+ field public static final java.lang.String KEY_ACCOUNT_MANAGER_RESPONSE = "accountManagerResponse";
+ field public static final java.lang.String KEY_ACCOUNT_NAME = "authAccount";
+ field public static final java.lang.String KEY_ACCOUNT_TYPE = "accountType";
+ field public static final java.lang.String KEY_ANDROID_PACKAGE_NAME = "androidPackageName";
+ field public static final java.lang.String KEY_AUTHENTICATOR_TYPES = "authenticator_types";
+ field public static final java.lang.String KEY_AUTHTOKEN = "authtoken";
+ field public static final java.lang.String KEY_AUTH_FAILED_MESSAGE = "authFailedMessage";
+ field public static final java.lang.String KEY_AUTH_TOKEN_LABEL = "authTokenLabelKey";
+ field public static final java.lang.String KEY_BOOLEAN_RESULT = "booleanResult";
+ field public static final java.lang.String KEY_CALLER_PID = "callerPid";
+ field public static final java.lang.String KEY_CALLER_UID = "callerUid";
+ field public static final java.lang.String KEY_ERROR_CODE = "errorCode";
+ field public static final java.lang.String KEY_ERROR_MESSAGE = "errorMessage";
+ field public static final java.lang.String KEY_INTENT = "intent";
+ field public static final java.lang.String KEY_PASSWORD = "password";
+ field public static final java.lang.String KEY_USERDATA = "userdata";
+ field public static final java.lang.String LOGIN_ACCOUNTS_CHANGED_ACTION = "android.accounts.LOGIN_ACCOUNTS_CHANGED";
+ }
+
+ public abstract interface AccountManagerCallback {
+ method public abstract void run(android.accounts.AccountManagerFuture<V>);
+ }
+
+ public abstract interface AccountManagerFuture {
+ method public abstract boolean cancel(boolean);
+ method public abstract V getResult() throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
+ method public abstract V getResult(long, java.util.concurrent.TimeUnit) throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
+ method public abstract boolean isCancelled();
+ method public abstract boolean isDone();
+ }
+
+ public class AccountsException extends java.lang.Exception {
+ ctor public AccountsException();
+ ctor public AccountsException(java.lang.String);
+ ctor public AccountsException(java.lang.String, java.lang.Throwable);
+ ctor public AccountsException(java.lang.Throwable);
+ }
+
+ public class AuthenticatorDescription implements android.os.Parcelable {
+ ctor public AuthenticatorDescription(java.lang.String, java.lang.String, int, int, int, int, boolean);
+ ctor public AuthenticatorDescription(java.lang.String, java.lang.String, int, int, int, int);
+ method public int describeContents();
+ method public static android.accounts.AuthenticatorDescription newKey(java.lang.String);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public final int accountPreferencesId;
+ field public final boolean customTokens;
+ field public final int iconId;
+ field public final int labelId;
+ field public final java.lang.String packageName;
+ field public final int smallIconId;
+ field public final java.lang.String type;
+ }
+
+ public class AuthenticatorException extends android.accounts.AccountsException {
+ ctor public AuthenticatorException();
+ ctor public AuthenticatorException(java.lang.String);
+ ctor public AuthenticatorException(java.lang.String, java.lang.Throwable);
+ ctor public AuthenticatorException(java.lang.Throwable);
+ }
+
+ public class NetworkErrorException extends android.accounts.AccountsException {
+ ctor public NetworkErrorException();
+ ctor public NetworkErrorException(java.lang.String);
+ ctor public NetworkErrorException(java.lang.String, java.lang.Throwable);
+ ctor public NetworkErrorException(java.lang.Throwable);
+ }
+
+ public abstract interface OnAccountsUpdateListener {
+ method public abstract void onAccountsUpdated(android.accounts.Account[]);
+ }
+
+ public class OperationCanceledException extends android.accounts.AccountsException {
+ ctor public OperationCanceledException();
+ ctor public OperationCanceledException(java.lang.String);
+ ctor public OperationCanceledException(java.lang.String, java.lang.Throwable);
+ ctor public OperationCanceledException(java.lang.Throwable);
+ }
+
+}
+
+package android.animation {
+
+ public abstract class Animator implements java.lang.Cloneable {
+ ctor public Animator();
+ method public void addListener(android.animation.Animator.AnimatorListener);
+ method public void cancel();
+ method public android.animation.Animator clone();
+ method public void end();
+ method public abstract long getDuration();
+ method public java.util.ArrayList<android.animation.Animator.AnimatorListener> getListeners();
+ method public abstract long getStartDelay();
+ method public abstract boolean isRunning();
+ method public boolean isStarted();
+ method public void removeAllListeners();
+ method public void removeListener(android.animation.Animator.AnimatorListener);
+ method public abstract android.animation.Animator setDuration(long);
+ method public abstract void setInterpolator(android.animation.TimeInterpolator);
+ method public abstract void setStartDelay(long);
+ method public void setTarget(java.lang.Object);
+ method public void setupEndValues();
+ method public void setupStartValues();
+ method public void start();
+ }
+
+ public static abstract interface Animator.AnimatorListener {
+ method public abstract void onAnimationCancel(android.animation.Animator);
+ method public abstract void onAnimationEnd(android.animation.Animator);
+ method public abstract void onAnimationRepeat(android.animation.Animator);
+ method public abstract void onAnimationStart(android.animation.Animator);
+ }
+
+ public class AnimatorInflater {
+ ctor public AnimatorInflater();
+ method public static android.animation.Animator loadAnimator(android.content.Context, int) throws android.content.res.Resources.NotFoundException;
+ }
+
+ public abstract class AnimatorListenerAdapter implements android.animation.Animator.AnimatorListener {
+ ctor public AnimatorListenerAdapter();
+ method public void onAnimationCancel(android.animation.Animator);
+ method public void onAnimationEnd(android.animation.Animator);
+ method public void onAnimationRepeat(android.animation.Animator);
+ method public void onAnimationStart(android.animation.Animator);
+ }
+
+ public final class AnimatorSet extends android.animation.Animator {
+ ctor public AnimatorSet();
+ method public java.util.ArrayList<android.animation.Animator> getChildAnimations();
+ method public long getDuration();
+ method public long getStartDelay();
+ method public boolean isRunning();
+ method public android.animation.AnimatorSet.Builder play(android.animation.Animator);
+ method public void playSequentially(android.animation.Animator...);
+ method public void playSequentially(java.util.List<android.animation.Animator>);
+ method public void playTogether(android.animation.Animator...);
+ method public void playTogether(java.util.Collection<android.animation.Animator>);
+ method public android.animation.AnimatorSet setDuration(long);
+ method public void setInterpolator(android.animation.TimeInterpolator);
+ method public void setStartDelay(long);
+ }
+
+ public class AnimatorSet.Builder {
+ method public android.animation.AnimatorSet.Builder after(android.animation.Animator);
+ method public android.animation.AnimatorSet.Builder after(long);
+ method public android.animation.AnimatorSet.Builder before(android.animation.Animator);
+ method public android.animation.AnimatorSet.Builder with(android.animation.Animator);
+ }
+
+ public class ArgbEvaluator implements android.animation.TypeEvaluator {
+ ctor public ArgbEvaluator();
+ method public java.lang.Object evaluate(float, java.lang.Object, java.lang.Object);
+ }
+
+ public class FloatEvaluator implements android.animation.TypeEvaluator {
+ ctor public FloatEvaluator();
+ method public java.lang.Float evaluate(float, java.lang.Number, java.lang.Number);
+ }
+
+ public class IntEvaluator implements android.animation.TypeEvaluator {
+ ctor public IntEvaluator();
+ method public java.lang.Integer evaluate(float, java.lang.Integer, java.lang.Integer);
+ }
+
+ public abstract class Keyframe implements java.lang.Cloneable {
+ ctor public Keyframe();
+ method public abstract android.animation.Keyframe clone();
+ method public float getFraction();
+ method public android.animation.TimeInterpolator getInterpolator();
+ method public java.lang.Class getType();
+ method public abstract java.lang.Object getValue();
+ method public boolean hasValue();
+ method public static android.animation.Keyframe ofFloat(float, float);
+ method public static android.animation.Keyframe ofFloat(float);
+ method public static android.animation.Keyframe ofInt(float, int);
+ method public static android.animation.Keyframe ofInt(float);
+ method public static android.animation.Keyframe ofObject(float, java.lang.Object);
+ method public static android.animation.Keyframe ofObject(float);
+ method public void setFraction(float);
+ method public void setInterpolator(android.animation.TimeInterpolator);
+ method public abstract void setValue(java.lang.Object);
+ }
+
+ public class LayoutTransition {
+ ctor public LayoutTransition();
+ method public void addChild(android.view.ViewGroup, android.view.View);
+ method public void addTransitionListener(android.animation.LayoutTransition.TransitionListener);
+ method public android.animation.Animator getAnimator(int);
+ method public long getDuration(int);
+ method public android.animation.TimeInterpolator getInterpolator(int);
+ method public long getStagger(int);
+ method public long getStartDelay(int);
+ method public java.util.List<android.animation.LayoutTransition.TransitionListener> getTransitionListeners();
+ method public void hideChild(android.view.ViewGroup, android.view.View);
+ method public boolean isChangingLayout();
+ method public boolean isRunning();
+ method public void removeChild(android.view.ViewGroup, android.view.View);
+ method public void removeTransitionListener(android.animation.LayoutTransition.TransitionListener);
+ method public void setAnimateParentHierarchy(boolean);
+ method public void setAnimator(int, android.animation.Animator);
+ method public void setDuration(long);
+ method public void setDuration(int, long);
+ method public void setInterpolator(int, android.animation.TimeInterpolator);
+ method public void setStagger(int, long);
+ method public void setStartDelay(int, long);
+ method public void showChild(android.view.ViewGroup, android.view.View);
+ field public static final int APPEARING = 2; // 0x2
+ field public static final int CHANGE_APPEARING = 0; // 0x0
+ field public static final int CHANGE_DISAPPEARING = 1; // 0x1
+ field public static final int DISAPPEARING = 3; // 0x3
+ }
+
+ public static abstract interface LayoutTransition.TransitionListener {
+ method public abstract void endTransition(android.animation.LayoutTransition, android.view.ViewGroup, android.view.View, int);
+ method public abstract void startTransition(android.animation.LayoutTransition, android.view.ViewGroup, android.view.View, int);
+ }
+
+ public final class ObjectAnimator extends android.animation.ValueAnimator {
+ ctor public ObjectAnimator();
+ method public java.lang.String getPropertyName();
+ method public java.lang.Object getTarget();
+ method public static android.animation.ObjectAnimator ofFloat(java.lang.Object, java.lang.String, float...);
+ method public static android.animation.ObjectAnimator ofFloat(T, android.util.Property<T, java.lang.Float>, float...);
+ method public static android.animation.ObjectAnimator ofInt(java.lang.Object, java.lang.String, int...);
+ method public static android.animation.ObjectAnimator ofInt(T, android.util.Property<T, java.lang.Integer>, int...);
+ method public static android.animation.ObjectAnimator ofObject(java.lang.Object, java.lang.String, android.animation.TypeEvaluator, java.lang.Object...);
+ method public static android.animation.ObjectAnimator ofObject(T, android.util.Property<T, V>, android.animation.TypeEvaluator<V>, V...);
+ method public static android.animation.ObjectAnimator ofPropertyValuesHolder(java.lang.Object, android.animation.PropertyValuesHolder...);
+ method public void setProperty(android.util.Property);
+ method public void setPropertyName(java.lang.String);
+ }
+
+ public class PropertyValuesHolder implements java.lang.Cloneable {
+ method public android.animation.PropertyValuesHolder clone();
+ method public java.lang.String getPropertyName();
+ method public static android.animation.PropertyValuesHolder ofFloat(java.lang.String, float...);
+ method public static android.animation.PropertyValuesHolder ofFloat(android.util.Property<?, java.lang.Float>, float...);
+ method public static android.animation.PropertyValuesHolder ofInt(java.lang.String, int...);
+ method public static android.animation.PropertyValuesHolder ofInt(android.util.Property<?, java.lang.Integer>, int...);
+ method public static android.animation.PropertyValuesHolder ofKeyframe(java.lang.String, android.animation.Keyframe...);
+ method public static android.animation.PropertyValuesHolder ofKeyframe(android.util.Property, android.animation.Keyframe...);
+ method public static android.animation.PropertyValuesHolder ofObject(java.lang.String, android.animation.TypeEvaluator, java.lang.Object...);
+ method public static android.animation.PropertyValuesHolder ofObject(android.util.Property, android.animation.TypeEvaluator<V>, V...);
+ method public void setEvaluator(android.animation.TypeEvaluator);
+ method public void setFloatValues(float...);
+ method public void setIntValues(int...);
+ method public void setKeyframes(android.animation.Keyframe...);
+ method public void setObjectValues(java.lang.Object...);
+ method public void setProperty(android.util.Property);
+ method public void setPropertyName(java.lang.String);
+ }
+
+ public abstract interface TimeInterpolator {
+ method public abstract float getInterpolation(float);
+ }
+
+ public abstract interface TypeEvaluator {
+ method public abstract T evaluate(float, T, T);
+ }
+
+ public class ValueAnimator extends android.animation.Animator {
+ ctor public ValueAnimator();
+ method public void addUpdateListener(android.animation.ValueAnimator.AnimatorUpdateListener);
+ method public float getAnimatedFraction();
+ method public java.lang.Object getAnimatedValue();
+ method public java.lang.Object getAnimatedValue(java.lang.String);
+ method public long getCurrentPlayTime();
+ method public long getDuration();
+ method public static long getFrameDelay();
+ method public android.animation.TimeInterpolator getInterpolator();
+ method public int getRepeatCount();
+ method public int getRepeatMode();
+ method public long getStartDelay();
+ method public android.animation.PropertyValuesHolder[] getValues();
+ method public boolean isRunning();
+ method public static android.animation.ValueAnimator ofFloat(float...);
+ method public static android.animation.ValueAnimator ofInt(int...);
+ method public static android.animation.ValueAnimator ofObject(android.animation.TypeEvaluator, java.lang.Object...);
+ method public static android.animation.ValueAnimator ofPropertyValuesHolder(android.animation.PropertyValuesHolder...);
+ method public void removeAllUpdateListeners();
+ method public void removeUpdateListener(android.animation.ValueAnimator.AnimatorUpdateListener);
+ method public void reverse();
+ method public void setCurrentPlayTime(long);
+ method public android.animation.ValueAnimator setDuration(long);
+ method public void setEvaluator(android.animation.TypeEvaluator);
+ method public void setFloatValues(float...);
+ method public static void setFrameDelay(long);
+ method public void setIntValues(int...);
+ method public void setInterpolator(android.animation.TimeInterpolator);
+ method public void setObjectValues(java.lang.Object...);
+ method public void setRepeatCount(int);
+ method public void setRepeatMode(int);
+ method public void setStartDelay(long);
+ method public void setValues(android.animation.PropertyValuesHolder...);
+ field public static final int INFINITE = -1; // 0xffffffff
+ field public static final int RESTART = 1; // 0x1
+ field public static final int REVERSE = 2; // 0x2
+ }
+
+ public static abstract interface ValueAnimator.AnimatorUpdateListener {
+ method public abstract void onAnimationUpdate(android.animation.ValueAnimator);
+ }
+
+}
+
+package android.app {
+
+ public abstract class ActionBar {
+ ctor public ActionBar();
+ method public abstract void addOnMenuVisibilityListener(android.app.ActionBar.OnMenuVisibilityListener);
+ method public abstract void addTab(android.app.ActionBar.Tab);
+ method public abstract void addTab(android.app.ActionBar.Tab, boolean);
+ method public abstract void addTab(android.app.ActionBar.Tab, int);
+ method public abstract void addTab(android.app.ActionBar.Tab, int, boolean);
+ method public abstract android.view.View getCustomView();
+ method public abstract int getDisplayOptions();
+ method public abstract int getHeight();
+ method public abstract int getNavigationItemCount();
+ method public abstract int getNavigationMode();
+ method public abstract int getSelectedNavigationIndex();
+ method public abstract android.app.ActionBar.Tab getSelectedTab();
+ method public abstract java.lang.CharSequence getSubtitle();
+ method public abstract android.app.ActionBar.Tab getTabAt(int);
+ method public abstract int getTabCount();
+ method public android.content.Context getThemedContext();
+ method public abstract java.lang.CharSequence getTitle();
+ method public abstract void hide();
+ method public abstract boolean isShowing();
+ method public abstract android.app.ActionBar.Tab newTab();
+ method public abstract void removeAllTabs();
+ method public abstract void removeOnMenuVisibilityListener(android.app.ActionBar.OnMenuVisibilityListener);
+ method public abstract void removeTab(android.app.ActionBar.Tab);
+ method public abstract void removeTabAt(int);
+ method public abstract void selectTab(android.app.ActionBar.Tab);
+ method public abstract void setBackgroundDrawable(android.graphics.drawable.Drawable);
+ method public abstract void setCustomView(android.view.View);
+ method public abstract void setCustomView(android.view.View, android.app.ActionBar.LayoutParams);
+ method public abstract void setCustomView(int);
+ method public abstract void setDisplayHomeAsUpEnabled(boolean);
+ method public abstract void setDisplayOptions(int);
+ method public abstract void setDisplayOptions(int, int);
+ method public abstract void setDisplayShowCustomEnabled(boolean);
+ method public abstract void setDisplayShowHomeEnabled(boolean);
+ method public abstract void setDisplayShowTitleEnabled(boolean);
+ method public abstract void setDisplayUseLogoEnabled(boolean);
+ method public void setHomeButtonEnabled(boolean);
+ method public abstract void setIcon(int);
+ method public abstract void setIcon(android.graphics.drawable.Drawable);
+ method public abstract void setListNavigationCallbacks(android.widget.SpinnerAdapter, android.app.ActionBar.OnNavigationListener);
+ method public abstract void setLogo(int);
+ method public abstract void setLogo(android.graphics.drawable.Drawable);
+ method public abstract void setNavigationMode(int);
+ method public abstract void setSelectedNavigationItem(int);
+ method public void setSplitBackgroundDrawable(android.graphics.drawable.Drawable);
+ method public void setStackedBackgroundDrawable(android.graphics.drawable.Drawable);
+ method public abstract void setSubtitle(java.lang.CharSequence);
+ method public abstract void setSubtitle(int);
+ method public abstract void setTitle(java.lang.CharSequence);
+ method public abstract void setTitle(int);
+ method public abstract void show();
+ field public static final int DISPLAY_HOME_AS_UP = 4; // 0x4
+ field public static final int DISPLAY_SHOW_CUSTOM = 16; // 0x10
+ field public static final int DISPLAY_SHOW_HOME = 2; // 0x2
+ field public static final int DISPLAY_SHOW_TITLE = 8; // 0x8
+ field public static final int DISPLAY_USE_LOGO = 1; // 0x1
+ field public static final int NAVIGATION_MODE_LIST = 1; // 0x1
+ field public static final int NAVIGATION_MODE_STANDARD = 0; // 0x0
+ field public static final int NAVIGATION_MODE_TABS = 2; // 0x2
+ }
+
+ public static class ActionBar.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+ ctor public ActionBar.LayoutParams(android.content.Context, android.util.AttributeSet);
+ ctor public ActionBar.LayoutParams(int, int);
+ ctor public ActionBar.LayoutParams(int, int, int);
+ ctor public ActionBar.LayoutParams(int);
+ ctor public ActionBar.LayoutParams(android.app.ActionBar.LayoutParams);
+ ctor public ActionBar.LayoutParams(android.view.ViewGroup.LayoutParams);
+ field public int gravity;
+ }
+
+ public static abstract interface ActionBar.OnMenuVisibilityListener {
+ method public abstract void onMenuVisibilityChanged(boolean);
+ }
+
+ public static abstract interface ActionBar.OnNavigationListener {
+ method public abstract boolean onNavigationItemSelected(int, long);
+ }
+
+ public static abstract class ActionBar.Tab {
+ ctor public ActionBar.Tab();
+ method public abstract java.lang.CharSequence getContentDescription();
+ method public abstract android.view.View getCustomView();
+ method public abstract android.graphics.drawable.Drawable getIcon();
+ method public abstract int getPosition();
+ method public abstract java.lang.Object getTag();
+ method public abstract java.lang.CharSequence getText();
+ method public abstract void select();
+ method public abstract android.app.ActionBar.Tab setContentDescription(int);
+ method public abstract android.app.ActionBar.Tab setContentDescription(java.lang.CharSequence);
+ method public abstract android.app.ActionBar.Tab setCustomView(android.view.View);
+ method public abstract android.app.ActionBar.Tab setCustomView(int);
+ method public abstract android.app.ActionBar.Tab setIcon(android.graphics.drawable.Drawable);
+ method public abstract android.app.ActionBar.Tab setIcon(int);
+ method public abstract android.app.ActionBar.Tab setTabListener(android.app.ActionBar.TabListener);
+ method public abstract android.app.ActionBar.Tab setTag(java.lang.Object);
+ method public abstract android.app.ActionBar.Tab setText(java.lang.CharSequence);
+ method public abstract android.app.ActionBar.Tab setText(int);
+ field public static final int INVALID_POSITION = -1; // 0xffffffff
+ }
+
+ public static abstract interface ActionBar.TabListener {
+ method public abstract void onTabReselected(android.app.ActionBar.Tab, android.app.FragmentTransaction);
+ method public abstract void onTabSelected(android.app.ActionBar.Tab, android.app.FragmentTransaction);
+ method public abstract void onTabUnselected(android.app.ActionBar.Tab, android.app.FragmentTransaction);
+ }
+
+ public class Activity extends android.view.ContextThemeWrapper implements android.content.ComponentCallbacks2 android.view.KeyEvent.Callback android.view.LayoutInflater.Factory2 android.view.View.OnCreateContextMenuListener android.view.Window.Callback {
+ ctor public Activity();
+ method public void addContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+ method public void closeContextMenu();
+ method public void closeOptionsMenu();
+ method public android.app.PendingIntent createPendingResult(int, android.content.Intent, int);
+ method public final deprecated void dismissDialog(int);
+ method public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
+ method public boolean dispatchKeyEvent(android.view.KeyEvent);
+ method public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
+ method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+ method public boolean dispatchTouchEvent(android.view.MotionEvent);
+ method public boolean dispatchTrackballEvent(android.view.MotionEvent);
+ method public void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
+ method public android.view.View findViewById(int);
+ method public void finish();
+ method public void finishActivity(int);
+ method public void finishActivityFromChild(android.app.Activity, int);
+ method public void finishFromChild(android.app.Activity);
+ method public android.app.ActionBar getActionBar();
+ method public final android.app.Application getApplication();
+ method public android.content.ComponentName getCallingActivity();
+ method public java.lang.String getCallingPackage();
+ method public int getChangingConfigurations();
+ method public android.content.ComponentName getComponentName();
+ method public android.view.View getCurrentFocus();
+ method public android.app.FragmentManager getFragmentManager();
+ method public android.content.Intent getIntent();
+ method public deprecated java.lang.Object getLastNonConfigurationInstance();
+ method public android.view.LayoutInflater getLayoutInflater();
+ method public android.app.LoaderManager getLoaderManager();
+ method public java.lang.String getLocalClassName();
+ method public android.view.MenuInflater getMenuInflater();
+ method public final android.app.Activity getParent();
+ method public android.content.SharedPreferences getPreferences(int);
+ method public int getRequestedOrientation();
+ method public int getTaskId();
+ method public final java.lang.CharSequence getTitle();
+ method public final int getTitleColor();
+ method public final int getVolumeControlStream();
+ method public android.view.Window getWindow();
+ method public android.view.WindowManager getWindowManager();
+ method public boolean hasWindowFocus();
+ method public void invalidateOptionsMenu();
+ method public boolean isChangingConfigurations();
+ method public final boolean isChild();
+ method public boolean isFinishing();
+ method public boolean isTaskRoot();
+ method public final deprecated android.database.Cursor managedQuery(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
+ method public boolean moveTaskToBack(boolean);
+ method public void onActionModeFinished(android.view.ActionMode);
+ method public void onActionModeStarted(android.view.ActionMode);
+ method protected void onActivityResult(int, int, android.content.Intent);
+ method public void onAttachFragment(android.app.Fragment);
+ method public void onAttachedToWindow();
+ method public void onBackPressed();
+ method protected void onChildTitleChanged(android.app.Activity, java.lang.CharSequence);
+ method public void onConfigurationChanged(android.content.res.Configuration);
+ method public void onContentChanged();
+ method public boolean onContextItemSelected(android.view.MenuItem);
+ method public void onContextMenuClosed(android.view.Menu);
+ method protected void onCreate(android.os.Bundle);
+ method public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo);
+ method public java.lang.CharSequence onCreateDescription();
+ method protected deprecated android.app.Dialog onCreateDialog(int);
+ method protected deprecated android.app.Dialog onCreateDialog(int, android.os.Bundle);
+ method public boolean onCreateOptionsMenu(android.view.Menu);
+ method public boolean onCreatePanelMenu(int, android.view.Menu);
+ method public android.view.View onCreatePanelView(int);
+ method public boolean onCreateThumbnail(android.graphics.Bitmap, android.graphics.Canvas);
+ method public android.view.View onCreateView(java.lang.String, android.content.Context, android.util.AttributeSet);
+ method public android.view.View onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet);
+ method protected void onDestroy();
+ method public void onDetachedFromWindow();
+ method public boolean onGenericMotionEvent(android.view.MotionEvent);
+ method public boolean onKeyDown(int, android.view.KeyEvent);
+ method public boolean onKeyLongPress(int, android.view.KeyEvent);
+ method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+ method public boolean onKeyShortcut(int, android.view.KeyEvent);
+ method public boolean onKeyUp(int, android.view.KeyEvent);
+ method public void onLowMemory();
+ method public boolean onMenuItemSelected(int, android.view.MenuItem);
+ method public boolean onMenuOpened(int, android.view.Menu);
+ method protected void onNewIntent(android.content.Intent);
+ method public boolean onOptionsItemSelected(android.view.MenuItem);
+ method public void onOptionsMenuClosed(android.view.Menu);
+ method public void onPanelClosed(int, android.view.Menu);
+ method protected void onPause();
+ method protected void onPostCreate(android.os.Bundle);
+ method protected void onPostResume();
+ method protected deprecated void onPrepareDialog(int, android.app.Dialog);
+ method protected deprecated void onPrepareDialog(int, android.app.Dialog, android.os.Bundle);
+ method public boolean onPrepareOptionsMenu(android.view.Menu);
+ method public boolean onPreparePanel(int, android.view.View, android.view.Menu);
+ method protected void onRestart();
+ method protected void onRestoreInstanceState(android.os.Bundle);
+ method protected void onResume();
+ method public deprecated java.lang.Object onRetainNonConfigurationInstance();
+ method protected void onSaveInstanceState(android.os.Bundle);
+ method public boolean onSearchRequested();
+ method protected void onStart();
+ method protected void onStop();
+ method protected void onTitleChanged(java.lang.CharSequence, int);
+ method public boolean onTouchEvent(android.view.MotionEvent);
+ method public boolean onTrackballEvent(android.view.MotionEvent);
+ method public void onTrimMemory(int);
+ method public void onUserInteraction();
+ method protected void onUserLeaveHint();
+ method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
+ method public void onWindowFocusChanged(boolean);
+ method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+ method public void openContextMenu(android.view.View);
+ method public void openOptionsMenu();
+ method public void overridePendingTransition(int, int);
+ method public void recreate();
+ method public void registerForContextMenu(android.view.View);
+ method public final deprecated void removeDialog(int);
+ method public final boolean requestWindowFeature(int);
+ method public final void runOnUiThread(java.lang.Runnable);
+ method public void setContentView(int);
+ method public void setContentView(android.view.View);
+ method public void setContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+ method public final void setDefaultKeyMode(int);
+ method public final void setFeatureDrawable(int, android.graphics.drawable.Drawable);
+ method public final void setFeatureDrawableAlpha(int, int);
+ method public final void setFeatureDrawableResource(int, int);
+ method public final void setFeatureDrawableUri(int, android.net.Uri);
+ method public void setFinishOnTouchOutside(boolean);
+ method public void setIntent(android.content.Intent);
+ method public final void setProgress(int);
+ method public final void setProgressBarIndeterminate(boolean);
+ method public final void setProgressBarIndeterminateVisibility(boolean);
+ method public final void setProgressBarVisibility(boolean);
+ method public void setRequestedOrientation(int);
+ method public final void setResult(int);
+ method public final void setResult(int, android.content.Intent);
+ method public final void setSecondaryProgress(int);
+ method public void setTitle(java.lang.CharSequence);
+ method public void setTitle(int);
+ method public void setTitleColor(int);
+ method public void setVisible(boolean);
+ method public final void setVolumeControlStream(int);
+ method public final deprecated void showDialog(int);
+ method public final deprecated boolean showDialog(int, android.os.Bundle);
+ method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback);
+ method public void startActivityForResult(android.content.Intent, int);
+ method public void startActivityFromChild(android.app.Activity, android.content.Intent, int);
+ method public void startActivityFromFragment(android.app.Fragment, android.content.Intent, int);
+ method public boolean startActivityIfNeeded(android.content.Intent, int);
+ method public void startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+ method public void startIntentSenderFromChild(android.app.Activity, android.content.IntentSender, int, android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+ method public deprecated void startManagingCursor(android.database.Cursor);
+ method public boolean startNextMatchingActivity(android.content.Intent);
+ method public void startSearch(java.lang.String, boolean, android.os.Bundle, boolean);
+ method public deprecated void stopManagingCursor(android.database.Cursor);
+ method public void takeKeyEvents(boolean);
+ method public void triggerSearch(java.lang.String, android.os.Bundle);
+ method public void unregisterForContextMenu(android.view.View);
+ field public static final int DEFAULT_KEYS_DIALER = 1; // 0x1
+ field public static final int DEFAULT_KEYS_DISABLE = 0; // 0x0
+ field public static final int DEFAULT_KEYS_SEARCH_GLOBAL = 4; // 0x4
+ field public static final int DEFAULT_KEYS_SEARCH_LOCAL = 3; // 0x3
+ field public static final int DEFAULT_KEYS_SHORTCUT = 2; // 0x2
+ field protected static final int[] FOCUSED_STATE_SET;
+ field public static final int RESULT_CANCELED = 0; // 0x0
+ field public static final int RESULT_FIRST_USER = 1; // 0x1
+ field public static final int RESULT_OK = -1; // 0xffffffff
+ }
+
+ public deprecated class ActivityGroup extends android.app.Activity {
+ ctor public ActivityGroup();
+ ctor public ActivityGroup(boolean);
+ method public android.app.Activity getCurrentActivity();
+ method public final android.app.LocalActivityManager getLocalActivityManager();
+ }
+
+ public class ActivityManager {
+ method public android.content.pm.ConfigurationInfo getDeviceConfigurationInfo();
+ method public int getLargeMemoryClass();
+ method public int getLauncherLargeIconDensity();
+ method public int getLauncherLargeIconSize();
+ method public int getMemoryClass();
+ method public void getMemoryInfo(android.app.ActivityManager.MemoryInfo);
+ method public android.os.Debug.MemoryInfo[] getProcessMemoryInfo(int[]);
+ method public java.util.List<android.app.ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState();
+ method public java.util.List<android.app.ActivityManager.RecentTaskInfo> getRecentTasks(int, int) throws java.lang.SecurityException;
+ method public java.util.List<android.app.ActivityManager.RunningAppProcessInfo> getRunningAppProcesses();
+ method public android.app.PendingIntent getRunningServiceControlPanel(android.content.ComponentName) throws java.lang.SecurityException;
+ method public java.util.List<android.app.ActivityManager.RunningServiceInfo> getRunningServices(int) throws java.lang.SecurityException;
+ method public java.util.List<android.app.ActivityManager.RunningTaskInfo> getRunningTasks(int) throws java.lang.SecurityException;
+ method public static boolean isRunningInTestHarness();
+ method public static boolean isUserAMonkey();
+ method public void killBackgroundProcesses(java.lang.String);
+ method public void moveTaskToFront(int, int);
+ method public deprecated void restartPackage(java.lang.String);
+ field public static final int MOVE_TASK_NO_USER_ACTION = 2; // 0x2
+ field public static final int MOVE_TASK_WITH_HOME = 1; // 0x1
+ field public static final int RECENT_IGNORE_UNAVAILABLE = 2; // 0x2
+ field public static final int RECENT_WITH_EXCLUDED = 1; // 0x1
+ }
+
+ public static class ActivityManager.MemoryInfo implements android.os.Parcelable {
+ ctor public ActivityManager.MemoryInfo();
+ method public int describeContents();
+ method public void readFromParcel(android.os.Parcel);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public long availMem;
+ field public boolean lowMemory;
+ field public long threshold;
+ }
+
+ public static class ActivityManager.ProcessErrorStateInfo implements android.os.Parcelable {
+ ctor public ActivityManager.ProcessErrorStateInfo();
+ method public int describeContents();
+ method public void readFromParcel(android.os.Parcel);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final int CRASHED = 1; // 0x1
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int NOT_RESPONDING = 2; // 0x2
+ field public static final int NO_ERROR = 0; // 0x0
+ field public int condition;
+ field public byte[] crashData;
+ field public java.lang.String longMsg;
+ field public int pid;
+ field public java.lang.String processName;
+ field public java.lang.String shortMsg;
+ field public java.lang.String stackTrace;
+ field public java.lang.String tag;
+ field public int uid;
+ }
+
+ public static class ActivityManager.RecentTaskInfo implements android.os.Parcelable {
+ ctor public ActivityManager.RecentTaskInfo();
+ method public int describeContents();
+ method public void readFromParcel(android.os.Parcel);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public android.content.Intent baseIntent;
+ field public java.lang.CharSequence description;
+ field public int id;
+ field public android.content.ComponentName origActivity;
+ field public int persistentId;
+ }
+
+ public static class ActivityManager.RunningAppProcessInfo implements android.os.Parcelable {
+ ctor public ActivityManager.RunningAppProcessInfo();
+ ctor public ActivityManager.RunningAppProcessInfo(java.lang.String, int, java.lang.String[]);
+ method public int describeContents();
+ method public void readFromParcel(android.os.Parcel);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int IMPORTANCE_BACKGROUND = 400; // 0x190
+ field public static final int IMPORTANCE_EMPTY = 500; // 0x1f4
+ field public static final int IMPORTANCE_FOREGROUND = 100; // 0x64
+ field public static final int IMPORTANCE_PERCEPTIBLE = 130; // 0x82
+ field public static final int IMPORTANCE_SERVICE = 300; // 0x12c
+ field public static final int IMPORTANCE_VISIBLE = 200; // 0xc8
+ field public static final int REASON_PROVIDER_IN_USE = 1; // 0x1
+ field public static final int REASON_SERVICE_IN_USE = 2; // 0x2
+ field public static final int REASON_UNKNOWN = 0; // 0x0
+ field public int importance;
+ field public int importanceReasonCode;
+ field public android.content.ComponentName importanceReasonComponent;
+ field public int importanceReasonPid;
+ field public int lru;
+ field public int pid;
+ field public java.lang.String[] pkgList;
+ field public java.lang.String processName;
+ field public int uid;
+ }
+
+ public static class ActivityManager.RunningServiceInfo implements android.os.Parcelable {
+ ctor public ActivityManager.RunningServiceInfo();
+ method public int describeContents();
+ method public void readFromParcel(android.os.Parcel);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int FLAG_FOREGROUND = 2; // 0x2
+ field public static final int FLAG_PERSISTENT_PROCESS = 8; // 0x8
+ field public static final int FLAG_STARTED = 1; // 0x1
+ field public static final int FLAG_SYSTEM_PROCESS = 4; // 0x4
+ field public long activeSince;
+ field public int clientCount;
+ field public int clientLabel;
+ field public java.lang.String clientPackage;
+ field public int crashCount;
+ field public int flags;
+ field public boolean foreground;
+ field public long lastActivityTime;
+ field public int pid;
+ field public java.lang.String process;
+ field public long restarting;
+ field public android.content.ComponentName service;
+ field public boolean started;
+ field public int uid;
+ }
+
+ public static class ActivityManager.RunningTaskInfo implements android.os.Parcelable {
+ ctor public ActivityManager.RunningTaskInfo();
+ method public int describeContents();
+ method public void readFromParcel(android.os.Parcel);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public android.content.ComponentName baseActivity;
+ field public java.lang.CharSequence description;
+ field public int id;
+ field public int numActivities;
+ field public int numRunning;
+ field public android.graphics.Bitmap thumbnail;
+ field public android.content.ComponentName topActivity;
+ }
+
+ public class AlarmManager {
+ method public void cancel(android.app.PendingIntent);
+ method public void set(int, long, android.app.PendingIntent);
+ method public void setInexactRepeating(int, long, long, android.app.PendingIntent);
+ method public void setRepeating(int, long, long, android.app.PendingIntent);
+ method public void setTime(long);
+ method public void setTimeZone(java.lang.String);
+ field public static final int ELAPSED_REALTIME = 3; // 0x3
+ field public static final int ELAPSED_REALTIME_WAKEUP = 2; // 0x2
+ field public static final long INTERVAL_DAY = 86400000L; // 0x5265c00L
+ field public static final long INTERVAL_FIFTEEN_MINUTES = 900000L; // 0xdbba0L
+ field public static final long INTERVAL_HALF_DAY = 43200000L; // 0x2932e00L
+ field public static final long INTERVAL_HALF_HOUR = 1800000L; // 0x1b7740L
+ field public static final long INTERVAL_HOUR = 3600000L; // 0x36ee80L
+ field public static final int RTC = 1; // 0x1
+ field public static final int RTC_WAKEUP = 0; // 0x0
+ }
+
+ public class AlertDialog extends android.app.Dialog implements android.content.DialogInterface {
+ ctor protected AlertDialog(android.content.Context);
+ ctor protected AlertDialog(android.content.Context, int);
+ ctor protected AlertDialog(android.content.Context, boolean, android.content.DialogInterface.OnCancelListener);
+ method public android.widget.Button getButton(int);
+ method public android.widget.ListView getListView();
+ method public void setButton(int, java.lang.CharSequence, android.os.Message);
+ method public void setButton(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener);
+ method public deprecated void setButton(java.lang.CharSequence, android.os.Message);
+ method public deprecated void setButton(java.lang.CharSequence, android.content.DialogInterface.OnClickListener);
+ method public deprecated void setButton2(java.lang.CharSequence, android.os.Message);
+ method public deprecated void setButton2(java.lang.CharSequence, android.content.DialogInterface.OnClickListener);
+ method public deprecated void setButton3(java.lang.CharSequence, android.os.Message);
+ method public deprecated void setButton3(java.lang.CharSequence, android.content.DialogInterface.OnClickListener);
+ method public void setCustomTitle(android.view.View);
+ method public void setIcon(int);
+ method public void setIcon(android.graphics.drawable.Drawable);
+ method public void setIconAttribute(int);
+ method public void setInverseBackgroundForced(boolean);
+ method public void setMessage(java.lang.CharSequence);
+ method public void setView(android.view.View);
+ method public void setView(android.view.View, int, int, int, int);
+ field public static final int THEME_DEVICE_DEFAULT_DARK = 4; // 0x4
+ field public static final int THEME_DEVICE_DEFAULT_LIGHT = 5; // 0x5
+ field public static final int THEME_HOLO_DARK = 2; // 0x2
+ field public static final int THEME_HOLO_LIGHT = 3; // 0x3
+ field public static final int THEME_TRADITIONAL = 1; // 0x1
+ }
+
+ public static class AlertDialog.Builder {
+ ctor public AlertDialog.Builder(android.content.Context);
+ ctor public AlertDialog.Builder(android.content.Context, int);
+ method public android.app.AlertDialog create();
+ method public android.content.Context getContext();
+ method public android.app.AlertDialog.Builder setAdapter(android.widget.ListAdapter, android.content.DialogInterface.OnClickListener);
+ method public android.app.AlertDialog.Builder setCancelable(boolean);
+ method public android.app.AlertDialog.Builder setCursor(android.database.Cursor, android.content.DialogInterface.OnClickListener, java.lang.String);
+ method public android.app.AlertDialog.Builder setCustomTitle(android.view.View);
+ method public android.app.AlertDialog.Builder setIcon(int);
+ method public android.app.AlertDialog.Builder setIcon(android.graphics.drawable.Drawable);
+ method public android.app.AlertDialog.Builder setIconAttribute(int);
+ method public android.app.AlertDialog.Builder setInverseBackgroundForced(boolean);
+ method public android.app.AlertDialog.Builder setItems(int, android.content.DialogInterface.OnClickListener);
+ method public android.app.AlertDialog.Builder setItems(java.lang.CharSequence[], android.content.DialogInterface.OnClickListener);
+ method public android.app.AlertDialog.Builder setMessage(int);
+ method public android.app.AlertDialog.Builder setMessage(java.lang.CharSequence);
+ method public android.app.AlertDialog.Builder setMultiChoiceItems(int, boolean[], android.content.DialogInterface.OnMultiChoiceClickListener);
+ method public android.app.AlertDialog.Builder setMultiChoiceItems(java.lang.CharSequence[], boolean[], android.content.DialogInterface.OnMultiChoiceClickListener);
+ method public android.app.AlertDialog.Builder setMultiChoiceItems(android.database.Cursor, java.lang.String, java.lang.String, android.content.DialogInterface.OnMultiChoiceClickListener);
+ method public android.app.AlertDialog.Builder setNegativeButton(int, android.content.DialogInterface.OnClickListener);
+ method public android.app.AlertDialog.Builder setNegativeButton(java.lang.CharSequence, android.content.DialogInterface.OnClickListener);
+ method public android.app.AlertDialog.Builder setNeutralButton(int, android.content.DialogInterface.OnClickListener);
+ method public android.app.AlertDialog.Builder setNeutralButton(java.lang.CharSequence, android.content.DialogInterface.OnClickListener);
+ method public android.app.AlertDialog.Builder setOnCancelListener(android.content.DialogInterface.OnCancelListener);
+ method public android.app.AlertDialog.Builder setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener);
+ method public android.app.AlertDialog.Builder setOnKeyListener(android.content.DialogInterface.OnKeyListener);
+ method public android.app.AlertDialog.Builder setPositiveButton(int, android.content.DialogInterface.OnClickListener);
+ method public android.app.AlertDialog.Builder setPositiveButton(java.lang.CharSequence, android.content.DialogInterface.OnClickListener);
+ method public android.app.AlertDialog.Builder setSingleChoiceItems(int, int, android.content.DialogInterface.OnClickListener);
+ method public android.app.AlertDialog.Builder setSingleChoiceItems(android.database.Cursor, int, java.lang.String, android.content.DialogInterface.OnClickListener);
+ method public android.app.AlertDialog.Builder setSingleChoiceItems(java.lang.CharSequence[], int, android.content.DialogInterface.OnClickListener);
+ method public android.app.AlertDialog.Builder setSingleChoiceItems(android.widget.ListAdapter, int, android.content.DialogInterface.OnClickListener);
+ method public android.app.AlertDialog.Builder setTitle(int);
+ method public android.app.AlertDialog.Builder setTitle(java.lang.CharSequence);
+ method public android.app.AlertDialog.Builder setView(android.view.View);
+ method public android.app.AlertDialog show();
+ }
+
+ public class AliasActivity extends android.app.Activity {
+ ctor public AliasActivity();
+ }
+
+ public class Application extends android.content.ContextWrapper implements android.content.ComponentCallbacks2 {
+ ctor public Application();
+ method public void onConfigurationChanged(android.content.res.Configuration);
+ method public void onCreate();
+ method public void onLowMemory();
+ method public void onTerminate();
+ method public void onTrimMemory(int);
+ method public void registerActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks);
+ method public void unregisterActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks);
+ }
+
+ public static abstract interface Application.ActivityLifecycleCallbacks {
+ method public abstract void onActivityCreated(android.app.Activity, android.os.Bundle);
+ method public abstract void onActivityDestroyed(android.app.Activity);
+ method public abstract void onActivityPaused(android.app.Activity);
+ method public abstract void onActivityResumed(android.app.Activity);
+ method public abstract void onActivitySaveInstanceState(android.app.Activity, android.os.Bundle);
+ method public abstract void onActivityStarted(android.app.Activity);
+ method public abstract void onActivityStopped(android.app.Activity);
+ }
+
+ public class ApplicationErrorReport implements android.os.Parcelable {
+ ctor public ApplicationErrorReport();
+ method public int describeContents();
+ method public void dump(android.util.Printer, java.lang.String);
+ method public static android.content.ComponentName getErrorReportReceiver(android.content.Context, java.lang.String, int);
+ method public void readFromParcel(android.os.Parcel);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int TYPE_ANR = 2; // 0x2
+ field public static final int TYPE_BATTERY = 3; // 0x3
+ field public static final int TYPE_CRASH = 1; // 0x1
+ field public static final int TYPE_NONE = 0; // 0x0
+ field public static final int TYPE_RUNNING_SERVICE = 5; // 0x5
+ field public android.app.ApplicationErrorReport.AnrInfo anrInfo;
+ field public android.app.ApplicationErrorReport.BatteryInfo batteryInfo;
+ field public android.app.ApplicationErrorReport.CrashInfo crashInfo;
+ field public java.lang.String installerPackageName;
+ field public java.lang.String packageName;
+ field public java.lang.String processName;
+ field public android.app.ApplicationErrorReport.RunningServiceInfo runningServiceInfo;
+ field public boolean systemApp;
+ field public long time;
+ field public int type;
+ }
+
+ public static class ApplicationErrorReport.AnrInfo {
+ ctor public ApplicationErrorReport.AnrInfo();
+ ctor public ApplicationErrorReport.AnrInfo(android.os.Parcel);
+ method public void dump(android.util.Printer, java.lang.String);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public java.lang.String activity;
+ field public java.lang.String cause;
+ field public java.lang.String info;
+ }
+
+ public static class ApplicationErrorReport.BatteryInfo {
+ ctor public ApplicationErrorReport.BatteryInfo();
+ ctor public ApplicationErrorReport.BatteryInfo(android.os.Parcel);
+ method public void dump(android.util.Printer, java.lang.String);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public java.lang.String checkinDetails;
+ field public long durationMicros;
+ field public java.lang.String usageDetails;
+ field public int usagePercent;
+ }
+
+ public static class ApplicationErrorReport.CrashInfo {
+ ctor public ApplicationErrorReport.CrashInfo();
+ ctor public ApplicationErrorReport.CrashInfo(java.lang.Throwable);
+ ctor public ApplicationErrorReport.CrashInfo(android.os.Parcel);
+ method public void dump(android.util.Printer, java.lang.String);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public java.lang.String exceptionClassName;
+ field public java.lang.String exceptionMessage;
+ field public java.lang.String stackTrace;
+ field public java.lang.String throwClassName;
+ field public java.lang.String throwFileName;
+ field public int throwLineNumber;
+ field public java.lang.String throwMethodName;
+ }
+
+ public static class ApplicationErrorReport.RunningServiceInfo {
+ ctor public ApplicationErrorReport.RunningServiceInfo();
+ ctor public ApplicationErrorReport.RunningServiceInfo(android.os.Parcel);
+ method public void dump(android.util.Printer, java.lang.String);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public long durationMillis;
+ field public java.lang.String serviceDetails;
+ }
+
+ public class DatePickerDialog extends android.app.AlertDialog implements android.widget.DatePicker.OnDateChangedListener android.content.DialogInterface.OnClickListener {
+ ctor public DatePickerDialog(android.content.Context, android.app.DatePickerDialog.OnDateSetListener, int, int, int);
+ ctor public DatePickerDialog(android.content.Context, int, android.app.DatePickerDialog.OnDateSetListener, int, int, int);
+ method public android.widget.DatePicker getDatePicker();
+ method public void onClick(android.content.DialogInterface, int);
+ method public void onDateChanged(android.widget.DatePicker, int, int, int);
+ method public void updateDate(int, int, int);
+ }
+
+ public static abstract interface DatePickerDialog.OnDateSetListener {
+ method public abstract void onDateSet(android.widget.DatePicker, int, int, int);
+ }
+
+ public class Dialog implements android.content.DialogInterface android.view.KeyEvent.Callback android.view.View.OnCreateContextMenuListener android.view.Window.Callback {
+ ctor public Dialog(android.content.Context);
+ ctor public Dialog(android.content.Context, int);
+ ctor protected Dialog(android.content.Context, boolean, android.content.DialogInterface.OnCancelListener);
+ method public void addContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+ method public void cancel();
+ method public void closeOptionsMenu();
+ method public void dismiss();
+ method public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
+ method public boolean dispatchKeyEvent(android.view.KeyEvent);
+ method public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
+ method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+ method public boolean dispatchTouchEvent(android.view.MotionEvent);
+ method public boolean dispatchTrackballEvent(android.view.MotionEvent);
+ method public android.view.View findViewById(int);
+ method public android.app.ActionBar getActionBar();
+ method public final android.content.Context getContext();
+ method public android.view.View getCurrentFocus();
+ method public android.view.LayoutInflater getLayoutInflater();
+ method public final android.app.Activity getOwnerActivity();
+ method public final int getVolumeControlStream();
+ method public android.view.Window getWindow();
+ method public void hide();
+ method public void invalidateOptionsMenu();
+ method public boolean isShowing();
+ method public void onActionModeFinished(android.view.ActionMode);
+ method public void onActionModeStarted(android.view.ActionMode);
+ method public void onAttachedToWindow();
+ method public void onBackPressed();
+ method public void onContentChanged();
+ method public boolean onContextItemSelected(android.view.MenuItem);
+ method public void onContextMenuClosed(android.view.Menu);
+ method protected void onCreate(android.os.Bundle);
+ method public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo);
+ method public boolean onCreateOptionsMenu(android.view.Menu);
+ method public boolean onCreatePanelMenu(int, android.view.Menu);
+ method public android.view.View onCreatePanelView(int);
+ method public void onDetachedFromWindow();
+ method public boolean onGenericMotionEvent(android.view.MotionEvent);
+ method public boolean onKeyDown(int, android.view.KeyEvent);
+ method public boolean onKeyLongPress(int, android.view.KeyEvent);
+ method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+ method public boolean onKeyShortcut(int, android.view.KeyEvent);
+ method public boolean onKeyUp(int, android.view.KeyEvent);
+ method public boolean onMenuItemSelected(int, android.view.MenuItem);
+ method public boolean onMenuOpened(int, android.view.Menu);
+ method public boolean onOptionsItemSelected(android.view.MenuItem);
+ method public void onOptionsMenuClosed(android.view.Menu);
+ method public void onPanelClosed(int, android.view.Menu);
+ method public boolean onPrepareOptionsMenu(android.view.Menu);
+ method public boolean onPreparePanel(int, android.view.View, android.view.Menu);
+ method public void onRestoreInstanceState(android.os.Bundle);
+ method public android.os.Bundle onSaveInstanceState();
+ method public boolean onSearchRequested();
+ method protected void onStart();
+ method protected void onStop();
+ method public boolean onTouchEvent(android.view.MotionEvent);
+ method public boolean onTrackballEvent(android.view.MotionEvent);
+ method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
+ method public void onWindowFocusChanged(boolean);
+ method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+ method public void openContextMenu(android.view.View);
+ method public void openOptionsMenu();
+ method public void registerForContextMenu(android.view.View);
+ method public final boolean requestWindowFeature(int);
+ method public void setCancelMessage(android.os.Message);
+ method public void setCancelable(boolean);
+ method public void setCanceledOnTouchOutside(boolean);
+ method public void setContentView(int);
+ method public void setContentView(android.view.View);
+ method public void setContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+ method public void setDismissMessage(android.os.Message);
+ method public final void setFeatureDrawable(int, android.graphics.drawable.Drawable);
+ method public final void setFeatureDrawableAlpha(int, int);
+ method public final void setFeatureDrawableResource(int, int);
+ method public final void setFeatureDrawableUri(int, android.net.Uri);
+ method public void setOnCancelListener(android.content.DialogInterface.OnCancelListener);
+ method public void setOnDismissListener(android.content.DialogInterface.OnDismissListener);
+ method public void setOnKeyListener(android.content.DialogInterface.OnKeyListener);
+ method public void setOnShowListener(android.content.DialogInterface.OnShowListener);
+ method public final void setOwnerActivity(android.app.Activity);
+ method public void setTitle(java.lang.CharSequence);
+ method public void setTitle(int);
+ method public final void setVolumeControlStream(int);
+ method public void show();
+ method public void takeKeyEvents(boolean);
+ method public void unregisterForContextMenu(android.view.View);
+ }
+
+ public class DialogFragment extends android.app.Fragment implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
+ ctor public DialogFragment();
+ method public void dismiss();
+ method public void dismissAllowingStateLoss();
+ method public android.app.Dialog getDialog();
+ method public boolean getShowsDialog();
+ method public int getTheme();
+ method public boolean isCancelable();
+ method public void onCancel(android.content.DialogInterface);
+ method public android.app.Dialog onCreateDialog(android.os.Bundle);
+ method public void onDismiss(android.content.DialogInterface);
+ method public void setCancelable(boolean);
+ method public void setShowsDialog(boolean);
+ method public void setStyle(int, int);
+ method public void show(android.app.FragmentManager, java.lang.String);
+ method public int show(android.app.FragmentTransaction, java.lang.String);
+ field public static final int STYLE_NORMAL = 0; // 0x0
+ field public static final int STYLE_NO_FRAME = 2; // 0x2
+ field public static final int STYLE_NO_INPUT = 3; // 0x3
+ field public static final int STYLE_NO_TITLE = 1; // 0x1
+ }
+
+ public class DownloadManager {
+ method public long addCompletedDownload(java.lang.String, java.lang.String, boolean, java.lang.String, java.lang.String, long, boolean);
+ method public long enqueue(android.app.DownloadManager.Request);
+ method public static java.lang.Long getMaxBytesOverMobile(android.content.Context);
+ method public java.lang.String getMimeTypeForDownloadedFile(long);
+ method public static java.lang.Long getRecommendedMaxBytesOverMobile(android.content.Context);
+ method public android.net.Uri getUriForDownloadedFile(long);
+ method public android.os.ParcelFileDescriptor openDownloadedFile(long) throws java.io.FileNotFoundException;
+ method public android.database.Cursor query(android.app.DownloadManager.Query);
+ method public int remove(long...);
+ field public static final java.lang.String ACTION_DOWNLOAD_COMPLETE = "android.intent.action.DOWNLOAD_COMPLETE";
+ field public static final java.lang.String ACTION_NOTIFICATION_CLICKED = "android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED";
+ field public static final java.lang.String ACTION_VIEW_DOWNLOADS = "android.intent.action.VIEW_DOWNLOADS";
+ field public static final java.lang.String COLUMN_BYTES_DOWNLOADED_SO_FAR = "bytes_so_far";
+ field public static final java.lang.String COLUMN_DESCRIPTION = "description";
+ field public static final java.lang.String COLUMN_ID = "_id";
+ field public static final java.lang.String COLUMN_LAST_MODIFIED_TIMESTAMP = "last_modified_timestamp";
+ field public static final java.lang.String COLUMN_LOCAL_FILENAME = "local_filename";
+ field public static final java.lang.String COLUMN_LOCAL_URI = "local_uri";
+ field public static final java.lang.String COLUMN_MEDIAPROVIDER_URI = "mediaprovider_uri";
+ field public static final java.lang.String COLUMN_MEDIA_TYPE = "media_type";
+ field public static final java.lang.String COLUMN_REASON = "reason";
+ field public static final java.lang.String COLUMN_STATUS = "status";
+ field public static final java.lang.String COLUMN_TITLE = "title";
+ field public static final java.lang.String COLUMN_TOTAL_SIZE_BYTES = "total_size";
+ field public static final java.lang.String COLUMN_URI = "uri";
+ field public static final int ERROR_CANNOT_RESUME = 1008; // 0x3f0
+ field public static final int ERROR_DEVICE_NOT_FOUND = 1007; // 0x3ef
+ field public static final int ERROR_FILE_ALREADY_EXISTS = 1009; // 0x3f1
+ field public static final int ERROR_FILE_ERROR = 1001; // 0x3e9
+ field public static final int ERROR_HTTP_DATA_ERROR = 1004; // 0x3ec
+ field public static final int ERROR_INSUFFICIENT_SPACE = 1006; // 0x3ee
+ field public static final int ERROR_TOO_MANY_REDIRECTS = 1005; // 0x3ed
+ field public static final int ERROR_UNHANDLED_HTTP_CODE = 1002; // 0x3ea
+ field public static final int ERROR_UNKNOWN = 1000; // 0x3e8
+ field public static final java.lang.String EXTRA_DOWNLOAD_ID = "extra_download_id";
+ field public static final java.lang.String EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS = "extra_click_download_ids";
+ field public static final java.lang.String INTENT_EXTRAS_SORT_BY_SIZE = "android.app.DownloadManager.extra_sortBySize";
+ field public static final int PAUSED_QUEUED_FOR_WIFI = 3; // 0x3
+ field public static final int PAUSED_UNKNOWN = 4; // 0x4
+ field public static final int PAUSED_WAITING_FOR_NETWORK = 2; // 0x2
+ field public static final int PAUSED_WAITING_TO_RETRY = 1; // 0x1
+ field public static final int STATUS_FAILED = 16; // 0x10
+ field public static final int STATUS_PAUSED = 4; // 0x4
+ field public static final int STATUS_PENDING = 1; // 0x1
+ field public static final int STATUS_RUNNING = 2; // 0x2
+ field public static final int STATUS_SUCCESSFUL = 8; // 0x8
+ }
+
+ public static class DownloadManager.Query {
+ ctor public DownloadManager.Query();
+ method public android.app.DownloadManager.Query setFilterById(long...);
+ method public android.app.DownloadManager.Query setFilterByStatus(int);
+ }
+
+ public static class DownloadManager.Request {
+ ctor public DownloadManager.Request(android.net.Uri);
+ method public android.app.DownloadManager.Request addRequestHeader(java.lang.String, java.lang.String);
+ method public void allowScanningByMediaScanner();
+ method public android.app.DownloadManager.Request setAllowedNetworkTypes(int);
+ method public android.app.DownloadManager.Request setAllowedOverRoaming(boolean);
+ method public android.app.DownloadManager.Request setDescription(java.lang.CharSequence);
+ method public android.app.DownloadManager.Request setDestinationInExternalFilesDir(android.content.Context, java.lang.String, java.lang.String);
+ method public android.app.DownloadManager.Request setDestinationInExternalPublicDir(java.lang.String, java.lang.String);
+ method public android.app.DownloadManager.Request setDestinationUri(android.net.Uri);
+ method public android.app.DownloadManager.Request setMimeType(java.lang.String);
+ method public android.app.DownloadManager.Request setNotificationVisibility(int);
+ method public deprecated android.app.DownloadManager.Request setShowRunningNotification(boolean);
+ method public android.app.DownloadManager.Request setTitle(java.lang.CharSequence);
+ method public android.app.DownloadManager.Request setVisibleInDownloadsUi(boolean);
+ field public static final int NETWORK_MOBILE = 1; // 0x1
+ field public static final int NETWORK_WIFI = 2; // 0x2
+ field public static final int VISIBILITY_HIDDEN = 2; // 0x2
+ field public static final int VISIBILITY_VISIBLE = 0; // 0x0
+ field public static final int VISIBILITY_VISIBLE_NOTIFY_COMPLETED = 1; // 0x1
+ field public static final int VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION = 3; // 0x3
+ }
+
+ public class ExpandableListActivity extends android.app.Activity implements android.widget.ExpandableListView.OnChildClickListener android.widget.ExpandableListView.OnGroupCollapseListener android.widget.ExpandableListView.OnGroupExpandListener android.view.View.OnCreateContextMenuListener {
+ ctor public ExpandableListActivity();
+ method public android.widget.ExpandableListAdapter getExpandableListAdapter();
+ method public android.widget.ExpandableListView getExpandableListView();
+ method public long getSelectedId();
+ method public long getSelectedPosition();
+ method public boolean onChildClick(android.widget.ExpandableListView, android.view.View, int, int, long);
+ method public void onGroupCollapse(int);
+ method public void onGroupExpand(int);
+ method public void setListAdapter(android.widget.ExpandableListAdapter);
+ method public boolean setSelectedChild(int, int, boolean);
+ method public void setSelectedGroup(int);
+ }
+
+ public class Fragment implements android.content.ComponentCallbacks2 android.view.View.OnCreateContextMenuListener {
+ ctor public Fragment();
+ method public void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
+ method public final boolean equals(java.lang.Object);
+ method public final android.app.Activity getActivity();
+ method public final android.os.Bundle getArguments();
+ method public final android.app.FragmentManager getFragmentManager();
+ method public final int getId();
+ method public android.app.LoaderManager getLoaderManager();
+ method public final android.content.res.Resources getResources();
+ method public final boolean getRetainInstance();
+ method public final java.lang.String getString(int);
+ method public final java.lang.String getString(int, java.lang.Object...);
+ method public final java.lang.String getTag();
+ method public final android.app.Fragment getTargetFragment();
+ method public final int getTargetRequestCode();
+ method public final java.lang.CharSequence getText(int);
+ method public android.view.View getView();
+ method public final int hashCode();
+ method public static android.app.Fragment instantiate(android.content.Context, java.lang.String);
+ method public static android.app.Fragment instantiate(android.content.Context, java.lang.String, android.os.Bundle);
+ method public final boolean isAdded();
+ method public final boolean isDetached();
+ method public final boolean isHidden();
+ method public final boolean isInLayout();
+ method public final boolean isRemoving();
+ method public final boolean isResumed();
+ method public final boolean isVisible();
+ method public void onActivityCreated(android.os.Bundle);
+ method public void onActivityResult(int, int, android.content.Intent);
+ method public void onAttach(android.app.Activity);
+ method public void onConfigurationChanged(android.content.res.Configuration);
+ method public boolean onContextItemSelected(android.view.MenuItem);
+ method public void onCreate(android.os.Bundle);
+ method public android.animation.Animator onCreateAnimator(int, boolean, int);
+ method public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo);
+ method public void onCreateOptionsMenu(android.view.Menu, android.view.MenuInflater);
+ method public android.view.View onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle);
+ method public void onDestroy();
+ method public void onDestroyOptionsMenu();
+ method public void onDestroyView();
+ method public void onDetach();
+ method public void onHiddenChanged(boolean);
+ method public deprecated void onInflate(android.util.AttributeSet, android.os.Bundle);
+ method public void onInflate(android.app.Activity, android.util.AttributeSet, android.os.Bundle);
+ method public void onLowMemory();
+ method public boolean onOptionsItemSelected(android.view.MenuItem);
+ method public void onOptionsMenuClosed(android.view.Menu);
+ method public void onPause();
+ method public void onPrepareOptionsMenu(android.view.Menu);
+ method public void onResume();
+ method public void onSaveInstanceState(android.os.Bundle);
+ method public void onStart();
+ method public void onStop();
+ method public void onTrimMemory(int);
+ method public void onViewCreated(android.view.View, android.os.Bundle);
+ method public void registerForContextMenu(android.view.View);
+ method public void setArguments(android.os.Bundle);
+ method public void setHasOptionsMenu(boolean);
+ method public void setInitialSavedState(android.app.Fragment.SavedState);
+ method public void setMenuVisibility(boolean);
+ method public void setRetainInstance(boolean);
+ method public void setTargetFragment(android.app.Fragment, int);
+ method public void startActivity(android.content.Intent);
+ method public void startActivityForResult(android.content.Intent, int);
+ method public void unregisterForContextMenu(android.view.View);
+ }
+
+ public static class Fragment.InstantiationException extends android.util.AndroidRuntimeException {
+ ctor public Fragment.InstantiationException(java.lang.String, java.lang.Exception);
+ }
+
+ public static class Fragment.SavedState implements android.os.Parcelable {
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.ClassLoaderCreator CREATOR;
+ }
+
+ public class FragmentBreadCrumbs extends android.view.ViewGroup implements android.app.FragmentManager.OnBackStackChangedListener {
+ ctor public FragmentBreadCrumbs(android.content.Context);
+ ctor public FragmentBreadCrumbs(android.content.Context, android.util.AttributeSet);
+ ctor public FragmentBreadCrumbs(android.content.Context, android.util.AttributeSet, int);
+ method public void onBackStackChanged();
+ method protected void onLayout(boolean, int, int, int, int);
+ method public void setActivity(android.app.Activity);
+ method public void setMaxVisible(int);
+ method public void setOnBreadCrumbClickListener(android.app.FragmentBreadCrumbs.OnBreadCrumbClickListener);
+ method public void setParentTitle(java.lang.CharSequence, java.lang.CharSequence, android.view.View.OnClickListener);
+ method public void setTitle(java.lang.CharSequence, java.lang.CharSequence);
+ }
+
+ public static abstract interface FragmentBreadCrumbs.OnBreadCrumbClickListener {
+ method public abstract boolean onBreadCrumbClick(android.app.FragmentManager.BackStackEntry, int);
+ }
+
+ public abstract class FragmentManager {
+ ctor public FragmentManager();
+ method public abstract void addOnBackStackChangedListener(android.app.FragmentManager.OnBackStackChangedListener);
+ method public abstract android.app.FragmentTransaction beginTransaction();
+ method public abstract void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
+ method public static void enableDebugLogging(boolean);
+ method public abstract boolean executePendingTransactions();
+ method public abstract android.app.Fragment findFragmentById(int);
+ method public abstract android.app.Fragment findFragmentByTag(java.lang.String);
+ method public abstract android.app.FragmentManager.BackStackEntry getBackStackEntryAt(int);
+ method public abstract int getBackStackEntryCount();
+ method public abstract android.app.Fragment getFragment(android.os.Bundle, java.lang.String);
+ method public void invalidateOptionsMenu();
+ method public abstract void popBackStack();
+ method public abstract void popBackStack(java.lang.String, int);
+ method public abstract void popBackStack(int, int);
+ method public abstract boolean popBackStackImmediate();
+ method public abstract boolean popBackStackImmediate(java.lang.String, int);
+ method public abstract boolean popBackStackImmediate(int, int);
+ method public abstract void putFragment(android.os.Bundle, java.lang.String, android.app.Fragment);
+ method public abstract void removeOnBackStackChangedListener(android.app.FragmentManager.OnBackStackChangedListener);
+ method public abstract android.app.Fragment.SavedState saveFragmentInstanceState(android.app.Fragment);
+ field public static final int POP_BACK_STACK_INCLUSIVE = 1; // 0x1
+ }
+
+ public static abstract interface FragmentManager.BackStackEntry {
+ method public abstract java.lang.CharSequence getBreadCrumbShortTitle();
+ method public abstract int getBreadCrumbShortTitleRes();
+ method public abstract java.lang.CharSequence getBreadCrumbTitle();
+ method public abstract int getBreadCrumbTitleRes();
+ method public abstract int getId();
+ method public abstract java.lang.String getName();
+ }
+
+ public static abstract interface FragmentManager.OnBackStackChangedListener {
+ method public abstract void onBackStackChanged();
+ }
+
+ public abstract class FragmentTransaction {
+ ctor public FragmentTransaction();
+ method public abstract android.app.FragmentTransaction add(android.app.Fragment, java.lang.String);
+ method public abstract android.app.FragmentTransaction add(int, android.app.Fragment);
+ method public abstract android.app.FragmentTransaction add(int, android.app.Fragment, java.lang.String);
+ method public abstract android.app.FragmentTransaction addToBackStack(java.lang.String);
+ method public abstract android.app.FragmentTransaction attach(android.app.Fragment);
+ method public abstract int commit();
+ method public abstract int commitAllowingStateLoss();
+ method public abstract android.app.FragmentTransaction detach(android.app.Fragment);
+ method public abstract android.app.FragmentTransaction disallowAddToBackStack();
+ method public abstract android.app.FragmentTransaction hide(android.app.Fragment);
+ method public abstract boolean isAddToBackStackAllowed();
+ method public abstract boolean isEmpty();
+ method public abstract android.app.FragmentTransaction remove(android.app.Fragment);
+ method public abstract android.app.FragmentTransaction replace(int, android.app.Fragment);
+ method public abstract android.app.FragmentTransaction replace(int, android.app.Fragment, java.lang.String);
+ method public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(int);
+ method public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(java.lang.CharSequence);
+ method public abstract android.app.FragmentTransaction setBreadCrumbTitle(int);
+ method public abstract android.app.FragmentTransaction setBreadCrumbTitle(java.lang.CharSequence);
+ method public abstract android.app.FragmentTransaction setCustomAnimations(int, int);
+ method public abstract android.app.FragmentTransaction setCustomAnimations(int, int, int, int);
+ method public abstract android.app.FragmentTransaction setTransition(int);
+ method public abstract android.app.FragmentTransaction setTransitionStyle(int);
+ method public abstract android.app.FragmentTransaction show(android.app.Fragment);
+ field public static final int TRANSIT_ENTER_MASK = 4096; // 0x1000
+ field public static final int TRANSIT_EXIT_MASK = 8192; // 0x2000
+ field public static final int TRANSIT_FRAGMENT_CLOSE = 8194; // 0x2002
+ field public static final int TRANSIT_FRAGMENT_FADE = 4099; // 0x1003
+ field public static final int TRANSIT_FRAGMENT_OPEN = 4097; // 0x1001
+ field public static final int TRANSIT_NONE = 0; // 0x0
+ field public static final int TRANSIT_UNSET = -1; // 0xffffffff
+ }
+
+ public class Instrumentation {
+ ctor public Instrumentation();
+ method public void addMonitor(android.app.Instrumentation.ActivityMonitor);
+ method public android.app.Instrumentation.ActivityMonitor addMonitor(android.content.IntentFilter, android.app.Instrumentation.ActivityResult, boolean);
+ method public android.app.Instrumentation.ActivityMonitor addMonitor(java.lang.String, android.app.Instrumentation.ActivityResult, boolean);
+ method public void callActivityOnCreate(android.app.Activity, android.os.Bundle);
+ method public void callActivityOnDestroy(android.app.Activity);
+ method public void callActivityOnNewIntent(android.app.Activity, android.content.Intent);
+ method public void callActivityOnPause(android.app.Activity);
+ method public void callActivityOnPostCreate(android.app.Activity, android.os.Bundle);
+ method public void callActivityOnRestart(android.app.Activity);
+ method public void callActivityOnRestoreInstanceState(android.app.Activity, android.os.Bundle);
+ method public void callActivityOnResume(android.app.Activity);
+ method public void callActivityOnSaveInstanceState(android.app.Activity, android.os.Bundle);
+ method public void callActivityOnStart(android.app.Activity);
+ method public void callActivityOnStop(android.app.Activity);
+ method public void callActivityOnUserLeaving(android.app.Activity);
+ method public void callApplicationOnCreate(android.app.Application);
+ method public boolean checkMonitorHit(android.app.Instrumentation.ActivityMonitor, int);
+ method public void endPerformanceSnapshot();
+ method public void finish(int, android.os.Bundle);
+ method public android.os.Bundle getAllocCounts();
+ method public android.os.Bundle getBinderCounts();
+ method public android.content.ComponentName getComponentName();
+ method public android.content.Context getContext();
+ method public android.content.Context getTargetContext();
+ method public boolean invokeContextMenuAction(android.app.Activity, int, int);
+ method public boolean invokeMenuActionSync(android.app.Activity, int, int);
+ method public boolean isProfiling();
+ method public android.app.Activity newActivity(java.lang.Class<?>, android.content.Context, android.os.IBinder, android.app.Application, android.content.Intent, android.content.pm.ActivityInfo, java.lang.CharSequence, android.app.Activity, java.lang.String, java.lang.Object) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public android.app.Activity newActivity(java.lang.ClassLoader, java.lang.String, android.content.Intent) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public android.app.Application newApplication(java.lang.ClassLoader, java.lang.String, android.content.Context) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static android.app.Application newApplication(java.lang.Class<?>, android.content.Context) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public void onCreate(android.os.Bundle);
+ method public void onDestroy();
+ method public boolean onException(java.lang.Object, java.lang.Throwable);
+ method public void onStart();
+ method public void removeMonitor(android.app.Instrumentation.ActivityMonitor);
+ method public void runOnMainSync(java.lang.Runnable);
+ method public void sendCharacterSync(int);
+ method public void sendKeyDownUpSync(int);
+ method public void sendKeySync(android.view.KeyEvent);
+ method public void sendPointerSync(android.view.MotionEvent);
+ method public void sendStatus(int, android.os.Bundle);
+ method public void sendStringSync(java.lang.String);
+ method public void sendTrackballEventSync(android.view.MotionEvent);
+ method public void setAutomaticPerformanceSnapshots();
+ method public void setInTouchMode(boolean);
+ method public void start();
+ method public android.app.Activity startActivitySync(android.content.Intent);
+ method public void startAllocCounting();
+ method public void startPerformanceSnapshot();
+ method public void startProfiling();
+ method public void stopAllocCounting();
+ method public void stopProfiling();
+ method public void waitForIdle(java.lang.Runnable);
+ method public void waitForIdleSync();
+ method public android.app.Activity waitForMonitor(android.app.Instrumentation.ActivityMonitor);
+ method public android.app.Activity waitForMonitorWithTimeout(android.app.Instrumentation.ActivityMonitor, long);
+ field public static final java.lang.String REPORT_KEY_IDENTIFIER = "id";
+ field public static final java.lang.String REPORT_KEY_STREAMRESULT = "stream";
+ }
+
+ public static class Instrumentation.ActivityMonitor {
+ ctor public Instrumentation.ActivityMonitor(android.content.IntentFilter, android.app.Instrumentation.ActivityResult, boolean);
+ ctor public Instrumentation.ActivityMonitor(java.lang.String, android.app.Instrumentation.ActivityResult, boolean);
+ method public final android.content.IntentFilter getFilter();
+ method public final int getHits();
+ method public final android.app.Activity getLastActivity();
+ method public final android.app.Instrumentation.ActivityResult getResult();
+ method public final boolean isBlocking();
+ method public final android.app.Activity waitForActivity();
+ method public final android.app.Activity waitForActivityWithTimeout(long);
+ }
+
+ public static final class Instrumentation.ActivityResult {
+ ctor public Instrumentation.ActivityResult(int, android.content.Intent);
+ method public int getResultCode();
+ method public android.content.Intent getResultData();
+ }
+
+ public abstract class IntentService extends android.app.Service {
+ ctor public IntentService(java.lang.String);
+ method public android.os.IBinder onBind(android.content.Intent);
+ method protected abstract void onHandleIntent(android.content.Intent);
+ method public void setIntentRedelivery(boolean);
+ }
+
+ public class KeyguardManager {
+ method public deprecated void exitKeyguardSecurely(android.app.KeyguardManager.OnKeyguardExitResult);
+ method public boolean inKeyguardRestrictedInputMode();
+ method public deprecated android.app.KeyguardManager.KeyguardLock newKeyguardLock(java.lang.String);
+ }
+
+ public deprecated class KeyguardManager.KeyguardLock {
+ method public void disableKeyguard();
+ method public void reenableKeyguard();
+ }
+
+ public static abstract interface KeyguardManager.OnKeyguardExitResult {
+ method public abstract void onKeyguardExitResult(boolean);
+ }
+
+ public abstract class LauncherActivity extends android.app.ListActivity {
+ ctor public LauncherActivity();
+ method protected android.content.Intent getTargetIntent();
+ method protected android.content.Intent intentForPosition(int);
+ method protected android.app.LauncherActivity.ListItem itemForPosition(int);
+ method public java.util.List<android.app.LauncherActivity.ListItem> makeListItems();
+ method protected java.util.List<android.content.pm.ResolveInfo> onQueryPackageManager(android.content.Intent);
+ method protected void onSetContentView();
+ }
+
+ public class LauncherActivity.IconResizer {
+ ctor public LauncherActivity.IconResizer();
+ method public android.graphics.drawable.Drawable createIconThumbnail(android.graphics.drawable.Drawable);
+ }
+
+ public static class LauncherActivity.ListItem {
+ ctor public LauncherActivity.ListItem();
+ field public java.lang.String className;
+ field public android.os.Bundle extras;
+ field public android.graphics.drawable.Drawable icon;
+ field public java.lang.CharSequence label;
+ field public java.lang.String packageName;
+ field public android.content.pm.ResolveInfo resolveInfo;
+ }
+
+ public class ListActivity extends android.app.Activity {
+ ctor public ListActivity();
+ method public android.widget.ListAdapter getListAdapter();
+ method public android.widget.ListView getListView();
+ method public long getSelectedItemId();
+ method public int getSelectedItemPosition();
+ method protected void onListItemClick(android.widget.ListView, android.view.View, int, long);
+ method public void setListAdapter(android.widget.ListAdapter);
+ method public void setSelection(int);
+ }
+
+ public class ListFragment extends android.app.Fragment {
+ ctor public ListFragment();
+ method public android.widget.ListAdapter getListAdapter();
+ method public android.widget.ListView getListView();
+ method public long getSelectedItemId();
+ method public int getSelectedItemPosition();
+ method public void onListItemClick(android.widget.ListView, android.view.View, int, long);
+ method public void setEmptyText(java.lang.CharSequence);
+ method public void setListAdapter(android.widget.ListAdapter);
+ method public void setListShown(boolean);
+ method public void setListShownNoAnimation(boolean);
+ method public void setSelection(int);
+ }
+
+ public abstract class LoaderManager {
+ ctor public LoaderManager();
+ method public abstract void destroyLoader(int);
+ method public abstract void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
+ method public static void enableDebugLogging(boolean);
+ method public abstract android.content.Loader<D> getLoader(int);
+ method public abstract android.content.Loader<D> initLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
+ method public abstract android.content.Loader<D> restartLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
+ }
+
+ public static abstract interface LoaderManager.LoaderCallbacks {
+ method public abstract android.content.Loader<D> onCreateLoader(int, android.os.Bundle);
+ method public abstract void onLoadFinished(android.content.Loader<D>, D);
+ method public abstract void onLoaderReset(android.content.Loader<D>);
+ }
+
+ public deprecated class LocalActivityManager {
+ ctor public LocalActivityManager(android.app.Activity, boolean);
+ method public android.view.Window destroyActivity(java.lang.String, boolean);
+ method public void dispatchCreate(android.os.Bundle);
+ method public void dispatchDestroy(boolean);
+ method public void dispatchPause(boolean);
+ method public void dispatchResume();
+ method public void dispatchStop();
+ method public android.app.Activity getActivity(java.lang.String);
+ method public android.app.Activity getCurrentActivity();
+ method public java.lang.String getCurrentId();
+ method public void removeAllActivities();
+ method public android.os.Bundle saveInstanceState();
+ method public android.view.Window startActivity(java.lang.String, android.content.Intent);
+ }
+
+ public class NativeActivity extends android.app.Activity implements android.view.InputQueue.Callback android.view.SurfaceHolder.Callback2 android.view.ViewTreeObserver.OnGlobalLayoutListener {
+ ctor public NativeActivity();
+ method public void onGlobalLayout();
+ method public void onInputQueueCreated(android.view.InputQueue);
+ method public void onInputQueueDestroyed(android.view.InputQueue);
+ method public void surfaceChanged(android.view.SurfaceHolder, int, int, int);
+ method public void surfaceCreated(android.view.SurfaceHolder);
+ method public void surfaceDestroyed(android.view.SurfaceHolder);
+ method public void surfaceRedrawNeeded(android.view.SurfaceHolder);
+ field public static final java.lang.String META_DATA_FUNC_NAME = "android.app.func_name";
+ field public static final java.lang.String META_DATA_LIB_NAME = "android.app.lib_name";
+ }
+
+ public class Notification implements android.os.Parcelable {
+ ctor public Notification();
+ ctor public deprecated Notification(int, java.lang.CharSequence, long);
+ ctor public Notification(android.os.Parcel);
+ method public android.app.Notification clone();
+ method public int describeContents();
+ method public deprecated void setLatestEventInfo(android.content.Context, java.lang.CharSequence, java.lang.CharSequence, android.app.PendingIntent);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int DEFAULT_ALL = -1; // 0xffffffff
+ field public static final int DEFAULT_LIGHTS = 4; // 0x4
+ field public static final int DEFAULT_SOUND = 1; // 0x1
+ field public static final int DEFAULT_VIBRATE = 2; // 0x2
+ field public static final int FLAG_AUTO_CANCEL = 16; // 0x10
+ field public static final int FLAG_FOREGROUND_SERVICE = 64; // 0x40
+ field public static final int FLAG_HIGH_PRIORITY = 128; // 0x80
+ field public static final int FLAG_INSISTENT = 4; // 0x4
+ field public static final int FLAG_NO_CLEAR = 32; // 0x20
+ field public static final int FLAG_ONGOING_EVENT = 2; // 0x2
+ field public static final int FLAG_ONLY_ALERT_ONCE = 8; // 0x8
+ field public static final int FLAG_SHOW_LIGHTS = 1; // 0x1
+ field public static final int STREAM_DEFAULT = -1; // 0xffffffff
+ field public int audioStreamType;
+ field public android.app.PendingIntent contentIntent;
+ field public android.widget.RemoteViews contentView;
+ field public int defaults;
+ field public android.app.PendingIntent deleteIntent;
+ field public int flags;
+ field public android.app.PendingIntent fullScreenIntent;
+ field public int icon;
+ field public int iconLevel;
+ field public android.graphics.Bitmap largeIcon;
+ field public int ledARGB;
+ field public int ledOffMS;
+ field public int ledOnMS;
+ field public int number;
+ field public android.net.Uri sound;
+ field public java.lang.CharSequence tickerText;
+ field public android.widget.RemoteViews tickerView;
+ field public long[] vibrate;
+ field public long when;
+ }
+
+ public static class Notification.Builder {
+ ctor public Notification.Builder(android.content.Context);
+ method public android.app.Notification getNotification();
+ method public android.app.Notification.Builder setAutoCancel(boolean);
+ method public android.app.Notification.Builder setContent(android.widget.RemoteViews);
+ method public android.app.Notification.Builder setContentInfo(java.lang.CharSequence);
+ method public android.app.Notification.Builder setContentIntent(android.app.PendingIntent);
+ method public android.app.Notification.Builder setContentText(java.lang.CharSequence);
+ method public android.app.Notification.Builder setContentTitle(java.lang.CharSequence);
+ method public android.app.Notification.Builder setDefaults(int);
+ method public android.app.Notification.Builder setDeleteIntent(android.app.PendingIntent);
+ method public android.app.Notification.Builder setFullScreenIntent(android.app.PendingIntent, boolean);
+ method public android.app.Notification.Builder setLargeIcon(android.graphics.Bitmap);
+ method public android.app.Notification.Builder setLights(int, int, int);
+ method public android.app.Notification.Builder setNumber(int);
+ method public android.app.Notification.Builder setOngoing(boolean);
+ method public android.app.Notification.Builder setOnlyAlertOnce(boolean);
+ method public android.app.Notification.Builder setProgress(int, int, boolean);
+ method public android.app.Notification.Builder setSmallIcon(int);
+ method public android.app.Notification.Builder setSmallIcon(int, int);
+ method public android.app.Notification.Builder setSound(android.net.Uri);
+ method public android.app.Notification.Builder setSound(android.net.Uri, int);
+ method public android.app.Notification.Builder setTicker(java.lang.CharSequence);
+ method public android.app.Notification.Builder setTicker(java.lang.CharSequence, android.widget.RemoteViews);
+ method public android.app.Notification.Builder setVibrate(long[]);
+ method public android.app.Notification.Builder setWhen(long);
+ }
+
+ public class NotificationManager {
+ method public void cancel(int);
+ method public void cancel(java.lang.String, int);
+ method public void cancelAll();
+ method public void notify(int, android.app.Notification);
+ method public void notify(java.lang.String, int, android.app.Notification);
+ }
+
+ public final class PendingIntent implements android.os.Parcelable {
+ method public void cancel();
+ method public int describeContents();
+ method public static android.app.PendingIntent getActivities(android.content.Context, int, android.content.Intent[], int);
+ method public static android.app.PendingIntent getActivity(android.content.Context, int, android.content.Intent, int);
+ method public static android.app.PendingIntent getBroadcast(android.content.Context, int, android.content.Intent, int);
+ method public android.content.IntentSender getIntentSender();
+ method public static android.app.PendingIntent getService(android.content.Context, int, android.content.Intent, int);
+ method public java.lang.String getTargetPackage();
+ method public static android.app.PendingIntent readPendingIntentOrNullFromParcel(android.os.Parcel);
+ method public void send() throws android.app.PendingIntent.CanceledException;
+ method public void send(int) throws android.app.PendingIntent.CanceledException;
+ method public void send(android.content.Context, int, android.content.Intent) throws android.app.PendingIntent.CanceledException;
+ method public void send(int, android.app.PendingIntent.OnFinished, android.os.Handler) throws android.app.PendingIntent.CanceledException;
+ method public void send(android.content.Context, int, android.content.Intent, android.app.PendingIntent.OnFinished, android.os.Handler) throws android.app.PendingIntent.CanceledException;
+ method public void send(android.content.Context, int, android.content.Intent, android.app.PendingIntent.OnFinished, android.os.Handler, java.lang.String) throws android.app.PendingIntent.CanceledException;
+ method public static void writePendingIntentOrNullToParcel(android.app.PendingIntent, android.os.Parcel);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int FLAG_CANCEL_CURRENT = 268435456; // 0x10000000
+ field public static final int FLAG_NO_CREATE = 536870912; // 0x20000000
+ field public static final int FLAG_ONE_SHOT = 1073741824; // 0x40000000
+ field public static final int FLAG_UPDATE_CURRENT = 134217728; // 0x8000000
+ }
+
+ public static class PendingIntent.CanceledException extends android.util.AndroidException {
+ ctor public PendingIntent.CanceledException();
+ ctor public PendingIntent.CanceledException(java.lang.String);
+ ctor public PendingIntent.CanceledException(java.lang.Exception);
+ }
+
+ public static abstract interface PendingIntent.OnFinished {
+ method public abstract void onSendFinished(android.app.PendingIntent, android.content.Intent, int, java.lang.String, android.os.Bundle);
+ }
+
+ public class ProgressDialog extends android.app.AlertDialog {
+ ctor public ProgressDialog(android.content.Context);
+ ctor public ProgressDialog(android.content.Context, int);
+ method public int getMax();
+ method public int getProgress();
+ method public int getSecondaryProgress();
+ method public void incrementProgressBy(int);
+ method public void incrementSecondaryProgressBy(int);
+ method public boolean isIndeterminate();
+ method public void onStart();
+ method public void setIndeterminate(boolean);
+ method public void setIndeterminateDrawable(android.graphics.drawable.Drawable);
+ method public void setMax(int);
+ method public void setProgress(int);
+ method public void setProgressDrawable(android.graphics.drawable.Drawable);
+ method public void setProgressNumberFormat(java.lang.String);
+ method public void setProgressPercentFormat(java.text.NumberFormat);
+ method public void setProgressStyle(int);
+ method public void setSecondaryProgress(int);
+ method public static android.app.ProgressDialog show(android.content.Context, java.lang.CharSequence, java.lang.CharSequence);
+ method public static android.app.ProgressDialog show(android.content.Context, java.lang.CharSequence, java.lang.CharSequence, boolean);
+ method public static android.app.ProgressDialog show(android.content.Context, java.lang.CharSequence, java.lang.CharSequence, boolean, boolean);
+ method public static android.app.ProgressDialog show(android.content.Context, java.lang.CharSequence, java.lang.CharSequence, boolean, boolean, android.content.DialogInterface.OnCancelListener);
+ field public static final int STYLE_HORIZONTAL = 1; // 0x1
+ field public static final int STYLE_SPINNER = 0; // 0x0
+ }
+
+ public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
+ method public android.app.SearchableInfo getSearchableInfo(android.content.ComponentName);
+ method public java.util.List<android.app.SearchableInfo> getSearchablesInGlobalSearch();
+ method public deprecated void onCancel(android.content.DialogInterface);
+ method public deprecated void onDismiss(android.content.DialogInterface);
+ method public void setOnCancelListener(android.app.SearchManager.OnCancelListener);
+ method public void setOnDismissListener(android.app.SearchManager.OnDismissListener);
+ method public void startSearch(java.lang.String, boolean, android.content.ComponentName, android.os.Bundle, boolean);
+ method public void stopSearch();
+ method public void triggerSearch(java.lang.String, android.content.ComponentName, android.os.Bundle);
+ field public static final java.lang.String ACTION_KEY = "action_key";
+ field public static final java.lang.String ACTION_MSG = "action_msg";
+ field public static final java.lang.String APP_DATA = "app_data";
+ field public static final java.lang.String CURSOR_EXTRA_KEY_IN_PROGRESS = "in_progress";
+ field public static final java.lang.String EXTRA_DATA_KEY = "intent_extra_data_key";
+ field public static final java.lang.String EXTRA_NEW_SEARCH = "new_search";
+ field public static final java.lang.String EXTRA_SELECT_QUERY = "select_query";
+ field public static final java.lang.String EXTRA_WEB_SEARCH_PENDINGINTENT = "web_search_pendingintent";
+ field public static final int FLAG_QUERY_REFINEMENT = 1; // 0x1
+ field public static final java.lang.String INTENT_ACTION_GLOBAL_SEARCH = "android.search.action.GLOBAL_SEARCH";
+ field public static final java.lang.String INTENT_ACTION_SEARCHABLES_CHANGED = "android.search.action.SEARCHABLES_CHANGED";
+ field public static final java.lang.String INTENT_ACTION_SEARCH_SETTINGS = "android.search.action.SEARCH_SETTINGS";
+ field public static final java.lang.String INTENT_ACTION_SEARCH_SETTINGS_CHANGED = "android.search.action.SETTINGS_CHANGED";
+ field public static final java.lang.String INTENT_ACTION_WEB_SEARCH_SETTINGS = "android.search.action.WEB_SEARCH_SETTINGS";
+ field public static final char MENU_KEY = 115; // 0x0073 's'
+ field public static final int MENU_KEYCODE = 47; // 0x2f
+ field public static final java.lang.String QUERY = "query";
+ field public static final java.lang.String SHORTCUT_MIME_TYPE = "vnd.android.cursor.item/vnd.android.search.suggest";
+ field public static final java.lang.String SUGGEST_COLUMN_FLAGS = "suggest_flags";
+ field public static final java.lang.String SUGGEST_COLUMN_FORMAT = "suggest_format";
+ field public static final java.lang.String SUGGEST_COLUMN_ICON_1 = "suggest_icon_1";
+ field public static final java.lang.String SUGGEST_COLUMN_ICON_2 = "suggest_icon_2";
+ field public static final java.lang.String SUGGEST_COLUMN_INTENT_ACTION = "suggest_intent_action";
+ field public static final java.lang.String SUGGEST_COLUMN_INTENT_DATA = "suggest_intent_data";
+ field public static final java.lang.String SUGGEST_COLUMN_INTENT_DATA_ID = "suggest_intent_data_id";
+ field public static final java.lang.String SUGGEST_COLUMN_INTENT_EXTRA_DATA = "suggest_intent_extra_data";
+ field public static final java.lang.String SUGGEST_COLUMN_LAST_ACCESS_HINT = "suggest_last_access_hint";
+ field public static final java.lang.String SUGGEST_COLUMN_QUERY = "suggest_intent_query";
+ field public static final java.lang.String SUGGEST_COLUMN_SHORTCUT_ID = "suggest_shortcut_id";
+ field public static final java.lang.String SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING = "suggest_spinner_while_refreshing";
+ field public static final java.lang.String SUGGEST_COLUMN_TEXT_1 = "suggest_text_1";
+ field public static final java.lang.String SUGGEST_COLUMN_TEXT_2 = "suggest_text_2";
+ field public static final java.lang.String SUGGEST_COLUMN_TEXT_2_URL = "suggest_text_2_url";
+ field public static final java.lang.String SUGGEST_MIME_TYPE = "vnd.android.cursor.dir/vnd.android.search.suggest";
+ field public static final java.lang.String SUGGEST_NEVER_MAKE_SHORTCUT = "_-1";
+ field public static final java.lang.String SUGGEST_PARAMETER_LIMIT = "limit";
+ field public static final java.lang.String SUGGEST_URI_PATH_QUERY = "search_suggest_query";
+ field public static final java.lang.String SUGGEST_URI_PATH_SHORTCUT = "search_suggest_shortcut";
+ field public static final java.lang.String USER_QUERY = "user_query";
+ }
+
+ public static abstract interface SearchManager.OnCancelListener {
+ method public abstract void onCancel();
+ }
+
+ public static abstract interface SearchManager.OnDismissListener {
+ method public abstract void onDismiss();
+ }
+
+ public final class SearchableInfo implements android.os.Parcelable {
+ method public boolean autoUrlDetect();
+ method public int describeContents();
+ method public int getHintId();
+ method public int getImeOptions();
+ method public int getInputType();
+ method public android.content.ComponentName getSearchActivity();
+ method public int getSettingsDescriptionId();
+ method public java.lang.String getSuggestAuthority();
+ method public java.lang.String getSuggestIntentAction();
+ method public java.lang.String getSuggestIntentData();
+ method public java.lang.String getSuggestPackage();
+ method public java.lang.String getSuggestPath();
+ method public java.lang.String getSuggestSelection();
+ method public int getSuggestThreshold();
+ method public int getVoiceLanguageId();
+ method public int getVoiceLanguageModeId();
+ method public int getVoiceMaxResults();
+ method public int getVoicePromptTextId();
+ method public boolean getVoiceSearchEnabled();
+ method public boolean getVoiceSearchLaunchRecognizer();
+ method public boolean getVoiceSearchLaunchWebSearch();
+ method public boolean queryAfterZeroResults();
+ method public boolean shouldIncludeInGlobalSearch();
+ method public boolean shouldRewriteQueryFromData();
+ method public boolean shouldRewriteQueryFromText();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public abstract class Service extends android.content.ContextWrapper implements android.content.ComponentCallbacks2 {
+ ctor public Service();
+ method protected void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
+ method public final android.app.Application getApplication();
+ method public abstract android.os.IBinder onBind(android.content.Intent);
+ method public void onConfigurationChanged(android.content.res.Configuration);
+ method public void onCreate();
+ method public void onDestroy();
+ method public void onLowMemory();
+ method public void onRebind(android.content.Intent);
+ method public deprecated void onStart(android.content.Intent, int);
+ method public int onStartCommand(android.content.Intent, int, int);
+ method public void onTaskRemoved(android.content.Intent);
+ method public void onTrimMemory(int);
+ method public boolean onUnbind(android.content.Intent);
+ method public final void startForeground(int, android.app.Notification);
+ method public final void stopForeground(boolean);
+ method public final void stopSelf();
+ method public final void stopSelf(int);
+ method public final boolean stopSelfResult(int);
+ field public static final int START_CONTINUATION_MASK = 15; // 0xf
+ field public static final int START_FLAG_REDELIVERY = 1; // 0x1
+ field public static final int START_FLAG_RETRY = 2; // 0x2
+ field public static final int START_NOT_STICKY = 2; // 0x2
+ field public static final int START_REDELIVER_INTENT = 3; // 0x3
+ field public static final int START_STICKY = 1; // 0x1
+ field public static final int START_STICKY_COMPATIBILITY = 0; // 0x0
+ }
+
+ public deprecated class TabActivity extends android.app.ActivityGroup {
+ ctor public TabActivity();
+ method public android.widget.TabHost getTabHost();
+ method public android.widget.TabWidget getTabWidget();
+ method public void setDefaultTab(java.lang.String);
+ method public void setDefaultTab(int);
+ }
+
+ public class TimePickerDialog extends android.app.AlertDialog implements android.content.DialogInterface.OnClickListener android.widget.TimePicker.OnTimeChangedListener {
+ ctor public TimePickerDialog(android.content.Context, android.app.TimePickerDialog.OnTimeSetListener, int, int, boolean);
+ ctor public TimePickerDialog(android.content.Context, int, android.app.TimePickerDialog.OnTimeSetListener, int, int, boolean);
+ method public void onClick(android.content.DialogInterface, int);
+ method public void onTimeChanged(android.widget.TimePicker, int, int);
+ method public void updateTime(int, int);
+ }
+
+ public static abstract interface TimePickerDialog.OnTimeSetListener {
+ method public abstract void onTimeSet(android.widget.TimePicker, int, int);
+ }
+
+ public class UiModeManager {
+ method public void disableCarMode(int);
+ method public void enableCarMode(int);
+ method public int getCurrentModeType();
+ method public int getNightMode();
+ method public void setNightMode(int);
+ field public static java.lang.String ACTION_ENTER_CAR_MODE;
+ field public static java.lang.String ACTION_ENTER_DESK_MODE;
+ field public static java.lang.String ACTION_EXIT_CAR_MODE;
+ field public static java.lang.String ACTION_EXIT_DESK_MODE;
+ field public static final int DISABLE_CAR_MODE_GO_HOME = 1; // 0x1
+ field public static final int ENABLE_CAR_MODE_GO_CAR_HOME = 1; // 0x1
+ field public static final int MODE_NIGHT_AUTO = 0; // 0x0
+ field public static final int MODE_NIGHT_NO = 1; // 0x1
+ field public static final int MODE_NIGHT_YES = 2; // 0x2
+ }
+
+ public final class WallpaperInfo implements android.os.Parcelable {
+ ctor public WallpaperInfo(android.content.Context, android.content.pm.ResolveInfo) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public int describeContents();
+ method public void dump(android.util.Printer, java.lang.String);
+ method public android.content.ComponentName getComponent();
+ method public java.lang.String getPackageName();
+ method public android.content.pm.ServiceInfo getServiceInfo();
+ method public java.lang.String getServiceName();
+ method public java.lang.String getSettingsActivity();
+ method public java.lang.CharSequence loadAuthor(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
+ method public java.lang.CharSequence loadDescription(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
+ method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+ method public java.lang.CharSequence loadLabel(android.content.pm.PackageManager);
+ method public android.graphics.drawable.Drawable loadThumbnail(android.content.pm.PackageManager);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class WallpaperManager {
+ method public void clear() throws java.io.IOException;
+ method public void clearWallpaperOffsets(android.os.IBinder);
+ method public void forgetLoadedWallpaper();
+ method public int getDesiredMinimumHeight();
+ method public int getDesiredMinimumWidth();
+ method public android.graphics.drawable.Drawable getDrawable();
+ method public android.graphics.drawable.Drawable getFastDrawable();
+ method public static android.app.WallpaperManager getInstance(android.content.Context);
+ method public android.app.WallpaperInfo getWallpaperInfo();
+ method public android.graphics.drawable.Drawable peekDrawable();
+ method public android.graphics.drawable.Drawable peekFastDrawable();
+ method public void sendWallpaperCommand(android.os.IBinder, java.lang.String, int, int, int, android.os.Bundle);
+ method public void setBitmap(android.graphics.Bitmap) throws java.io.IOException;
+ method public void setResource(int) throws java.io.IOException;
+ method public void setStream(java.io.InputStream) throws java.io.IOException;
+ method public void setWallpaperOffsetSteps(float, float);
+ method public void setWallpaperOffsets(android.os.IBinder, float, float);
+ method public void suggestDesiredDimensions(int, int);
+ field public static final java.lang.String ACTION_LIVE_WALLPAPER_CHOOSER = "android.service.wallpaper.LIVE_WALLPAPER_CHOOSER";
+ field public static final java.lang.String COMMAND_DROP = "android.home.drop";
+ field public static final java.lang.String COMMAND_SECONDARY_TAP = "android.wallpaper.secondaryTap";
+ field public static final java.lang.String COMMAND_TAP = "android.wallpaper.tap";
+ field public static final java.lang.String WALLPAPER_PREVIEW_META_DATA = "android.wallpaper.preview";
+ }
+
+}
+
+package android.app.admin {
+
+ public final class DeviceAdminInfo implements android.os.Parcelable {
+ ctor public DeviceAdminInfo(android.content.Context, android.content.pm.ResolveInfo) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public int describeContents();
+ method public void dump(android.util.Printer, java.lang.String);
+ method public android.content.pm.ActivityInfo getActivityInfo();
+ method public android.content.ComponentName getComponent();
+ method public java.lang.String getPackageName();
+ method public java.lang.String getReceiverName();
+ method public java.lang.String getTagForPolicy(int);
+ method public boolean isVisible();
+ method public java.lang.CharSequence loadDescription(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
+ method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+ method public java.lang.CharSequence loadLabel(android.content.pm.PackageManager);
+ method public boolean usesPolicy(int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int USES_ENCRYPTED_STORAGE = 7; // 0x7
+ field public static final int USES_POLICY_DISABLE_CAMERA = 8; // 0x8
+ field public static final int USES_POLICY_EXPIRE_PASSWORD = 6; // 0x6
+ field public static final int USES_POLICY_FORCE_LOCK = 3; // 0x3
+ field public static final int USES_POLICY_LIMIT_PASSWORD = 0; // 0x0
+ field public static final int USES_POLICY_RESET_PASSWORD = 2; // 0x2
+ field public static final int USES_POLICY_WATCH_LOGIN = 1; // 0x1
+ field public static final int USES_POLICY_WIPE_DATA = 4; // 0x4
+ }
+
+ public class DeviceAdminReceiver extends android.content.BroadcastReceiver {
+ ctor public DeviceAdminReceiver();
+ method public android.app.admin.DevicePolicyManager getManager(android.content.Context);
+ method public android.content.ComponentName getWho(android.content.Context);
+ method public java.lang.CharSequence onDisableRequested(android.content.Context, android.content.Intent);
+ method public void onDisabled(android.content.Context, android.content.Intent);
+ method public void onEnabled(android.content.Context, android.content.Intent);
+ method public void onPasswordChanged(android.content.Context, android.content.Intent);
+ method public void onPasswordExpiring(android.content.Context, android.content.Intent);
+ method public void onPasswordFailed(android.content.Context, android.content.Intent);
+ method public void onPasswordSucceeded(android.content.Context, android.content.Intent);
+ method public void onReceive(android.content.Context, android.content.Intent);
+ field public static final java.lang.String ACTION_DEVICE_ADMIN_DISABLED = "android.app.action.DEVICE_ADMIN_DISABLED";
+ field public static final java.lang.String ACTION_DEVICE_ADMIN_DISABLE_REQUESTED = "android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED";
+ field public static final java.lang.String ACTION_DEVICE_ADMIN_ENABLED = "android.app.action.DEVICE_ADMIN_ENABLED";
+ field public static final java.lang.String ACTION_PASSWORD_CHANGED = "android.app.action.ACTION_PASSWORD_CHANGED";
+ field public static final java.lang.String ACTION_PASSWORD_EXPIRING = "android.app.action.ACTION_PASSWORD_EXPIRING";
+ field public static final java.lang.String ACTION_PASSWORD_FAILED = "android.app.action.ACTION_PASSWORD_FAILED";
+ field public static final java.lang.String ACTION_PASSWORD_SUCCEEDED = "android.app.action.ACTION_PASSWORD_SUCCEEDED";
+ field public static final java.lang.String DEVICE_ADMIN_META_DATA = "android.app.device_admin";
+ field public static final java.lang.String EXTRA_DISABLE_WARNING = "android.app.extra.DISABLE_WARNING";
+ }
+
+ public class DevicePolicyManager {
+ method public java.util.List<android.content.ComponentName> getActiveAdmins();
+ method public boolean getCameraDisabled(android.content.ComponentName);
+ method public int getCurrentFailedPasswordAttempts();
+ method public int getMaximumFailedPasswordsForWipe(android.content.ComponentName);
+ method public long getMaximumTimeToLock(android.content.ComponentName);
+ method public long getPasswordExpiration(android.content.ComponentName);
+ method public long getPasswordExpirationTimeout(android.content.ComponentName);
+ method public int getPasswordHistoryLength(android.content.ComponentName);
+ method public int getPasswordMaximumLength(int);
+ method public int getPasswordMinimumLength(android.content.ComponentName);
+ method public int getPasswordMinimumLetters(android.content.ComponentName);
+ method public int getPasswordMinimumLowerCase(android.content.ComponentName);
+ method public int getPasswordMinimumNonLetter(android.content.ComponentName);
+ method public int getPasswordMinimumNumeric(android.content.ComponentName);
+ method public int getPasswordMinimumSymbols(android.content.ComponentName);
+ method public int getPasswordMinimumUpperCase(android.content.ComponentName);
+ method public int getPasswordQuality(android.content.ComponentName);
+ method public boolean getStorageEncryption(android.content.ComponentName);
+ method public int getStorageEncryptionStatus();
+ method public boolean hasGrantedPolicy(android.content.ComponentName, int);
+ method public boolean isActivePasswordSufficient();
+ method public boolean isAdminActive(android.content.ComponentName);
+ method public void lockNow();
+ method public void removeActiveAdmin(android.content.ComponentName);
+ method public boolean resetPassword(java.lang.String, int);
+ method public void setCameraDisabled(android.content.ComponentName, boolean);
+ method public void setMaximumFailedPasswordsForWipe(android.content.ComponentName, int);
+ method public void setMaximumTimeToLock(android.content.ComponentName, long);
+ method public void setPasswordExpirationTimeout(android.content.ComponentName, long);
+ method public void setPasswordHistoryLength(android.content.ComponentName, int);
+ method public void setPasswordMinimumLength(android.content.ComponentName, int);
+ method public void setPasswordMinimumLetters(android.content.ComponentName, int);
+ method public void setPasswordMinimumLowerCase(android.content.ComponentName, int);
+ method public void setPasswordMinimumNonLetter(android.content.ComponentName, int);
+ method public void setPasswordMinimumNumeric(android.content.ComponentName, int);
+ method public void setPasswordMinimumSymbols(android.content.ComponentName, int);
+ method public void setPasswordMinimumUpperCase(android.content.ComponentName, int);
+ method public void setPasswordQuality(android.content.ComponentName, int);
+ method public int setStorageEncryption(android.content.ComponentName, boolean);
+ method public void wipeData(int);
+ field public static final java.lang.String ACTION_ADD_DEVICE_ADMIN = "android.app.action.ADD_DEVICE_ADMIN";
+ field public static final java.lang.String ACTION_SET_NEW_PASSWORD = "android.app.action.SET_NEW_PASSWORD";
+ field public static final java.lang.String ACTION_START_ENCRYPTION = "android.app.action.START_ENCRYPTION";
+ field public static final int ENCRYPTION_STATUS_ACTIVATING = 2; // 0x2
+ field public static final int ENCRYPTION_STATUS_ACTIVE = 3; // 0x3
+ field public static final int ENCRYPTION_STATUS_INACTIVE = 1; // 0x1
+ field public static final int ENCRYPTION_STATUS_UNSUPPORTED = 0; // 0x0
+ field public static final java.lang.String EXTRA_ADD_EXPLANATION = "android.app.extra.ADD_EXPLANATION";
+ field public static final java.lang.String EXTRA_DEVICE_ADMIN = "android.app.extra.DEVICE_ADMIN";
+ field public static final int PASSWORD_QUALITY_ALPHABETIC = 262144; // 0x40000
+ field public static final int PASSWORD_QUALITY_ALPHANUMERIC = 327680; // 0x50000
+ field public static final int PASSWORD_QUALITY_BIOMETRIC_WEAK = 32768; // 0x8000
+ field public static final int PASSWORD_QUALITY_COMPLEX = 393216; // 0x60000
+ field public static final int PASSWORD_QUALITY_NUMERIC = 131072; // 0x20000
+ field public static final int PASSWORD_QUALITY_SOMETHING = 65536; // 0x10000
+ field public static final int PASSWORD_QUALITY_UNSPECIFIED = 0; // 0x0
+ field public static final int RESET_PASSWORD_REQUIRE_ENTRY = 1; // 0x1
+ field public static final int WIPE_EXTERNAL_STORAGE = 1; // 0x1
+ }
+
+}
+
+package android.app.backup {
+
+ public abstract class BackupAgent extends android.content.ContextWrapper {
+ ctor public BackupAgent();
+ method public final void fullBackupFile(java.io.File, android.app.backup.FullBackupDataOutput);
+ method public abstract void onBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor) throws java.io.IOException;
+ method public void onCreate();
+ method public void onDestroy();
+ method public void onFullBackup(android.app.backup.FullBackupDataOutput) throws java.io.IOException;
+ method public abstract void onRestore(android.app.backup.BackupDataInput, int, android.os.ParcelFileDescriptor) throws java.io.IOException;
+ method public void onRestoreFile(android.os.ParcelFileDescriptor, long, java.io.File, int, long, long) throws java.io.IOException;
+ field public static final int TYPE_DIRECTORY = 2; // 0x2
+ field public static final int TYPE_FILE = 1; // 0x1
+ }
+
+ public class BackupAgentHelper extends android.app.backup.BackupAgent {
+ ctor public BackupAgentHelper();
+ method public void addHelper(java.lang.String, android.app.backup.BackupHelper);
+ method public void onBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor) throws java.io.IOException;
+ method public void onRestore(android.app.backup.BackupDataInput, int, android.os.ParcelFileDescriptor) throws java.io.IOException;
+ }
+
+ public class BackupDataInput {
+ method public int getDataSize();
+ method public java.lang.String getKey();
+ method public int readEntityData(byte[], int, int) throws java.io.IOException;
+ method public boolean readNextHeader() throws java.io.IOException;
+ method public void skipEntityData() throws java.io.IOException;
+ }
+
+ public class BackupDataInputStream extends java.io.InputStream {
+ method public java.lang.String getKey();
+ method public int read() throws java.io.IOException;
+ method public int size();
+ }
+
+ public class BackupDataOutput {
+ method public int writeEntityData(byte[], int) throws java.io.IOException;
+ method public int writeEntityHeader(java.lang.String, int) throws java.io.IOException;
+ }
+
+ public abstract interface BackupHelper {
+ method public abstract void performBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor);
+ method public abstract void restoreEntity(android.app.backup.BackupDataInputStream);
+ method public abstract void writeNewStateDescription(android.os.ParcelFileDescriptor);
+ }
+
+ public class BackupManager {
+ ctor public BackupManager(android.content.Context);
+ method public void dataChanged();
+ method public static void dataChanged(java.lang.String);
+ method public int requestRestore(android.app.backup.RestoreObserver);
+ }
+
+ public class FileBackupHelper extends android.app.backup.FileBackupHelperBase implements android.app.backup.BackupHelper {
+ ctor public FileBackupHelper(android.content.Context, java.lang.String...);
+ method public void performBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor);
+ method public void restoreEntity(android.app.backup.BackupDataInputStream);
+ }
+
+ class FileBackupHelperBase {
+ method public void writeNewStateDescription(android.os.ParcelFileDescriptor);
+ }
+
+ public class FullBackupDataOutput {
+ }
+
+ public abstract class RestoreObserver {
+ ctor public RestoreObserver();
+ method public void onUpdate(int, java.lang.String);
+ method public void restoreFinished(int);
+ method public void restoreStarting(int);
+ }
+
+ public class SharedPreferencesBackupHelper extends android.app.backup.FileBackupHelperBase implements android.app.backup.BackupHelper {
+ ctor public SharedPreferencesBackupHelper(android.content.Context, java.lang.String...);
+ method public void performBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor);
+ method public void restoreEntity(android.app.backup.BackupDataInputStream);
+ }
+
+}
+
+package android.appwidget {
+
+ public class AppWidgetHost {
+ ctor public AppWidgetHost(android.content.Context, int);
+ method public int allocateAppWidgetId();
+ method protected void clearViews();
+ method public final android.appwidget.AppWidgetHostView createView(android.content.Context, int, android.appwidget.AppWidgetProviderInfo);
+ method public static void deleteAllHosts();
+ method public void deleteAppWidgetId(int);
+ method public void deleteHost();
+ method protected android.appwidget.AppWidgetHostView onCreateView(android.content.Context, int, android.appwidget.AppWidgetProviderInfo);
+ method protected void onProviderChanged(int, android.appwidget.AppWidgetProviderInfo);
+ method public void startListening();
+ method public void stopListening();
+ }
+
+ public class AppWidgetHostView extends android.widget.FrameLayout {
+ ctor public AppWidgetHostView(android.content.Context);
+ ctor public AppWidgetHostView(android.content.Context, int, int);
+ method public int getAppWidgetId();
+ method public android.appwidget.AppWidgetProviderInfo getAppWidgetInfo();
+ method protected android.view.View getDefaultView();
+ method protected android.view.View getErrorView();
+ method protected void prepareView(android.view.View);
+ method public void setAppWidget(int, android.appwidget.AppWidgetProviderInfo);
+ method public void updateAppWidget(android.widget.RemoteViews);
+ }
+
+ public class AppWidgetManager {
+ method public void bindAppWidgetId(int, android.content.ComponentName);
+ method public int[] getAppWidgetIds(android.content.ComponentName);
+ method public android.appwidget.AppWidgetProviderInfo getAppWidgetInfo(int);
+ method public java.util.List<android.appwidget.AppWidgetProviderInfo> getInstalledProviders();
+ method public static android.appwidget.AppWidgetManager getInstance(android.content.Context);
+ method public void notifyAppWidgetViewDataChanged(int[], int);
+ method public void notifyAppWidgetViewDataChanged(int, int);
+ method public void partiallyUpdateAppWidget(int[], android.widget.RemoteViews);
+ method public void partiallyUpdateAppWidget(int, android.widget.RemoteViews);
+ method public void updateAppWidget(int[], android.widget.RemoteViews);
+ method public void updateAppWidget(int, android.widget.RemoteViews);
+ method public void updateAppWidget(android.content.ComponentName, android.widget.RemoteViews);
+ field public static final java.lang.String ACTION_APPWIDGET_CONFIGURE = "android.appwidget.action.APPWIDGET_CONFIGURE";
+ field public static final java.lang.String ACTION_APPWIDGET_DELETED = "android.appwidget.action.APPWIDGET_DELETED";
+ field public static final java.lang.String ACTION_APPWIDGET_DISABLED = "android.appwidget.action.APPWIDGET_DISABLED";
+ field public static final java.lang.String ACTION_APPWIDGET_ENABLED = "android.appwidget.action.APPWIDGET_ENABLED";
+ field public static final java.lang.String ACTION_APPWIDGET_PICK = "android.appwidget.action.APPWIDGET_PICK";
+ field public static final java.lang.String ACTION_APPWIDGET_UPDATE = "android.appwidget.action.APPWIDGET_UPDATE";
+ field public static final java.lang.String EXTRA_APPWIDGET_ID = "appWidgetId";
+ field public static final java.lang.String EXTRA_APPWIDGET_IDS = "appWidgetIds";
+ field public static final java.lang.String EXTRA_CUSTOM_EXTRAS = "customExtras";
+ field public static final java.lang.String EXTRA_CUSTOM_INFO = "customInfo";
+ field public static final int INVALID_APPWIDGET_ID = 0; // 0x0
+ field public static final java.lang.String META_DATA_APPWIDGET_PROVIDER = "android.appwidget.provider";
+ }
+
+ public class AppWidgetProvider extends android.content.BroadcastReceiver {
+ ctor public AppWidgetProvider();
+ method public void onDeleted(android.content.Context, int[]);
+ method public void onDisabled(android.content.Context);
+ method public void onEnabled(android.content.Context);
+ method public void onReceive(android.content.Context, android.content.Intent);
+ method public void onUpdate(android.content.Context, android.appwidget.AppWidgetManager, int[]);
+ }
+
+ public class AppWidgetProviderInfo implements android.os.Parcelable {
+ ctor public AppWidgetProviderInfo();
+ ctor public AppWidgetProviderInfo(android.os.Parcel);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int RESIZE_BOTH = 3; // 0x3
+ field public static final int RESIZE_HORIZONTAL = 1; // 0x1
+ field public static final int RESIZE_NONE = 0; // 0x0
+ field public static final int RESIZE_VERTICAL = 2; // 0x2
+ field public int autoAdvanceViewId;
+ field public android.content.ComponentName configure;
+ field public int icon;
+ field public int initialLayout;
+ field public java.lang.String label;
+ field public int minHeight;
+ field public int minResizeHeight;
+ field public int minResizeWidth;
+ field public int minWidth;
+ field public int previewImage;
+ field public android.content.ComponentName provider;
+ field public int resizeMode;
+ field public int updatePeriodMillis;
+ }
+
+}
+
+package android.bluetooth {
+
+ public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
+ method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+ method public int getConnectionState(android.bluetooth.BluetoothDevice);
+ method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+ method public boolean isA2dpPlaying(android.bluetooth.BluetoothDevice);
+ field public static final java.lang.String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED";
+ field public static final java.lang.String ACTION_PLAYING_STATE_CHANGED = "android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED";
+ field public static final int STATE_NOT_PLAYING = 11; // 0xb
+ field public static final int STATE_PLAYING = 10; // 0xa
+ }
+
+ public final class BluetoothAdapter {
+ method public boolean cancelDiscovery();
+ method public static boolean checkBluetoothAddress(java.lang.String);
+ method public void closeProfileProxy(int, android.bluetooth.BluetoothProfile);
+ method public boolean disable();
+ method public boolean enable();
+ method public java.lang.String getAddress();
+ method public java.util.Set<android.bluetooth.BluetoothDevice> getBondedDevices();
+ method public static synchronized android.bluetooth.BluetoothAdapter getDefaultAdapter();
+ method public java.lang.String getName();
+ method public int getProfileConnectionState(int);
+ method public boolean getProfileProxy(android.content.Context, android.bluetooth.BluetoothProfile.ServiceListener, int);
+ method public android.bluetooth.BluetoothDevice getRemoteDevice(java.lang.String);
+ method public int getScanMode();
+ method public int getState();
+ method public boolean isDiscovering();
+ method public boolean isEnabled();
+ method public android.bluetooth.BluetoothServerSocket listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID) throws java.io.IOException;
+ method public android.bluetooth.BluetoothServerSocket listenUsingRfcommWithServiceRecord(java.lang.String, java.util.UUID) throws java.io.IOException;
+ method public boolean setName(java.lang.String);
+ method public boolean startDiscovery();
+ field public static final java.lang.String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED";
+ field public static final java.lang.String ACTION_DISCOVERY_FINISHED = "android.bluetooth.adapter.action.DISCOVERY_FINISHED";
+ field public static final java.lang.String ACTION_DISCOVERY_STARTED = "android.bluetooth.adapter.action.DISCOVERY_STARTED";
+ field public static final java.lang.String ACTION_LOCAL_NAME_CHANGED = "android.bluetooth.adapter.action.LOCAL_NAME_CHANGED";
+ field public static final java.lang.String ACTION_REQUEST_DISCOVERABLE = "android.bluetooth.adapter.action.REQUEST_DISCOVERABLE";
+ field public static final java.lang.String ACTION_REQUEST_ENABLE = "android.bluetooth.adapter.action.REQUEST_ENABLE";
+ field public static final java.lang.String ACTION_SCAN_MODE_CHANGED = "android.bluetooth.adapter.action.SCAN_MODE_CHANGED";
+ field public static final java.lang.String ACTION_STATE_CHANGED = "android.bluetooth.adapter.action.STATE_CHANGED";
+ field public static final int ERROR = -2147483648; // 0x80000000
+ field public static final java.lang.String EXTRA_CONNECTION_STATE = "android.bluetooth.adapter.extra.CONNECTION_STATE";
+ field public static final java.lang.String EXTRA_DISCOVERABLE_DURATION = "android.bluetooth.adapter.extra.DISCOVERABLE_DURATION";
+ field public static final java.lang.String EXTRA_LOCAL_NAME = "android.bluetooth.adapter.extra.LOCAL_NAME";
+ field public static final java.lang.String EXTRA_PREVIOUS_CONNECTION_STATE = "android.bluetooth.adapter.extra.PREVIOUS_CONNECTION_STATE";
+ field public static final java.lang.String EXTRA_PREVIOUS_SCAN_MODE = "android.bluetooth.adapter.extra.PREVIOUS_SCAN_MODE";
+ field public static final java.lang.String EXTRA_PREVIOUS_STATE = "android.bluetooth.adapter.extra.PREVIOUS_STATE";
+ field public static final java.lang.String EXTRA_SCAN_MODE = "android.bluetooth.adapter.extra.SCAN_MODE";
+ field public static final java.lang.String EXTRA_STATE = "android.bluetooth.adapter.extra.STATE";
+ field public static final int SCAN_MODE_CONNECTABLE = 21; // 0x15
+ field public static final int SCAN_MODE_CONNECTABLE_DISCOVERABLE = 23; // 0x17
+ field public static final int SCAN_MODE_NONE = 20; // 0x14
+ field public static final int STATE_CONNECTED = 2; // 0x2
+ field public static final int STATE_CONNECTING = 1; // 0x1
+ field public static final int STATE_DISCONNECTED = 0; // 0x0
+ field public static final int STATE_DISCONNECTING = 3; // 0x3
+ field public static final int STATE_OFF = 10; // 0xa
+ field public static final int STATE_ON = 12; // 0xc
+ field public static final int STATE_TURNING_OFF = 13; // 0xd
+ field public static final int STATE_TURNING_ON = 11; // 0xb
+ }
+
+ public class BluetoothAssignedNumbers {
+ field public static final int ACCEL_SEMICONDUCTOR = 74; // 0x4a
+ field public static final int ALCATEL = 36; // 0x24
+ field public static final int APPLE = 76; // 0x4c
+ field public static final int APT_LICENSING = 79; // 0x4f
+ field public static final int ATHEROS_COMMUNICATIONS = 69; // 0x45
+ field public static final int ATMEL = 19; // 0x13
+ field public static final int AVAGO = 78; // 0x4e
+ field public static final int AVM_BERLIN = 31; // 0x1f
+ field public static final int BANDSPEED = 32; // 0x20
+ field public static final int BELKIN_INTERNATIONAL = 92; // 0x5c
+ field public static final int BLUEGIGA = 71; // 0x47
+ field public static final int BLUETOOTH_SIG = 63; // 0x3f
+ field public static final int BROADCOM = 15; // 0xf
+ field public static final int CAMBRIDGE_SILICON_RADIO = 10; // 0xa
+ field public static final int CATC = 52; // 0x34
+ field public static final int COMMIL = 51; // 0x33
+ field public static final int CONEXANT_SYSTEMS = 28; // 0x1c
+ field public static final int CONTINENTAL_AUTOMOTIVE = 75; // 0x4b
+ field public static final int CONWISE_TECHNOLOGY = 66; // 0x42
+ field public static final int C_TECHNOLOGIES = 38; // 0x26
+ field public static final int DIGIANSWER = 12; // 0xc
+ field public static final int ECLIPSE = 53; // 0x35
+ field public static final int EM_MICROELECTRONIC_MARIN = 90; // 0x5a
+ field public static final int ERICSSON_TECHNOLOGY = 0; // 0x0
+ field public static final int FREE2MOVE = 83; // 0x53
+ field public static final int GCT_SEMICONDUCTOR = 45; // 0x2d
+ field public static final int GENNUM = 59; // 0x3b
+ field public static final int HARMAN_INTERNATIONAL = 87; // 0x57
+ field public static final int HITACHI = 41; // 0x29
+ field public static final int IBM = 3; // 0x3
+ field public static final int INFINEON_TECHNOLOGIES = 9; // 0x9
+ field public static final int INTEGRATED_SILICON_SOLUTION = 65; // 0x41
+ field public static final int INTEGRATED_SYSTEM_SOLUTION = 57; // 0x39
+ field public static final int INTEL = 2; // 0x2
+ field public static final int INVENTEL = 30; // 0x1e
+ field public static final int IPEXTREME = 61; // 0x3d
+ field public static final int J_AND_M = 82; // 0x52
+ field public static final int KC_TECHNOLOGY = 22; // 0x16
+ field public static final int LUCENT = 7; // 0x7
+ field public static final int MACRONIX = 44; // 0x2c
+ field public static final int MANSELLA = 33; // 0x21
+ field public static final int MARVELL = 72; // 0x48
+ field public static final int MATSUSHITA_ELECTRIC = 58; // 0x3a
+ field public static final int MEDIATEK = 70; // 0x46
+ field public static final int MEWTEL_TECHNOLOGY = 47; // 0x2f
+ field public static final int MICROSOFT = 6; // 0x6
+ field public static final int MITEL_SEMICONDUCTOR = 16; // 0x10
+ field public static final int MITSUBISHI_ELECTRIC = 20; // 0x14
+ field public static final int MOBILIAN_CORPORATION = 55; // 0x37
+ field public static final int MOTOROLA = 8; // 0x8
+ field public static final int NEC = 34; // 0x22
+ field public static final int NEWLOGIC = 23; // 0x17
+ field public static final int NOKIA_MOBILE_PHONES = 1; // 0x1
+ field public static final int NORDIC_SEMICONDUCTOR = 89; // 0x59
+ field public static final int NORWOOD_SYSTEMS = 46; // 0x2e
+ field public static final int OPEN_INTERFACE = 39; // 0x27
+ field public static final int PARROT = 67; // 0x43
+ field public static final int PARTHUS_TECHNOLOGIES = 14; // 0xe
+ field public static final int PHILIPS_SEMICONDUCTORS = 37; // 0x25
+ field public static final int PLANTRONICS = 85; // 0x55
+ field public static final int QUALCOMM = 29; // 0x1d
+ field public static final int RALINK_TECHNOLOGY = 91; // 0x5b
+ field public static final int REALTEK_SEMICONDUCTOR = 93; // 0x5d
+ field public static final int RED_M = 50; // 0x32
+ field public static final int RENESAS_TECHNOLOGY = 54; // 0x36
+ field public static final int RESEARCH_IN_MOTION = 60; // 0x3c
+ field public static final int RF_MICRO_DEVICES = 40; // 0x28
+ field public static final int RIVIERAWAVES = 96; // 0x60
+ field public static final int ROHDE_AND_SCHWARZ = 25; // 0x19
+ field public static final int RTX_TELECOM = 21; // 0x15
+ field public static final int SEIKO_EPSON = 64; // 0x40
+ field public static final int SIGNIA_TECHNOLOGIES = 27; // 0x1b
+ field public static final int SILICON_WAVE = 11; // 0xb
+ field public static final int SIRF_TECHNOLOGY = 80; // 0x50
+ field public static final int SOCKET_MOBILE = 68; // 0x44
+ field public static final int SONY_ERICSSON = 86; // 0x56
+ field public static final int STACCATO_COMMUNICATIONS = 77; // 0x4d
+ field public static final int STONESTREET_ONE = 94; // 0x5e
+ field public static final int ST_MICROELECTRONICS = 48; // 0x30
+ field public static final int SYMBOL_TECHNOLOGIES = 42; // 0x2a
+ field public static final int SYNOPSYS = 49; // 0x31
+ field public static final int SYSTEMS_AND_CHIPS = 62; // 0x3e
+ field public static final int TENOVIS = 43; // 0x2b
+ field public static final int TERAX = 56; // 0x38
+ field public static final int TEXAS_INSTRUMENTS = 13; // 0xd
+ field public static final int THREECOM = 5; // 0x5
+ field public static final int THREE_DIJOY = 84; // 0x54
+ field public static final int THREE_DSP = 73; // 0x49
+ field public static final int TOSHIBA = 4; // 0x4
+ field public static final int TRANSILICA = 24; // 0x18
+ field public static final int TTPCOM = 26; // 0x1a
+ field public static final int TZERO_TECHNOLOGIES = 81; // 0x51
+ field public static final int VIZIO = 88; // 0x58
+ field public static final int WAVEPLUS_TECHNOLOGY = 35; // 0x23
+ field public static final int WICENTRIC = 95; // 0x5f
+ field public static final int WIDCOMM = 17; // 0x11
+ field public static final int ZEEVO = 18; // 0x12
+ }
+
+ public final class BluetoothClass implements android.os.Parcelable {
+ method public int describeContents();
+ method public int getDeviceClass();
+ method public int getMajorDeviceClass();
+ method public boolean hasService(int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public static class BluetoothClass.Device {
+ ctor public BluetoothClass.Device();
+ field public static final int AUDIO_VIDEO_CAMCORDER = 1076; // 0x434
+ field public static final int AUDIO_VIDEO_CAR_AUDIO = 1056; // 0x420
+ field public static final int AUDIO_VIDEO_HANDSFREE = 1032; // 0x408
+ field public static final int AUDIO_VIDEO_HEADPHONES = 1048; // 0x418
+ field public static final int AUDIO_VIDEO_HIFI_AUDIO = 1064; // 0x428
+ field public static final int AUDIO_VIDEO_LOUDSPEAKER = 1044; // 0x414
+ field public static final int AUDIO_VIDEO_MICROPHONE = 1040; // 0x410
+ field public static final int AUDIO_VIDEO_PORTABLE_AUDIO = 1052; // 0x41c
+ field public static final int AUDIO_VIDEO_SET_TOP_BOX = 1060; // 0x424
+ field public static final int AUDIO_VIDEO_UNCATEGORIZED = 1024; // 0x400
+ field public static final int AUDIO_VIDEO_VCR = 1068; // 0x42c
+ field public static final int AUDIO_VIDEO_VIDEO_CAMERA = 1072; // 0x430
+ field public static final int AUDIO_VIDEO_VIDEO_CONFERENCING = 1088; // 0x440
+ field public static final int AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER = 1084; // 0x43c
+ field public static final int AUDIO_VIDEO_VIDEO_GAMING_TOY = 1096; // 0x448
+ field public static final int AUDIO_VIDEO_VIDEO_MONITOR = 1080; // 0x438
+ field public static final int AUDIO_VIDEO_WEARABLE_HEADSET = 1028; // 0x404
+ field public static final int COMPUTER_DESKTOP = 260; // 0x104
+ field public static final int COMPUTER_HANDHELD_PC_PDA = 272; // 0x110
+ field public static final int COMPUTER_LAPTOP = 268; // 0x10c
+ field public static final int COMPUTER_PALM_SIZE_PC_PDA = 276; // 0x114
+ field public static final int COMPUTER_SERVER = 264; // 0x108
+ field public static final int COMPUTER_UNCATEGORIZED = 256; // 0x100
+ field public static final int COMPUTER_WEARABLE = 280; // 0x118
+ field public static final int HEALTH_BLOOD_PRESSURE = 2308; // 0x904
+ field public static final int HEALTH_DATA_DISPLAY = 2332; // 0x91c
+ field public static final int HEALTH_GLUCOSE = 2320; // 0x910
+ field public static final int HEALTH_PULSE_OXIMETER = 2324; // 0x914
+ field public static final int HEALTH_PULSE_RATE = 2328; // 0x918
+ field public static final int HEALTH_THERMOMETER = 2312; // 0x908
+ field public static final int HEALTH_UNCATEGORIZED = 2304; // 0x900
+ field public static final int HEALTH_WEIGHING = 2316; // 0x90c
+ field public static final int PHONE_CELLULAR = 516; // 0x204
+ field public static final int PHONE_CORDLESS = 520; // 0x208
+ field public static final int PHONE_ISDN = 532; // 0x214
+ field public static final int PHONE_MODEM_OR_GATEWAY = 528; // 0x210
+ field public static final int PHONE_SMART = 524; // 0x20c
+ field public static final int PHONE_UNCATEGORIZED = 512; // 0x200
+ field public static final int TOY_CONTROLLER = 2064; // 0x810
+ field public static final int TOY_DOLL_ACTION_FIGURE = 2060; // 0x80c
+ field public static final int TOY_GAME = 2068; // 0x814
+ field public static final int TOY_ROBOT = 2052; // 0x804
+ field public static final int TOY_UNCATEGORIZED = 2048; // 0x800
+ field public static final int TOY_VEHICLE = 2056; // 0x808
+ field public static final int WEARABLE_GLASSES = 1812; // 0x714
+ field public static final int WEARABLE_HELMET = 1808; // 0x710
+ field public static final int WEARABLE_JACKET = 1804; // 0x70c
+ field public static final int WEARABLE_PAGER = 1800; // 0x708
+ field public static final int WEARABLE_UNCATEGORIZED = 1792; // 0x700
+ field public static final int WEARABLE_WRIST_WATCH = 1796; // 0x704
+ }
+
+ public static class BluetoothClass.Device.Major {
+ ctor public BluetoothClass.Device.Major();
+ field public static final int AUDIO_VIDEO = 1024; // 0x400
+ field public static final int COMPUTER = 256; // 0x100
+ field public static final int HEALTH = 2304; // 0x900
+ field public static final int IMAGING = 1536; // 0x600
+ field public static final int MISC = 0; // 0x0
+ field public static final int NETWORKING = 768; // 0x300
+ field public static final int PERIPHERAL = 1280; // 0x500
+ field public static final int PHONE = 512; // 0x200
+ field public static final int TOY = 2048; // 0x800
+ field public static final int UNCATEGORIZED = 7936; // 0x1f00
+ field public static final int WEARABLE = 1792; // 0x700
+ }
+
+ public static final class BluetoothClass.Service {
+ ctor public BluetoothClass.Service();
+ field public static final int AUDIO = 2097152; // 0x200000
+ field public static final int CAPTURE = 524288; // 0x80000
+ field public static final int INFORMATION = 8388608; // 0x800000
+ field public static final int LIMITED_DISCOVERABILITY = 8192; // 0x2000
+ field public static final int NETWORKING = 131072; // 0x20000
+ field public static final int OBJECT_TRANSFER = 1048576; // 0x100000
+ field public static final int POSITIONING = 65536; // 0x10000
+ field public static final int RENDER = 262144; // 0x40000
+ field public static final int TELEPHONY = 4194304; // 0x400000
+ }
+
+ public final class BluetoothDevice implements android.os.Parcelable {
+ method public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
+ method public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
+ method public int describeContents();
+ method public java.lang.String getAddress();
+ method public android.bluetooth.BluetoothClass getBluetoothClass();
+ method public int getBondState();
+ method public java.lang.String getName();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final java.lang.String ACTION_ACL_CONNECTED = "android.bluetooth.device.action.ACL_CONNECTED";
+ field public static final java.lang.String ACTION_ACL_DISCONNECTED = "android.bluetooth.device.action.ACL_DISCONNECTED";
+ field public static final java.lang.String ACTION_ACL_DISCONNECT_REQUESTED = "android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED";
+ field public static final java.lang.String ACTION_BOND_STATE_CHANGED = "android.bluetooth.device.action.BOND_STATE_CHANGED";
+ field public static final java.lang.String ACTION_CLASS_CHANGED = "android.bluetooth.device.action.CLASS_CHANGED";
+ field public static final java.lang.String ACTION_FOUND = "android.bluetooth.device.action.FOUND";
+ field public static final java.lang.String ACTION_NAME_CHANGED = "android.bluetooth.device.action.NAME_CHANGED";
+ field public static final int BOND_BONDED = 12; // 0xc
+ field public static final int BOND_BONDING = 11; // 0xb
+ field public static final int BOND_NONE = 10; // 0xa
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int ERROR = -2147483648; // 0x80000000
+ field public static final java.lang.String EXTRA_BOND_STATE = "android.bluetooth.device.extra.BOND_STATE";
+ field public static final java.lang.String EXTRA_CLASS = "android.bluetooth.device.extra.CLASS";
+ field public static final java.lang.String EXTRA_DEVICE = "android.bluetooth.device.extra.DEVICE";
+ field public static final java.lang.String EXTRA_NAME = "android.bluetooth.device.extra.NAME";
+ field public static final java.lang.String EXTRA_PREVIOUS_BOND_STATE = "android.bluetooth.device.extra.PREVIOUS_BOND_STATE";
+ field public static final java.lang.String EXTRA_RSSI = "android.bluetooth.device.extra.RSSI";
+ }
+
+ public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
+ method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+ method public int getConnectionState(android.bluetooth.BluetoothDevice);
+ method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+ method public boolean isAudioConnected(android.bluetooth.BluetoothDevice);
+ method public boolean startVoiceRecognition(android.bluetooth.BluetoothDevice);
+ method public boolean stopVoiceRecognition(android.bluetooth.BluetoothDevice);
+ field public static final java.lang.String ACTION_AUDIO_STATE_CHANGED = "android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED";
+ field public static final java.lang.String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED";
+ field public static final java.lang.String ACTION_VENDOR_SPECIFIC_HEADSET_EVENT = "android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT";
+ field public static final int AT_CMD_TYPE_ACTION = 4; // 0x4
+ field public static final int AT_CMD_TYPE_BASIC = 3; // 0x3
+ field public static final int AT_CMD_TYPE_READ = 0; // 0x0
+ field public static final int AT_CMD_TYPE_SET = 2; // 0x2
+ field public static final int AT_CMD_TYPE_TEST = 1; // 0x1
+ field public static final java.lang.String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_ARGS";
+ field public static final java.lang.String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD";
+ field public static final java.lang.String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE";
+ field public static final int STATE_AUDIO_CONNECTED = 12; // 0xc
+ field public static final int STATE_AUDIO_CONNECTING = 11; // 0xb
+ field public static final int STATE_AUDIO_DISCONNECTED = 10; // 0xa
+ field public static final java.lang.String VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY = "android.bluetooth.headset.intent.category.companyid";
+ }
+
+ public final class BluetoothHealth implements android.bluetooth.BluetoothProfile {
+ method public boolean connectChannelToSource(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration);
+ method public boolean disconnectChannel(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration, int);
+ method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+ method public int getConnectionState(android.bluetooth.BluetoothDevice);
+ method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+ method public android.os.ParcelFileDescriptor getMainChannelFd(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration);
+ method public boolean registerSinkAppConfiguration(java.lang.String, int, android.bluetooth.BluetoothHealthCallback);
+ method public boolean unregisterAppConfiguration(android.bluetooth.BluetoothHealthAppConfiguration);
+ field public static final int APP_CONFIG_REGISTRATION_FAILURE = 1; // 0x1
+ field public static final int APP_CONFIG_REGISTRATION_SUCCESS = 0; // 0x0
+ field public static final int APP_CONFIG_UNREGISTRATION_FAILURE = 3; // 0x3
+ field public static final int APP_CONFIG_UNREGISTRATION_SUCCESS = 2; // 0x2
+ field public static final int CHANNEL_TYPE_RELIABLE = 10; // 0xa
+ field public static final int CHANNEL_TYPE_STREAMING = 11; // 0xb
+ field public static final int SINK_ROLE = 2; // 0x2
+ field public static final int SOURCE_ROLE = 1; // 0x1
+ field public static final int STATE_CHANNEL_CONNECTED = 2; // 0x2
+ field public static final int STATE_CHANNEL_CONNECTING = 1; // 0x1
+ field public static final int STATE_CHANNEL_DISCONNECTED = 0; // 0x0
+ field public static final int STATE_CHANNEL_DISCONNECTING = 3; // 0x3
+ }
+
+ public final class BluetoothHealthAppConfiguration implements android.os.Parcelable {
+ method public int describeContents();
+ method public int getDataType();
+ method public java.lang.String getName();
+ method public int getRole();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public abstract class BluetoothHealthCallback {
+ ctor public BluetoothHealthCallback();
+ method public void onHealthAppConfigurationStatusChange(android.bluetooth.BluetoothHealthAppConfiguration, int);
+ method public void onHealthChannelStateChange(android.bluetooth.BluetoothHealthAppConfiguration, android.bluetooth.BluetoothDevice, int, int, android.os.ParcelFileDescriptor, int);
+ }
+
+ public abstract interface BluetoothProfile {
+ method public abstract java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+ method public abstract int getConnectionState(android.bluetooth.BluetoothDevice);
+ method public abstract java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+ field public static final int A2DP = 2; // 0x2
+ field public static final java.lang.String EXTRA_PREVIOUS_STATE = "android.bluetooth.profile.extra.PREVIOUS_STATE";
+ field public static final java.lang.String EXTRA_STATE = "android.bluetooth.profile.extra.STATE";
+ field public static final int HEADSET = 1; // 0x1
+ field public static final int HEALTH = 3; // 0x3
+ field public static final int STATE_CONNECTED = 2; // 0x2
+ field public static final int STATE_CONNECTING = 1; // 0x1
+ field public static final int STATE_DISCONNECTED = 0; // 0x0
+ field public static final int STATE_DISCONNECTING = 3; // 0x3
+ }
+
+ public static abstract interface BluetoothProfile.ServiceListener {
+ method public abstract void onServiceConnected(int, android.bluetooth.BluetoothProfile);
+ method public abstract void onServiceDisconnected(int);
+ }
+
+ public final class BluetoothServerSocket implements java.io.Closeable {
+ method public android.bluetooth.BluetoothSocket accept() throws java.io.IOException;
+ method public android.bluetooth.BluetoothSocket accept(int) throws java.io.IOException;
+ method public void close() throws java.io.IOException;
+ }
+
+ public final class BluetoothSocket implements java.io.Closeable {
+ method public void close() throws java.io.IOException;
+ method public void connect() throws java.io.IOException;
+ method public java.io.InputStream getInputStream() throws java.io.IOException;
+ method public java.io.OutputStream getOutputStream() throws java.io.IOException;
+ method public android.bluetooth.BluetoothDevice getRemoteDevice();
+ method public boolean isConnected();
+ }
+
+}
+
+package android.content {
+
+ public abstract class AbstractThreadedSyncAdapter {
+ ctor public AbstractThreadedSyncAdapter(android.content.Context, boolean);
+ ctor public AbstractThreadedSyncAdapter(android.content.Context, boolean, boolean);
+ method public android.content.Context getContext();
+ method public final android.os.IBinder getSyncAdapterBinder();
+ method public abstract void onPerformSync(android.accounts.Account, android.os.Bundle, java.lang.String, android.content.ContentProviderClient, android.content.SyncResult);
+ method public void onSyncCanceled();
+ method public void onSyncCanceled(java.lang.Thread);
+ field public static final deprecated int LOG_SYNC_DETAILS = 2743; // 0xab7
+ }
+
+ public class ActivityNotFoundException extends java.lang.RuntimeException {
+ ctor public ActivityNotFoundException();
+ ctor public ActivityNotFoundException(java.lang.String);
+ }
+
+ public abstract class AsyncQueryHandler extends android.os.Handler {
+ ctor public AsyncQueryHandler(android.content.ContentResolver);
+ method public final void cancelOperation(int);
+ method protected android.os.Handler createHandler(android.os.Looper);
+ method protected void onDeleteComplete(int, java.lang.Object, int);
+ method protected void onInsertComplete(int, java.lang.Object, android.net.Uri);
+ method protected void onQueryComplete(int, java.lang.Object, android.database.Cursor);
+ method protected void onUpdateComplete(int, java.lang.Object, int);
+ method public final void startDelete(int, java.lang.Object, android.net.Uri, java.lang.String, java.lang.String[]);
+ method public final void startInsert(int, java.lang.Object, android.net.Uri, android.content.ContentValues);
+ method public void startQuery(int, java.lang.Object, android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
+ method public final void startUpdate(int, java.lang.Object, android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
+ }
+
+ protected static final class AsyncQueryHandler.WorkerArgs {
+ ctor protected AsyncQueryHandler.WorkerArgs();
+ field public java.lang.Object cookie;
+ field public android.os.Handler handler;
+ field public java.lang.String orderBy;
+ field public java.lang.String[] projection;
+ field public java.lang.Object result;
+ field public java.lang.String selection;
+ field public java.lang.String[] selectionArgs;
+ field public android.net.Uri uri;
+ field public android.content.ContentValues values;
+ }
+
+ protected class AsyncQueryHandler.WorkerHandler extends android.os.Handler {
+ ctor public AsyncQueryHandler.WorkerHandler(android.os.Looper);
+ }
+
+ public abstract class AsyncTaskLoader extends android.content.Loader {
+ ctor public AsyncTaskLoader(android.content.Context);
+ method public boolean cancelLoad();
+ method public abstract D loadInBackground();
+ method public void onCanceled(D);
+ method protected D onLoadInBackground();
+ method public void setUpdateThrottle(long);
+ }
+
+ public abstract class BroadcastReceiver {
+ ctor public BroadcastReceiver();
+ method public final void abortBroadcast();
+ method public final void clearAbortBroadcast();
+ method public final boolean getAbortBroadcast();
+ method public final boolean getDebugUnregister();
+ method public final int getResultCode();
+ method public final java.lang.String getResultData();
+ method public final android.os.Bundle getResultExtras(boolean);
+ method public final android.content.BroadcastReceiver.PendingResult goAsync();
+ method public final boolean isInitialStickyBroadcast();
+ method public final boolean isOrderedBroadcast();
+ method public abstract void onReceive(android.content.Context, android.content.Intent);
+ method public android.os.IBinder peekService(android.content.Context, android.content.Intent);
+ method public final void setDebugUnregister(boolean);
+ method public final void setOrderedHint(boolean);
+ method public final void setResult(int, java.lang.String, android.os.Bundle);
+ method public final void setResultCode(int);
+ method public final void setResultData(java.lang.String);
+ method public final void setResultExtras(android.os.Bundle);
+ }
+
+ public static class BroadcastReceiver.PendingResult {
+ method public final void abortBroadcast();
+ method public final void clearAbortBroadcast();
+ method public final void finish();
+ method public final boolean getAbortBroadcast();
+ method public final int getResultCode();
+ method public final java.lang.String getResultData();
+ method public final android.os.Bundle getResultExtras(boolean);
+ method public final void setResult(int, java.lang.String, android.os.Bundle);
+ method public final void setResultCode(int);
+ method public final void setResultData(java.lang.String);
+ method public final void setResultExtras(android.os.Bundle);
+ }
+
+ public class ClipData implements android.os.Parcelable {
+ ctor public ClipData(java.lang.CharSequence, java.lang.String[], android.content.ClipData.Item);
+ ctor public ClipData(android.content.ClipDescription, android.content.ClipData.Item);
+ method public void addItem(android.content.ClipData.Item);
+ method public int describeContents();
+ method public android.content.ClipDescription getDescription();
+ method public android.content.ClipData.Item getItemAt(int);
+ method public int getItemCount();
+ method public static android.content.ClipData newIntent(java.lang.CharSequence, android.content.Intent);
+ method public static android.content.ClipData newPlainText(java.lang.CharSequence, java.lang.CharSequence);
+ method public static android.content.ClipData newRawUri(java.lang.CharSequence, android.net.Uri);
+ method public static android.content.ClipData newUri(android.content.ContentResolver, java.lang.CharSequence, android.net.Uri);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public static class ClipData.Item {
+ ctor public ClipData.Item(java.lang.CharSequence);
+ ctor public ClipData.Item(android.content.Intent);
+ ctor public ClipData.Item(android.net.Uri);
+ ctor public ClipData.Item(java.lang.CharSequence, android.content.Intent, android.net.Uri);
+ method public java.lang.CharSequence coerceToText(android.content.Context);
+ method public android.content.Intent getIntent();
+ method public java.lang.CharSequence getText();
+ method public android.net.Uri getUri();
+ }
+
+ public class ClipDescription implements android.os.Parcelable {
+ ctor public ClipDescription(java.lang.CharSequence, java.lang.String[]);
+ ctor public ClipDescription(android.content.ClipDescription);
+ method public static boolean compareMimeTypes(java.lang.String, java.lang.String);
+ method public int describeContents();
+ method public java.lang.String[] filterMimeTypes(java.lang.String);
+ method public java.lang.CharSequence getLabel();
+ method public java.lang.String getMimeType(int);
+ method public int getMimeTypeCount();
+ method public boolean hasMimeType(java.lang.String);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final java.lang.String MIMETYPE_TEXT_INTENT = "text/vnd.android.intent";
+ field public static final java.lang.String MIMETYPE_TEXT_PLAIN = "text/plain";
+ field public static final java.lang.String MIMETYPE_TEXT_URILIST = "text/uri-list";
+ }
+
+ public class ClipboardManager extends android.text.ClipboardManager {
+ method public void addPrimaryClipChangedListener(android.content.ClipboardManager.OnPrimaryClipChangedListener);
+ method public android.content.ClipData getPrimaryClip();
+ method public android.content.ClipDescription getPrimaryClipDescription();
+ method public deprecated java.lang.CharSequence getText();
+ method public boolean hasPrimaryClip();
+ method public deprecated boolean hasText();
+ method public void removePrimaryClipChangedListener(android.content.ClipboardManager.OnPrimaryClipChangedListener);
+ method public void setPrimaryClip(android.content.ClipData);
+ method public deprecated void setText(java.lang.CharSequence);
+ }
+
+ public static abstract interface ClipboardManager.OnPrimaryClipChangedListener {
+ method public abstract void onPrimaryClipChanged();
+ }
+
+ public abstract interface ComponentCallbacks {
+ method public abstract void onConfigurationChanged(android.content.res.Configuration);
+ method public abstract void onLowMemory();
+ }
+
+ public abstract interface ComponentCallbacks2 implements android.content.ComponentCallbacks {
+ method public abstract void onTrimMemory(int);
+ field public static final int TRIM_MEMORY_BACKGROUND = 40; // 0x28
+ field public static final int TRIM_MEMORY_COMPLETE = 80; // 0x50
+ field public static final int TRIM_MEMORY_MODERATE = 60; // 0x3c
+ field public static final int TRIM_MEMORY_UI_HIDDEN = 20; // 0x14
+ }
+
+ public final class ComponentName implements java.lang.Cloneable java.lang.Comparable android.os.Parcelable {
+ ctor public ComponentName(java.lang.String, java.lang.String);
+ ctor public ComponentName(android.content.Context, java.lang.String);
+ ctor public ComponentName(android.content.Context, java.lang.Class<?>);
+ ctor public ComponentName(android.os.Parcel);
+ method public android.content.ComponentName clone();
+ method public int compareTo(android.content.ComponentName);
+ method public int describeContents();
+ method public java.lang.String flattenToShortString();
+ method public java.lang.String flattenToString();
+ method public java.lang.String getClassName();
+ method public java.lang.String getPackageName();
+ method public java.lang.String getShortClassName();
+ method public static android.content.ComponentName readFromParcel(android.os.Parcel);
+ method public java.lang.String toShortString();
+ method public static android.content.ComponentName unflattenFromString(java.lang.String);
+ method public void writeToParcel(android.os.Parcel, int);
+ method public static void writeToParcel(android.content.ComponentName, android.os.Parcel);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
+ ctor public ContentProvider();
+ method public android.content.ContentProviderResult[] applyBatch(java.util.ArrayList<android.content.ContentProviderOperation>) throws android.content.OperationApplicationException;
+ method public void attachInfo(android.content.Context, android.content.pm.ProviderInfo);
+ method public int bulkInsert(android.net.Uri, android.content.ContentValues[]);
+ method public android.os.Bundle call(java.lang.String, java.lang.String, android.os.Bundle);
+ method public abstract int delete(android.net.Uri, java.lang.String, java.lang.String[]);
+ method public final android.content.Context getContext();
+ method public final android.content.pm.PathPermission[] getPathPermissions();
+ method public final java.lang.String getReadPermission();
+ method public java.lang.String[] getStreamTypes(android.net.Uri, java.lang.String);
+ method public abstract java.lang.String getType(android.net.Uri);
+ method public final java.lang.String getWritePermission();
+ method public abstract android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+ method protected boolean isTemporary();
+ method public void onConfigurationChanged(android.content.res.Configuration);
+ method public abstract boolean onCreate();
+ method public void onLowMemory();
+ method public void onTrimMemory(int);
+ method public android.content.res.AssetFileDescriptor openAssetFile(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException;
+ method public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException;
+ method protected final android.os.ParcelFileDescriptor openFileHelper(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException;
+ method public android.os.ParcelFileDescriptor openPipeHelper(android.net.Uri, java.lang.String, android.os.Bundle, T, android.content.ContentProvider.PipeDataWriter<T>) throws java.io.FileNotFoundException;
+ method public android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle) throws java.io.FileNotFoundException;
+ method public abstract android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
+ method protected final void setPathPermissions(android.content.pm.PathPermission[]);
+ method protected final void setReadPermission(java.lang.String);
+ method protected final void setWritePermission(java.lang.String);
+ method public void shutdown();
+ method public abstract int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
+ }
+
+ public static abstract interface ContentProvider.PipeDataWriter {
+ method public abstract void writeDataToPipe(android.os.ParcelFileDescriptor, android.net.Uri, java.lang.String, android.os.Bundle, T);
+ }
+
+ public class ContentProviderClient {
+ method public android.content.ContentProviderResult[] applyBatch(java.util.ArrayList<android.content.ContentProviderOperation>) throws android.content.OperationApplicationException, android.os.RemoteException;
+ method public int bulkInsert(android.net.Uri, android.content.ContentValues[]) throws android.os.RemoteException;
+ method public int delete(android.net.Uri, java.lang.String, java.lang.String[]) throws android.os.RemoteException;
+ method public android.content.ContentProvider getLocalContentProvider();
+ method public java.lang.String[] getStreamTypes(android.net.Uri, java.lang.String) throws android.os.RemoteException;
+ method public java.lang.String getType(android.net.Uri) throws android.os.RemoteException;
+ method public android.net.Uri insert(android.net.Uri, android.content.ContentValues) throws android.os.RemoteException;
+ method public android.content.res.AssetFileDescriptor openAssetFile(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException, android.os.RemoteException;
+ method public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException, android.os.RemoteException;
+ method public final android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(android.net.Uri, java.lang.String, android.os.Bundle) throws java.io.FileNotFoundException, android.os.RemoteException;
+ method public android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String) throws android.os.RemoteException;
+ method public boolean release();
+ method public int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]) throws android.os.RemoteException;
+ }
+
+ public class ContentProviderOperation implements android.os.Parcelable {
+ method public android.content.ContentProviderResult apply(android.content.ContentProvider, android.content.ContentProviderResult[], int) throws android.content.OperationApplicationException;
+ method public int describeContents();
+ method public android.net.Uri getUri();
+ method public boolean isReadOperation();
+ method public boolean isWriteOperation();
+ method public boolean isYieldAllowed();
+ method public static android.content.ContentProviderOperation.Builder newAssertQuery(android.net.Uri);
+ method public static android.content.ContentProviderOperation.Builder newDelete(android.net.Uri);
+ method public static android.content.ContentProviderOperation.Builder newInsert(android.net.Uri);
+ method public static android.content.ContentProviderOperation.Builder newUpdate(android.net.Uri);
+ method public java.lang.String[] resolveSelectionArgsBackReferences(android.content.ContentProviderResult[], int);
+ method public android.content.ContentValues resolveValueBackReferences(android.content.ContentProviderResult[], int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public static class ContentProviderOperation.Builder {
+ method public android.content.ContentProviderOperation build();
+ method public android.content.ContentProviderOperation.Builder withExpectedCount(int);
+ method public android.content.ContentProviderOperation.Builder withSelection(java.lang.String, java.lang.String[]);
+ method public android.content.ContentProviderOperation.Builder withSelectionBackReference(int, int);
+ method public android.content.ContentProviderOperation.Builder withValue(java.lang.String, java.lang.Object);
+ method public android.content.ContentProviderOperation.Builder withValueBackReference(java.lang.String, int);
+ method public android.content.ContentProviderOperation.Builder withValueBackReferences(android.content.ContentValues);
+ method public android.content.ContentProviderOperation.Builder withValues(android.content.ContentValues);
+ method public android.content.ContentProviderOperation.Builder withYieldAllowed(boolean);
+ }
+
+ public class ContentProviderResult implements android.os.Parcelable {
+ ctor public ContentProviderResult(android.net.Uri);
+ ctor public ContentProviderResult(int);
+ ctor public ContentProviderResult(android.os.Parcel);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public final java.lang.Integer count;
+ field public final android.net.Uri uri;
+ }
+
+ public class ContentQueryMap extends java.util.Observable {
+ ctor public ContentQueryMap(android.database.Cursor, java.lang.String, boolean, android.os.Handler);
+ method public synchronized void close();
+ method public synchronized java.util.Map<java.lang.String, android.content.ContentValues> getRows();
+ method public synchronized android.content.ContentValues getValues(java.lang.String);
+ method public void requery();
+ method public void setKeepUpdated(boolean);
+ }
+
+ public abstract class ContentResolver {
+ ctor public ContentResolver(android.content.Context);
+ method public final android.content.ContentProviderClient acquireContentProviderClient(android.net.Uri);
+ method public final android.content.ContentProviderClient acquireContentProviderClient(java.lang.String);
+ method public static void addPeriodicSync(android.accounts.Account, java.lang.String, android.os.Bundle, long);
+ method public static java.lang.Object addStatusChangeListener(int, android.content.SyncStatusObserver);
+ method public android.content.ContentProviderResult[] applyBatch(java.lang.String, java.util.ArrayList<android.content.ContentProviderOperation>) throws android.content.OperationApplicationException, android.os.RemoteException;
+ method public final int bulkInsert(android.net.Uri, android.content.ContentValues[]);
+ method public final android.os.Bundle call(android.net.Uri, java.lang.String, java.lang.String, android.os.Bundle);
+ method public deprecated void cancelSync(android.net.Uri);
+ method public static void cancelSync(android.accounts.Account, java.lang.String);
+ method public final int delete(android.net.Uri, java.lang.String, java.lang.String[]);
+ method public static deprecated android.content.SyncInfo getCurrentSync();
+ method public static java.util.List<android.content.SyncInfo> getCurrentSyncs();
+ method public static int getIsSyncable(android.accounts.Account, java.lang.String);
+ method public static boolean getMasterSyncAutomatically();
+ method public static java.util.List<android.content.PeriodicSync> getPeriodicSyncs(android.accounts.Account, java.lang.String);
+ method public java.lang.String[] getStreamTypes(android.net.Uri, java.lang.String);
+ method public static android.content.SyncAdapterType[] getSyncAdapterTypes();
+ method public static boolean getSyncAutomatically(android.accounts.Account, java.lang.String);
+ method public final java.lang.String getType(android.net.Uri);
+ method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+ method public static boolean isSyncActive(android.accounts.Account, java.lang.String);
+ method public static boolean isSyncPending(android.accounts.Account, java.lang.String);
+ method public void notifyChange(android.net.Uri, android.database.ContentObserver);
+ method public void notifyChange(android.net.Uri, android.database.ContentObserver, boolean);
+ method public final android.content.res.AssetFileDescriptor openAssetFileDescriptor(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException;
+ method public final android.os.ParcelFileDescriptor openFileDescriptor(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException;
+ method public final java.io.InputStream openInputStream(android.net.Uri) throws java.io.FileNotFoundException;
+ method public final java.io.OutputStream openOutputStream(android.net.Uri) throws java.io.FileNotFoundException;
+ method public final java.io.OutputStream openOutputStream(android.net.Uri, java.lang.String) throws java.io.FileNotFoundException;
+ method public final android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(android.net.Uri, java.lang.String, android.os.Bundle) throws java.io.FileNotFoundException;
+ method public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
+ method public final void registerContentObserver(android.net.Uri, boolean, android.database.ContentObserver);
+ method public static void removePeriodicSync(android.accounts.Account, java.lang.String, android.os.Bundle);
+ method public static void removeStatusChangeListener(java.lang.Object);
+ method public static void requestSync(android.accounts.Account, java.lang.String, android.os.Bundle);
+ method public static void setIsSyncable(android.accounts.Account, java.lang.String, int);
+ method public static void setMasterSyncAutomatically(boolean);
+ method public static void setSyncAutomatically(android.accounts.Account, java.lang.String, boolean);
+ method public deprecated void startSync(android.net.Uri, android.os.Bundle);
+ method public final void unregisterContentObserver(android.database.ContentObserver);
+ method public final int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
+ method public static void validateSyncExtrasBundle(android.os.Bundle);
+ field public static final java.lang.String CURSOR_DIR_BASE_TYPE = "vnd.android.cursor.dir";
+ field public static final java.lang.String CURSOR_ITEM_BASE_TYPE = "vnd.android.cursor.item";
+ field public static final java.lang.String SCHEME_ANDROID_RESOURCE = "android.resource";
+ field public static final java.lang.String SCHEME_CONTENT = "content";
+ field public static final java.lang.String SCHEME_FILE = "file";
+ field public static final deprecated java.lang.String SYNC_EXTRAS_ACCOUNT = "account";
+ field public static final java.lang.String SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS = "discard_deletions";
+ field public static final java.lang.String SYNC_EXTRAS_DO_NOT_RETRY = "do_not_retry";
+ field public static final java.lang.String SYNC_EXTRAS_EXPEDITED = "expedited";
+ field public static final deprecated java.lang.String SYNC_EXTRAS_FORCE = "force";
+ field public static final java.lang.String SYNC_EXTRAS_IGNORE_BACKOFF = "ignore_backoff";
+ field public static final java.lang.String SYNC_EXTRAS_IGNORE_SETTINGS = "ignore_settings";
+ field public static final java.lang.String SYNC_EXTRAS_INITIALIZE = "initialize";
+ field public static final java.lang.String SYNC_EXTRAS_MANUAL = "force";
+ field public static final java.lang.String SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS = "deletions_override";
+ field public static final java.lang.String SYNC_EXTRAS_UPLOAD = "upload";
+ field public static final int SYNC_OBSERVER_TYPE_ACTIVE = 4; // 0x4
+ field public static final int SYNC_OBSERVER_TYPE_PENDING = 2; // 0x2
+ field public static final int SYNC_OBSERVER_TYPE_SETTINGS = 1; // 0x1
+ }
+
+ public class ContentUris {
+ ctor public ContentUris();
+ method public static android.net.Uri.Builder appendId(android.net.Uri.Builder, long);
+ method public static long parseId(android.net.Uri);
+ method public static android.net.Uri withAppendedId(android.net.Uri, long);
+ }
+
+ public final class ContentValues implements android.os.Parcelable {
+ ctor public ContentValues();
+ ctor public ContentValues(int);
+ ctor public ContentValues(android.content.ContentValues);
+ method public void clear();
+ method public boolean containsKey(java.lang.String);
+ method public int describeContents();
+ method public java.lang.Object get(java.lang.String);
+ method public java.lang.Boolean getAsBoolean(java.lang.String);
+ method public java.lang.Byte getAsByte(java.lang.String);
+ method public byte[] getAsByteArray(java.lang.String);
+ method public java.lang.Double getAsDouble(java.lang.String);
+ method public java.lang.Float getAsFloat(java.lang.String);
+ method public java.lang.Integer getAsInteger(java.lang.String);
+ method public java.lang.Long getAsLong(java.lang.String);
+ method public java.lang.Short getAsShort(java.lang.String);
+ method public java.lang.String getAsString(java.lang.String);
+ method public java.util.Set<java.lang.String> keySet();
+ method public void put(java.lang.String, java.lang.String);
+ method public void put(java.lang.String, java.lang.Byte);
+ method public void put(java.lang.String, java.lang.Short);
+ method public void put(java.lang.String, java.lang.Integer);
+ method public void put(java.lang.String, java.lang.Long);
+ method public void put(java.lang.String, java.lang.Float);
+ method public void put(java.lang.String, java.lang.Double);
+ method public void put(java.lang.String, java.lang.Boolean);
+ method public void put(java.lang.String, byte[]);
+ method public void putAll(android.content.ContentValues);
+ method public void putNull(java.lang.String);
+ method public void remove(java.lang.String);
+ method public int size();
+ method public java.util.Set<java.util.Map.Entry<java.lang.String, java.lang.Object>> valueSet();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final java.lang.String TAG = "ContentValues";
+ }
+
+ public abstract class Context {
+ ctor public Context();
+ method public abstract boolean bindService(android.content.Intent, android.content.ServiceConnection, int);
+ method public abstract int checkCallingOrSelfPermission(java.lang.String);
+ method public abstract int checkCallingOrSelfUriPermission(android.net.Uri, int);
+ method public abstract int checkCallingPermission(java.lang.String);
+ method public abstract int checkCallingUriPermission(android.net.Uri, int);
+ method public abstract int checkPermission(java.lang.String, int, int);
+ method public abstract int checkUriPermission(android.net.Uri, int, int, int);
+ method public abstract int checkUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int);
+ method public abstract deprecated void clearWallpaper() throws java.io.IOException;
+ method public abstract android.content.Context createPackageContext(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract java.lang.String[] databaseList();
+ method public abstract boolean deleteDatabase(java.lang.String);
+ method public abstract boolean deleteFile(java.lang.String);
+ method public abstract void enforceCallingOrSelfPermission(java.lang.String, java.lang.String);
+ method public abstract void enforceCallingOrSelfUriPermission(android.net.Uri, int, java.lang.String);
+ method public abstract void enforceCallingPermission(java.lang.String, java.lang.String);
+ method public abstract void enforceCallingUriPermission(android.net.Uri, int, java.lang.String);
+ method public abstract void enforcePermission(java.lang.String, int, int, java.lang.String);
+ method public abstract void enforceUriPermission(android.net.Uri, int, int, int, java.lang.String);
+ method public abstract void enforceUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int, java.lang.String);
+ method public abstract java.lang.String[] fileList();
+ method public abstract android.content.Context getApplicationContext();
+ method public abstract android.content.pm.ApplicationInfo getApplicationInfo();
+ method public abstract android.content.res.AssetManager getAssets();
+ method public abstract java.io.File getCacheDir();
+ method public abstract java.lang.ClassLoader getClassLoader();
+ method public abstract android.content.ContentResolver getContentResolver();
+ method public abstract java.io.File getDatabasePath(java.lang.String);
+ method public abstract java.io.File getDir(java.lang.String, int);
+ method public abstract java.io.File getExternalCacheDir();
+ method public abstract java.io.File getExternalFilesDir(java.lang.String);
+ method public abstract java.io.File getFileStreamPath(java.lang.String);
+ method public abstract java.io.File getFilesDir();
+ method public abstract android.os.Looper getMainLooper();
+ method public abstract java.io.File getObbDir();
+ method public abstract java.lang.String getPackageCodePath();
+ method public abstract android.content.pm.PackageManager getPackageManager();
+ method public abstract java.lang.String getPackageName();
+ method public abstract java.lang.String getPackageResourcePath();
+ method public abstract android.content.res.Resources getResources();
+ method public abstract android.content.SharedPreferences getSharedPreferences(java.lang.String, int);
+ method public final java.lang.String getString(int);
+ method public final java.lang.String getString(int, java.lang.Object...);
+ method public abstract java.lang.Object getSystemService(java.lang.String);
+ method public final java.lang.CharSequence getText(int);
+ method public abstract android.content.res.Resources.Theme getTheme();
+ method public abstract deprecated android.graphics.drawable.Drawable getWallpaper();
+ method public abstract deprecated int getWallpaperDesiredMinimumHeight();
+ method public abstract deprecated int getWallpaperDesiredMinimumWidth();
+ method public abstract void grantUriPermission(java.lang.String, android.net.Uri, int);
+ method public boolean isRestricted();
+ method public final android.content.res.TypedArray obtainStyledAttributes(int[]);
+ method public final android.content.res.TypedArray obtainStyledAttributes(int, int[]) throws android.content.res.Resources.NotFoundException;
+ method public final android.content.res.TypedArray obtainStyledAttributes(android.util.AttributeSet, int[]);
+ method public final android.content.res.TypedArray obtainStyledAttributes(android.util.AttributeSet, int[], int, int);
+ method public abstract java.io.FileInputStream openFileInput(java.lang.String) throws java.io.FileNotFoundException;
+ method public abstract java.io.FileOutputStream openFileOutput(java.lang.String, int) throws java.io.FileNotFoundException;
+ method public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory);
+ method public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, android.database.DatabaseErrorHandler);
+ method public abstract deprecated android.graphics.drawable.Drawable peekWallpaper();
+ method public void registerComponentCallbacks(android.content.ComponentCallbacks);
+ method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
+ method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
+ method public abstract void removeStickyBroadcast(android.content.Intent);
+ method public abstract void revokeUriPermission(android.net.Uri, int);
+ method public abstract void sendBroadcast(android.content.Intent);
+ method public abstract void sendBroadcast(android.content.Intent, java.lang.String);
+ method public abstract void sendOrderedBroadcast(android.content.Intent, java.lang.String);
+ method public abstract void sendOrderedBroadcast(android.content.Intent, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public abstract void sendStickyBroadcast(android.content.Intent);
+ method public abstract void sendStickyOrderedBroadcast(android.content.Intent, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public abstract void setTheme(int);
+ method public abstract deprecated void setWallpaper(android.graphics.Bitmap) throws java.io.IOException;
+ method public abstract deprecated void setWallpaper(java.io.InputStream) throws java.io.IOException;
+ method public abstract void startActivities(android.content.Intent[]);
+ method public abstract void startActivity(android.content.Intent);
+ method public abstract boolean startInstrumentation(android.content.ComponentName, java.lang.String, android.os.Bundle);
+ method public abstract void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+ method public abstract android.content.ComponentName startService(android.content.Intent);
+ method public abstract boolean stopService(android.content.Intent);
+ method public abstract void unbindService(android.content.ServiceConnection);
+ method public void unregisterComponentCallbacks(android.content.ComponentCallbacks);
+ method public abstract void unregisterReceiver(android.content.BroadcastReceiver);
+ field public static final java.lang.String ACCESSIBILITY_SERVICE = "accessibility";
+ field public static final java.lang.String ACCOUNT_SERVICE = "account";
+ field public static final java.lang.String ACTIVITY_SERVICE = "activity";
+ field public static final java.lang.String ALARM_SERVICE = "alarm";
+ field public static final java.lang.String AUDIO_SERVICE = "audio";
+ field public static final int BIND_ABOVE_CLIENT = 8; // 0x8
+ field public static final int BIND_ADJUST_WITH_ACTIVITY = 128; // 0x80
+ field public static final int BIND_ALLOW_OOM_MANAGEMENT = 16; // 0x10
+ field public static final int BIND_AUTO_CREATE = 1; // 0x1
+ field public static final int BIND_DEBUG_UNBIND = 2; // 0x2
+ field public static final int BIND_IMPORTANT = 64; // 0x40
+ field public static final int BIND_NOT_FOREGROUND = 4; // 0x4
+ field public static final int BIND_WAIVE_PRIORITY = 32; // 0x20
+ field public static final java.lang.String CLIPBOARD_SERVICE = "clipboard";
+ field public static final java.lang.String CONNECTIVITY_SERVICE = "connectivity";
+ field public static final int CONTEXT_IGNORE_SECURITY = 2; // 0x2
+ field public static final int CONTEXT_INCLUDE_CODE = 1; // 0x1
+ field public static final int CONTEXT_RESTRICTED = 4; // 0x4
+ field public static final java.lang.String DEVICE_POLICY_SERVICE = "device_policy";
+ field public static final java.lang.String DOWNLOAD_SERVICE = "download";
+ field public static final java.lang.String DROPBOX_SERVICE = "dropbox";
+ field public static final java.lang.String INPUT_METHOD_SERVICE = "input_method";
+ field public static final java.lang.String KEYGUARD_SERVICE = "keyguard";
+ field public static final java.lang.String LAYOUT_INFLATER_SERVICE = "layout_inflater";
+ field public static final java.lang.String LOCATION_SERVICE = "location";
+ field public static final int MODE_APPEND = 32768; // 0x8000
+ field public static final int MODE_MULTI_PROCESS = 4; // 0x4
+ field public static final int MODE_PRIVATE = 0; // 0x0
+ field public static final int MODE_WORLD_READABLE = 1; // 0x1
+ field public static final int MODE_WORLD_WRITEABLE = 2; // 0x2
+ field public static final java.lang.String NFC_SERVICE = "nfc";
+ field public static final java.lang.String NOTIFICATION_SERVICE = "notification";
+ field public static final java.lang.String POWER_SERVICE = "power";
+ field public static final java.lang.String SEARCH_SERVICE = "search";
+ field public static final java.lang.String SENSOR_SERVICE = "sensor";
+ field public static final java.lang.String STORAGE_SERVICE = "storage";
+ field public static final java.lang.String TELEPHONY_SERVICE = "phone";
+ field public static final java.lang.String TEXT_SERVICES_MANAGER_SERVICE = "textservices";
+ field public static final java.lang.String UI_MODE_SERVICE = "uimode";
+ field public static final java.lang.String USB_SERVICE = "usb";
+ field public static final java.lang.String VIBRATOR_SERVICE = "vibrator";
+ field public static final java.lang.String WALLPAPER_SERVICE = "wallpaper";
+ field public static final java.lang.String WIFI_P2P_SERVICE = "wifip2p";
+ field public static final java.lang.String WIFI_SERVICE = "wifi";
+ field public static final java.lang.String WINDOW_SERVICE = "window";
+ }
+
+ public class ContextWrapper extends android.content.Context {
+ ctor public ContextWrapper(android.content.Context);
+ method protected void attachBaseContext(android.content.Context);
+ method public boolean bindService(android.content.Intent, android.content.ServiceConnection, int);
+ method public int checkCallingOrSelfPermission(java.lang.String);
+ method public int checkCallingOrSelfUriPermission(android.net.Uri, int);
+ method public int checkCallingPermission(java.lang.String);
+ method public int checkCallingUriPermission(android.net.Uri, int);
+ method public int checkPermission(java.lang.String, int, int);
+ method public int checkUriPermission(android.net.Uri, int, int, int);
+ method public int checkUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int);
+ method public void clearWallpaper() throws java.io.IOException;
+ method public android.content.Context createPackageContext(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public java.lang.String[] databaseList();
+ method public boolean deleteDatabase(java.lang.String);
+ method public boolean deleteFile(java.lang.String);
+ method public void enforceCallingOrSelfPermission(java.lang.String, java.lang.String);
+ method public void enforceCallingOrSelfUriPermission(android.net.Uri, int, java.lang.String);
+ method public void enforceCallingPermission(java.lang.String, java.lang.String);
+ method public void enforceCallingUriPermission(android.net.Uri, int, java.lang.String);
+ method public void enforcePermission(java.lang.String, int, int, java.lang.String);
+ method public void enforceUriPermission(android.net.Uri, int, int, int, java.lang.String);
+ method public void enforceUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int, java.lang.String);
+ method public java.lang.String[] fileList();
+ method public android.content.Context getApplicationContext();
+ method public android.content.pm.ApplicationInfo getApplicationInfo();
+ method public android.content.res.AssetManager getAssets();
+ method public android.content.Context getBaseContext();
+ method public java.io.File getCacheDir();
+ method public java.lang.ClassLoader getClassLoader();
+ method public android.content.ContentResolver getContentResolver();
+ method public java.io.File getDatabasePath(java.lang.String);
+ method public java.io.File getDir(java.lang.String, int);
+ method public java.io.File getExternalCacheDir();
+ method public java.io.File getExternalFilesDir(java.lang.String);
+ method public java.io.File getFileStreamPath(java.lang.String);
+ method public java.io.File getFilesDir();
+ method public android.os.Looper getMainLooper();
+ method public java.io.File getObbDir();
+ method public java.lang.String getPackageCodePath();
+ method public android.content.pm.PackageManager getPackageManager();
+ method public java.lang.String getPackageName();
+ method public java.lang.String getPackageResourcePath();
+ method public android.content.res.Resources getResources();
+ method public android.content.SharedPreferences getSharedPreferences(java.lang.String, int);
+ method public java.lang.Object getSystemService(java.lang.String);
+ method public android.content.res.Resources.Theme getTheme();
+ method public android.graphics.drawable.Drawable getWallpaper();
+ method public int getWallpaperDesiredMinimumHeight();
+ method public int getWallpaperDesiredMinimumWidth();
+ method public void grantUriPermission(java.lang.String, android.net.Uri, int);
+ method public java.io.FileInputStream openFileInput(java.lang.String) throws java.io.FileNotFoundException;
+ method public java.io.FileOutputStream openFileOutput(java.lang.String, int) throws java.io.FileNotFoundException;
+ method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory);
+ method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, android.database.DatabaseErrorHandler);
+ method public android.graphics.drawable.Drawable peekWallpaper();
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
+ method public void removeStickyBroadcast(android.content.Intent);
+ method public void revokeUriPermission(android.net.Uri, int);
+ method public void sendBroadcast(android.content.Intent);
+ method public void sendBroadcast(android.content.Intent, java.lang.String);
+ method public void sendOrderedBroadcast(android.content.Intent, java.lang.String);
+ method public void sendOrderedBroadcast(android.content.Intent, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public void sendStickyBroadcast(android.content.Intent);
+ method public void sendStickyOrderedBroadcast(android.content.Intent, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public void setTheme(int);
+ method public void setWallpaper(android.graphics.Bitmap) throws java.io.IOException;
+ method public void setWallpaper(java.io.InputStream) throws java.io.IOException;
+ method public void startActivities(android.content.Intent[]);
+ method public void startActivity(android.content.Intent);
+ method public boolean startInstrumentation(android.content.ComponentName, java.lang.String, android.os.Bundle);
+ method public void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+ method public android.content.ComponentName startService(android.content.Intent);
+ method public boolean stopService(android.content.Intent);
+ method public void unbindService(android.content.ServiceConnection);
+ method public void unregisterReceiver(android.content.BroadcastReceiver);
+ }
+
+ public class CursorLoader extends android.content.AsyncTaskLoader {
+ ctor public CursorLoader(android.content.Context);
+ ctor public CursorLoader(android.content.Context, android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
+ method public void deliverResult(android.database.Cursor);
+ method public java.lang.String[] getProjection();
+ method public java.lang.String getSelection();
+ method public java.lang.String[] getSelectionArgs();
+ method public java.lang.String getSortOrder();
+ method public android.net.Uri getUri();
+ method public android.database.Cursor loadInBackground();
+ method public void onCanceled(android.database.Cursor);
+ method public void setProjection(java.lang.String[]);
+ method public void setSelection(java.lang.String);
+ method public void setSelectionArgs(java.lang.String[]);
+ method public void setSortOrder(java.lang.String);
+ method public void setUri(android.net.Uri);
+ }
+
+ public abstract interface DialogInterface {
+ method public abstract void cancel();
+ method public abstract void dismiss();
+ field public static final deprecated int BUTTON1 = -1; // 0xffffffff
+ field public static final deprecated int BUTTON2 = -2; // 0xfffffffe
+ field public static final deprecated int BUTTON3 = -3; // 0xfffffffd
+ field public static final int BUTTON_NEGATIVE = -2; // 0xfffffffe
+ field public static final int BUTTON_NEUTRAL = -3; // 0xfffffffd
+ field public static final int BUTTON_POSITIVE = -1; // 0xffffffff
+ }
+
+ public static abstract interface DialogInterface.OnCancelListener {
+ method public abstract void onCancel(android.content.DialogInterface);
+ }
+
+ public static abstract interface DialogInterface.OnClickListener {
+ method public abstract void onClick(android.content.DialogInterface, int);
+ }
+
+ public static abstract interface DialogInterface.OnDismissListener {
+ method public abstract void onDismiss(android.content.DialogInterface);
+ }
+
+ public static abstract interface DialogInterface.OnKeyListener {
+ method public abstract boolean onKey(android.content.DialogInterface, int, android.view.KeyEvent);
+ }
+
+ public static abstract interface DialogInterface.OnMultiChoiceClickListener {
+ method public abstract void onClick(android.content.DialogInterface, int, boolean);
+ }
+
+ public static abstract interface DialogInterface.OnShowListener {
+ method public abstract void onShow(android.content.DialogInterface);
+ }
+
+ public final class Entity {
+ ctor public Entity(android.content.ContentValues);
+ method public void addSubValue(android.net.Uri, android.content.ContentValues);
+ method public android.content.ContentValues getEntityValues();
+ method public java.util.ArrayList<android.content.Entity.NamedContentValues> getSubValues();
+ }
+
+ public static class Entity.NamedContentValues {
+ ctor public Entity.NamedContentValues(android.net.Uri, android.content.ContentValues);
+ field public final android.net.Uri uri;
+ field public final android.content.ContentValues values;
+ }
+
+ public abstract interface EntityIterator implements java.util.Iterator {
+ method public abstract void close();
+ method public abstract void reset();
+ }
+
+ public class Intent implements java.lang.Cloneable android.os.Parcelable {
+ ctor public Intent();
+ ctor public Intent(android.content.Intent);
+ ctor public Intent(java.lang.String);
+ ctor public Intent(java.lang.String, android.net.Uri);
+ ctor public Intent(android.content.Context, java.lang.Class<?>);
+ ctor public Intent(java.lang.String, android.net.Uri, android.content.Context, java.lang.Class<?>);
+ method public android.content.Intent addCategory(java.lang.String);
+ method public android.content.Intent addFlags(int);
+ method public java.lang.Object clone();
+ method public android.content.Intent cloneFilter();
+ method public static android.content.Intent createChooser(android.content.Intent, java.lang.CharSequence);
+ method public int describeContents();
+ method public int fillIn(android.content.Intent, int);
+ method public boolean filterEquals(android.content.Intent);
+ method public int filterHashCode();
+ method public java.lang.String getAction();
+ method public boolean[] getBooleanArrayExtra(java.lang.String);
+ method public boolean getBooleanExtra(java.lang.String, boolean);
+ method public android.os.Bundle getBundleExtra(java.lang.String);
+ method public byte[] getByteArrayExtra(java.lang.String);
+ method public byte getByteExtra(java.lang.String, byte);
+ method public java.util.Set<java.lang.String> getCategories();
+ method public char[] getCharArrayExtra(java.lang.String);
+ method public char getCharExtra(java.lang.String, char);
+ method public java.lang.CharSequence[] getCharSequenceArrayExtra(java.lang.String);
+ method public java.util.ArrayList<java.lang.CharSequence> getCharSequenceArrayListExtra(java.lang.String);
+ method public java.lang.CharSequence getCharSequenceExtra(java.lang.String);
+ method public android.content.ComponentName getComponent();
+ method public android.net.Uri getData();
+ method public java.lang.String getDataString();
+ method public double[] getDoubleArrayExtra(java.lang.String);
+ method public double getDoubleExtra(java.lang.String, double);
+ method public android.os.Bundle getExtras();
+ method public int getFlags();
+ method public float[] getFloatArrayExtra(java.lang.String);
+ method public float getFloatExtra(java.lang.String, float);
+ method public int[] getIntArrayExtra(java.lang.String);
+ method public int getIntExtra(java.lang.String, int);
+ method public java.util.ArrayList<java.lang.Integer> getIntegerArrayListExtra(java.lang.String);
+ method public static deprecated android.content.Intent getIntent(java.lang.String) throws java.net.URISyntaxException;
+ method public static android.content.Intent getIntentOld(java.lang.String) throws java.net.URISyntaxException;
+ method public long[] getLongArrayExtra(java.lang.String);
+ method public long getLongExtra(java.lang.String, long);
+ method public java.lang.String getPackage();
+ method public android.os.Parcelable[] getParcelableArrayExtra(java.lang.String);
+ method public java.util.ArrayList<T> getParcelableArrayListExtra(java.lang.String);
+ method public T getParcelableExtra(java.lang.String);
+ method public java.lang.String getScheme();
+ method public java.io.Serializable getSerializableExtra(java.lang.String);
+ method public short[] getShortArrayExtra(java.lang.String);
+ method public short getShortExtra(java.lang.String, short);
+ method public android.graphics.Rect getSourceBounds();
+ method public java.lang.String[] getStringArrayExtra(java.lang.String);
+ method public java.util.ArrayList<java.lang.String> getStringArrayListExtra(java.lang.String);
+ method public java.lang.String getStringExtra(java.lang.String);
+ method public java.lang.String getType();
+ method public boolean hasCategory(java.lang.String);
+ method public boolean hasExtra(java.lang.String);
+ method public boolean hasFileDescriptors();
+ method public static android.content.Intent makeMainActivity(android.content.ComponentName);
+ method public static android.content.Intent makeRestartActivityTask(android.content.ComponentName);
+ method public static android.content.Intent parseIntent(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public static android.content.Intent parseUri(java.lang.String, int) throws java.net.URISyntaxException;
+ method public android.content.Intent putCharSequenceArrayListExtra(java.lang.String, java.util.ArrayList<java.lang.CharSequence>);
+ method public android.content.Intent putExtra(java.lang.String, boolean);
+ method public android.content.Intent putExtra(java.lang.String, byte);
+ method public android.content.Intent putExtra(java.lang.String, char);
+ method public android.content.Intent putExtra(java.lang.String, short);
+ method public android.content.Intent putExtra(java.lang.String, int);
+ method public android.content.Intent putExtra(java.lang.String, long);
+ method public android.content.Intent putExtra(java.lang.String, float);
+ method public android.content.Intent putExtra(java.lang.String, double);
+ method public android.content.Intent putExtra(java.lang.String, java.lang.String);
+ method public android.content.Intent putExtra(java.lang.String, java.lang.CharSequence);
+ method public android.content.Intent putExtra(java.lang.String, android.os.Parcelable);
+ method public android.content.Intent putExtra(java.lang.String, android.os.Parcelable[]);
+ method public android.content.Intent putExtra(java.lang.String, java.io.Serializable);
+ method public android.content.Intent putExtra(java.lang.String, boolean[]);
+ method public android.content.Intent putExtra(java.lang.String, byte[]);
+ method public android.content.Intent putExtra(java.lang.String, short[]);
+ method public android.content.Intent putExtra(java.lang.String, char[]);
+ method public android.content.Intent putExtra(java.lang.String, int[]);
+ method public android.content.Intent putExtra(java.lang.String, long[]);
+ method public android.content.Intent putExtra(java.lang.String, float[]);
+ method public android.content.Intent putExtra(java.lang.String, double[]);
+ method public android.content.Intent putExtra(java.lang.String, java.lang.String[]);
+ method public android.content.Intent putExtra(java.lang.String, java.lang.CharSequence[]);
+ method public android.content.Intent putExtra(java.lang.String, android.os.Bundle);
+ method public android.content.Intent putExtras(android.content.Intent);
+ method public android.content.Intent putExtras(android.os.Bundle);
+ method public android.content.Intent putIntegerArrayListExtra(java.lang.String, java.util.ArrayList<java.lang.Integer>);
+ method public android.content.Intent putParcelableArrayListExtra(java.lang.String, java.util.ArrayList<? extends android.os.Parcelable>);
+ method public android.content.Intent putStringArrayListExtra(java.lang.String, java.util.ArrayList<java.lang.String>);
+ method public void readFromParcel(android.os.Parcel);
+ method public void removeCategory(java.lang.String);
+ method public void removeExtra(java.lang.String);
+ method public android.content.Intent replaceExtras(android.content.Intent);
+ method public android.content.Intent replaceExtras(android.os.Bundle);
+ method public android.content.ComponentName resolveActivity(android.content.pm.PackageManager);
+ method public android.content.pm.ActivityInfo resolveActivityInfo(android.content.pm.PackageManager, int);
+ method public java.lang.String resolveType(android.content.Context);
+ method public java.lang.String resolveType(android.content.ContentResolver);
+ method public java.lang.String resolveTypeIfNeeded(android.content.ContentResolver);
+ method public android.content.Intent setAction(java.lang.String);
+ method public android.content.Intent setClass(android.content.Context, java.lang.Class<?>);
+ method public android.content.Intent setClassName(android.content.Context, java.lang.String);
+ method public android.content.Intent setClassName(java.lang.String, java.lang.String);
+ method public android.content.Intent setComponent(android.content.ComponentName);
+ method public android.content.Intent setData(android.net.Uri);
+ method public android.content.Intent setDataAndType(android.net.Uri, java.lang.String);
+ method public void setExtrasClassLoader(java.lang.ClassLoader);
+ method public android.content.Intent setFlags(int);
+ method public android.content.Intent setPackage(java.lang.String);
+ method public void setSourceBounds(android.graphics.Rect);
+ method public android.content.Intent setType(java.lang.String);
+ method public deprecated java.lang.String toURI();
+ method public java.lang.String toUri(int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final java.lang.String ACTION_AIRPLANE_MODE_CHANGED = "android.intent.action.AIRPLANE_MODE";
+ field public static final java.lang.String ACTION_ALL_APPS = "android.intent.action.ALL_APPS";
+ field public static final java.lang.String ACTION_ANSWER = "android.intent.action.ANSWER";
+ field public static final java.lang.String ACTION_APP_ERROR = "android.intent.action.APP_ERROR";
+ field public static final java.lang.String ACTION_ATTACH_DATA = "android.intent.action.ATTACH_DATA";
+ field public static final java.lang.String ACTION_BATTERY_CHANGED = "android.intent.action.BATTERY_CHANGED";
+ field public static final java.lang.String ACTION_BATTERY_LOW = "android.intent.action.BATTERY_LOW";
+ field public static final java.lang.String ACTION_BATTERY_OKAY = "android.intent.action.BATTERY_OKAY";
+ field public static final java.lang.String ACTION_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED";
+ field public static final java.lang.String ACTION_BUG_REPORT = "android.intent.action.BUG_REPORT";
+ field public static final java.lang.String ACTION_CALL = "android.intent.action.CALL";
+ field public static final java.lang.String ACTION_CALL_BUTTON = "android.intent.action.CALL_BUTTON";
+ field public static final java.lang.String ACTION_CAMERA_BUTTON = "android.intent.action.CAMERA_BUTTON";
+ field public static final java.lang.String ACTION_CHOOSER = "android.intent.action.CHOOSER";
+ field public static final java.lang.String ACTION_CLOSE_SYSTEM_DIALOGS = "android.intent.action.CLOSE_SYSTEM_DIALOGS";
+ field public static final java.lang.String ACTION_CONFIGURATION_CHANGED = "android.intent.action.CONFIGURATION_CHANGED";
+ field public static final java.lang.String ACTION_CREATE_SHORTCUT = "android.intent.action.CREATE_SHORTCUT";
+ field public static final java.lang.String ACTION_DATE_CHANGED = "android.intent.action.DATE_CHANGED";
+ field public static final java.lang.String ACTION_DEFAULT = "android.intent.action.VIEW";
+ field public static final java.lang.String ACTION_DELETE = "android.intent.action.DELETE";
+ field public static final java.lang.String ACTION_DEVICE_STORAGE_LOW = "android.intent.action.DEVICE_STORAGE_LOW";
+ field public static final java.lang.String ACTION_DEVICE_STORAGE_OK = "android.intent.action.DEVICE_STORAGE_OK";
+ field public static final java.lang.String ACTION_DIAL = "android.intent.action.DIAL";
+ field public static final java.lang.String ACTION_DOCK_EVENT = "android.intent.action.DOCK_EVENT";
+ field public static final java.lang.String ACTION_EDIT = "android.intent.action.EDIT";
+ field public static final java.lang.String ACTION_EXTERNAL_APPLICATIONS_AVAILABLE = "android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE";
+ field public static final java.lang.String ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE = "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE";
+ field public static final java.lang.String ACTION_FACTORY_TEST = "android.intent.action.FACTORY_TEST";
+ field public static final java.lang.String ACTION_GET_CONTENT = "android.intent.action.GET_CONTENT";
+ field public static final java.lang.String ACTION_GTALK_SERVICE_CONNECTED = "android.intent.action.GTALK_CONNECTED";
+ field public static final java.lang.String ACTION_GTALK_SERVICE_DISCONNECTED = "android.intent.action.GTALK_DISCONNECTED";
+ field public static final java.lang.String ACTION_HEADSET_PLUG = "android.intent.action.HEADSET_PLUG";
+ field public static final java.lang.String ACTION_INPUT_METHOD_CHANGED = "android.intent.action.INPUT_METHOD_CHANGED";
+ field public static final java.lang.String ACTION_INSERT = "android.intent.action.INSERT";
+ field public static final java.lang.String ACTION_INSERT_OR_EDIT = "android.intent.action.INSERT_OR_EDIT";
+ field public static final java.lang.String ACTION_INSTALL_PACKAGE = "android.intent.action.INSTALL_PACKAGE";
+ field public static final java.lang.String ACTION_LOCALE_CHANGED = "android.intent.action.LOCALE_CHANGED";
+ field public static final java.lang.String ACTION_MAIN = "android.intent.action.MAIN";
+ field public static final java.lang.String ACTION_MANAGE_NETWORK_USAGE = "android.intent.action.MANAGE_NETWORK_USAGE";
+ field public static final java.lang.String ACTION_MANAGE_PACKAGE_STORAGE = "android.intent.action.MANAGE_PACKAGE_STORAGE";
+ field public static final java.lang.String ACTION_MEDIA_BAD_REMOVAL = "android.intent.action.MEDIA_BAD_REMOVAL";
+ field public static final java.lang.String ACTION_MEDIA_BUTTON = "android.intent.action.MEDIA_BUTTON";
+ field public static final java.lang.String ACTION_MEDIA_CHECKING = "android.intent.action.MEDIA_CHECKING";
+ field public static final java.lang.String ACTION_MEDIA_EJECT = "android.intent.action.MEDIA_EJECT";
+ field public static final java.lang.String ACTION_MEDIA_MOUNTED = "android.intent.action.MEDIA_MOUNTED";
+ field public static final java.lang.String ACTION_MEDIA_NOFS = "android.intent.action.MEDIA_NOFS";
+ field public static final java.lang.String ACTION_MEDIA_REMOVED = "android.intent.action.MEDIA_REMOVED";
+ field public static final java.lang.String ACTION_MEDIA_SCANNER_FINISHED = "android.intent.action.MEDIA_SCANNER_FINISHED";
+ field public static final java.lang.String ACTION_MEDIA_SCANNER_SCAN_FILE = "android.intent.action.MEDIA_SCANNER_SCAN_FILE";
+ field public static final java.lang.String ACTION_MEDIA_SCANNER_STARTED = "android.intent.action.MEDIA_SCANNER_STARTED";
+ field public static final java.lang.String ACTION_MEDIA_SHARED = "android.intent.action.MEDIA_SHARED";
+ field public static final java.lang.String ACTION_MEDIA_UNMOUNTABLE = "android.intent.action.MEDIA_UNMOUNTABLE";
+ field public static final java.lang.String ACTION_MEDIA_UNMOUNTED = "android.intent.action.MEDIA_UNMOUNTED";
+ field public static final java.lang.String ACTION_MY_PACKAGE_REPLACED = "android.intent.action.MY_PACKAGE_REPLACED";
+ field public static final java.lang.String ACTION_NEW_OUTGOING_CALL = "android.intent.action.NEW_OUTGOING_CALL";
+ field public static final java.lang.String ACTION_PACKAGE_ADDED = "android.intent.action.PACKAGE_ADDED";
+ field public static final java.lang.String ACTION_PACKAGE_CHANGED = "android.intent.action.PACKAGE_CHANGED";
+ field public static final java.lang.String ACTION_PACKAGE_DATA_CLEARED = "android.intent.action.PACKAGE_DATA_CLEARED";
+ field public static final java.lang.String ACTION_PACKAGE_FIRST_LAUNCH = "android.intent.action.PACKAGE_FIRST_LAUNCH";
+ field public static final java.lang.String ACTION_PACKAGE_FULLY_REMOVED = "android.intent.action.PACKAGE_FULLY_REMOVED";
+ field public static final deprecated java.lang.String ACTION_PACKAGE_INSTALL = "android.intent.action.PACKAGE_INSTALL";
+ field public static final java.lang.String ACTION_PACKAGE_NEEDS_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_VERIFICATION";
+ field public static final java.lang.String ACTION_PACKAGE_REMOVED = "android.intent.action.PACKAGE_REMOVED";
+ field public static final java.lang.String ACTION_PACKAGE_REPLACED = "android.intent.action.PACKAGE_REPLACED";
+ field public static final java.lang.String ACTION_PACKAGE_RESTARTED = "android.intent.action.PACKAGE_RESTARTED";
+ field public static final java.lang.String ACTION_PASTE = "android.intent.action.PASTE";
+ field public static final java.lang.String ACTION_PICK = "android.intent.action.PICK";
+ field public static final java.lang.String ACTION_PICK_ACTIVITY = "android.intent.action.PICK_ACTIVITY";
+ field public static final java.lang.String ACTION_POWER_CONNECTED = "android.intent.action.ACTION_POWER_CONNECTED";
+ field public static final java.lang.String ACTION_POWER_DISCONNECTED = "android.intent.action.ACTION_POWER_DISCONNECTED";
+ field public static final java.lang.String ACTION_POWER_USAGE_SUMMARY = "android.intent.action.POWER_USAGE_SUMMARY";
+ field public static final java.lang.String ACTION_PROVIDER_CHANGED = "android.intent.action.PROVIDER_CHANGED";
+ field public static final java.lang.String ACTION_REBOOT = "android.intent.action.REBOOT";
+ field public static final java.lang.String ACTION_RUN = "android.intent.action.RUN";
+ field public static final java.lang.String ACTION_SCREEN_OFF = "android.intent.action.SCREEN_OFF";
+ field public static final java.lang.String ACTION_SCREEN_ON = "android.intent.action.SCREEN_ON";
+ field public static final java.lang.String ACTION_SEARCH = "android.intent.action.SEARCH";
+ field public static final java.lang.String ACTION_SEARCH_LONG_PRESS = "android.intent.action.SEARCH_LONG_PRESS";
+ field public static final java.lang.String ACTION_SEND = "android.intent.action.SEND";
+ field public static final java.lang.String ACTION_SENDTO = "android.intent.action.SENDTO";
+ field public static final java.lang.String ACTION_SEND_MULTIPLE = "android.intent.action.SEND_MULTIPLE";
+ field public static final java.lang.String ACTION_SET_WALLPAPER = "android.intent.action.SET_WALLPAPER";
+ field public static final java.lang.String ACTION_SHUTDOWN = "android.intent.action.ACTION_SHUTDOWN";
+ field public static final java.lang.String ACTION_SYNC = "android.intent.action.SYNC";
+ field public static final java.lang.String ACTION_SYSTEM_TUTORIAL = "android.intent.action.SYSTEM_TUTORIAL";
+ field public static final java.lang.String ACTION_TIMEZONE_CHANGED = "android.intent.action.TIMEZONE_CHANGED";
+ field public static final java.lang.String ACTION_TIME_CHANGED = "android.intent.action.TIME_SET";
+ field public static final java.lang.String ACTION_TIME_TICK = "android.intent.action.TIME_TICK";
+ field public static final java.lang.String ACTION_UID_REMOVED = "android.intent.action.UID_REMOVED";
+ field public static final deprecated java.lang.String ACTION_UMS_CONNECTED = "android.intent.action.UMS_CONNECTED";
+ field public static final deprecated java.lang.String ACTION_UMS_DISCONNECTED = "android.intent.action.UMS_DISCONNECTED";
+ field public static final java.lang.String ACTION_UNINSTALL_PACKAGE = "android.intent.action.UNINSTALL_PACKAGE";
+ field public static final java.lang.String ACTION_USER_PRESENT = "android.intent.action.USER_PRESENT";
+ field public static final java.lang.String ACTION_VIEW = "android.intent.action.VIEW";
+ field public static final java.lang.String ACTION_VOICE_COMMAND = "android.intent.action.VOICE_COMMAND";
+ field public static final java.lang.String ACTION_WALLPAPER_CHANGED = "android.intent.action.WALLPAPER_CHANGED";
+ field public static final java.lang.String ACTION_WEB_SEARCH = "android.intent.action.WEB_SEARCH";
+ field public static final java.lang.String CATEGORY_ALTERNATIVE = "android.intent.category.ALTERNATIVE";
+ field public static final java.lang.String CATEGORY_APP_MARKET = "android.intent.category.APP_MARKET";
+ field public static final java.lang.String CATEGORY_BROWSABLE = "android.intent.category.BROWSABLE";
+ field public static final java.lang.String CATEGORY_CAR_DOCK = "android.intent.category.CAR_DOCK";
+ field public static final java.lang.String CATEGORY_CAR_MODE = "android.intent.category.CAR_MODE";
+ field public static final java.lang.String CATEGORY_DEFAULT = "android.intent.category.DEFAULT";
+ field public static final java.lang.String CATEGORY_DESK_DOCK = "android.intent.category.DESK_DOCK";
+ field public static final java.lang.String CATEGORY_DEVELOPMENT_PREFERENCE = "android.intent.category.DEVELOPMENT_PREFERENCE";
+ field public static final java.lang.String CATEGORY_EMBED = "android.intent.category.EMBED";
+ field public static final java.lang.String CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST = "android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST";
+ field public static final java.lang.String CATEGORY_HE_DESK_DOCK = "android.intent.category.HE_DESK_DOCK";
+ field public static final java.lang.String CATEGORY_HOME = "android.intent.category.HOME";
+ field public static final java.lang.String CATEGORY_INFO = "android.intent.category.INFO";
+ field public static final java.lang.String CATEGORY_LAUNCHER = "android.intent.category.LAUNCHER";
+ field public static final java.lang.String CATEGORY_LE_DESK_DOCK = "android.intent.category.LE_DESK_DOCK";
+ field public static final java.lang.String CATEGORY_MONKEY = "android.intent.category.MONKEY";
+ field public static final java.lang.String CATEGORY_OPENABLE = "android.intent.category.OPENABLE";
+ field public static final java.lang.String CATEGORY_PREFERENCE = "android.intent.category.PREFERENCE";
+ field public static final java.lang.String CATEGORY_SAMPLE_CODE = "android.intent.category.SAMPLE_CODE";
+ field public static final java.lang.String CATEGORY_SELECTED_ALTERNATIVE = "android.intent.category.SELECTED_ALTERNATIVE";
+ field public static final java.lang.String CATEGORY_TAB = "android.intent.category.TAB";
+ field public static final java.lang.String CATEGORY_TEST = "android.intent.category.TEST";
+ field public static final java.lang.String CATEGORY_UNIT_TEST = "android.intent.category.UNIT_TEST";
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final java.lang.String EXTRA_ALARM_COUNT = "android.intent.extra.ALARM_COUNT";
+ field public static final java.lang.String EXTRA_ALLOW_REPLACE = "android.intent.extra.ALLOW_REPLACE";
+ field public static final java.lang.String EXTRA_BCC = "android.intent.extra.BCC";
+ field public static final java.lang.String EXTRA_BUG_REPORT = "android.intent.extra.BUG_REPORT";
+ field public static final java.lang.String EXTRA_CC = "android.intent.extra.CC";
+ field public static final deprecated java.lang.String EXTRA_CHANGED_COMPONENT_NAME = "android.intent.extra.changed_component_name";
+ field public static final java.lang.String EXTRA_CHANGED_COMPONENT_NAME_LIST = "android.intent.extra.changed_component_name_list";
+ field public static final java.lang.String EXTRA_CHANGED_PACKAGE_LIST = "android.intent.extra.changed_package_list";
+ field public static final java.lang.String EXTRA_CHANGED_UID_LIST = "android.intent.extra.changed_uid_list";
+ field public static final java.lang.String EXTRA_DATA_REMOVED = "android.intent.extra.DATA_REMOVED";
+ field public static final java.lang.String EXTRA_DOCK_STATE = "android.intent.extra.DOCK_STATE";
+ field public static final int EXTRA_DOCK_STATE_CAR = 2; // 0x2
+ field public static final int EXTRA_DOCK_STATE_DESK = 1; // 0x1
+ field public static final int EXTRA_DOCK_STATE_HE_DESK = 4; // 0x4
+ field public static final int EXTRA_DOCK_STATE_LE_DESK = 3; // 0x3
+ field public static final int EXTRA_DOCK_STATE_UNDOCKED = 0; // 0x0
+ field public static final java.lang.String EXTRA_DONT_KILL_APP = "android.intent.extra.DONT_KILL_APP";
+ field public static final java.lang.String EXTRA_EMAIL = "android.intent.extra.EMAIL";
+ field public static final java.lang.String EXTRA_INITIAL_INTENTS = "android.intent.extra.INITIAL_INTENTS";
+ field public static final java.lang.String EXTRA_INSTALLER_PACKAGE_NAME = "android.intent.extra.INSTALLER_PACKAGE_NAME";
+ field public static final java.lang.String EXTRA_INTENT = "android.intent.extra.INTENT";
+ field public static final java.lang.String EXTRA_KEY_EVENT = "android.intent.extra.KEY_EVENT";
+ field public static final java.lang.String EXTRA_LOCAL_ONLY = "android.intent.extra.LOCAL_ONLY";
+ field public static final java.lang.String EXTRA_NOT_UNKNOWN_SOURCE = "android.intent.extra.NOT_UNKNOWN_SOURCE";
+ field public static final java.lang.String EXTRA_PHONE_NUMBER = "android.intent.extra.PHONE_NUMBER";
+ field public static final java.lang.String EXTRA_REMOTE_INTENT_TOKEN = "android.intent.extra.remote_intent_token";
+ field public static final java.lang.String EXTRA_REPLACING = "android.intent.extra.REPLACING";
+ field public static final java.lang.String EXTRA_RETURN_RESULT = "android.intent.extra.RETURN_RESULT";
+ field public static final java.lang.String EXTRA_SHORTCUT_ICON = "android.intent.extra.shortcut.ICON";
+ field public static final java.lang.String EXTRA_SHORTCUT_ICON_RESOURCE = "android.intent.extra.shortcut.ICON_RESOURCE";
+ field public static final java.lang.String EXTRA_SHORTCUT_INTENT = "android.intent.extra.shortcut.INTENT";
+ field public static final java.lang.String EXTRA_SHORTCUT_NAME = "android.intent.extra.shortcut.NAME";
+ field public static final java.lang.String EXTRA_STREAM = "android.intent.extra.STREAM";
+ field public static final java.lang.String EXTRA_SUBJECT = "android.intent.extra.SUBJECT";
+ field public static final java.lang.String EXTRA_TEMPLATE = "android.intent.extra.TEMPLATE";
+ field public static final java.lang.String EXTRA_TEXT = "android.intent.extra.TEXT";
+ field public static final java.lang.String EXTRA_TITLE = "android.intent.extra.TITLE";
+ field public static final java.lang.String EXTRA_UID = "android.intent.extra.UID";
+ field public static final int FILL_IN_ACTION = 1; // 0x1
+ field public static final int FILL_IN_CATEGORIES = 4; // 0x4
+ field public static final int FILL_IN_COMPONENT = 8; // 0x8
+ field public static final int FILL_IN_DATA = 2; // 0x2
+ field public static final int FILL_IN_PACKAGE = 16; // 0x10
+ field public static final int FILL_IN_SOURCE_BOUNDS = 32; // 0x20
+ field public static final int FLAG_ACTIVITY_BROUGHT_TO_FRONT = 4194304; // 0x400000
+ field public static final int FLAG_ACTIVITY_CLEAR_TASK = 32768; // 0x8000
+ field public static final int FLAG_ACTIVITY_CLEAR_TOP = 67108864; // 0x4000000
+ field public static final int FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET = 524288; // 0x80000
+ field public static final int FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS = 8388608; // 0x800000
+ field public static final int FLAG_ACTIVITY_FORWARD_RESULT = 33554432; // 0x2000000
+ field public static final int FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY = 1048576; // 0x100000
+ field public static final int FLAG_ACTIVITY_MULTIPLE_TASK = 134217728; // 0x8000000
+ field public static final int FLAG_ACTIVITY_NEW_TASK = 268435456; // 0x10000000
+ field public static final int FLAG_ACTIVITY_NO_ANIMATION = 65536; // 0x10000
+ field public static final int FLAG_ACTIVITY_NO_HISTORY = 1073741824; // 0x40000000
+ field public static final int FLAG_ACTIVITY_NO_USER_ACTION = 262144; // 0x40000
+ field public static final int FLAG_ACTIVITY_PREVIOUS_IS_TOP = 16777216; // 0x1000000
+ field public static final int FLAG_ACTIVITY_REORDER_TO_FRONT = 131072; // 0x20000
+ field public static final int FLAG_ACTIVITY_RESET_TASK_IF_NEEDED = 2097152; // 0x200000
+ field public static final int FLAG_ACTIVITY_SINGLE_TOP = 536870912; // 0x20000000
+ field public static final int FLAG_ACTIVITY_TASK_ON_HOME = 16384; // 0x4000
+ field public static final int FLAG_DEBUG_LOG_RESOLUTION = 8; // 0x8
+ field public static final int FLAG_EXCLUDE_STOPPED_PACKAGES = 16; // 0x10
+ field public static final int FLAG_FROM_BACKGROUND = 4; // 0x4
+ field public static final int FLAG_GRANT_READ_URI_PERMISSION = 1; // 0x1
+ field public static final int FLAG_GRANT_WRITE_URI_PERMISSION = 2; // 0x2
+ field public static final int FLAG_INCLUDE_STOPPED_PACKAGES = 32; // 0x20
+ field public static final int FLAG_RECEIVER_REGISTERED_ONLY = 1073741824; // 0x40000000
+ field public static final int FLAG_RECEIVER_REPLACE_PENDING = 536870912; // 0x20000000
+ field public static final java.lang.String METADATA_DOCK_HOME = "android.dock_home";
+ field public static final int URI_INTENT_SCHEME = 1; // 0x1
+ }
+
+ public static final class Intent.FilterComparison {
+ ctor public Intent.FilterComparison(android.content.Intent);
+ method public android.content.Intent getIntent();
+ }
+
+ public static class Intent.ShortcutIconResource implements android.os.Parcelable {
+ ctor public Intent.ShortcutIconResource();
+ method public int describeContents();
+ method public static android.content.Intent.ShortcutIconResource fromContext(android.content.Context, int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public java.lang.String packageName;
+ field public java.lang.String resourceName;
+ }
+
+ public class IntentFilter implements android.os.Parcelable {
+ ctor public IntentFilter();
+ ctor public IntentFilter(java.lang.String);
+ ctor public IntentFilter(java.lang.String, java.lang.String) throws android.content.IntentFilter.MalformedMimeTypeException;
+ ctor public IntentFilter(android.content.IntentFilter);
+ method public final java.util.Iterator<java.lang.String> actionsIterator();
+ method public final void addAction(java.lang.String);
+ method public final void addCategory(java.lang.String);
+ method public final void addDataAuthority(java.lang.String, java.lang.String);
+ method public final void addDataPath(java.lang.String, int);
+ method public final void addDataScheme(java.lang.String);
+ method public final void addDataType(java.lang.String) throws android.content.IntentFilter.MalformedMimeTypeException;
+ method public final java.util.Iterator<android.content.IntentFilter.AuthorityEntry> authoritiesIterator();
+ method public final java.util.Iterator<java.lang.String> categoriesIterator();
+ method public final int countActions();
+ method public final int countCategories();
+ method public final int countDataAuthorities();
+ method public final int countDataPaths();
+ method public final int countDataSchemes();
+ method public final int countDataTypes();
+ method public static android.content.IntentFilter create(java.lang.String, java.lang.String);
+ method public final int describeContents();
+ method public void dump(android.util.Printer, java.lang.String);
+ method public final java.lang.String getAction(int);
+ method public final java.lang.String getCategory(int);
+ method public final android.content.IntentFilter.AuthorityEntry getDataAuthority(int);
+ method public final android.os.PatternMatcher getDataPath(int);
+ method public final java.lang.String getDataScheme(int);
+ method public final java.lang.String getDataType(int);
+ method public final int getPriority();
+ method public final boolean hasAction(java.lang.String);
+ method public final boolean hasCategory(java.lang.String);
+ method public final boolean hasDataAuthority(android.net.Uri);
+ method public final boolean hasDataPath(java.lang.String);
+ method public final boolean hasDataScheme(java.lang.String);
+ method public final boolean hasDataType(java.lang.String);
+ method public final int match(android.content.ContentResolver, android.content.Intent, boolean, java.lang.String);
+ method public final int match(java.lang.String, java.lang.String, java.lang.String, android.net.Uri, java.util.Set<java.lang.String>, java.lang.String);
+ method public final boolean matchAction(java.lang.String);
+ method public final java.lang.String matchCategories(java.util.Set<java.lang.String>);
+ method public final int matchData(java.lang.String, java.lang.String, android.net.Uri);
+ method public final int matchDataAuthority(android.net.Uri);
+ method public final java.util.Iterator<android.os.PatternMatcher> pathsIterator();
+ method public void readFromXml(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public final java.util.Iterator<java.lang.String> schemesIterator();
+ method public final void setPriority(int);
+ method public final java.util.Iterator<java.lang.String> typesIterator();
+ method public final void writeToParcel(android.os.Parcel, int);
+ method public void writeToXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int MATCH_ADJUSTMENT_MASK = 65535; // 0xffff
+ field public static final int MATCH_ADJUSTMENT_NORMAL = 32768; // 0x8000
+ field public static final int MATCH_CATEGORY_EMPTY = 1048576; // 0x100000
+ field public static final int MATCH_CATEGORY_HOST = 3145728; // 0x300000
+ field public static final int MATCH_CATEGORY_MASK = 268369920; // 0xfff0000
+ field public static final int MATCH_CATEGORY_PATH = 5242880; // 0x500000
+ field public static final int MATCH_CATEGORY_PORT = 4194304; // 0x400000
+ field public static final int MATCH_CATEGORY_SCHEME = 2097152; // 0x200000
+ field public static final int MATCH_CATEGORY_TYPE = 6291456; // 0x600000
+ field public static final int NO_MATCH_ACTION = -3; // 0xfffffffd
+ field public static final int NO_MATCH_CATEGORY = -4; // 0xfffffffc
+ field public static final int NO_MATCH_DATA = -2; // 0xfffffffe
+ field public static final int NO_MATCH_TYPE = -1; // 0xffffffff
+ field public static final int SYSTEM_HIGH_PRIORITY = 1000; // 0x3e8
+ field public static final int SYSTEM_LOW_PRIORITY = -1000; // 0xfffffc18
+ }
+
+ public static final class IntentFilter.AuthorityEntry {
+ ctor public IntentFilter.AuthorityEntry(java.lang.String, java.lang.String);
+ method public java.lang.String getHost();
+ method public int getPort();
+ method public int match(android.net.Uri);
+ }
+
+ public static class IntentFilter.MalformedMimeTypeException extends android.util.AndroidException {
+ ctor public IntentFilter.MalformedMimeTypeException();
+ ctor public IntentFilter.MalformedMimeTypeException(java.lang.String);
+ }
+
+ public class IntentSender implements android.os.Parcelable {
+ method public int describeContents();
+ method public java.lang.String getTargetPackage();
+ method public static android.content.IntentSender readIntentSenderOrNullFromParcel(android.os.Parcel);
+ method public void sendIntent(android.content.Context, int, android.content.Intent, android.content.IntentSender.OnFinished, android.os.Handler) throws android.content.IntentSender.SendIntentException;
+ method public void sendIntent(android.content.Context, int, android.content.Intent, android.content.IntentSender.OnFinished, android.os.Handler, java.lang.String) throws android.content.IntentSender.SendIntentException;
+ method public static void writeIntentSenderOrNullToParcel(android.content.IntentSender, android.os.Parcel);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public static abstract interface IntentSender.OnFinished {
+ method public abstract void onSendFinished(android.content.IntentSender, android.content.Intent, int, java.lang.String, android.os.Bundle);
+ }
+
+ public static class IntentSender.SendIntentException extends android.util.AndroidException {
+ ctor public IntentSender.SendIntentException();
+ ctor public IntentSender.SendIntentException(java.lang.String);
+ ctor public IntentSender.SendIntentException(java.lang.Exception);
+ }
+
+ public class Loader {
+ ctor public Loader(android.content.Context);
+ method public void abandon();
+ method public java.lang.String dataToString(D);
+ method public void deliverResult(D);
+ method public void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
+ method public void forceLoad();
+ method public android.content.Context getContext();
+ method public int getId();
+ method public boolean isAbandoned();
+ method public boolean isReset();
+ method public boolean isStarted();
+ method protected void onAbandon();
+ method public void onContentChanged();
+ method protected void onForceLoad();
+ method protected void onReset();
+ method protected void onStartLoading();
+ method protected void onStopLoading();
+ method public void registerListener(int, android.content.Loader.OnLoadCompleteListener<D>);
+ method public void reset();
+ method public final void startLoading();
+ method public void stopLoading();
+ method public boolean takeContentChanged();
+ method public void unregisterListener(android.content.Loader.OnLoadCompleteListener<D>);
+ }
+
+ public final class Loader.ForceLoadContentObserver extends android.database.ContentObserver {
+ ctor public Loader.ForceLoadContentObserver();
+ }
+
+ public static abstract interface Loader.OnLoadCompleteListener {
+ method public abstract void onLoadComplete(android.content.Loader<D>, D);
+ }
+
+ public class MutableContextWrapper extends android.content.ContextWrapper {
+ ctor public MutableContextWrapper(android.content.Context);
+ method public void setBaseContext(android.content.Context);
+ }
+
+ public class OperationApplicationException extends java.lang.Exception {
+ ctor public OperationApplicationException();
+ ctor public OperationApplicationException(java.lang.String);
+ ctor public OperationApplicationException(java.lang.String, java.lang.Throwable);
+ ctor public OperationApplicationException(java.lang.Throwable);
+ ctor public OperationApplicationException(int);
+ ctor public OperationApplicationException(java.lang.String, int);
+ method public int getNumSuccessfulYieldPoints();
+ }
+
+ public class PeriodicSync implements android.os.Parcelable {
+ ctor public PeriodicSync(android.accounts.Account, java.lang.String, android.os.Bundle, long);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public final android.accounts.Account account;
+ field public final java.lang.String authority;
+ field public final android.os.Bundle extras;
+ field public final long period;
+ }
+
+ public class ReceiverCallNotAllowedException extends android.util.AndroidRuntimeException {
+ ctor public ReceiverCallNotAllowedException(java.lang.String);
+ }
+
+ public class SearchRecentSuggestionsProvider extends android.content.ContentProvider {
+ ctor public SearchRecentSuggestionsProvider();
+ method public int delete(android.net.Uri, java.lang.String, java.lang.String[]);
+ method public java.lang.String getType(android.net.Uri);
+ method public android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+ method public boolean onCreate();
+ method public android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
+ method protected void setupSuggestions(java.lang.String, int);
+ method public int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
+ field public static final int DATABASE_MODE_2LINES = 2; // 0x2
+ field public static final int DATABASE_MODE_QUERIES = 1; // 0x1
+ }
+
+ public abstract interface ServiceConnection {
+ method public abstract void onServiceConnected(android.content.ComponentName, android.os.IBinder);
+ method public abstract void onServiceDisconnected(android.content.ComponentName);
+ }
+
+ public abstract interface SharedPreferences {
+ method public abstract boolean contains(java.lang.String);
+ method public abstract android.content.SharedPreferences.Editor edit();
+ method public abstract java.util.Map<java.lang.String, ?> getAll();
+ method public abstract boolean getBoolean(java.lang.String, boolean);
+ method public abstract float getFloat(java.lang.String, float);
+ method public abstract int getInt(java.lang.String, int);
+ method public abstract long getLong(java.lang.String, long);
+ method public abstract java.lang.String getString(java.lang.String, java.lang.String);
+ method public abstract java.util.Set<java.lang.String> getStringSet(java.lang.String, java.util.Set<java.lang.String>);
+ method public abstract void registerOnSharedPreferenceChangeListener(android.content.SharedPreferences.OnSharedPreferenceChangeListener);
+ method public abstract void unregisterOnSharedPreferenceChangeListener(android.content.SharedPreferences.OnSharedPreferenceChangeListener);
+ }
+
+ public static abstract interface SharedPreferences.Editor {
+ method public abstract void apply();
+ method public abstract android.content.SharedPreferences.Editor clear();
+ method public abstract boolean commit();
+ method public abstract android.content.SharedPreferences.Editor putBoolean(java.lang.String, boolean);
+ method public abstract android.content.SharedPreferences.Editor putFloat(java.lang.String, float);
+ method public abstract android.content.SharedPreferences.Editor putInt(java.lang.String, int);
+ method public abstract android.content.SharedPreferences.Editor putLong(java.lang.String, long);
+ method public abstract android.content.SharedPreferences.Editor putString(java.lang.String, java.lang.String);
+ method public abstract android.content.SharedPreferences.Editor putStringSet(java.lang.String, java.util.Set<java.lang.String>);
+ method public abstract android.content.SharedPreferences.Editor remove(java.lang.String);
+ }
+
+ public static abstract interface SharedPreferences.OnSharedPreferenceChangeListener {
+ method public abstract void onSharedPreferenceChanged(android.content.SharedPreferences, java.lang.String);
+ }
+
+ public class SyncAdapterType implements android.os.Parcelable {
+ ctor public SyncAdapterType(java.lang.String, java.lang.String, boolean, boolean);
+ ctor public SyncAdapterType(android.os.Parcel);
+ method public boolean allowParallelSyncs();
+ method public int describeContents();
+ method public java.lang.String getSettingsActivity();
+ method public boolean isAlwaysSyncable();
+ method public boolean isUserVisible();
+ method public static android.content.SyncAdapterType newKey(java.lang.String, java.lang.String);
+ method public boolean supportsUploading();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public final java.lang.String accountType;
+ field public final java.lang.String authority;
+ field public final boolean isKey;
+ }
+
+ public class SyncContext {
+ method public android.os.IBinder getSyncContextBinder();
+ method public void onFinished(android.content.SyncResult);
+ }
+
+ public class SyncInfo implements android.os.Parcelable {
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public final android.accounts.Account account;
+ field public final java.lang.String authority;
+ field public final long startTime;
+ }
+
+ public final class SyncResult implements android.os.Parcelable {
+ ctor public SyncResult();
+ method public void clear();
+ method public int describeContents();
+ method public boolean hasError();
+ method public boolean hasHardError();
+ method public boolean hasSoftError();
+ method public boolean madeSomeProgress();
+ method public java.lang.String toDebugString();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.content.SyncResult ALREADY_IN_PROGRESS;
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public boolean databaseError;
+ field public long delayUntil;
+ field public boolean fullSyncRequested;
+ field public boolean moreRecordsToGet;
+ field public boolean partialSyncUnavailable;
+ field public final android.content.SyncStats stats;
+ field public final boolean syncAlreadyInProgress;
+ field public boolean tooManyDeletions;
+ field public boolean tooManyRetries;
+ }
+
+ public class SyncStats implements android.os.Parcelable {
+ ctor public SyncStats();
+ ctor public SyncStats(android.os.Parcel);
+ method public void clear();
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public long numAuthExceptions;
+ field public long numConflictDetectedExceptions;
+ field public long numDeletes;
+ field public long numEntries;
+ field public long numInserts;
+ field public long numIoExceptions;
+ field public long numParseExceptions;
+ field public long numSkippedEntries;
+ field public long numUpdates;
+ }
+
+ public abstract interface SyncStatusObserver {
+ method public abstract void onStatusChanged(int);
+ }
+
+ public class UriMatcher {
+ ctor public UriMatcher(int);
+ method public void addURI(java.lang.String, java.lang.String, int);
+ method public int match(android.net.Uri);
+ field public static final int NO_MATCH = -1; // 0xffffffff
+ }
+
+}
+
+package android.content.pm {
+
+ public class ActivityInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
+ ctor public ActivityInfo();
+ ctor public ActivityInfo(android.content.pm.ActivityInfo);
+ method public int describeContents();
+ method public void dump(android.util.Printer, java.lang.String);
+ method public final int getThemeResource();
+ field public static final int CONFIG_FONT_SCALE = 1073741824; // 0x40000000
+ field public static final int CONFIG_KEYBOARD = 16; // 0x10
+ field public static final int CONFIG_KEYBOARD_HIDDEN = 32; // 0x20
+ field public static final int CONFIG_LOCALE = 4; // 0x4
+ field public static final int CONFIG_MCC = 1; // 0x1
+ field public static final int CONFIG_MNC = 2; // 0x2
+ field public static final int CONFIG_NAVIGATION = 64; // 0x40
+ field public static final int CONFIG_ORIENTATION = 128; // 0x80
+ field public static final int CONFIG_SCREEN_LAYOUT = 256; // 0x100
+ field public static final int CONFIG_SCREEN_SIZE = 1024; // 0x400
+ field public static final int CONFIG_SMALLEST_SCREEN_SIZE = 2048; // 0x800
+ field public static final int CONFIG_TOUCHSCREEN = 8; // 0x8
+ field public static final int CONFIG_UI_MODE = 512; // 0x200
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int FLAG_ALLOW_TASK_REPARENTING = 64; // 0x40
+ field public static final int FLAG_ALWAYS_RETAIN_TASK_STATE = 8; // 0x8
+ field public static final int FLAG_CLEAR_TASK_ON_LAUNCH = 4; // 0x4
+ field public static final int FLAG_EXCLUDE_FROM_RECENTS = 32; // 0x20
+ field public static final int FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS = 256; // 0x100
+ field public static final int FLAG_FINISH_ON_TASK_LAUNCH = 2; // 0x2
+ field public static final int FLAG_HARDWARE_ACCELERATED = 512; // 0x200
+ field public static final int FLAG_MULTIPROCESS = 1; // 0x1
+ field public static final int FLAG_NO_HISTORY = 128; // 0x80
+ field public static final int FLAG_STATE_NOT_NEEDED = 16; // 0x10
+ field public static final int LAUNCH_MULTIPLE = 0; // 0x0
+ field public static final int LAUNCH_SINGLE_INSTANCE = 3; // 0x3
+ field public static final int LAUNCH_SINGLE_TASK = 2; // 0x2
+ field public static final int LAUNCH_SINGLE_TOP = 1; // 0x1
+ field public static final int SCREEN_ORIENTATION_BEHIND = 3; // 0x3
+ field public static final int SCREEN_ORIENTATION_FULL_SENSOR = 10; // 0xa
+ field public static final int SCREEN_ORIENTATION_LANDSCAPE = 0; // 0x0
+ field public static final int SCREEN_ORIENTATION_NOSENSOR = 5; // 0x5
+ field public static final int SCREEN_ORIENTATION_PORTRAIT = 1; // 0x1
+ field public static final int SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 8; // 0x8
+ field public static final int SCREEN_ORIENTATION_REVERSE_PORTRAIT = 9; // 0x9
+ field public static final int SCREEN_ORIENTATION_SENSOR = 4; // 0x4
+ field public static final int SCREEN_ORIENTATION_SENSOR_LANDSCAPE = 6; // 0x6
+ field public static final int SCREEN_ORIENTATION_SENSOR_PORTRAIT = 7; // 0x7
+ field public static final int SCREEN_ORIENTATION_UNSPECIFIED = -1; // 0xffffffff
+ field public static final int SCREEN_ORIENTATION_USER = 2; // 0x2
+ field public static final int UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW = 1; // 0x1
+ field public int configChanges;
+ field public int flags;
+ field public int launchMode;
+ field public java.lang.String permission;
+ field public int screenOrientation;
+ field public int softInputMode;
+ field public java.lang.String targetActivity;
+ field public java.lang.String taskAffinity;
+ field public int theme;
+ field public int uiOptions;
+ }
+
+ public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+ ctor public ApplicationInfo();
+ ctor public ApplicationInfo(android.content.pm.ApplicationInfo);
+ method public int describeContents();
+ method public void dump(android.util.Printer, java.lang.String);
+ method public java.lang.CharSequence loadDescription(android.content.pm.PackageManager);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int FLAG_ALLOW_BACKUP = 32768; // 0x8000
+ field public static final int FLAG_ALLOW_CLEAR_USER_DATA = 64; // 0x40
+ field public static final int FLAG_ALLOW_TASK_REPARENTING = 32; // 0x20
+ field public static final int FLAG_DEBUGGABLE = 2; // 0x2
+ field public static final int FLAG_EXTERNAL_STORAGE = 262144; // 0x40000
+ field public static final int FLAG_FACTORY_TEST = 16; // 0x10
+ field public static final int FLAG_HAS_CODE = 4; // 0x4
+ field public static final int FLAG_KILL_AFTER_RESTORE = 65536; // 0x10000
+ field public static final int FLAG_LARGE_HEAP = 1048576; // 0x100000
+ field public static final int FLAG_PERSISTENT = 8; // 0x8
+ field public static final int FLAG_RESIZEABLE_FOR_SCREENS = 4096; // 0x1000
+ field public static final int FLAG_RESTORE_ANY_VERSION = 131072; // 0x20000
+ field public static final int FLAG_STOPPED = 2097152; // 0x200000
+ field public static final int FLAG_SUPPORTS_LARGE_SCREENS = 2048; // 0x800
+ field public static final int FLAG_SUPPORTS_NORMAL_SCREENS = 1024; // 0x400
+ field public static final int FLAG_SUPPORTS_SCREEN_DENSITIES = 8192; // 0x2000
+ field public static final int FLAG_SUPPORTS_SMALL_SCREENS = 512; // 0x200
+ field public static final int FLAG_SUPPORTS_XLARGE_SCREENS = 524288; // 0x80000
+ field public static final int FLAG_SYSTEM = 1; // 0x1
+ field public static final int FLAG_TEST_ONLY = 256; // 0x100
+ field public static final int FLAG_UPDATED_SYSTEM_APP = 128; // 0x80
+ field public static final int FLAG_VM_SAFE_MODE = 16384; // 0x4000
+ field public java.lang.String backupAgentName;
+ field public java.lang.String className;
+ field public int compatibleWidthLimitDp;
+ field public java.lang.String dataDir;
+ field public int descriptionRes;
+ field public boolean enabled;
+ field public int flags;
+ field public int largestWidthLimitDp;
+ field public java.lang.String manageSpaceActivityName;
+ field public java.lang.String nativeLibraryDir;
+ field public java.lang.String permission;
+ field public java.lang.String processName;
+ field public java.lang.String publicSourceDir;
+ field public int requiresSmallestWidthDp;
+ field public java.lang.String[] sharedLibraryFiles;
+ field public java.lang.String sourceDir;
+ field public int targetSdkVersion;
+ field public java.lang.String taskAffinity;
+ field public int theme;
+ field public int uiOptions;
+ field public int uid;
+ }
+
+ public static class ApplicationInfo.DisplayNameComparator implements java.util.Comparator {
+ ctor public ApplicationInfo.DisplayNameComparator(android.content.pm.PackageManager);
+ method public final int compare(android.content.pm.ApplicationInfo, android.content.pm.ApplicationInfo);
+ }
+
+ public class ComponentInfo extends android.content.pm.PackageItemInfo {
+ ctor public ComponentInfo();
+ ctor public ComponentInfo(android.content.pm.ComponentInfo);
+ ctor protected ComponentInfo(android.os.Parcel);
+ method public final int getIconResource();
+ method public boolean isEnabled();
+ field public android.content.pm.ApplicationInfo applicationInfo;
+ field public int descriptionRes;
+ field public boolean enabled;
+ field public boolean exported;
+ field public java.lang.String processName;
+ }
+
+ public class ConfigurationInfo implements android.os.Parcelable {
+ ctor public ConfigurationInfo();
+ ctor public ConfigurationInfo(android.content.pm.ConfigurationInfo);
+ method public int describeContents();
+ method public java.lang.String getGlEsVersion();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int GL_ES_VERSION_UNDEFINED = 0; // 0x0
+ field public static final int INPUT_FEATURE_FIVE_WAY_NAV = 2; // 0x2
+ field public static final int INPUT_FEATURE_HARD_KEYBOARD = 1; // 0x1
+ field public int reqGlEsVersion;
+ field public int reqInputFeatures;
+ field public int reqKeyboardType;
+ field public int reqNavigation;
+ field public int reqTouchScreen;
+ }
+
+ public class FeatureInfo implements android.os.Parcelable {
+ ctor public FeatureInfo();
+ ctor public FeatureInfo(android.content.pm.FeatureInfo);
+ method public int describeContents();
+ method public java.lang.String getGlEsVersion();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int FLAG_REQUIRED = 1; // 0x1
+ field public static final int GL_ES_VERSION_UNDEFINED = 0; // 0x0
+ field public int flags;
+ field public java.lang.String name;
+ field public int reqGlEsVersion;
+ }
+
+ public class InstrumentationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+ ctor public InstrumentationInfo();
+ ctor public InstrumentationInfo(android.content.pm.InstrumentationInfo);
+ method public int describeContents();
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public java.lang.String dataDir;
+ field public boolean functionalTest;
+ field public boolean handleProfiling;
+ field public java.lang.String publicSourceDir;
+ field public java.lang.String sourceDir;
+ field public java.lang.String targetPackage;
+ }
+
+ public class LabeledIntent extends android.content.Intent {
+ ctor public LabeledIntent(android.content.Intent, java.lang.String, int, int);
+ ctor public LabeledIntent(android.content.Intent, java.lang.String, java.lang.CharSequence, int);
+ ctor public LabeledIntent(java.lang.String, int, int);
+ ctor public LabeledIntent(java.lang.String, java.lang.CharSequence, int);
+ method public int getIconResource();
+ method public int getLabelResource();
+ method public java.lang.CharSequence getNonLocalizedLabel();
+ method public java.lang.String getSourcePackage();
+ method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+ method public java.lang.CharSequence loadLabel(android.content.pm.PackageManager);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class PackageInfo implements android.os.Parcelable {
+ ctor public PackageInfo();
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public android.content.pm.ActivityInfo[] activities;
+ field public android.content.pm.ApplicationInfo applicationInfo;
+ field public android.content.pm.ConfigurationInfo[] configPreferences;
+ field public long firstInstallTime;
+ field public int[] gids;
+ field public android.content.pm.InstrumentationInfo[] instrumentation;
+ field public long lastUpdateTime;
+ field public java.lang.String packageName;
+ field public android.content.pm.PermissionInfo[] permissions;
+ field public android.content.pm.ProviderInfo[] providers;
+ field public android.content.pm.ActivityInfo[] receivers;
+ field public android.content.pm.FeatureInfo[] reqFeatures;
+ field public java.lang.String[] requestedPermissions;
+ field public android.content.pm.ServiceInfo[] services;
+ field public java.lang.String sharedUserId;
+ field public int sharedUserLabel;
+ field public android.content.pm.Signature[] signatures;
+ field public int versionCode;
+ field public java.lang.String versionName;
+ }
+
+ public class PackageItemInfo {
+ ctor public PackageItemInfo();
+ ctor public PackageItemInfo(android.content.pm.PackageItemInfo);
+ ctor protected PackageItemInfo(android.os.Parcel);
+ method protected void dumpBack(android.util.Printer, java.lang.String);
+ method protected void dumpFront(android.util.Printer, java.lang.String);
+ method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+ method public java.lang.CharSequence loadLabel(android.content.pm.PackageManager);
+ method public android.graphics.drawable.Drawable loadLogo(android.content.pm.PackageManager);
+ method public android.content.res.XmlResourceParser loadXmlMetaData(android.content.pm.PackageManager, java.lang.String);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public int icon;
+ field public int labelRes;
+ field public int logo;
+ field public android.os.Bundle metaData;
+ field public java.lang.String name;
+ field public java.lang.CharSequence nonLocalizedLabel;
+ field public java.lang.String packageName;
+ }
+
+ public static class PackageItemInfo.DisplayNameComparator implements java.util.Comparator {
+ ctor public PackageItemInfo.DisplayNameComparator(android.content.pm.PackageManager);
+ method public final int compare(android.content.pm.PackageItemInfo, android.content.pm.PackageItemInfo);
+ }
+
+ public abstract class PackageManager {
+ ctor public PackageManager();
+ method public abstract deprecated void addPackageToPreferred(java.lang.String);
+ method public abstract boolean addPermission(android.content.pm.PermissionInfo);
+ method public abstract boolean addPermissionAsync(android.content.pm.PermissionInfo);
+ method public abstract deprecated void addPreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName);
+ method public abstract java.lang.String[] canonicalToCurrentPackageNames(java.lang.String[]);
+ method public abstract int checkPermission(java.lang.String, java.lang.String);
+ method public abstract int checkSignatures(java.lang.String, java.lang.String);
+ method public abstract int checkSignatures(int, int);
+ method public abstract void clearPackagePreferredActivities(java.lang.String);
+ method public abstract java.lang.String[] currentToCanonicalPackageNames(java.lang.String[]);
+ method public abstract android.graphics.drawable.Drawable getActivityIcon(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.graphics.drawable.Drawable getActivityIcon(android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.content.pm.ActivityInfo getActivityInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.graphics.drawable.Drawable getActivityLogo(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.graphics.drawable.Drawable getActivityLogo(android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract java.util.List<android.content.pm.PermissionGroupInfo> getAllPermissionGroups(int);
+ method public abstract int getApplicationEnabledSetting(java.lang.String);
+ method public abstract android.graphics.drawable.Drawable getApplicationIcon(android.content.pm.ApplicationInfo);
+ method public abstract android.graphics.drawable.Drawable getApplicationIcon(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract java.lang.CharSequence getApplicationLabel(android.content.pm.ApplicationInfo);
+ method public abstract android.graphics.drawable.Drawable getApplicationLogo(android.content.pm.ApplicationInfo);
+ method public abstract android.graphics.drawable.Drawable getApplicationLogo(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract int getComponentEnabledSetting(android.content.ComponentName);
+ method public abstract android.graphics.drawable.Drawable getDefaultActivityIcon();
+ method public abstract android.graphics.drawable.Drawable getDrawable(java.lang.String, int, android.content.pm.ApplicationInfo);
+ method public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int);
+ method public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackages(int);
+ method public abstract java.lang.String getInstallerPackageName(java.lang.String);
+ method public abstract android.content.pm.InstrumentationInfo getInstrumentationInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.content.Intent getLaunchIntentForPackage(java.lang.String);
+ method public abstract java.lang.String getNameForUid(int);
+ method public android.content.pm.PackageInfo getPackageArchiveInfo(java.lang.String, int);
+ method public abstract int[] getPackageGids(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.content.pm.PackageInfo getPackageInfo(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract java.lang.String[] getPackagesForUid(int);
+ method public abstract android.content.pm.PermissionGroupInfo getPermissionGroupInfo(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.content.pm.PermissionInfo getPermissionInfo(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract int getPreferredActivities(java.util.List<android.content.IntentFilter>, java.util.List<android.content.ComponentName>, java.lang.String);
+ method public abstract java.util.List<android.content.pm.PackageInfo> getPreferredPackages(int);
+ method public abstract android.content.pm.ProviderInfo getProviderInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.content.pm.ActivityInfo getReceiverInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.content.res.Resources getResourcesForActivity(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.content.res.Resources getResourcesForApplication(android.content.pm.ApplicationInfo) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.content.res.Resources getResourcesForApplication(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.content.pm.ServiceInfo getServiceInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract android.content.pm.FeatureInfo[] getSystemAvailableFeatures();
+ method public abstract java.lang.String[] getSystemSharedLibraryNames();
+ method public abstract java.lang.CharSequence getText(java.lang.String, int, android.content.pm.ApplicationInfo);
+ method public abstract android.content.res.XmlResourceParser getXml(java.lang.String, int, android.content.pm.ApplicationInfo);
+ method public abstract boolean hasSystemFeature(java.lang.String);
+ method public abstract boolean isSafeMode();
+ method public abstract java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int);
+ method public abstract java.util.List<android.content.pm.ProviderInfo> queryContentProviders(java.lang.String, int, int);
+ method public abstract java.util.List<android.content.pm.InstrumentationInfo> queryInstrumentation(java.lang.String, int);
+ method public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentActivities(android.content.Intent, int);
+ method public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentActivityOptions(android.content.ComponentName, android.content.Intent[], android.content.Intent, int);
+ method public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentServices(android.content.Intent, int);
+ method public abstract java.util.List<android.content.pm.PermissionInfo> queryPermissionsByGroup(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public abstract deprecated void removePackageFromPreferred(java.lang.String);
+ method public abstract void removePermission(java.lang.String);
+ method public abstract android.content.pm.ResolveInfo resolveActivity(android.content.Intent, int);
+ method public abstract android.content.pm.ProviderInfo resolveContentProvider(java.lang.String, int);
+ method public abstract android.content.pm.ResolveInfo resolveService(android.content.Intent, int);
+ method public abstract void setApplicationEnabledSetting(java.lang.String, int, int);
+ method public abstract void setComponentEnabledSetting(android.content.ComponentName, int, int);
+ method public abstract void setInstallerPackageName(java.lang.String, java.lang.String);
+ method public abstract void verifyPendingInstall(int, int);
+ field public static final int COMPONENT_ENABLED_STATE_DEFAULT = 0; // 0x0
+ field public static final int COMPONENT_ENABLED_STATE_DISABLED = 2; // 0x2
+ field public static final int COMPONENT_ENABLED_STATE_DISABLED_USER = 3; // 0x3
+ field public static final int COMPONENT_ENABLED_STATE_ENABLED = 1; // 0x1
+ field public static final int DONT_KILL_APP = 1; // 0x1
+ field public static final java.lang.String EXTRA_VERIFICATION_ID = "android.content.pm.extra.VERIFICATION_ID";
+ field public static final java.lang.String FEATURE_AUDIO_LOW_LATENCY = "android.hardware.audio.low_latency";
+ field public static final java.lang.String FEATURE_BLUETOOTH = "android.hardware.bluetooth";
+ field public static final java.lang.String FEATURE_CAMERA = "android.hardware.camera";
+ field public static final java.lang.String FEATURE_CAMERA_AUTOFOCUS = "android.hardware.camera.autofocus";
+ field public static final java.lang.String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash";
+ field public static final java.lang.String FEATURE_CAMERA_FRONT = "android.hardware.camera.front";
+ field public static final java.lang.String FEATURE_FAKETOUCH = "android.hardware.faketouch";
+ field public static final java.lang.String FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT = "android.hardware.faketouch.multitouch.distinct";
+ field public static final java.lang.String FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND = "android.hardware.faketouch.multitouch.jazzhand";
+ field public static final java.lang.String FEATURE_LIVE_WALLPAPER = "android.software.live_wallpaper";
+ field public static final java.lang.String FEATURE_LOCATION = "android.hardware.location";
+ field public static final java.lang.String FEATURE_LOCATION_GPS = "android.hardware.location.gps";
+ field public static final java.lang.String FEATURE_LOCATION_NETWORK = "android.hardware.location.network";
+ field public static final java.lang.String FEATURE_MICROPHONE = "android.hardware.microphone";
+ field public static final java.lang.String FEATURE_NFC = "android.hardware.nfc";
+ field public static final java.lang.String FEATURE_SCREEN_LANDSCAPE = "android.hardware.screen.landscape";
+ field public static final java.lang.String FEATURE_SCREEN_PORTRAIT = "android.hardware.screen.portrait";
+ field public static final java.lang.String FEATURE_SENSOR_ACCELEROMETER = "android.hardware.sensor.accelerometer";
+ field public static final java.lang.String FEATURE_SENSOR_BAROMETER = "android.hardware.sensor.barometer";
+ field public static final java.lang.String FEATURE_SENSOR_COMPASS = "android.hardware.sensor.compass";
+ field public static final java.lang.String FEATURE_SENSOR_GYROSCOPE = "android.hardware.sensor.gyroscope";
+ field public static final java.lang.String FEATURE_SENSOR_LIGHT = "android.hardware.sensor.light";
+ field public static final java.lang.String FEATURE_SENSOR_PROXIMITY = "android.hardware.sensor.proximity";
+ field public static final java.lang.String FEATURE_SIP = "android.software.sip";
+ field public static final java.lang.String FEATURE_SIP_VOIP = "android.software.sip.voip";
+ field public static final java.lang.String FEATURE_TELEPHONY = "android.hardware.telephony";
+ field public static final java.lang.String FEATURE_TELEPHONY_CDMA = "android.hardware.telephony.cdma";
+ field public static final java.lang.String FEATURE_TELEPHONY_GSM = "android.hardware.telephony.gsm";
+ field public static final java.lang.String FEATURE_TOUCHSCREEN = "android.hardware.touchscreen";
+ field public static final java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH = "android.hardware.touchscreen.multitouch";
+ field public static final java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT = "android.hardware.touchscreen.multitouch.distinct";
+ field public static final java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND = "android.hardware.touchscreen.multitouch.jazzhand";
+ field public static final java.lang.String FEATURE_USB_ACCESSORY = "android.hardware.usb.accessory";
+ field public static final java.lang.String FEATURE_USB_HOST = "android.hardware.usb.host";
+ field public static final java.lang.String FEATURE_WIFI = "android.hardware.wifi";
+ field public static final java.lang.String FEATURE_WIFI_DIRECT = "android.hardware.wifi.direct";
+ field public static final int GET_ACTIVITIES = 1; // 0x1
+ field public static final int GET_CONFIGURATIONS = 16384; // 0x4000
+ field public static final int GET_DISABLED_COMPONENTS = 512; // 0x200
+ field public static final int GET_GIDS = 256; // 0x100
+ field public static final int GET_INSTRUMENTATION = 16; // 0x10
+ field public static final int GET_INTENT_FILTERS = 32; // 0x20
+ field public static final int GET_META_DATA = 128; // 0x80
+ field public static final int GET_PERMISSIONS = 4096; // 0x1000
+ field public static final int GET_PROVIDERS = 8; // 0x8
+ field public static final int GET_RECEIVERS = 2; // 0x2
+ field public static final int GET_RESOLVED_FILTER = 64; // 0x40
+ field public static final int GET_SERVICES = 4; // 0x4
+ field public static final int GET_SHARED_LIBRARY_FILES = 1024; // 0x400
+ field public static final int GET_SIGNATURES = 64; // 0x40
+ field public static final int GET_UNINSTALLED_PACKAGES = 8192; // 0x2000
+ field public static final int GET_URI_PERMISSION_PATTERNS = 2048; // 0x800
+ field public static final int MATCH_DEFAULT_ONLY = 65536; // 0x10000
+ field public static final int PERMISSION_DENIED = -1; // 0xffffffff
+ field public static final int PERMISSION_GRANTED = 0; // 0x0
+ field public static final int SIGNATURE_FIRST_NOT_SIGNED = -1; // 0xffffffff
+ field public static final int SIGNATURE_MATCH = 0; // 0x0
+ field public static final int SIGNATURE_NEITHER_SIGNED = 1; // 0x1
+ field public static final int SIGNATURE_NO_MATCH = -3; // 0xfffffffd
+ field public static final int SIGNATURE_SECOND_NOT_SIGNED = -2; // 0xfffffffe
+ field public static final int SIGNATURE_UNKNOWN_PACKAGE = -4; // 0xfffffffc
+ field public static final int VERIFICATION_ALLOW = 1; // 0x1
+ field public static final int VERIFICATION_REJECT = -1; // 0xffffffff
+ }
+
+ public static class PackageManager.NameNotFoundException extends android.util.AndroidException {
+ ctor public PackageManager.NameNotFoundException();
+ ctor public PackageManager.NameNotFoundException(java.lang.String);
+ }
+
+ public class PackageStats implements android.os.Parcelable {
+ ctor public PackageStats(java.lang.String);
+ ctor public PackageStats(android.os.Parcel);
+ ctor public PackageStats(android.content.pm.PackageStats);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public long cacheSize;
+ field public long codeSize;
+ field public long dataSize;
+ field public long externalCacheSize;
+ field public long externalCodeSize;
+ field public long externalDataSize;
+ field public long externalMediaSize;
+ field public long externalObbSize;
+ field public java.lang.String packageName;
+ }
+
+ public class PathPermission extends android.os.PatternMatcher {
+ ctor public PathPermission(java.lang.String, int, java.lang.String, java.lang.String);
+ ctor public PathPermission(android.os.Parcel);
+ method public java.lang.String getReadPermission();
+ method public java.lang.String getWritePermission();
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+ ctor public PermissionGroupInfo();
+ ctor public PermissionGroupInfo(android.content.pm.PermissionGroupInfo);
+ method public int describeContents();
+ method public java.lang.CharSequence loadDescription(android.content.pm.PackageManager);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public int descriptionRes;
+ field public java.lang.CharSequence nonLocalizedDescription;
+ }
+
+ public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+ ctor public PermissionInfo();
+ ctor public PermissionInfo(android.content.pm.PermissionInfo);
+ method public int describeContents();
+ method public java.lang.CharSequence loadDescription(android.content.pm.PackageManager);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int PROTECTION_DANGEROUS = 1; // 0x1
+ field public static final int PROTECTION_NORMAL = 0; // 0x0
+ field public static final int PROTECTION_SIGNATURE = 2; // 0x2
+ field public static final int PROTECTION_SIGNATURE_OR_SYSTEM = 3; // 0x3
+ field public int descriptionRes;
+ field public java.lang.String group;
+ field public java.lang.CharSequence nonLocalizedDescription;
+ field public int protectionLevel;
+ }
+
+ public final class ProviderInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
+ ctor public ProviderInfo();
+ ctor public ProviderInfo(android.content.pm.ProviderInfo);
+ method public int describeContents();
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public java.lang.String authority;
+ field public boolean grantUriPermissions;
+ field public int initOrder;
+ field public deprecated boolean isSyncable;
+ field public boolean multiprocess;
+ field public android.content.pm.PathPermission[] pathPermissions;
+ field public java.lang.String readPermission;
+ field public android.os.PatternMatcher[] uriPermissionPatterns;
+ field public java.lang.String writePermission;
+ }
+
+ public class ResolveInfo implements android.os.Parcelable {
+ ctor public ResolveInfo();
+ method public int describeContents();
+ method public void dump(android.util.Printer, java.lang.String);
+ method public final int getIconResource();
+ method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+ method public java.lang.CharSequence loadLabel(android.content.pm.PackageManager);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public android.content.pm.ActivityInfo activityInfo;
+ field public android.content.IntentFilter filter;
+ field public int icon;
+ field public boolean isDefault;
+ field public int labelRes;
+ field public int match;
+ field public java.lang.CharSequence nonLocalizedLabel;
+ field public int preferredOrder;
+ field public int priority;
+ field public java.lang.String resolvePackageName;
+ field public android.content.pm.ServiceInfo serviceInfo;
+ field public int specificIndex;
+ }
+
+ public static class ResolveInfo.DisplayNameComparator implements java.util.Comparator {
+ ctor public ResolveInfo.DisplayNameComparator(android.content.pm.PackageManager);
+ method public final int compare(android.content.pm.ResolveInfo, android.content.pm.ResolveInfo);
+ }
+
+ public class ServiceInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
+ ctor public ServiceInfo();
+ ctor public ServiceInfo(android.content.pm.ServiceInfo);
+ method public int describeContents();
+ method public void dump(android.util.Printer, java.lang.String);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int FLAG_STOP_WITH_TASK = 1; // 0x1
+ field public int flags;
+ field public java.lang.String permission;
+ }
+
+ public class Signature implements android.os.Parcelable {
+ ctor public Signature(byte[]);
+ ctor public Signature(java.lang.String);
+ method public int describeContents();
+ method public byte[] toByteArray();
+ method public char[] toChars();
+ method public char[] toChars(char[], int[]);
+ method public java.lang.String toCharsString();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+}
+
+package android.content.res {
+
+ public class AssetFileDescriptor implements android.os.Parcelable {
+ ctor public AssetFileDescriptor(android.os.ParcelFileDescriptor, long, long);
+ method public void close() throws java.io.IOException;
+ method public java.io.FileInputStream createInputStream() throws java.io.IOException;
+ method public java.io.FileOutputStream createOutputStream() throws java.io.IOException;
+ method public int describeContents();
+ method public long getDeclaredLength();
+ method public java.io.FileDescriptor getFileDescriptor();
+ method public long getLength();
+ method public android.os.ParcelFileDescriptor getParcelFileDescriptor();
+ method public long getStartOffset();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final long UNKNOWN_LENGTH = -1L; // 0xffffffffffffffffL
+ }
+
+ public static class AssetFileDescriptor.AutoCloseInputStream extends android.os.ParcelFileDescriptor.AutoCloseInputStream {
+ ctor public AssetFileDescriptor.AutoCloseInputStream(android.content.res.AssetFileDescriptor) throws java.io.IOException;
+ }
+
+ public static class AssetFileDescriptor.AutoCloseOutputStream extends android.os.ParcelFileDescriptor.AutoCloseOutputStream {
+ ctor public AssetFileDescriptor.AutoCloseOutputStream(android.content.res.AssetFileDescriptor) throws java.io.IOException;
+ }
+
+ public final class AssetManager {
+ method public void close();
+ method public final java.lang.String[] getLocales();
+ method public final java.lang.String[] list(java.lang.String) throws java.io.IOException;
+ method public final java.io.InputStream open(java.lang.String) throws java.io.IOException;
+ method public final java.io.InputStream open(java.lang.String, int) throws java.io.IOException;
+ method public final android.content.res.AssetFileDescriptor openFd(java.lang.String) throws java.io.IOException;
+ method public final android.content.res.AssetFileDescriptor openNonAssetFd(java.lang.String) throws java.io.IOException;
+ method public final android.content.res.AssetFileDescriptor openNonAssetFd(int, java.lang.String) throws java.io.IOException;
+ method public final android.content.res.XmlResourceParser openXmlResourceParser(java.lang.String) throws java.io.IOException;
+ method public final android.content.res.XmlResourceParser openXmlResourceParser(int, java.lang.String) throws java.io.IOException;
+ field public static final int ACCESS_BUFFER = 3; // 0x3
+ field public static final int ACCESS_RANDOM = 1; // 0x1
+ field public static final int ACCESS_STREAMING = 2; // 0x2
+ field public static final int ACCESS_UNKNOWN = 0; // 0x0
+ }
+
+ public final class AssetManager.AssetInputStream extends java.io.InputStream {
+ method public final int available() throws java.io.IOException;
+ method public final void close() throws java.io.IOException;
+ method public final int getAssetInt();
+ method public final void mark(int);
+ method public final boolean markSupported();
+ method public final int read() throws java.io.IOException;
+ method public final int read(byte[]) throws java.io.IOException;
+ method public final int read(byte[], int, int) throws java.io.IOException;
+ method public final void reset() throws java.io.IOException;
+ method public final long skip(long) throws java.io.IOException;
+ }
+
+ public class ColorStateList implements android.os.Parcelable {
+ ctor public ColorStateList(int[][], int[]);
+ method public static android.content.res.ColorStateList createFromXml(android.content.res.Resources, org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public int describeContents();
+ method public int getColorForState(int[], int);
+ method public int getDefaultColor();
+ method public boolean isStateful();
+ method public static android.content.res.ColorStateList valueOf(int);
+ method public android.content.res.ColorStateList withAlpha(int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public final class Configuration implements java.lang.Comparable android.os.Parcelable {
+ ctor public Configuration();
+ ctor public Configuration(android.content.res.Configuration);
+ method public int compareTo(android.content.res.Configuration);
+ method public int describeContents();
+ method public int diff(android.content.res.Configuration);
+ method public boolean equals(android.content.res.Configuration);
+ method public boolean isLayoutSizeAtLeast(int);
+ method public static boolean needNewResources(int, int);
+ method public void readFromParcel(android.os.Parcel);
+ method public void setTo(android.content.res.Configuration);
+ method public void setToDefaults();
+ method public int updateFrom(android.content.res.Configuration);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int HARDKEYBOARDHIDDEN_NO = 1; // 0x1
+ field public static final int HARDKEYBOARDHIDDEN_UNDEFINED = 0; // 0x0
+ field public static final int HARDKEYBOARDHIDDEN_YES = 2; // 0x2
+ field public static final int KEYBOARDHIDDEN_NO = 1; // 0x1
+ field public static final int KEYBOARDHIDDEN_UNDEFINED = 0; // 0x0
+ field public static final int KEYBOARDHIDDEN_YES = 2; // 0x2
+ field public static final int KEYBOARD_12KEY = 3; // 0x3
+ field public static final int KEYBOARD_NOKEYS = 1; // 0x1
+ field public static final int KEYBOARD_QWERTY = 2; // 0x2
+ field public static final int KEYBOARD_UNDEFINED = 0; // 0x0
+ field public static final int NAVIGATIONHIDDEN_NO = 1; // 0x1
+ field public static final int NAVIGATIONHIDDEN_UNDEFINED = 0; // 0x0
+ field public static final int NAVIGATIONHIDDEN_YES = 2; // 0x2
+ field public static final int NAVIGATION_DPAD = 2; // 0x2
+ field public static final int NAVIGATION_NONAV = 1; // 0x1
+ field public static final int NAVIGATION_TRACKBALL = 3; // 0x3
+ field public static final int NAVIGATION_UNDEFINED = 0; // 0x0
+ field public static final int NAVIGATION_WHEEL = 4; // 0x4
+ field public static final int ORIENTATION_LANDSCAPE = 2; // 0x2
+ field public static final int ORIENTATION_PORTRAIT = 1; // 0x1
+ field public static final int ORIENTATION_SQUARE = 3; // 0x3
+ field public static final int ORIENTATION_UNDEFINED = 0; // 0x0
+ field public static final int SCREENLAYOUT_LONG_MASK = 48; // 0x30
+ field public static final int SCREENLAYOUT_LONG_NO = 16; // 0x10
+ field public static final int SCREENLAYOUT_LONG_UNDEFINED = 0; // 0x0
+ field public static final int SCREENLAYOUT_LONG_YES = 32; // 0x20
+ field public static final int SCREENLAYOUT_SIZE_LARGE = 3; // 0x3
+ field public static final int SCREENLAYOUT_SIZE_MASK = 15; // 0xf
+ field public static final int SCREENLAYOUT_SIZE_NORMAL = 2; // 0x2
+ field public static final int SCREENLAYOUT_SIZE_SMALL = 1; // 0x1
+ field public static final int SCREENLAYOUT_SIZE_UNDEFINED = 0; // 0x0
+ field public static final int SCREENLAYOUT_SIZE_XLARGE = 4; // 0x4
+ field public static final int SCREEN_HEIGHT_DP_UNDEFINED = 0; // 0x0
+ field public static final int SCREEN_WIDTH_DP_UNDEFINED = 0; // 0x0
+ field public static final int SMALLEST_SCREEN_WIDTH_DP_UNDEFINED = 0; // 0x0
+ field public static final int TOUCHSCREEN_FINGER = 3; // 0x3
+ field public static final int TOUCHSCREEN_NOTOUCH = 1; // 0x1
+ field public static final int TOUCHSCREEN_STYLUS = 2; // 0x2
+ field public static final int TOUCHSCREEN_UNDEFINED = 0; // 0x0
+ field public static final int UI_MODE_NIGHT_MASK = 48; // 0x30
+ field public static final int UI_MODE_NIGHT_NO = 16; // 0x10
+ field public static final int UI_MODE_NIGHT_UNDEFINED = 0; // 0x0
+ field public static final int UI_MODE_NIGHT_YES = 32; // 0x20
+ field public static final int UI_MODE_TYPE_CAR = 3; // 0x3
+ field public static final int UI_MODE_TYPE_DESK = 2; // 0x2
+ field public static final int UI_MODE_TYPE_MASK = 15; // 0xf
+ field public static final int UI_MODE_TYPE_NORMAL = 1; // 0x1
+ field public static final int UI_MODE_TYPE_TELEVISION = 4; // 0x4
+ field public static final int UI_MODE_TYPE_UNDEFINED = 0; // 0x0
+ field public float fontScale;
+ field public int hardKeyboardHidden;
+ field public int keyboard;
+ field public int keyboardHidden;
+ field public java.util.Locale locale;
+ field public int mcc;
+ field public int mnc;
+ field public int navigation;
+ field public int navigationHidden;
+ field public int orientation;
+ field public int screenHeightDp;
+ field public int screenLayout;
+ field public int screenWidthDp;
+ field public int smallestScreenWidthDp;
+ field public int touchscreen;
+ field public int uiMode;
+ }
+
+ public class ObbInfo implements android.os.Parcelable {
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int OBB_OVERLAY = 1; // 0x1
+ field public java.lang.String filename;
+ field public int flags;
+ field public java.lang.String packageName;
+ field public int version;
+ }
+
+ public class ObbScanner {
+ method public static android.content.res.ObbInfo getObbInfo(java.lang.String) throws java.io.IOException;
+ }
+
+ public class Resources {
+ ctor public Resources(android.content.res.AssetManager, android.util.DisplayMetrics, android.content.res.Configuration);
+ method public final void finishPreloading();
+ method public final void flushLayoutCache();
+ method public android.content.res.XmlResourceParser getAnimation(int) throws android.content.res.Resources.NotFoundException;
+ method public final android.content.res.AssetManager getAssets();
+ method public boolean getBoolean(int) throws android.content.res.Resources.NotFoundException;
+ method public int getColor(int) throws android.content.res.Resources.NotFoundException;
+ method public android.content.res.ColorStateList getColorStateList(int) throws android.content.res.Resources.NotFoundException;
+ method public android.content.res.Configuration getConfiguration();
+ method public float getDimension(int) throws android.content.res.Resources.NotFoundException;
+ method public int getDimensionPixelOffset(int) throws android.content.res.Resources.NotFoundException;
+ method public int getDimensionPixelSize(int) throws android.content.res.Resources.NotFoundException;
+ method public android.util.DisplayMetrics getDisplayMetrics();
+ method public android.graphics.drawable.Drawable getDrawable(int) throws android.content.res.Resources.NotFoundException;
+ method public float getFraction(int, int, int);
+ method public int getIdentifier(java.lang.String, java.lang.String, java.lang.String);
+ method public int[] getIntArray(int) throws android.content.res.Resources.NotFoundException;
+ method public int getInteger(int) throws android.content.res.Resources.NotFoundException;
+ method public android.content.res.XmlResourceParser getLayout(int) throws android.content.res.Resources.NotFoundException;
+ method public android.graphics.Movie getMovie(int) throws android.content.res.Resources.NotFoundException;
+ method public java.lang.String getQuantityString(int, int, java.lang.Object...) throws android.content.res.Resources.NotFoundException;
+ method public java.lang.String getQuantityString(int, int) throws android.content.res.Resources.NotFoundException;
+ method public java.lang.CharSequence getQuantityText(int, int) throws android.content.res.Resources.NotFoundException;
+ method public java.lang.String getResourceEntryName(int) throws android.content.res.Resources.NotFoundException;
+ method public java.lang.String getResourceName(int) throws android.content.res.Resources.NotFoundException;
+ method public java.lang.String getResourcePackageName(int) throws android.content.res.Resources.NotFoundException;
+ method public java.lang.String getResourceTypeName(int) throws android.content.res.Resources.NotFoundException;
+ method public java.lang.String getString(int) throws android.content.res.Resources.NotFoundException;
+ method public java.lang.String getString(int, java.lang.Object...) throws android.content.res.Resources.NotFoundException;
+ method public java.lang.String[] getStringArray(int) throws android.content.res.Resources.NotFoundException;
+ method public static android.content.res.Resources getSystem();
+ method public java.lang.CharSequence getText(int) throws android.content.res.Resources.NotFoundException;
+ method public java.lang.CharSequence getText(int, java.lang.CharSequence);
+ method public java.lang.CharSequence[] getTextArray(int) throws android.content.res.Resources.NotFoundException;
+ method public void getValue(int, android.util.TypedValue, boolean) throws android.content.res.Resources.NotFoundException;
+ method public void getValue(java.lang.String, android.util.TypedValue, boolean) throws android.content.res.Resources.NotFoundException;
+ method public android.content.res.XmlResourceParser getXml(int) throws android.content.res.Resources.NotFoundException;
+ method public final android.content.res.Resources.Theme newTheme();
+ method public android.content.res.TypedArray obtainAttributes(android.util.AttributeSet, int[]);
+ method public android.content.res.TypedArray obtainTypedArray(int) throws android.content.res.Resources.NotFoundException;
+ method public java.io.InputStream openRawResource(int) throws android.content.res.Resources.NotFoundException;
+ method public java.io.InputStream openRawResource(int, android.util.TypedValue) throws android.content.res.Resources.NotFoundException;
+ method public android.content.res.AssetFileDescriptor openRawResourceFd(int) throws android.content.res.Resources.NotFoundException;
+ method public void parseBundleExtra(java.lang.String, android.util.AttributeSet, android.os.Bundle) throws org.xmlpull.v1.XmlPullParserException;
+ method public void parseBundleExtras(android.content.res.XmlResourceParser, android.os.Bundle) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public void updateConfiguration(android.content.res.Configuration, android.util.DisplayMetrics);
+ }
+
+ public static class Resources.NotFoundException extends java.lang.RuntimeException {
+ ctor public Resources.NotFoundException();
+ ctor public Resources.NotFoundException(java.lang.String);
+ }
+
+ public final class Resources.Theme {
+ method public void applyStyle(int, boolean);
+ method public void dump(int, java.lang.String, java.lang.String);
+ method public android.content.res.TypedArray obtainStyledAttributes(int[]);
+ method public android.content.res.TypedArray obtainStyledAttributes(int, int[]) throws android.content.res.Resources.NotFoundException;
+ method public android.content.res.TypedArray obtainStyledAttributes(android.util.AttributeSet, int[], int, int);
+ method public boolean resolveAttribute(int, android.util.TypedValue, boolean);
+ method public void setTo(android.content.res.Resources.Theme);
+ }
+
+ public class TypedArray {
+ method public boolean getBoolean(int, boolean);
+ method public int getColor(int, int);
+ method public android.content.res.ColorStateList getColorStateList(int);
+ method public float getDimension(int, float);
+ method public int getDimensionPixelOffset(int, int);
+ method public int getDimensionPixelSize(int, int);
+ method public android.graphics.drawable.Drawable getDrawable(int);
+ method public float getFloat(int, float);
+ method public float getFraction(int, int, int, float);
+ method public int getIndex(int);
+ method public int getIndexCount();
+ method public int getInt(int, int);
+ method public int getInteger(int, int);
+ method public int getLayoutDimension(int, java.lang.String);
+ method public int getLayoutDimension(int, int);
+ method public java.lang.String getNonResourceString(int);
+ method public java.lang.String getPositionDescription();
+ method public int getResourceId(int, int);
+ method public android.content.res.Resources getResources();
+ method public java.lang.String getString(int);
+ method public java.lang.CharSequence getText(int);
+ method public java.lang.CharSequence[] getTextArray(int);
+ method public boolean getValue(int, android.util.TypedValue);
+ method public boolean hasValue(int);
+ method public int length();
+ method public android.util.TypedValue peekValue(int);
+ method public void recycle();
+ }
+
+ public abstract interface XmlResourceParser implements android.util.AttributeSet org.xmlpull.v1.XmlPullParser {
+ method public abstract void close();
+ }
+
+}
+
+package android.database {
+
+ public abstract class AbstractCursor implements android.database.CrossProcessCursor {
+ ctor public AbstractCursor();
+ method protected void checkPosition();
+ method public void close();
+ method public void copyStringToBuffer(int, android.database.CharArrayBuffer);
+ method public void deactivate();
+ method public void fillWindow(int, android.database.CursorWindow);
+ method public byte[] getBlob(int);
+ method public int getColumnCount();
+ method public int getColumnIndex(java.lang.String);
+ method public int getColumnIndexOrThrow(java.lang.String);
+ method public java.lang.String getColumnName(int);
+ method public abstract java.lang.String[] getColumnNames();
+ method public abstract int getCount();
+ method public abstract double getDouble(int);
+ method public android.os.Bundle getExtras();
+ method public abstract float getFloat(int);
+ method public abstract int getInt(int);
+ method public abstract long getLong(int);
+ method public android.net.Uri getNotificationUri();
+ method public final int getPosition();
+ method public abstract short getShort(int);
+ method public abstract java.lang.String getString(int);
+ method public int getType(int);
+ method protected deprecated java.lang.Object getUpdatedField(int);
+ method public boolean getWantsAllOnMoveCalls();
+ method public android.database.CursorWindow getWindow();
+ method public final boolean isAfterLast();
+ method public final boolean isBeforeFirst();
+ method public boolean isClosed();
+ method protected deprecated boolean isFieldUpdated(int);
+ method public final boolean isFirst();
+ method public final boolean isLast();
+ method public abstract boolean isNull(int);
+ method public final boolean move(int);
+ method public final boolean moveToFirst();
+ method public final boolean moveToLast();
+ method public final boolean moveToNext();
+ method public final boolean moveToPosition(int);
+ method public final boolean moveToPrevious();
+ method protected void onChange(boolean);
+ method public boolean onMove(int, int);
+ method public void registerContentObserver(android.database.ContentObserver);
+ method public void registerDataSetObserver(android.database.DataSetObserver);
+ method public boolean requery();
+ method public android.os.Bundle respond(android.os.Bundle);
+ method public void setNotificationUri(android.content.ContentResolver, android.net.Uri);
+ method public void unregisterContentObserver(android.database.ContentObserver);
+ method public void unregisterDataSetObserver(android.database.DataSetObserver);
+ field protected boolean mClosed;
+ field protected android.content.ContentResolver mContentResolver;
+ field protected java.lang.Long mCurrentRowID;
+ field protected int mPos;
+ field protected int mRowIdColumnIndex;
+ field protected deprecated java.util.HashMap mUpdatedRows;
+ }
+
+ protected static class AbstractCursor.SelfContentObserver extends android.database.ContentObserver {
+ ctor public AbstractCursor.SelfContentObserver(android.database.AbstractCursor);
+ }
+
+ public abstract class AbstractWindowedCursor extends android.database.AbstractCursor {
+ ctor public AbstractWindowedCursor();
+ method public double getDouble(int);
+ method public float getFloat(int);
+ method public int getInt(int);
+ method public long getLong(int);
+ method public short getShort(int);
+ method public java.lang.String getString(int);
+ method public boolean hasWindow();
+ method public deprecated boolean isBlob(int);
+ method public deprecated boolean isFloat(int);
+ method public deprecated boolean isLong(int);
+ method public boolean isNull(int);
+ method public deprecated boolean isString(int);
+ method public void setWindow(android.database.CursorWindow);
+ field protected android.database.CursorWindow mWindow;
+ }
+
+ public final class CharArrayBuffer {
+ ctor public CharArrayBuffer(int);
+ ctor public CharArrayBuffer(char[]);
+ field public char[] data;
+ field public int sizeCopied;
+ }
+
+ public class ContentObservable extends android.database.Observable {
+ ctor public ContentObservable();
+ method public void dispatchChange(boolean);
+ method public void notifyChange(boolean);
+ method public void registerObserver(android.database.ContentObserver);
+ }
+
+ public abstract class ContentObserver {
+ ctor public ContentObserver(android.os.Handler);
+ method public boolean deliverSelfNotifications();
+ method public final void dispatchChange(boolean);
+ method public void onChange(boolean);
+ }
+
+ public abstract interface CrossProcessCursor implements android.database.Cursor {
+ method public abstract void fillWindow(int, android.database.CursorWindow);
+ method public abstract android.database.CursorWindow getWindow();
+ method public abstract boolean onMove(int, int);
+ }
+
+ public abstract interface Cursor {
+ method public abstract void close();
+ method public abstract void copyStringToBuffer(int, android.database.CharArrayBuffer);
+ method public abstract void deactivate();
+ method public abstract byte[] getBlob(int);
+ method public abstract int getColumnCount();
+ method public abstract int getColumnIndex(java.lang.String);
+ method public abstract int getColumnIndexOrThrow(java.lang.String) throws java.lang.IllegalArgumentException;
+ method public abstract java.lang.String getColumnName(int);
+ method public abstract java.lang.String[] getColumnNames();
+ method public abstract int getCount();
+ method public abstract double getDouble(int);
+ method public abstract android.os.Bundle getExtras();
+ method public abstract float getFloat(int);
+ method public abstract int getInt(int);
+ method public abstract long getLong(int);
+ method public abstract int getPosition();
+ method public abstract short getShort(int);
+ method public abstract java.lang.String getString(int);
+ method public abstract int getType(int);
+ method public abstract boolean getWantsAllOnMoveCalls();
+ method public abstract boolean isAfterLast();
+ method public abstract boolean isBeforeFirst();
+ method public abstract boolean isClosed();
+ method public abstract boolean isFirst();
+ method public abstract boolean isLast();
+ method public abstract boolean isNull(int);
+ method public abstract boolean move(int);
+ method public abstract boolean moveToFirst();
+ method public abstract boolean moveToLast();
+ method public abstract boolean moveToNext();
+ method public abstract boolean moveToPosition(int);
+ method public abstract boolean moveToPrevious();
+ method public abstract void registerContentObserver(android.database.ContentObserver);
+ method public abstract void registerDataSetObserver(android.database.DataSetObserver);
+ method public abstract deprecated boolean requery();
+ method public abstract android.os.Bundle respond(android.os.Bundle);
+ method public abstract void setNotificationUri(android.content.ContentResolver, android.net.Uri);
+ method public abstract void unregisterContentObserver(android.database.ContentObserver);
+ method public abstract void unregisterDataSetObserver(android.database.DataSetObserver);
+ field public static final int FIELD_TYPE_BLOB = 4; // 0x4
+ field public static final int FIELD_TYPE_FLOAT = 2; // 0x2
+ field public static final int FIELD_TYPE_INTEGER = 1; // 0x1
+ field public static final int FIELD_TYPE_NULL = 0; // 0x0
+ field public static final int FIELD_TYPE_STRING = 3; // 0x3
+ }
+
+ public class CursorIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
+ ctor public CursorIndexOutOfBoundsException(int, int);
+ ctor public CursorIndexOutOfBoundsException(java.lang.String);
+ }
+
+ public final class CursorJoiner implements java.lang.Iterable java.util.Iterator {
+ ctor public CursorJoiner(android.database.Cursor, java.lang.String[], android.database.Cursor, java.lang.String[]);
+ method public boolean hasNext();
+ method public java.util.Iterator<android.database.CursorJoiner.Result> iterator();
+ method public android.database.CursorJoiner.Result next();
+ method public void remove();
+ }
+
+ public static final class CursorJoiner.Result extends java.lang.Enum {
+ method public static android.database.CursorJoiner.Result valueOf(java.lang.String);
+ method public static final android.database.CursorJoiner.Result[] values();
+ enum_constant public static final android.database.CursorJoiner.Result BOTH;
+ enum_constant public static final android.database.CursorJoiner.Result LEFT;
+ enum_constant public static final android.database.CursorJoiner.Result RIGHT;
+ }
+
+ public class CursorWindow extends android.database.sqlite.SQLiteClosable implements android.os.Parcelable {
+ ctor public CursorWindow(boolean);
+ method public boolean allocRow();
+ method public void clear();
+ method public void close();
+ method public void copyStringToBuffer(int, int, android.database.CharArrayBuffer);
+ method public int describeContents();
+ method public void freeLastRow();
+ method public byte[] getBlob(int, int);
+ method public double getDouble(int, int);
+ method public float getFloat(int, int);
+ method public int getInt(int, int);
+ method public long getLong(int, int);
+ method public int getNumRows();
+ method public short getShort(int, int);
+ method public int getStartPosition();
+ method public java.lang.String getString(int, int);
+ method public int getType(int, int);
+ method public deprecated boolean isBlob(int, int);
+ method public deprecated boolean isFloat(int, int);
+ method public deprecated boolean isLong(int, int);
+ method public deprecated boolean isNull(int, int);
+ method public deprecated boolean isString(int, int);
+ method public static android.database.CursorWindow newFromParcel(android.os.Parcel);
+ method protected void onAllReferencesReleased();
+ method public boolean putBlob(byte[], int, int);
+ method public boolean putDouble(double, int, int);
+ method public boolean putLong(long, int, int);
+ method public boolean putNull(int, int);
+ method public boolean putString(java.lang.String, int, int);
+ method public boolean setNumColumns(int);
+ method public void setStartPosition(int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class CursorWrapper implements android.database.Cursor {
+ ctor public CursorWrapper(android.database.Cursor);
+ method public void close();
+ method public void copyStringToBuffer(int, android.database.CharArrayBuffer);
+ method public void deactivate();
+ method public byte[] getBlob(int);
+ method public int getColumnCount();
+ method public int getColumnIndex(java.lang.String);
+ method public int getColumnIndexOrThrow(java.lang.String) throws java.lang.IllegalArgumentException;
+ method public java.lang.String getColumnName(int);
+ method public java.lang.String[] getColumnNames();
+ method public int getCount();
+ method public double getDouble(int);
+ method public android.os.Bundle getExtras();
+ method public float getFloat(int);
+ method public int getInt(int);
+ method public long getLong(int);
+ method public int getPosition();
+ method public short getShort(int);
+ method public java.lang.String getString(int);
+ method public int getType(int);
+ method public boolean getWantsAllOnMoveCalls();
+ method public android.database.Cursor getWrappedCursor();
+ method public boolean isAfterLast();
+ method public boolean isBeforeFirst();
+ method public boolean isClosed();
+ method public boolean isFirst();
+ method public boolean isLast();
+ method public boolean isNull(int);
+ method public boolean move(int);
+ method public boolean moveToFirst();
+ method public boolean moveToLast();
+ method public boolean moveToNext();
+ method public boolean moveToPosition(int);
+ method public boolean moveToPrevious();
+ method public void registerContentObserver(android.database.ContentObserver);
+ method public void registerDataSetObserver(android.database.DataSetObserver);
+ method public boolean requery();
+ method public android.os.Bundle respond(android.os.Bundle);
+ method public void setNotificationUri(android.content.ContentResolver, android.net.Uri);
+ method public void unregisterContentObserver(android.database.ContentObserver);
+ method public void unregisterDataSetObserver(android.database.DataSetObserver);
+ }
+
+ public class DataSetObservable extends android.database.Observable {
+ ctor public DataSetObservable();
+ method public void notifyChanged();
+ method public void notifyInvalidated();
+ }
+
+ public abstract class DataSetObserver {
+ ctor public DataSetObserver();
+ method public void onChanged();
+ method public void onInvalidated();
+ }
+
+ public abstract interface DatabaseErrorHandler {
+ method public abstract void onCorruption(android.database.sqlite.SQLiteDatabase);
+ }
+
+ public class DatabaseUtils {
+ ctor public DatabaseUtils();
+ method public static void appendEscapedSQLString(java.lang.StringBuilder, java.lang.String);
+ method public static java.lang.String[] appendSelectionArgs(java.lang.String[], java.lang.String[]);
+ method public static final void appendValueToSql(java.lang.StringBuilder, java.lang.Object);
+ method public static void bindObjectToProgram(android.database.sqlite.SQLiteProgram, int, java.lang.Object);
+ method public static android.os.ParcelFileDescriptor blobFileDescriptorForQuery(android.database.sqlite.SQLiteDatabase, java.lang.String, java.lang.String[]);
+ method public static android.os.ParcelFileDescriptor blobFileDescriptorForQuery(android.database.sqlite.SQLiteStatement, java.lang.String[]);
+ method public static java.lang.String concatenateWhere(java.lang.String, java.lang.String);
+ method public static void createDbFromSqlStatements(android.content.Context, java.lang.String, int, java.lang.String);
+ method public static void cursorDoubleToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues, java.lang.String);
+ method public static void cursorDoubleToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String);
+ method public static void cursorDoubleToCursorValues(android.database.Cursor, java.lang.String, android.content.ContentValues);
+ method public static void cursorFloatToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String);
+ method public static void cursorIntToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues);
+ method public static void cursorIntToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues, java.lang.String);
+ method public static void cursorIntToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String);
+ method public static void cursorLongToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues);
+ method public static void cursorLongToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues, java.lang.String);
+ method public static void cursorLongToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String);
+ method public static void cursorRowToContentValues(android.database.Cursor, android.content.ContentValues);
+ method public static void cursorShortToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String);
+ method public static void cursorStringToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues);
+ method public static void cursorStringToContentValues(android.database.Cursor, java.lang.String, android.content.ContentValues, java.lang.String);
+ method public static void cursorStringToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String);
+ method public static void cursorStringToInsertHelper(android.database.Cursor, java.lang.String, android.database.DatabaseUtils.InsertHelper, int);
+ method public static void dumpCurrentRow(android.database.Cursor);
+ method public static void dumpCurrentRow(android.database.Cursor, java.io.PrintStream);
+ method public static void dumpCurrentRow(android.database.Cursor, java.lang.StringBuilder);
+ method public static java.lang.String dumpCurrentRowToString(android.database.Cursor);
+ method public static void dumpCursor(android.database.Cursor);
+ method public static void dumpCursor(android.database.Cursor, java.io.PrintStream);
+ method public static void dumpCursor(android.database.Cursor, java.lang.StringBuilder);
+ method public static java.lang.String dumpCursorToString(android.database.Cursor);
+ method public static java.lang.String getCollationKey(java.lang.String);
+ method public static java.lang.String getHexCollationKey(java.lang.String);
+ method public static int getSqlStatementType(java.lang.String);
+ method public static long longForQuery(android.database.sqlite.SQLiteDatabase, java.lang.String, java.lang.String[]);
+ method public static long longForQuery(android.database.sqlite.SQLiteStatement, java.lang.String[]);
+ method public static long queryNumEntries(android.database.sqlite.SQLiteDatabase, java.lang.String);
+ method public static long queryNumEntries(android.database.sqlite.SQLiteDatabase, java.lang.String, java.lang.String);
+ method public static long queryNumEntries(android.database.sqlite.SQLiteDatabase, java.lang.String, java.lang.String, java.lang.String[]);
+ method public static final void readExceptionFromParcel(android.os.Parcel);
+ method public static void readExceptionWithFileNotFoundExceptionFromParcel(android.os.Parcel) throws java.io.FileNotFoundException;
+ method public static void readExceptionWithOperationApplicationExceptionFromParcel(android.os.Parcel) throws android.content.OperationApplicationException;
+ method public static java.lang.String sqlEscapeString(java.lang.String);
+ method public static java.lang.String stringForQuery(android.database.sqlite.SQLiteDatabase, java.lang.String, java.lang.String[]);
+ method public static java.lang.String stringForQuery(android.database.sqlite.SQLiteStatement, java.lang.String[]);
+ method public static final void writeExceptionToParcel(android.os.Parcel, java.lang.Exception);
+ field public static final int STATEMENT_ABORT = 6; // 0x6
+ field public static final int STATEMENT_ATTACH = 3; // 0x3
+ field public static final int STATEMENT_BEGIN = 4; // 0x4
+ field public static final int STATEMENT_COMMIT = 5; // 0x5
+ field public static final int STATEMENT_DDL = 8; // 0x8
+ field public static final int STATEMENT_OTHER = 99; // 0x63
+ field public static final int STATEMENT_PRAGMA = 7; // 0x7
+ field public static final int STATEMENT_SELECT = 1; // 0x1
+ field public static final int STATEMENT_UNPREPARED = 9; // 0x9
+ field public static final int STATEMENT_UPDATE = 2; // 0x2
+ }
+
+ public static class DatabaseUtils.InsertHelper {
+ ctor public DatabaseUtils.InsertHelper(android.database.sqlite.SQLiteDatabase, java.lang.String);
+ method public void bind(int, double);
+ method public void bind(int, float);
+ method public void bind(int, long);
+ method public void bind(int, int);
+ method public void bind(int, boolean);
+ method public void bind(int, byte[]);
+ method public void bind(int, java.lang.String);
+ method public void bindNull(int);
+ method public void close();
+ method public long execute();
+ method public int getColumnIndex(java.lang.String);
+ method public long insert(android.content.ContentValues);
+ method public void prepareForInsert();
+ method public void prepareForReplace();
+ method public long replace(android.content.ContentValues);
+ field public static final int TABLE_INFO_PRAGMA_DEFAULT_INDEX = 4; // 0x4
+ }
+
+ public final class DefaultDatabaseErrorHandler implements android.database.DatabaseErrorHandler {
+ ctor public DefaultDatabaseErrorHandler();
+ method public void onCorruption(android.database.sqlite.SQLiteDatabase);
+ }
+
+ public class MatrixCursor extends android.database.AbstractCursor {
+ ctor public MatrixCursor(java.lang.String[], int);
+ ctor public MatrixCursor(java.lang.String[]);
+ method public void addRow(java.lang.Object[]);
+ method public void addRow(java.lang.Iterable<?>);
+ method public java.lang.String[] getColumnNames();
+ method public int getCount();
+ method public double getDouble(int);
+ method public float getFloat(int);
+ method public int getInt(int);
+ method public long getLong(int);
+ method public short getShort(int);
+ method public java.lang.String getString(int);
+ method public boolean isNull(int);
+ method public android.database.MatrixCursor.RowBuilder newRow();
+ }
+
+ public class MatrixCursor.RowBuilder {
+ method public android.database.MatrixCursor.RowBuilder add(java.lang.Object);
+ }
+
+ public class MergeCursor extends android.database.AbstractCursor {
+ ctor public MergeCursor(android.database.Cursor[]);
+ method public java.lang.String[] getColumnNames();
+ method public int getCount();
+ method public double getDouble(int);
+ method public float getFloat(int);
+ method public int getInt(int);
+ method public long getLong(int);
+ method public short getShort(int);
+ method public java.lang.String getString(int);
+ method public boolean isNull(int);
+ }
+
+ public abstract class Observable {
+ ctor public Observable();
+ method public void registerObserver(T);
+ method public void unregisterAll();
+ method public void unregisterObserver(T);
+ field protected final java.util.ArrayList mObservers;
+ }
+
+ public class SQLException extends java.lang.RuntimeException {
+ ctor public SQLException();
+ ctor public SQLException(java.lang.String);
+ }
+
+ public class StaleDataException extends java.lang.RuntimeException {
+ ctor public StaleDataException();
+ ctor public StaleDataException(java.lang.String);
+ }
+
+}
+
+package android.database.sqlite {
+
+ public class SQLiteAbortException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteAbortException();
+ ctor public SQLiteAbortException(java.lang.String);
+ }
+
+ public class SQLiteAccessPermException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteAccessPermException();
+ ctor public SQLiteAccessPermException(java.lang.String);
+ }
+
+ public class SQLiteBindOrColumnIndexOutOfRangeException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteBindOrColumnIndexOutOfRangeException();
+ ctor public SQLiteBindOrColumnIndexOutOfRangeException(java.lang.String);
+ }
+
+ public class SQLiteBlobTooBigException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteBlobTooBigException();
+ ctor public SQLiteBlobTooBigException(java.lang.String);
+ }
+
+ public class SQLiteCantOpenDatabaseException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteCantOpenDatabaseException();
+ ctor public SQLiteCantOpenDatabaseException(java.lang.String);
+ }
+
+ public abstract class SQLiteClosable {
+ ctor public SQLiteClosable();
+ method public void acquireReference();
+ method protected abstract void onAllReferencesReleased();
+ method protected void onAllReferencesReleasedFromContainer();
+ method public void releaseReference();
+ method public void releaseReferenceFromContainer();
+ }
+
+ public class SQLiteConstraintException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteConstraintException();
+ ctor public SQLiteConstraintException(java.lang.String);
+ }
+
+ public class SQLiteCursor extends android.database.AbstractWindowedCursor {
+ ctor public deprecated SQLiteCursor(android.database.sqlite.SQLiteDatabase, android.database.sqlite.SQLiteCursorDriver, java.lang.String, android.database.sqlite.SQLiteQuery);
+ ctor public SQLiteCursor(android.database.sqlite.SQLiteCursorDriver, java.lang.String, android.database.sqlite.SQLiteQuery);
+ method public java.lang.String[] getColumnNames();
+ method public int getCount();
+ method public android.database.sqlite.SQLiteDatabase getDatabase();
+ method public void setSelectionArguments(java.lang.String[]);
+ }
+
+ public abstract interface SQLiteCursorDriver {
+ method public abstract void cursorClosed();
+ method public abstract void cursorDeactivated();
+ method public abstract void cursorRequeried(android.database.Cursor);
+ method public abstract android.database.Cursor query(android.database.sqlite.SQLiteDatabase.CursorFactory, java.lang.String[]);
+ method public abstract void setBindArguments(java.lang.String[]);
+ }
+
+ public class SQLiteDatabase extends android.database.sqlite.SQLiteClosable {
+ method public void beginTransaction();
+ method public void beginTransactionNonExclusive();
+ method public void beginTransactionWithListener(android.database.sqlite.SQLiteTransactionListener);
+ method public void beginTransactionWithListenerNonExclusive(android.database.sqlite.SQLiteTransactionListener);
+ method public void close();
+ method public android.database.sqlite.SQLiteStatement compileStatement(java.lang.String) throws android.database.SQLException;
+ method public static android.database.sqlite.SQLiteDatabase create(android.database.sqlite.SQLiteDatabase.CursorFactory);
+ method public int delete(java.lang.String, java.lang.String, java.lang.String[]);
+ method public boolean enableWriteAheadLogging();
+ method public void endTransaction();
+ method public void execSQL(java.lang.String) throws android.database.SQLException;
+ method public void execSQL(java.lang.String, java.lang.Object[]) throws android.database.SQLException;
+ method public static java.lang.String findEditTable(java.lang.String);
+ method public java.util.List<android.util.Pair<java.lang.String, java.lang.String>> getAttachedDbs();
+ method public long getMaximumSize();
+ method public long getPageSize();
+ method public final java.lang.String getPath();
+ method public deprecated java.util.Map<java.lang.String, java.lang.String> getSyncedTables();
+ method public int getVersion();
+ method public boolean inTransaction();
+ method public long insert(java.lang.String, java.lang.String, android.content.ContentValues);
+ method public long insertOrThrow(java.lang.String, java.lang.String, android.content.ContentValues) throws android.database.SQLException;
+ method public long insertWithOnConflict(java.lang.String, java.lang.String, android.content.ContentValues, int);
+ method public boolean isDatabaseIntegrityOk();
+ method public boolean isDbLockedByCurrentThread();
+ method public boolean isDbLockedByOtherThreads();
+ method public boolean isOpen();
+ method public boolean isReadOnly();
+ method public deprecated void markTableSyncable(java.lang.String, java.lang.String);
+ method public deprecated void markTableSyncable(java.lang.String, java.lang.String, java.lang.String);
+ method public boolean needUpgrade(int);
+ method protected void onAllReferencesReleased();
+ method public static android.database.sqlite.SQLiteDatabase openDatabase(java.lang.String, android.database.sqlite.SQLiteDatabase.CursorFactory, int);
+ method public static android.database.sqlite.SQLiteDatabase openDatabase(java.lang.String, android.database.sqlite.SQLiteDatabase.CursorFactory, int, android.database.DatabaseErrorHandler);
+ method public static android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.io.File, android.database.sqlite.SQLiteDatabase.CursorFactory);
+ method public static android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, android.database.sqlite.SQLiteDatabase.CursorFactory);
+ method public static android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, android.database.sqlite.SQLiteDatabase.CursorFactory, android.database.DatabaseErrorHandler);
+ method public android.database.Cursor query(boolean, java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public android.database.Cursor query(java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String);
+ method public android.database.Cursor query(java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public android.database.Cursor queryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory, boolean, java.lang.String, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public android.database.Cursor rawQuery(java.lang.String, java.lang.String[]);
+ method public android.database.Cursor rawQueryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory, java.lang.String, java.lang.String[], java.lang.String);
+ method public static int releaseMemory();
+ method public long replace(java.lang.String, java.lang.String, android.content.ContentValues);
+ method public long replaceOrThrow(java.lang.String, java.lang.String, android.content.ContentValues) throws android.database.SQLException;
+ method public void setLocale(java.util.Locale);
+ method public void setLockingEnabled(boolean);
+ method public void setMaxSqlCacheSize(int);
+ method public long setMaximumSize(long);
+ method public void setPageSize(long);
+ method public void setTransactionSuccessful();
+ method public void setVersion(int);
+ method public int update(java.lang.String, android.content.ContentValues, java.lang.String, java.lang.String[]);
+ method public int updateWithOnConflict(java.lang.String, android.content.ContentValues, java.lang.String, java.lang.String[], int);
+ method public deprecated boolean yieldIfContended();
+ method public boolean yieldIfContendedSafely();
+ method public boolean yieldIfContendedSafely(long);
+ field public static final int CONFLICT_ABORT = 2; // 0x2
+ field public static final int CONFLICT_FAIL = 3; // 0x3
+ field public static final int CONFLICT_IGNORE = 4; // 0x4
+ field public static final int CONFLICT_NONE = 0; // 0x0
+ field public static final int CONFLICT_REPLACE = 5; // 0x5
+ field public static final int CONFLICT_ROLLBACK = 1; // 0x1
+ field public static final int CREATE_IF_NECESSARY = 268435456; // 0x10000000
+ field public static final int MAX_SQL_CACHE_SIZE = 100; // 0x64
+ field public static final int NO_LOCALIZED_COLLATORS = 16; // 0x10
+ field public static final int OPEN_READONLY = 1; // 0x1
+ field public static final int OPEN_READWRITE = 0; // 0x0
+ field public static final int SQLITE_MAX_LIKE_PATTERN_LENGTH = 50000; // 0xc350
+ }
+
+ public static abstract interface SQLiteDatabase.CursorFactory {
+ method public abstract android.database.Cursor newCursor(android.database.sqlite.SQLiteDatabase, android.database.sqlite.SQLiteCursorDriver, java.lang.String, android.database.sqlite.SQLiteQuery);
+ }
+
+ public class SQLiteDatabaseCorruptException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteDatabaseCorruptException();
+ ctor public SQLiteDatabaseCorruptException(java.lang.String);
+ }
+
+ public class SQLiteDatabaseLockedException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteDatabaseLockedException();
+ ctor public SQLiteDatabaseLockedException(java.lang.String);
+ }
+
+ public class SQLiteDatatypeMismatchException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteDatatypeMismatchException();
+ ctor public SQLiteDatatypeMismatchException(java.lang.String);
+ }
+
+ public class SQLiteDiskIOException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteDiskIOException();
+ ctor public SQLiteDiskIOException(java.lang.String);
+ }
+
+ public class SQLiteDoneException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteDoneException();
+ ctor public SQLiteDoneException(java.lang.String);
+ }
+
+ public class SQLiteException extends android.database.SQLException {
+ ctor public SQLiteException();
+ ctor public SQLiteException(java.lang.String);
+ }
+
+ public class SQLiteFullException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteFullException();
+ ctor public SQLiteFullException(java.lang.String);
+ }
+
+ public class SQLiteMisuseException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteMisuseException();
+ ctor public SQLiteMisuseException(java.lang.String);
+ }
+
+ public abstract class SQLiteOpenHelper {
+ ctor public SQLiteOpenHelper(android.content.Context, java.lang.String, android.database.sqlite.SQLiteDatabase.CursorFactory, int);
+ ctor public SQLiteOpenHelper(android.content.Context, java.lang.String, android.database.sqlite.SQLiteDatabase.CursorFactory, int, android.database.DatabaseErrorHandler);
+ method public synchronized void close();
+ method public java.lang.String getDatabaseName();
+ method public synchronized android.database.sqlite.SQLiteDatabase getReadableDatabase();
+ method public synchronized android.database.sqlite.SQLiteDatabase getWritableDatabase();
+ method public abstract void onCreate(android.database.sqlite.SQLiteDatabase);
+ method public void onDowngrade(android.database.sqlite.SQLiteDatabase, int, int);
+ method public void onOpen(android.database.sqlite.SQLiteDatabase);
+ method public abstract void onUpgrade(android.database.sqlite.SQLiteDatabase, int, int);
+ }
+
+ public class SQLiteOutOfMemoryException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteOutOfMemoryException();
+ ctor public SQLiteOutOfMemoryException(java.lang.String);
+ }
+
+ public abstract class SQLiteProgram extends android.database.sqlite.SQLiteClosable {
+ method public void bindAllArgsAsStrings(java.lang.String[]);
+ method public void bindBlob(int, byte[]);
+ method public void bindDouble(int, double);
+ method public void bindLong(int, long);
+ method public void bindNull(int);
+ method public void bindString(int, java.lang.String);
+ method public void clearBindings();
+ method public void close();
+ method protected deprecated void compile(java.lang.String, boolean);
+ method public final deprecated int getUniqueId();
+ method protected final void native_bind_blob(int, byte[]);
+ method protected final void native_bind_double(int, double);
+ method protected final void native_bind_long(int, long);
+ method protected final void native_bind_null(int);
+ method protected final void native_bind_string(int, java.lang.String);
+ method protected final deprecated void native_compile(java.lang.String);
+ method protected final deprecated void native_finalize();
+ method protected void onAllReferencesReleased();
+ field protected deprecated android.database.sqlite.SQLiteDatabase mDatabase;
+ field protected deprecated int nHandle;
+ field protected deprecated int nStatement;
+ }
+
+ public class SQLiteQuery extends android.database.sqlite.SQLiteProgram {
+ }
+
+ public class SQLiteQueryBuilder {
+ ctor public SQLiteQueryBuilder();
+ method public static void appendColumns(java.lang.StringBuilder, java.lang.String[]);
+ method public void appendWhere(java.lang.CharSequence);
+ method public void appendWhereEscapeString(java.lang.String);
+ method public java.lang.String buildQuery(java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public deprecated java.lang.String buildQuery(java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public static java.lang.String buildQueryString(boolean, java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public java.lang.String buildUnionQuery(java.lang.String[], java.lang.String, java.lang.String);
+ method public java.lang.String buildUnionSubQuery(java.lang.String, java.lang.String[], java.util.Set<java.lang.String>, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public deprecated java.lang.String buildUnionSubQuery(java.lang.String, java.lang.String[], java.util.Set<java.lang.String>, int, java.lang.String, java.lang.String, java.lang.String[], java.lang.String, java.lang.String);
+ method public java.lang.String getTables();
+ method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String);
+ method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public void setCursorFactory(android.database.sqlite.SQLiteDatabase.CursorFactory);
+ method public void setDistinct(boolean);
+ method public void setProjectionMap(java.util.Map<java.lang.String, java.lang.String>);
+ method public void setStrict(boolean);
+ method public void setTables(java.lang.String);
+ }
+
+ public class SQLiteReadOnlyDatabaseException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteReadOnlyDatabaseException();
+ ctor public SQLiteReadOnlyDatabaseException(java.lang.String);
+ }
+
+ public class SQLiteStatement extends android.database.sqlite.SQLiteProgram {
+ method public void execute();
+ method public long executeInsert();
+ method public int executeUpdateDelete();
+ method public android.os.ParcelFileDescriptor simpleQueryForBlobFileDescriptor();
+ method public long simpleQueryForLong();
+ method public java.lang.String simpleQueryForString();
+ }
+
+ public class SQLiteTableLockedException extends android.database.sqlite.SQLiteException {
+ ctor public SQLiteTableLockedException();
+ ctor public SQLiteTableLockedException(java.lang.String);
+ }
+
+ public abstract interface SQLiteTransactionListener {
+ method public abstract void onBegin();
+ method public abstract void onCommit();
+ method public abstract void onRollback();
+ }
+
+}
+
+package android.drm {
+
+ public class DrmConvertedStatus {
+ ctor public DrmConvertedStatus(int, byte[], int);
+ field public static final int STATUS_ERROR = 3; // 0x3
+ field public static final int STATUS_INPUTDATA_ERROR = 2; // 0x2
+ field public static final int STATUS_OK = 1; // 0x1
+ field public final byte[] convertedData;
+ field public final int offset;
+ field public final int statusCode;
+ }
+
+ public class DrmErrorEvent extends android.drm.DrmEvent {
+ ctor public DrmErrorEvent(int, int, java.lang.String);
+ ctor public DrmErrorEvent(int, int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>);
+ field public static final int TYPE_ACQUIRE_DRM_INFO_FAILED = 2008; // 0x7d8
+ field public static final int TYPE_NOT_SUPPORTED = 2003; // 0x7d3
+ field public static final int TYPE_NO_INTERNET_CONNECTION = 2005; // 0x7d5
+ field public static final int TYPE_OUT_OF_MEMORY = 2004; // 0x7d4
+ field public static final int TYPE_PROCESS_DRM_INFO_FAILED = 2006; // 0x7d6
+ field public static final int TYPE_REMOVE_ALL_RIGHTS_FAILED = 2007; // 0x7d7
+ field public static final int TYPE_RIGHTS_NOT_INSTALLED = 2001; // 0x7d1
+ field public static final int TYPE_RIGHTS_RENEWAL_NOT_ALLOWED = 2002; // 0x7d2
+ }
+
+ public class DrmEvent {
+ ctor protected DrmEvent(int, int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>);
+ ctor protected DrmEvent(int, int, java.lang.String);
+ method public java.lang.Object getAttribute(java.lang.String);
+ method public java.lang.String getMessage();
+ method public int getType();
+ method public int getUniqueId();
+ field public static final java.lang.String DRM_INFO_OBJECT = "drm_info_object";
+ field public static final java.lang.String DRM_INFO_STATUS_OBJECT = "drm_info_status_object";
+ field public static final int TYPE_ALL_RIGHTS_REMOVED = 1001; // 0x3e9
+ field public static final int TYPE_DRM_INFO_PROCESSED = 1002; // 0x3ea
+ }
+
+ public class DrmInfo {
+ ctor public DrmInfo(int, byte[], java.lang.String);
+ ctor public DrmInfo(int, java.lang.String, java.lang.String);
+ method public java.lang.Object get(java.lang.String);
+ method public byte[] getData();
+ method public int getInfoType();
+ method public java.lang.String getMimeType();
+ method public java.util.Iterator<java.lang.Object> iterator();
+ method public java.util.Iterator<java.lang.String> keyIterator();
+ method public void put(java.lang.String, java.lang.Object);
+ }
+
+ public class DrmInfoEvent extends android.drm.DrmEvent {
+ ctor public DrmInfoEvent(int, int, java.lang.String);
+ ctor public DrmInfoEvent(int, int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>);
+ field public static final int TYPE_ACCOUNT_ALREADY_REGISTERED = 5; // 0x5
+ field public static final int TYPE_ALREADY_REGISTERED_BY_ANOTHER_ACCOUNT = 1; // 0x1
+ field public static final int TYPE_REMOVE_RIGHTS = 2; // 0x2
+ field public static final int TYPE_RIGHTS_INSTALLED = 3; // 0x3
+ field public static final int TYPE_RIGHTS_REMOVED = 6; // 0x6
+ field public static final int TYPE_WAIT_FOR_RIGHTS = 4; // 0x4
+ }
+
+ public class DrmInfoRequest {
+ ctor public DrmInfoRequest(int, java.lang.String);
+ method public java.lang.Object get(java.lang.String);
+ method public int getInfoType();
+ method public java.lang.String getMimeType();
+ method public java.util.Iterator<java.lang.Object> iterator();
+ method public java.util.Iterator<java.lang.String> keyIterator();
+ method public void put(java.lang.String, java.lang.Object);
+ field public static final java.lang.String ACCOUNT_ID = "account_id";
+ field public static final java.lang.String SUBSCRIPTION_ID = "subscription_id";
+ field public static final int TYPE_REGISTRATION_INFO = 1; // 0x1
+ field public static final int TYPE_RIGHTS_ACQUISITION_INFO = 3; // 0x3
+ field public static final int TYPE_RIGHTS_ACQUISITION_PROGRESS_INFO = 4; // 0x4
+ field public static final int TYPE_UNREGISTRATION_INFO = 2; // 0x2
+ }
+
+ public class DrmInfoStatus {
+ ctor public DrmInfoStatus(int, int, android.drm.ProcessedData, java.lang.String);
+ field public static final int STATUS_ERROR = 2; // 0x2
+ field public static final int STATUS_OK = 1; // 0x1
+ field public final android.drm.ProcessedData data;
+ field public final int infoType;
+ field public final java.lang.String mimeType;
+ field public final int statusCode;
+ }
+
+ public class DrmManagerClient {
+ ctor public DrmManagerClient(android.content.Context);
+ method public android.drm.DrmInfo acquireDrmInfo(android.drm.DrmInfoRequest);
+ method public int acquireRights(android.drm.DrmInfoRequest);
+ method public boolean canHandle(java.lang.String, java.lang.String);
+ method public boolean canHandle(android.net.Uri, java.lang.String);
+ method public int checkRightsStatus(java.lang.String);
+ method public int checkRightsStatus(android.net.Uri);
+ method public int checkRightsStatus(java.lang.String, int);
+ method public int checkRightsStatus(android.net.Uri, int);
+ method public android.drm.DrmConvertedStatus closeConvertSession(int);
+ method public android.drm.DrmConvertedStatus convertData(int, byte[]);
+ method public java.lang.String[] getAvailableDrmEngines();
+ method public android.content.ContentValues getConstraints(java.lang.String, int);
+ method public android.content.ContentValues getConstraints(android.net.Uri, int);
+ method public int getDrmObjectType(java.lang.String, java.lang.String);
+ method public int getDrmObjectType(android.net.Uri, java.lang.String);
+ method public android.content.ContentValues getMetadata(java.lang.String);
+ method public android.content.ContentValues getMetadata(android.net.Uri);
+ method public java.lang.String getOriginalMimeType(java.lang.String);
+ method public java.lang.String getOriginalMimeType(android.net.Uri);
+ method public int openConvertSession(java.lang.String);
+ method public int processDrmInfo(android.drm.DrmInfo);
+ method public int removeAllRights();
+ method public int removeRights(java.lang.String);
+ method public int removeRights(android.net.Uri);
+ method public int saveRights(android.drm.DrmRights, java.lang.String, java.lang.String) throws java.io.IOException;
+ method public synchronized void setOnErrorListener(android.drm.DrmManagerClient.OnErrorListener);
+ method public synchronized void setOnEventListener(android.drm.DrmManagerClient.OnEventListener);
+ method public synchronized void setOnInfoListener(android.drm.DrmManagerClient.OnInfoListener);
+ field public static final int ERROR_NONE = 0; // 0x0
+ field public static final int ERROR_UNKNOWN = -2000; // 0xfffff830
+ }
+
+ public static abstract interface DrmManagerClient.OnErrorListener {
+ method public abstract void onError(android.drm.DrmManagerClient, android.drm.DrmErrorEvent);
+ }
+
+ public static abstract interface DrmManagerClient.OnEventListener {
+ method public abstract void onEvent(android.drm.DrmManagerClient, android.drm.DrmEvent);
+ }
+
+ public static abstract interface DrmManagerClient.OnInfoListener {
+ method public abstract void onInfo(android.drm.DrmManagerClient, android.drm.DrmInfoEvent);
+ }
+
+ public class DrmRights {
+ ctor public DrmRights(java.lang.String, java.lang.String);
+ ctor public DrmRights(java.lang.String, java.lang.String, java.lang.String);
+ ctor public DrmRights(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ ctor public DrmRights(java.io.File, java.lang.String);
+ ctor public DrmRights(android.drm.ProcessedData, java.lang.String);
+ method public java.lang.String getAccountId();
+ method public byte[] getData();
+ method public java.lang.String getMimeType();
+ method public java.lang.String getSubscriptionId();
+ }
+
+ public class DrmStore {
+ ctor public DrmStore();
+ }
+
+ public static class DrmStore.Action {
+ ctor public DrmStore.Action();
+ field public static final int DEFAULT = 0; // 0x0
+ field public static final int DISPLAY = 7; // 0x7
+ field public static final int EXECUTE = 6; // 0x6
+ field public static final int OUTPUT = 4; // 0x4
+ field public static final int PLAY = 1; // 0x1
+ field public static final int PREVIEW = 5; // 0x5
+ field public static final int RINGTONE = 2; // 0x2
+ field public static final int TRANSFER = 3; // 0x3
+ }
+
+ public static abstract interface DrmStore.ConstraintsColumns {
+ field public static final java.lang.String EXTENDED_METADATA = "extended_metadata";
+ field public static final java.lang.String LICENSE_AVAILABLE_TIME = "license_available_time";
+ field public static final java.lang.String LICENSE_EXPIRY_TIME = "license_expiry_time";
+ field public static final java.lang.String LICENSE_START_TIME = "license_start_time";
+ field public static final java.lang.String MAX_REPEAT_COUNT = "max_repeat_count";
+ field public static final java.lang.String REMAINING_REPEAT_COUNT = "remaining_repeat_count";
+ }
+
+ public static class DrmStore.DrmObjectType {
+ ctor public DrmStore.DrmObjectType();
+ field public static final int CONTENT = 1; // 0x1
+ field public static final int RIGHTS_OBJECT = 2; // 0x2
+ field public static final int TRIGGER_OBJECT = 3; // 0x3
+ field public static final int UNKNOWN = 0; // 0x0
+ }
+
+ public static class DrmStore.Playback {
+ ctor public DrmStore.Playback();
+ field public static final int PAUSE = 2; // 0x2
+ field public static final int RESUME = 3; // 0x3
+ field public static final int START = 0; // 0x0
+ field public static final int STOP = 1; // 0x1
+ }
+
+ public static class DrmStore.RightsStatus {
+ ctor public DrmStore.RightsStatus();
+ field public static final int RIGHTS_EXPIRED = 2; // 0x2
+ field public static final int RIGHTS_INVALID = 1; // 0x1
+ field public static final int RIGHTS_NOT_ACQUIRED = 3; // 0x3
+ field public static final int RIGHTS_VALID = 0; // 0x0
+ }
+
+ public class DrmSupportInfo {
+ ctor public DrmSupportInfo();
+ method public void addFileSuffix(java.lang.String);
+ method public void addMimeType(java.lang.String);
+ method public java.lang.String getDescriprition();
+ method public java.util.Iterator<java.lang.String> getFileSuffixIterator();
+ method public java.util.Iterator<java.lang.String> getMimeTypeIterator();
+ method public void setDescription(java.lang.String);
+ }
+
+ public class DrmUtils {
+ ctor public DrmUtils();
+ method public static android.drm.DrmUtils.ExtendedMetadataParser getExtendedMetadataParser(byte[]);
+ }
+
+ public static class DrmUtils.ExtendedMetadataParser {
+ method public java.lang.String get(java.lang.String);
+ method public java.util.Iterator<java.lang.String> iterator();
+ method public java.util.Iterator<java.lang.String> keyIterator();
+ }
+
+ public class ProcessedData {
+ method public java.lang.String getAccountId();
+ method public byte[] getData();
+ method public java.lang.String getSubscriptionId();
+ }
+
+}
+
+package android.gesture {
+
+ public class Gesture implements android.os.Parcelable {
+ ctor public Gesture();
+ method public void addStroke(android.gesture.GestureStroke);
+ method public java.lang.Object clone();
+ method public int describeContents();
+ method public android.graphics.RectF getBoundingBox();
+ method public long getID();
+ method public float getLength();
+ method public java.util.ArrayList<android.gesture.GestureStroke> getStrokes();
+ method public int getStrokesCount();
+ method public android.graphics.Bitmap toBitmap(int, int, int, int, int);
+ method public android.graphics.Bitmap toBitmap(int, int, int, int);
+ method public android.graphics.Path toPath();
+ method public android.graphics.Path toPath(android.graphics.Path);
+ method public android.graphics.Path toPath(int, int, int, int);
+ method public android.graphics.Path toPath(android.graphics.Path, int, int, int, int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public final class GestureLibraries {
+ method public static android.gesture.GestureLibrary fromFile(java.lang.String);
+ method public static android.gesture.GestureLibrary fromFile(java.io.File);
+ method public static android.gesture.GestureLibrary fromPrivateFile(android.content.Context, java.lang.String);
+ method public static android.gesture.GestureLibrary fromRawResource(android.content.Context, int);
+ }
+
+ public abstract class GestureLibrary {
+ ctor protected GestureLibrary();
+ method public void addGesture(java.lang.String, android.gesture.Gesture);
+ method public java.util.Set<java.lang.String> getGestureEntries();
+ method public java.util.ArrayList<android.gesture.Gesture> getGestures(java.lang.String);
+ method public int getOrientationStyle();
+ method public int getSequenceType();
+ method public boolean isReadOnly();
+ method public abstract boolean load();
+ method public java.util.ArrayList<android.gesture.Prediction> recognize(android.gesture.Gesture);
+ method public void removeEntry(java.lang.String);
+ method public void removeGesture(java.lang.String, android.gesture.Gesture);
+ method public abstract boolean save();
+ method public void setOrientationStyle(int);
+ method public void setSequenceType(int);
+ field protected final android.gesture.GestureStore mStore;
+ }
+
+ public class GestureOverlayView extends android.widget.FrameLayout {
+ ctor public GestureOverlayView(android.content.Context);
+ ctor public GestureOverlayView(android.content.Context, android.util.AttributeSet);
+ ctor public GestureOverlayView(android.content.Context, android.util.AttributeSet, int);
+ method public void addOnGestureListener(android.gesture.GestureOverlayView.OnGestureListener);
+ method public void addOnGesturePerformedListener(android.gesture.GestureOverlayView.OnGesturePerformedListener);
+ method public void addOnGesturingListener(android.gesture.GestureOverlayView.OnGesturingListener);
+ method public void cancelClearAnimation();
+ method public void cancelGesture();
+ method public void clear(boolean);
+ method public java.util.ArrayList<android.gesture.GesturePoint> getCurrentStroke();
+ method public long getFadeOffset();
+ method public android.gesture.Gesture getGesture();
+ method public int getGestureColor();
+ method public android.graphics.Path getGesturePath();
+ method public android.graphics.Path getGesturePath(android.graphics.Path);
+ method public float getGestureStrokeAngleThreshold();
+ method public float getGestureStrokeLengthThreshold();
+ method public float getGestureStrokeSquarenessTreshold();
+ method public int getGestureStrokeType();
+ method public float getGestureStrokeWidth();
+ method public int getOrientation();
+ method public int getUncertainGestureColor();
+ method public boolean isEventsInterceptionEnabled();
+ method public boolean isFadeEnabled();
+ method public boolean isGestureVisible();
+ method public boolean isGesturing();
+ method public void removeAllOnGestureListeners();
+ method public void removeAllOnGesturePerformedListeners();
+ method public void removeAllOnGesturingListeners();
+ method public void removeOnGestureListener(android.gesture.GestureOverlayView.OnGestureListener);
+ method public void removeOnGesturePerformedListener(android.gesture.GestureOverlayView.OnGesturePerformedListener);
+ method public void removeOnGesturingListener(android.gesture.GestureOverlayView.OnGesturingListener);
+ method public void setEventsInterceptionEnabled(boolean);
+ method public void setFadeEnabled(boolean);
+ method public void setFadeOffset(long);
+ method public void setGesture(android.gesture.Gesture);
+ method public void setGestureColor(int);
+ method public void setGestureStrokeAngleThreshold(float);
+ method public void setGestureStrokeLengthThreshold(float);
+ method public void setGestureStrokeSquarenessTreshold(float);
+ method public void setGestureStrokeType(int);
+ method public void setGestureStrokeWidth(float);
+ method public void setGestureVisible(boolean);
+ method public void setOrientation(int);
+ method public void setUncertainGestureColor(int);
+ field public static final int GESTURE_STROKE_TYPE_MULTIPLE = 1; // 0x1
+ field public static final int GESTURE_STROKE_TYPE_SINGLE = 0; // 0x0
+ field public static final int ORIENTATION_HORIZONTAL = 0; // 0x0
+ field public static final int ORIENTATION_VERTICAL = 1; // 0x1
+ }
+
+ public static abstract interface GestureOverlayView.OnGestureListener {
+ method public abstract void onGesture(android.gesture.GestureOverlayView, android.view.MotionEvent);
+ method public abstract void onGestureCancelled(android.gesture.GestureOverlayView, android.view.MotionEvent);
+ method public abstract void onGestureEnded(android.gesture.GestureOverlayView, android.view.MotionEvent);
+ method public abstract void onGestureStarted(android.gesture.GestureOverlayView, android.view.MotionEvent);
+ }
+
+ public static abstract interface GestureOverlayView.OnGesturePerformedListener {
+ method public abstract void onGesturePerformed(android.gesture.GestureOverlayView, android.gesture.Gesture);
+ }
+
+ public static abstract interface GestureOverlayView.OnGesturingListener {
+ method public abstract void onGesturingEnded(android.gesture.GestureOverlayView);
+ method public abstract void onGesturingStarted(android.gesture.GestureOverlayView);
+ }
+
+ public class GesturePoint {
+ ctor public GesturePoint(float, float, long);
+ method public java.lang.Object clone();
+ field public final long timestamp;
+ field public final float x;
+ field public final float y;
+ }
+
+ public class GestureStore {
+ ctor public GestureStore();
+ method public void addGesture(java.lang.String, android.gesture.Gesture);
+ method public java.util.Set<java.lang.String> getGestureEntries();
+ method public java.util.ArrayList<android.gesture.Gesture> getGestures(java.lang.String);
+ method public int getOrientationStyle();
+ method public int getSequenceType();
+ method public boolean hasChanged();
+ method public void load(java.io.InputStream) throws java.io.IOException;
+ method public void load(java.io.InputStream, boolean) throws java.io.IOException;
+ method public java.util.ArrayList<android.gesture.Prediction> recognize(android.gesture.Gesture);
+ method public void removeEntry(java.lang.String);
+ method public void removeGesture(java.lang.String, android.gesture.Gesture);
+ method public void save(java.io.OutputStream) throws java.io.IOException;
+ method public void save(java.io.OutputStream, boolean) throws java.io.IOException;
+ method public void setOrientationStyle(int);
+ method public void setSequenceType(int);
+ field public static final int ORIENTATION_INVARIANT = 1; // 0x1
+ field public static final int ORIENTATION_SENSITIVE = 2; // 0x2
+ field public static final int SEQUENCE_INVARIANT = 1; // 0x1
+ field public static final int SEQUENCE_SENSITIVE = 2; // 0x2
+ }
+
+ public class GestureStroke {
+ ctor public GestureStroke(java.util.ArrayList<android.gesture.GesturePoint>);
+ method public void clearPath();
+ method public java.lang.Object clone();
+ method public android.gesture.OrientedBoundingBox computeOrientedBoundingBox();
+ method public android.graphics.Path getPath();
+ method public android.graphics.Path toPath(float, float, int);
+ field public final android.graphics.RectF boundingBox;
+ field public final float length;
+ field public final float[] points;
+ }
+
+ public final class GestureUtils {
+ method public static android.gesture.OrientedBoundingBox computeOrientedBoundingBox(java.util.ArrayList<android.gesture.GesturePoint>);
+ method public static android.gesture.OrientedBoundingBox computeOrientedBoundingBox(float[]);
+ method public static float[] spatialSampling(android.gesture.Gesture, int);
+ method public static float[] spatialSampling(android.gesture.Gesture, int, boolean);
+ method public static float[] temporalSampling(android.gesture.GestureStroke, int);
+ }
+
+ public class OrientedBoundingBox {
+ field public final float centerX;
+ field public final float centerY;
+ field public final float height;
+ field public final float orientation;
+ field public final float squareness;
+ field public final float width;
+ }
+
+ public class Prediction {
+ field public final java.lang.String name;
+ field public double score;
+ }
+
+}
+
+package android.graphics {
+
+ public class AvoidXfermode extends android.graphics.Xfermode {
+ ctor public AvoidXfermode(int, int, android.graphics.AvoidXfermode.Mode);
+ }
+
+ public static final class AvoidXfermode.Mode extends java.lang.Enum {
+ method public static android.graphics.AvoidXfermode.Mode valueOf(java.lang.String);
+ method public static final android.graphics.AvoidXfermode.Mode[] values();
+ enum_constant public static final android.graphics.AvoidXfermode.Mode AVOID;
+ enum_constant public static final android.graphics.AvoidXfermode.Mode TARGET;
+ }
+
+ public final class Bitmap implements android.os.Parcelable {
+ method public boolean compress(android.graphics.Bitmap.CompressFormat, int, java.io.OutputStream);
+ method public android.graphics.Bitmap copy(android.graphics.Bitmap.Config, boolean);
+ method public void copyPixelsFromBuffer(java.nio.Buffer);
+ method public void copyPixelsToBuffer(java.nio.Buffer);
+ method public static android.graphics.Bitmap createBitmap(android.graphics.Bitmap);
+ method public static android.graphics.Bitmap createBitmap(android.graphics.Bitmap, int, int, int, int);
+ method public static android.graphics.Bitmap createBitmap(android.graphics.Bitmap, int, int, int, int, android.graphics.Matrix, boolean);
+ method public static android.graphics.Bitmap createBitmap(int, int, android.graphics.Bitmap.Config);
+ method public static android.graphics.Bitmap createBitmap(int[], int, int, int, int, android.graphics.Bitmap.Config);
+ method public static android.graphics.Bitmap createBitmap(int[], int, int, android.graphics.Bitmap.Config);
+ method public static android.graphics.Bitmap createScaledBitmap(android.graphics.Bitmap, int, int, boolean);
+ method public int describeContents();
+ method public void eraseColor(int);
+ method public android.graphics.Bitmap extractAlpha();
+ method public android.graphics.Bitmap extractAlpha(android.graphics.Paint, int[]);
+ method public final int getByteCount();
+ method public final android.graphics.Bitmap.Config getConfig();
+ method public int getDensity();
+ method public int getGenerationId();
+ method public final int getHeight();
+ method public byte[] getNinePatchChunk();
+ method public int getPixel(int, int);
+ method public void getPixels(int[], int, int, int, int, int, int);
+ method public final int getRowBytes();
+ method public int getScaledHeight(android.graphics.Canvas);
+ method public int getScaledHeight(android.util.DisplayMetrics);
+ method public int getScaledHeight(int);
+ method public int getScaledWidth(android.graphics.Canvas);
+ method public int getScaledWidth(android.util.DisplayMetrics);
+ method public int getScaledWidth(int);
+ method public final int getWidth();
+ method public final boolean hasAlpha();
+ method public final boolean isMutable();
+ method public final boolean isRecycled();
+ method public void prepareToDraw();
+ method public void recycle();
+ method public boolean sameAs(android.graphics.Bitmap);
+ method public void setDensity(int);
+ method public void setHasAlpha(boolean);
+ method public void setPixel(int, int, int);
+ method public void setPixels(int[], int, int, int, int, int, int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int DENSITY_NONE = 0; // 0x0
+ }
+
+ public static final class Bitmap.CompressFormat extends java.lang.Enum {
+ method public static android.graphics.Bitmap.CompressFormat valueOf(java.lang.String);
+ method public static final android.graphics.Bitmap.CompressFormat[] values();
+ enum_constant public static final android.graphics.Bitmap.CompressFormat JPEG;
+ enum_constant public static final android.graphics.Bitmap.CompressFormat PNG;
+ enum_constant public static final android.graphics.Bitmap.CompressFormat WEBP;
+ }
+
+ public static final class Bitmap.Config extends java.lang.Enum {
+ method public static android.graphics.Bitmap.Config valueOf(java.lang.String);
+ method public static final android.graphics.Bitmap.Config[] values();
+ enum_constant public static final android.graphics.Bitmap.Config ALPHA_8;
+ enum_constant public static final deprecated android.graphics.Bitmap.Config ARGB_4444;
+ enum_constant public static final android.graphics.Bitmap.Config ARGB_8888;
+ enum_constant public static final android.graphics.Bitmap.Config RGB_565;
+ }
+
+ public class BitmapFactory {
+ ctor public BitmapFactory();
+ method public static android.graphics.Bitmap decodeByteArray(byte[], int, int, android.graphics.BitmapFactory.Options);
+ method public static android.graphics.Bitmap decodeByteArray(byte[], int, int);
+ method public static android.graphics.Bitmap decodeFile(java.lang.String, android.graphics.BitmapFactory.Options);
+ method public static android.graphics.Bitmap decodeFile(java.lang.String);
+ method public static android.graphics.Bitmap decodeFileDescriptor(java.io.FileDescriptor, android.graphics.Rect, android.graphics.BitmapFactory.Options);
+ method public static android.graphics.Bitmap decodeFileDescriptor(java.io.FileDescriptor);
+ method public static android.graphics.Bitmap decodeResource(android.content.res.Resources, int, android.graphics.BitmapFactory.Options);
+ method public static android.graphics.Bitmap decodeResource(android.content.res.Resources, int);
+ method public static android.graphics.Bitmap decodeResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory.Options);
+ method public static android.graphics.Bitmap decodeStream(java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory.Options);
+ method public static android.graphics.Bitmap decodeStream(java.io.InputStream);
+ }
+
+ public static class BitmapFactory.Options {
+ ctor public BitmapFactory.Options();
+ method public void requestCancelDecode();
+ field public android.graphics.Bitmap inBitmap;
+ field public int inDensity;
+ field public boolean inDither;
+ field public boolean inInputShareable;
+ field public boolean inJustDecodeBounds;
+ field public boolean inMutable;
+ field public boolean inPreferQualityOverSpeed;
+ field public android.graphics.Bitmap.Config inPreferredConfig;
+ field public boolean inPurgeable;
+ field public int inSampleSize;
+ field public boolean inScaled;
+ field public int inScreenDensity;
+ field public int inTargetDensity;
+ field public byte[] inTempStorage;
+ field public boolean mCancel;
+ field public int outHeight;
+ field public java.lang.String outMimeType;
+ field public int outWidth;
+ }
+
+ public final class BitmapRegionDecoder {
+ method public android.graphics.Bitmap decodeRegion(android.graphics.Rect, android.graphics.BitmapFactory.Options);
+ method public int getHeight();
+ method public int getWidth();
+ method public final boolean isRecycled();
+ method public static android.graphics.BitmapRegionDecoder newInstance(byte[], int, int, boolean) throws java.io.IOException;
+ method public static android.graphics.BitmapRegionDecoder newInstance(java.io.FileDescriptor, boolean) throws java.io.IOException;
+ method public static android.graphics.BitmapRegionDecoder newInstance(java.io.InputStream, boolean) throws java.io.IOException;
+ method public static android.graphics.BitmapRegionDecoder newInstance(java.lang.String, boolean) throws java.io.IOException;
+ method public void recycle();
+ }
+
+ public class BitmapShader extends android.graphics.Shader {
+ ctor public BitmapShader(android.graphics.Bitmap, android.graphics.Shader.TileMode, android.graphics.Shader.TileMode);
+ }
+
+ public class BlurMaskFilter extends android.graphics.MaskFilter {
+ ctor public BlurMaskFilter(float, android.graphics.BlurMaskFilter.Blur);
+ }
+
+ public static final class BlurMaskFilter.Blur extends java.lang.Enum {
+ method public static android.graphics.BlurMaskFilter.Blur valueOf(java.lang.String);
+ method public static final android.graphics.BlurMaskFilter.Blur[] values();
+ enum_constant public static final android.graphics.BlurMaskFilter.Blur INNER;
+ enum_constant public static final android.graphics.BlurMaskFilter.Blur NORMAL;
+ enum_constant public static final android.graphics.BlurMaskFilter.Blur OUTER;
+ enum_constant public static final android.graphics.BlurMaskFilter.Blur SOLID;
+ }
+
+ public class Camera {
+ ctor public Camera();
+ method public void applyToCanvas(android.graphics.Canvas);
+ method public float dotWithNormal(float, float, float);
+ method public void getMatrix(android.graphics.Matrix);
+ method public void restore();
+ method public void rotate(float, float, float);
+ method public void rotateX(float);
+ method public void rotateY(float);
+ method public void rotateZ(float);
+ method public void save();
+ method public void setLocation(float, float, float);
+ method public void translate(float, float, float);
+ }
+
+ public class Canvas {
+ ctor public Canvas();
+ ctor public Canvas(android.graphics.Bitmap);
+ method public boolean clipPath(android.graphics.Path, android.graphics.Region.Op);
+ method public boolean clipPath(android.graphics.Path);
+ method public boolean clipRect(android.graphics.RectF, android.graphics.Region.Op);
+ method public boolean clipRect(android.graphics.Rect, android.graphics.Region.Op);
+ method public boolean clipRect(android.graphics.RectF);
+ method public boolean clipRect(android.graphics.Rect);
+ method public boolean clipRect(float, float, float, float, android.graphics.Region.Op);
+ method public boolean clipRect(float, float, float, float);
+ method public boolean clipRect(int, int, int, int);
+ method public boolean clipRegion(android.graphics.Region, android.graphics.Region.Op);
+ method public boolean clipRegion(android.graphics.Region);
+ method public void concat(android.graphics.Matrix);
+ method public void drawARGB(int, int, int, int);
+ method public void drawArc(android.graphics.RectF, float, float, boolean, android.graphics.Paint);
+ method public void drawBitmap(android.graphics.Bitmap, float, float, android.graphics.Paint);
+ method public void drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.RectF, android.graphics.Paint);
+ method public void drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.Rect, android.graphics.Paint);
+ method public void drawBitmap(int[], int, int, float, float, int, int, boolean, android.graphics.Paint);
+ method public void drawBitmap(int[], int, int, int, int, int, int, boolean, android.graphics.Paint);
+ method public void drawBitmap(android.graphics.Bitmap, android.graphics.Matrix, android.graphics.Paint);
+ method public void drawBitmapMesh(android.graphics.Bitmap, int, int, float[], int, int[], int, android.graphics.Paint);
+ method public void drawCircle(float, float, float, android.graphics.Paint);
+ method public void drawColor(int);
+ method public void drawColor(int, android.graphics.PorterDuff.Mode);
+ method public void drawLine(float, float, float, float, android.graphics.Paint);
+ method public void drawLines(float[], int, int, android.graphics.Paint);
+ method public void drawLines(float[], android.graphics.Paint);
+ method public void drawOval(android.graphics.RectF, android.graphics.Paint);
+ method public void drawPaint(android.graphics.Paint);
+ method public void drawPath(android.graphics.Path, android.graphics.Paint);
+ method public void drawPicture(android.graphics.Picture);
+ method public void drawPicture(android.graphics.Picture, android.graphics.RectF);
+ method public void drawPicture(android.graphics.Picture, android.graphics.Rect);
+ method public void drawPoint(float, float, android.graphics.Paint);
+ method public void drawPoints(float[], int, int, android.graphics.Paint);
+ method public void drawPoints(float[], android.graphics.Paint);
+ method public void drawPosText(char[], int, int, float[], android.graphics.Paint);
+ method public void drawPosText(java.lang.String, float[], android.graphics.Paint);
+ method public void drawRGB(int, int, int);
+ method public void drawRect(android.graphics.RectF, android.graphics.Paint);
+ method public void drawRect(android.graphics.Rect, android.graphics.Paint);
+ method public void drawRect(float, float, float, float, android.graphics.Paint);
+ method public void drawRoundRect(android.graphics.RectF, float, float, android.graphics.Paint);
+ method public void drawText(char[], int, int, float, float, android.graphics.Paint);
+ method public void drawText(java.lang.String, float, float, android.graphics.Paint);
+ method public void drawText(java.lang.String, int, int, float, float, android.graphics.Paint);
+ method public void drawText(java.lang.CharSequence, int, int, float, float, android.graphics.Paint);
+ method public void drawTextOnPath(char[], int, int, android.graphics.Path, float, float, android.graphics.Paint);
+ method public void drawTextOnPath(java.lang.String, android.graphics.Path, float, float, android.graphics.Paint);
+ method public void drawVertices(android.graphics.Canvas.VertexMode, int, float[], int, float[], int, int[], int, short[], int, int, android.graphics.Paint);
+ method public boolean getClipBounds(android.graphics.Rect);
+ method public final android.graphics.Rect getClipBounds();
+ method public int getDensity();
+ method public android.graphics.DrawFilter getDrawFilter();
+ method public int getHeight();
+ method public void getMatrix(android.graphics.Matrix);
+ method public final android.graphics.Matrix getMatrix();
+ method public int getMaximumBitmapHeight();
+ method public int getMaximumBitmapWidth();
+ method public int getSaveCount();
+ method public int getWidth();
+ method public boolean isHardwareAccelerated();
+ method public boolean isOpaque();
+ method public boolean quickReject(android.graphics.RectF, android.graphics.Canvas.EdgeType);
+ method public boolean quickReject(android.graphics.Path, android.graphics.Canvas.EdgeType);
+ method public boolean quickReject(float, float, float, float, android.graphics.Canvas.EdgeType);
+ method public void restore();
+ method public void restoreToCount(int);
+ method public void rotate(float);
+ method public final void rotate(float, float, float);
+ method public int save();
+ method public int save(int);
+ method public int saveLayer(android.graphics.RectF, android.graphics.Paint, int);
+ method public int saveLayer(float, float, float, float, android.graphics.Paint, int);
+ method public int saveLayerAlpha(android.graphics.RectF, int, int);
+ method public int saveLayerAlpha(float, float, float, float, int, int);
+ method public void scale(float, float);
+ method public final void scale(float, float, float, float);
+ method public void setBitmap(android.graphics.Bitmap);
+ method public void setDensity(int);
+ method public void setDrawFilter(android.graphics.DrawFilter);
+ method public void setMatrix(android.graphics.Matrix);
+ method public void skew(float, float);
+ method public void translate(float, float);
+ field public static final int ALL_SAVE_FLAG = 31; // 0x1f
+ field public static final int CLIP_SAVE_FLAG = 2; // 0x2
+ field public static final int CLIP_TO_LAYER_SAVE_FLAG = 16; // 0x10
+ field public static final int FULL_COLOR_LAYER_SAVE_FLAG = 8; // 0x8
+ field public static final int HAS_ALPHA_LAYER_SAVE_FLAG = 4; // 0x4
+ field public static final int MATRIX_SAVE_FLAG = 1; // 0x1
+ }
+
+ public static final class Canvas.EdgeType extends java.lang.Enum {
+ method public static android.graphics.Canvas.EdgeType valueOf(java.lang.String);
+ method public static final android.graphics.Canvas.EdgeType[] values();
+ enum_constant public static final android.graphics.Canvas.EdgeType AA;
+ enum_constant public static final android.graphics.Canvas.EdgeType BW;
+ }
+
+ public static final class Canvas.VertexMode extends java.lang.Enum {
+ method public static android.graphics.Canvas.VertexMode valueOf(java.lang.String);
+ method public static final android.graphics.Canvas.VertexMode[] values();
+ enum_constant public static final android.graphics.Canvas.VertexMode TRIANGLES;
+ enum_constant public static final android.graphics.Canvas.VertexMode TRIANGLE_FAN;
+ enum_constant public static final android.graphics.Canvas.VertexMode TRIANGLE_STRIP;
+ }
+
+ public class Color {
+ ctor public Color();
+ method public static int HSVToColor(float[]);
+ method public static int HSVToColor(int, float[]);
+ method public static void RGBToHSV(int, int, int, float[]);
+ method public static int alpha(int);
+ method public static int argb(int, int, int, int);
+ method public static int blue(int);
+ method public static void colorToHSV(int, float[]);
+ method public static int green(int);
+ method public static int parseColor(java.lang.String);
+ method public static int red(int);
+ method public static int rgb(int, int, int);
+ field public static final int BLACK = -16777216; // 0xff000000
+ field public static final int BLUE = -16776961; // 0xff0000ff
+ field public static final int CYAN = -16711681; // 0xff00ffff
+ field public static final int DKGRAY = -12303292; // 0xff444444
+ field public static final int GRAY = -7829368; // 0xff888888
+ field public static final int GREEN = -16711936; // 0xff00ff00
+ field public static final int LTGRAY = -3355444; // 0xffcccccc
+ field public static final int MAGENTA = -65281; // 0xffff00ff
+ field public static final int RED = -65536; // 0xffff0000
+ field public static final int TRANSPARENT = 0; // 0x0
+ field public static final int WHITE = -1; // 0xffffffff
+ field public static final int YELLOW = -256; // 0xffffff00
+ }
+
+ public class ColorFilter {
+ ctor public ColorFilter();
+ }
+
+ public class ColorMatrix {
+ ctor public ColorMatrix();
+ ctor public ColorMatrix(float[]);
+ ctor public ColorMatrix(android.graphics.ColorMatrix);
+ method public final float[] getArray();
+ method public void postConcat(android.graphics.ColorMatrix);
+ method public void preConcat(android.graphics.ColorMatrix);
+ method public void reset();
+ method public void set(android.graphics.ColorMatrix);
+ method public void set(float[]);
+ method public void setConcat(android.graphics.ColorMatrix, android.graphics.ColorMatrix);
+ method public void setRGB2YUV();
+ method public void setRotate(int, float);
+ method public void setSaturation(float);
+ method public void setScale(float, float, float, float);
+ method public void setYUV2RGB();
+ }
+
+ public class ColorMatrixColorFilter extends android.graphics.ColorFilter {
+ ctor public ColorMatrixColorFilter(android.graphics.ColorMatrix);
+ ctor public ColorMatrixColorFilter(float[]);
+ }
+
+ public class ComposePathEffect extends android.graphics.PathEffect {
+ ctor public ComposePathEffect(android.graphics.PathEffect, android.graphics.PathEffect);
+ }
+
+ public class ComposeShader extends android.graphics.Shader {
+ ctor public ComposeShader(android.graphics.Shader, android.graphics.Shader, android.graphics.Xfermode);
+ ctor public ComposeShader(android.graphics.Shader, android.graphics.Shader, android.graphics.PorterDuff.Mode);
+ }
+
+ public class CornerPathEffect extends android.graphics.PathEffect {
+ ctor public CornerPathEffect(float);
+ }
+
+ public class DashPathEffect extends android.graphics.PathEffect {
+ ctor public DashPathEffect(float[], float);
+ }
+
+ public class DiscretePathEffect extends android.graphics.PathEffect {
+ ctor public DiscretePathEffect(float, float);
+ }
+
+ public class DrawFilter {
+ ctor public DrawFilter();
+ }
+
+ public class EmbossMaskFilter extends android.graphics.MaskFilter {
+ ctor public EmbossMaskFilter(float[], float, float, float);
+ }
+
+ public class ImageFormat {
+ ctor public ImageFormat();
+ method public static int getBitsPerPixel(int);
+ field public static final int JPEG = 256; // 0x100
+ field public static final int NV16 = 16; // 0x10
+ field public static final int NV21 = 17; // 0x11
+ field public static final int RGB_565 = 4; // 0x4
+ field public static final int UNKNOWN = 0; // 0x0
+ field public static final int YUY2 = 20; // 0x14
+ field public static final int YV12 = 842094169; // 0x32315659
+ }
+
+ public class Interpolator {
+ ctor public Interpolator(int);
+ ctor public Interpolator(int, int);
+ method public final int getKeyFrameCount();
+ method public final int getValueCount();
+ method public void reset(int);
+ method public void reset(int, int);
+ method public void setKeyFrame(int, int, float[]);
+ method public void setKeyFrame(int, int, float[], float[]);
+ method public void setRepeatMirror(float, boolean);
+ method public android.graphics.Interpolator.Result timeToValues(float[]);
+ method public android.graphics.Interpolator.Result timeToValues(int, float[]);
+ }
+
+ public static final class Interpolator.Result extends java.lang.Enum {
+ method public static android.graphics.Interpolator.Result valueOf(java.lang.String);
+ method public static final android.graphics.Interpolator.Result[] values();
+ enum_constant public static final android.graphics.Interpolator.Result FREEZE_END;
+ enum_constant public static final android.graphics.Interpolator.Result FREEZE_START;
+ enum_constant public static final android.graphics.Interpolator.Result NORMAL;
+ }
+
+ public class LayerRasterizer extends android.graphics.Rasterizer {
+ ctor public LayerRasterizer();
+ method public void addLayer(android.graphics.Paint, float, float);
+ method public void addLayer(android.graphics.Paint);
+ }
+
+ public class LightingColorFilter extends android.graphics.ColorFilter {
+ ctor public LightingColorFilter(int, int);
+ }
+
+ public class LinearGradient extends android.graphics.Shader {
+ ctor public LinearGradient(float, float, float, float, int[], float[], android.graphics.Shader.TileMode);
+ ctor public LinearGradient(float, float, float, float, int, int, android.graphics.Shader.TileMode);
+ }
+
+ public class MaskFilter {
+ ctor public MaskFilter();
+ }
+
+ public class Matrix {
+ ctor public Matrix();
+ ctor public Matrix(android.graphics.Matrix);
+ method public void getValues(float[]);
+ method public boolean invert(android.graphics.Matrix);
+ method public boolean isIdentity();
+ method public void mapPoints(float[], int, float[], int, int);
+ method public void mapPoints(float[], float[]);
+ method public void mapPoints(float[]);
+ method public float mapRadius(float);
+ method public boolean mapRect(android.graphics.RectF, android.graphics.RectF);
+ method public boolean mapRect(android.graphics.RectF);
+ method public void mapVectors(float[], int, float[], int, int);
+ method public void mapVectors(float[], float[]);
+ method public void mapVectors(float[]);
+ method public boolean postConcat(android.graphics.Matrix);
+ method public boolean postRotate(float, float, float);
+ method public boolean postRotate(float);
+ method public boolean postScale(float, float, float, float);
+ method public boolean postScale(float, float);
+ method public boolean postSkew(float, float, float, float);
+ method public boolean postSkew(float, float);
+ method public boolean postTranslate(float, float);
+ method public boolean preConcat(android.graphics.Matrix);
+ method public boolean preRotate(float, float, float);
+ method public boolean preRotate(float);
+ method public boolean preScale(float, float, float, float);
+ method public boolean preScale(float, float);
+ method public boolean preSkew(float, float, float, float);
+ method public boolean preSkew(float, float);
+ method public boolean preTranslate(float, float);
+ method public boolean rectStaysRect();
+ method public void reset();
+ method public void set(android.graphics.Matrix);
+ method public boolean setConcat(android.graphics.Matrix, android.graphics.Matrix);
+ method public boolean setPolyToPoly(float[], int, float[], int, int);
+ method public boolean setRectToRect(android.graphics.RectF, android.graphics.RectF, android.graphics.Matrix.ScaleToFit);
+ method public void setRotate(float, float, float);
+ method public void setRotate(float);
+ method public void setScale(float, float, float, float);
+ method public void setScale(float, float);
+ method public void setSinCos(float, float, float, float);
+ method public void setSinCos(float, float);
+ method public void setSkew(float, float, float, float);
+ method public void setSkew(float, float);
+ method public void setTranslate(float, float);
+ method public void setValues(float[]);
+ method public java.lang.String toShortString();
+ field public static final int MPERSP_0 = 6; // 0x6
+ field public static final int MPERSP_1 = 7; // 0x7
+ field public static final int MPERSP_2 = 8; // 0x8
+ field public static final int MSCALE_X = 0; // 0x0
+ field public static final int MSCALE_Y = 4; // 0x4
+ field public static final int MSKEW_X = 1; // 0x1
+ field public static final int MSKEW_Y = 3; // 0x3
+ field public static final int MTRANS_X = 2; // 0x2
+ field public static final int MTRANS_Y = 5; // 0x5
+ }
+
+ public static final class Matrix.ScaleToFit extends java.lang.Enum {
+ method public static android.graphics.Matrix.ScaleToFit valueOf(java.lang.String);
+ method public static final android.graphics.Matrix.ScaleToFit[] values();
+ enum_constant public static final android.graphics.Matrix.ScaleToFit CENTER;
+ enum_constant public static final android.graphics.Matrix.ScaleToFit END;
+ enum_constant public static final android.graphics.Matrix.ScaleToFit FILL;
+ enum_constant public static final android.graphics.Matrix.ScaleToFit START;
+ }
+
+ public class Movie {
+ method public static android.graphics.Movie decodeByteArray(byte[], int, int);
+ method public static android.graphics.Movie decodeFile(java.lang.String);
+ method public static android.graphics.Movie decodeStream(java.io.InputStream);
+ method public void draw(android.graphics.Canvas, float, float, android.graphics.Paint);
+ method public void draw(android.graphics.Canvas, float, float);
+ method public int duration();
+ method public int height();
+ method public boolean isOpaque();
+ method public boolean setTime(int);
+ method public int width();
+ }
+
+ public class NinePatch {
+ ctor public NinePatch(android.graphics.Bitmap, byte[], java.lang.String);
+ method public void draw(android.graphics.Canvas, android.graphics.RectF);
+ method public void draw(android.graphics.Canvas, android.graphics.Rect);
+ method public void draw(android.graphics.Canvas, android.graphics.Rect, android.graphics.Paint);
+ method public int getDensity();
+ method public int getHeight();
+ method public final android.graphics.Region getTransparentRegion(android.graphics.Rect);
+ method public int getWidth();
+ method public final boolean hasAlpha();
+ method public static boolean isNinePatchChunk(byte[]);
+ method public void setPaint(android.graphics.Paint);
+ }
+
+ public class Paint {
+ ctor public Paint();
+ ctor public Paint(int);
+ ctor public Paint(android.graphics.Paint);
+ method public float ascent();
+ method public int breakText(char[], int, int, float, float[]);
+ method public int breakText(java.lang.CharSequence, int, int, boolean, float, float[]);
+ method public int breakText(java.lang.String, boolean, float, float[]);
+ method public void clearShadowLayer();
+ method public float descent();
+ method public int getAlpha();
+ method public int getColor();
+ method public android.graphics.ColorFilter getColorFilter();
+ method public boolean getFillPath(android.graphics.Path, android.graphics.Path);
+ method public int getFlags();
+ method public float getFontMetrics(android.graphics.Paint.FontMetrics);
+ method public android.graphics.Paint.FontMetrics getFontMetrics();
+ method public int getFontMetricsInt(android.graphics.Paint.FontMetricsInt);
+ method public android.graphics.Paint.FontMetricsInt getFontMetricsInt();
+ method public float getFontSpacing();
+ method public int getHinting();
+ method public android.graphics.MaskFilter getMaskFilter();
+ method public android.graphics.PathEffect getPathEffect();
+ method public android.graphics.Rasterizer getRasterizer();
+ method public android.graphics.Shader getShader();
+ method public android.graphics.Paint.Cap getStrokeCap();
+ method public android.graphics.Paint.Join getStrokeJoin();
+ method public float getStrokeMiter();
+ method public float getStrokeWidth();
+ method public android.graphics.Paint.Style getStyle();
+ method public android.graphics.Paint.Align getTextAlign();
+ method public void getTextBounds(java.lang.String, int, int, android.graphics.Rect);
+ method public void getTextBounds(char[], int, int, android.graphics.Rect);
+ method public void getTextPath(char[], int, int, float, float, android.graphics.Path);
+ method public void getTextPath(java.lang.String, int, int, float, float, android.graphics.Path);
+ method public float getTextScaleX();
+ method public float getTextSize();
+ method public float getTextSkewX();
+ method public int getTextWidths(char[], int, int, float[]);
+ method public int getTextWidths(java.lang.CharSequence, int, int, float[]);
+ method public int getTextWidths(java.lang.String, int, int, float[]);
+ method public int getTextWidths(java.lang.String, float[]);
+ method public android.graphics.Typeface getTypeface();
+ method public android.graphics.Xfermode getXfermode();
+ method public final boolean isAntiAlias();
+ method public final boolean isDither();
+ method public final boolean isFakeBoldText();
+ method public final boolean isFilterBitmap();
+ method public final boolean isLinearText();
+ method public final boolean isStrikeThruText();
+ method public final boolean isSubpixelText();
+ method public final boolean isUnderlineText();
+ method public float measureText(char[], int, int);
+ method public float measureText(java.lang.String, int, int);
+ method public float measureText(java.lang.String);
+ method public float measureText(java.lang.CharSequence, int, int);
+ method public void reset();
+ method public void set(android.graphics.Paint);
+ method public void setARGB(int, int, int, int);
+ method public void setAlpha(int);
+ method public void setAntiAlias(boolean);
+ method public void setColor(int);
+ method public android.graphics.ColorFilter setColorFilter(android.graphics.ColorFilter);
+ method public void setDither(boolean);
+ method public void setFakeBoldText(boolean);
+ method public void setFilterBitmap(boolean);
+ method public void setFlags(int);
+ method public void setHinting(int);
+ method public void setLinearText(boolean);
+ method public android.graphics.MaskFilter setMaskFilter(android.graphics.MaskFilter);
+ method public android.graphics.PathEffect setPathEffect(android.graphics.PathEffect);
+ method public android.graphics.Rasterizer setRasterizer(android.graphics.Rasterizer);
+ method public android.graphics.Shader setShader(android.graphics.Shader);
+ method public void setShadowLayer(float, float, float, int);
+ method public void setStrikeThruText(boolean);
+ method public void setStrokeCap(android.graphics.Paint.Cap);
+ method public void setStrokeJoin(android.graphics.Paint.Join);
+ method public void setStrokeMiter(float);
+ method public void setStrokeWidth(float);
+ method public void setStyle(android.graphics.Paint.Style);
+ method public void setSubpixelText(boolean);
+ method public void setTextAlign(android.graphics.Paint.Align);
+ method public void setTextScaleX(float);
+ method public void setTextSize(float);
+ method public void setTextSkewX(float);
+ method public android.graphics.Typeface setTypeface(android.graphics.Typeface);
+ method public void setUnderlineText(boolean);
+ method public android.graphics.Xfermode setXfermode(android.graphics.Xfermode);
+ field public static final int ANTI_ALIAS_FLAG = 1; // 0x1
+ field public static final int DEV_KERN_TEXT_FLAG = 256; // 0x100
+ field public static final int DITHER_FLAG = 4; // 0x4
+ field public static final int FAKE_BOLD_TEXT_FLAG = 32; // 0x20
+ field public static final int FILTER_BITMAP_FLAG = 2; // 0x2
+ field public static final int HINTING_OFF = 0; // 0x0
+ field public static final int HINTING_ON = 1; // 0x1
+ field public static final int LINEAR_TEXT_FLAG = 64; // 0x40
+ field public static final int STRIKE_THRU_TEXT_FLAG = 16; // 0x10
+ field public static final int SUBPIXEL_TEXT_FLAG = 128; // 0x80
+ field public static final int UNDERLINE_TEXT_FLAG = 8; // 0x8
+ }
+
+ public static final class Paint.Align extends java.lang.Enum {
+ method public static android.graphics.Paint.Align valueOf(java.lang.String);
+ method public static final android.graphics.Paint.Align[] values();
+ enum_constant public static final android.graphics.Paint.Align CENTER;
+ enum_constant public static final android.graphics.Paint.Align LEFT;
+ enum_constant public static final android.graphics.Paint.Align RIGHT;
+ }
+
+ public static final class Paint.Cap extends java.lang.Enum {
+ method public static android.graphics.Paint.Cap valueOf(java.lang.String);
+ method public static final android.graphics.Paint.Cap[] values();
+ enum_constant public static final android.graphics.Paint.Cap BUTT;
+ enum_constant public static final android.graphics.Paint.Cap ROUND;
+ enum_constant public static final android.graphics.Paint.Cap SQUARE;
+ }
+
+ public static class Paint.FontMetrics {
+ ctor public Paint.FontMetrics();
+ field public float ascent;
+ field public float bottom;
+ field public float descent;
+ field public float leading;
+ field public float top;
+ }
+
+ public static class Paint.FontMetricsInt {
+ ctor public Paint.FontMetricsInt();
+ field public int ascent;
+ field public int bottom;
+ field public int descent;
+ field public int leading;
+ field public int top;
+ }
+
+ public static final class Paint.Join extends java.lang.Enum {
+ method public static android.graphics.Paint.Join valueOf(java.lang.String);
+ method public static final android.graphics.Paint.Join[] values();
+ enum_constant public static final android.graphics.Paint.Join BEVEL;
+ enum_constant public static final android.graphics.Paint.Join MITER;
+ enum_constant public static final android.graphics.Paint.Join ROUND;
+ }
+
+ public static final class Paint.Style extends java.lang.Enum {
+ method public static android.graphics.Paint.Style valueOf(java.lang.String);
+ method public static final android.graphics.Paint.Style[] values();
+ enum_constant public static final android.graphics.Paint.Style FILL;
+ enum_constant public static final android.graphics.Paint.Style FILL_AND_STROKE;
+ enum_constant public static final android.graphics.Paint.Style STROKE;
+ }
+
+ public class PaintFlagsDrawFilter extends android.graphics.DrawFilter {
+ ctor public PaintFlagsDrawFilter(int, int);
+ }
+
+ public class Path {
+ ctor public Path();
+ ctor public Path(android.graphics.Path);
+ method public void addArc(android.graphics.RectF, float, float);
+ method public void addCircle(float, float, float, android.graphics.Path.Direction);
+ method public void addOval(android.graphics.RectF, android.graphics.Path.Direction);
+ method public void addPath(android.graphics.Path, float, float);
+ method public void addPath(android.graphics.Path);
+ method public void addPath(android.graphics.Path, android.graphics.Matrix);
+ method public void addRect(android.graphics.RectF, android.graphics.Path.Direction);
+ method public void addRect(float, float, float, float, android.graphics.Path.Direction);
+ method public void addRoundRect(android.graphics.RectF, float, float, android.graphics.Path.Direction);
+ method public void addRoundRect(android.graphics.RectF, float[], android.graphics.Path.Direction);
+ method public void arcTo(android.graphics.RectF, float, float, boolean);
+ method public void arcTo(android.graphics.RectF, float, float);
+ method public void close();
+ method public void computeBounds(android.graphics.RectF, boolean);
+ method public void cubicTo(float, float, float, float, float, float);
+ method public android.graphics.Path.FillType getFillType();
+ method public void incReserve(int);
+ method public boolean isEmpty();
+ method public boolean isInverseFillType();
+ method public boolean isRect(android.graphics.RectF);
+ method public void lineTo(float, float);
+ method public void moveTo(float, float);
+ method public void offset(float, float, android.graphics.Path);
+ method public void offset(float, float);
+ method public void quadTo(float, float, float, float);
+ method public void rCubicTo(float, float, float, float, float, float);
+ method public void rLineTo(float, float);
+ method public void rMoveTo(float, float);
+ method public void rQuadTo(float, float, float, float);
+ method public void reset();
+ method public void rewind();
+ method public void set(android.graphics.Path);
+ method public void setFillType(android.graphics.Path.FillType);
+ method public void setLastPoint(float, float);
+ method public void toggleInverseFillType();
+ method public void transform(android.graphics.Matrix, android.graphics.Path);
+ method public void transform(android.graphics.Matrix);
+ }
+
+ public static final class Path.Direction extends java.lang.Enum {
+ method public static android.graphics.Path.Direction valueOf(java.lang.String);
+ method public static final android.graphics.Path.Direction[] values();
+ enum_constant public static final android.graphics.Path.Direction CCW;
+ enum_constant public static final android.graphics.Path.Direction CW;
+ }
+
+ public static final class Path.FillType extends java.lang.Enum {
+ method public static android.graphics.Path.FillType valueOf(java.lang.String);
+ method public static final android.graphics.Path.FillType[] values();
+ enum_constant public static final android.graphics.Path.FillType EVEN_ODD;
+ enum_constant public static final android.graphics.Path.FillType INVERSE_EVEN_ODD;
+ enum_constant public static final android.graphics.Path.FillType INVERSE_WINDING;
+ enum_constant public static final android.graphics.Path.FillType WINDING;
+ }
+
+ public class PathDashPathEffect extends android.graphics.PathEffect {
+ ctor public PathDashPathEffect(android.graphics.Path, float, float, android.graphics.PathDashPathEffect.Style);
+ }
+
+ public static final class PathDashPathEffect.Style extends java.lang.Enum {
+ method public static android.graphics.PathDashPathEffect.Style valueOf(java.lang.String);
+ method public static final android.graphics.PathDashPathEffect.Style[] values();
+ enum_constant public static final android.graphics.PathDashPathEffect.Style MORPH;
+ enum_constant public static final android.graphics.PathDashPathEffect.Style ROTATE;
+ enum_constant public static final android.graphics.PathDashPathEffect.Style TRANSLATE;
+ }
+
+ public class PathEffect {
+ ctor public PathEffect();
+ }
+
+ public class PathMeasure {
+ ctor public PathMeasure();
+ ctor public PathMeasure(android.graphics.Path, boolean);
+ method public float getLength();
+ method public boolean getMatrix(float, android.graphics.Matrix, int);
+ method public boolean getPosTan(float, float[], float[]);
+ method public boolean getSegment(float, float, android.graphics.Path, boolean);
+ method public boolean isClosed();
+ method public boolean nextContour();
+ method public void setPath(android.graphics.Path, boolean);
+ field public static final int POSITION_MATRIX_FLAG = 1; // 0x1
+ field public static final int TANGENT_MATRIX_FLAG = 2; // 0x2
+ }
+
+ public class Picture {
+ ctor public Picture();
+ ctor public Picture(android.graphics.Picture);
+ method public android.graphics.Canvas beginRecording(int, int);
+ method public static android.graphics.Picture createFromStream(java.io.InputStream);
+ method public void draw(android.graphics.Canvas);
+ method public void endRecording();
+ method public int getHeight();
+ method public int getWidth();
+ method public void writeToStream(java.io.OutputStream);
+ }
+
+ public class PixelFormat {
+ ctor public PixelFormat();
+ method public static boolean formatHasAlpha(int);
+ method public static void getPixelFormatInfo(int, android.graphics.PixelFormat);
+ field public static final int A_8 = 8; // 0x8
+ field public static final deprecated int JPEG = 256; // 0x100
+ field public static final int LA_88 = 10; // 0xa
+ field public static final int L_8 = 9; // 0x9
+ field public static final int OPAQUE = -1; // 0xffffffff
+ field public static final int RGBA_4444 = 7; // 0x7
+ field public static final int RGBA_5551 = 6; // 0x6
+ field public static final int RGBA_8888 = 1; // 0x1
+ field public static final int RGBX_8888 = 2; // 0x2
+ field public static final int RGB_332 = 11; // 0xb
+ field public static final int RGB_565 = 4; // 0x4
+ field public static final int RGB_888 = 3; // 0x3
+ field public static final int TRANSLUCENT = -3; // 0xfffffffd
+ field public static final int TRANSPARENT = -2; // 0xfffffffe
+ field public static final int UNKNOWN = 0; // 0x0
+ field public static final deprecated int YCbCr_420_SP = 17; // 0x11
+ field public static final deprecated int YCbCr_422_I = 20; // 0x14
+ field public static final deprecated int YCbCr_422_SP = 16; // 0x10
+ field public int bitsPerPixel;
+ field public int bytesPerPixel;
+ }
+
+ public class PixelXorXfermode extends android.graphics.Xfermode {
+ ctor public PixelXorXfermode(int);
+ }
+
+ public class Point implements android.os.Parcelable {
+ ctor public Point();
+ ctor public Point(int, int);
+ ctor public Point(android.graphics.Point);
+ method public int describeContents();
+ method public final boolean equals(int, int);
+ method public final void negate();
+ method public final void offset(int, int);
+ method public void readFromParcel(android.os.Parcel);
+ method public void set(int, int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public int x;
+ field public int y;
+ }
+
+ public class PointF implements android.os.Parcelable {
+ ctor public PointF();
+ ctor public PointF(float, float);
+ ctor public PointF(android.graphics.Point);
+ method public int describeContents();
+ method public final boolean equals(float, float);
+ method public final float length();
+ method public static float length(float, float);
+ method public final void negate();
+ method public final void offset(float, float);
+ method public void readFromParcel(android.os.Parcel);
+ method public final void set(float, float);
+ method public final void set(android.graphics.PointF);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public float x;
+ field public float y;
+ }
+
+ public class PorterDuff {
+ ctor public PorterDuff();
+ }
+
+ public static final class PorterDuff.Mode extends java.lang.Enum {
+ method public static android.graphics.PorterDuff.Mode valueOf(java.lang.String);
+ method public static final android.graphics.PorterDuff.Mode[] values();
+ enum_constant public static final android.graphics.PorterDuff.Mode ADD;
+ enum_constant public static final android.graphics.PorterDuff.Mode CLEAR;
+ enum_constant public static final android.graphics.PorterDuff.Mode DARKEN;
+ enum_constant public static final android.graphics.PorterDuff.Mode DST;
+ enum_constant public static final android.graphics.PorterDuff.Mode DST_ATOP;
+ enum_constant public static final android.graphics.PorterDuff.Mode DST_IN;
+ enum_constant public static final android.graphics.PorterDuff.Mode DST_OUT;
+ enum_constant public static final android.graphics.PorterDuff.Mode DST_OVER;
+ enum_constant public static final android.graphics.PorterDuff.Mode LIGHTEN;
+ enum_constant public static final android.graphics.PorterDuff.Mode MULTIPLY;
+ enum_constant public static final android.graphics.PorterDuff.Mode OVERLAY;
+ enum_constant public static final android.graphics.PorterDuff.Mode SCREEN;
+ enum_constant public static final android.graphics.PorterDuff.Mode SRC;
+ enum_constant public static final android.graphics.PorterDuff.Mode SRC_ATOP;
+ enum_constant public static final android.graphics.PorterDuff.Mode SRC_IN;
+ enum_constant public static final android.graphics.PorterDuff.Mode SRC_OUT;
+ enum_constant public static final android.graphics.PorterDuff.Mode SRC_OVER;
+ enum_constant public static final android.graphics.PorterDuff.Mode XOR;
+ }
+
+ public class PorterDuffColorFilter extends android.graphics.ColorFilter {
+ ctor public PorterDuffColorFilter(int, android.graphics.PorterDuff.Mode);
+ }
+
+ public class PorterDuffXfermode extends android.graphics.Xfermode {
+ ctor public PorterDuffXfermode(android.graphics.PorterDuff.Mode);
+ }
+
+ public class RadialGradient extends android.graphics.Shader {
+ ctor public RadialGradient(float, float, float, int[], float[], android.graphics.Shader.TileMode);
+ ctor public RadialGradient(float, float, float, int, int, android.graphics.Shader.TileMode);
+ }
+
+ public class Rasterizer {
+ ctor public Rasterizer();
+ }
+
+ public final class Rect implements android.os.Parcelable {
+ ctor public Rect();
+ ctor public Rect(int, int, int, int);
+ ctor public Rect(android.graphics.Rect);
+ method public final int centerX();
+ method public final int centerY();
+ method public boolean contains(int, int);
+ method public boolean contains(int, int, int, int);
+ method public boolean contains(android.graphics.Rect);
+ method public int describeContents();
+ method public final float exactCenterX();
+ method public final float exactCenterY();
+ method public java.lang.String flattenToString();
+ method public final int height();
+ method public void inset(int, int);
+ method public boolean intersect(int, int, int, int);
+ method public boolean intersect(android.graphics.Rect);
+ method public boolean intersects(int, int, int, int);
+ method public static boolean intersects(android.graphics.Rect, android.graphics.Rect);
+ method public final boolean isEmpty();
+ method public void offset(int, int);
+ method public void offsetTo(int, int);
+ method public void readFromParcel(android.os.Parcel);
+ method public void set(int, int, int, int);
+ method public void set(android.graphics.Rect);
+ method public void setEmpty();
+ method public boolean setIntersect(android.graphics.Rect, android.graphics.Rect);
+ method public void sort();
+ method public java.lang.String toShortString();
+ method public static android.graphics.Rect unflattenFromString(java.lang.String);
+ method public void union(int, int, int, int);
+ method public void union(android.graphics.Rect);
+ method public void union(int, int);
+ method public final int width();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public int bottom;
+ field public int left;
+ field public int right;
+ field public int top;
+ }
+
+ public class RectF implements android.os.Parcelable {
+ ctor public RectF();
+ ctor public RectF(float, float, float, float);
+ ctor public RectF(android.graphics.RectF);
+ ctor public RectF(android.graphics.Rect);
+ method public final float centerX();
+ method public final float centerY();
+ method public boolean contains(float, float);
+ method public boolean contains(float, float, float, float);
+ method public boolean contains(android.graphics.RectF);
+ method public int describeContents();
+ method public final float height();
+ method public void inset(float, float);
+ method public boolean intersect(float, float, float, float);
+ method public boolean intersect(android.graphics.RectF);
+ method public boolean intersects(float, float, float, float);
+ method public static boolean intersects(android.graphics.RectF, android.graphics.RectF);
+ method public final boolean isEmpty();
+ method public void offset(float, float);
+ method public void offsetTo(float, float);
+ method public void readFromParcel(android.os.Parcel);
+ method public void round(android.graphics.Rect);
+ method public void roundOut(android.graphics.Rect);
+ method public void set(float, float, float, float);
+ method public void set(android.graphics.RectF);
+ method public void set(android.graphics.Rect);
+ method public void setEmpty();
+ method public boolean setIntersect(android.graphics.RectF, android.graphics.RectF);
+ method public void sort();
+ method public java.lang.String toShortString();
+ method public void union(float, float, float, float);
+ method public void union(android.graphics.RectF);
+ method public void union(float, float);
+ method public final float width();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public float bottom;
+ field public float left;
+ field public float right;
+ field public float top;
+ }
+
+ public class Region implements android.os.Parcelable {
+ ctor public Region();
+ ctor public Region(android.graphics.Region);
+ ctor public Region(android.graphics.Rect);
+ ctor public Region(int, int, int, int);
+ method public boolean contains(int, int);
+ method public int describeContents();
+ method public android.graphics.Path getBoundaryPath();
+ method public boolean getBoundaryPath(android.graphics.Path);
+ method public android.graphics.Rect getBounds();
+ method public boolean getBounds(android.graphics.Rect);
+ method public boolean isComplex();
+ method public boolean isEmpty();
+ method public boolean isRect();
+ method public boolean op(android.graphics.Rect, android.graphics.Region.Op);
+ method public boolean op(int, int, int, int, android.graphics.Region.Op);
+ method public boolean op(android.graphics.Region, android.graphics.Region.Op);
+ method public boolean op(android.graphics.Rect, android.graphics.Region, android.graphics.Region.Op);
+ method public boolean op(android.graphics.Region, android.graphics.Region, android.graphics.Region.Op);
+ method public boolean quickContains(android.graphics.Rect);
+ method public boolean quickContains(int, int, int, int);
+ method public boolean quickReject(android.graphics.Rect);
+ method public boolean quickReject(int, int, int, int);
+ method public boolean quickReject(android.graphics.Region);
+ method public boolean set(android.graphics.Region);
+ method public boolean set(android.graphics.Rect);
+ method public boolean set(int, int, int, int);
+ method public void setEmpty();
+ method public boolean setPath(android.graphics.Path, android.graphics.Region);
+ method public void translate(int, int);
+ method public void translate(int, int, android.graphics.Region);
+ method public final boolean union(android.graphics.Rect);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public static final class Region.Op extends java.lang.Enum {
+ method public static android.graphics.Region.Op valueOf(java.lang.String);
+ method public static final android.graphics.Region.Op[] values();
+ enum_constant public static final android.graphics.Region.Op DIFFERENCE;
+ enum_constant public static final android.graphics.Region.Op INTERSECT;
+ enum_constant public static final android.graphics.Region.Op REPLACE;
+ enum_constant public static final android.graphics.Region.Op REVERSE_DIFFERENCE;
+ enum_constant public static final android.graphics.Region.Op UNION;
+ enum_constant public static final android.graphics.Region.Op XOR;
+ }
+
+ public class RegionIterator {
+ ctor public RegionIterator(android.graphics.Region);
+ method public final boolean next(android.graphics.Rect);
+ }
+
+ public class Shader {
+ ctor public Shader();
+ method public boolean getLocalMatrix(android.graphics.Matrix);
+ method public void setLocalMatrix(android.graphics.Matrix);
+ }
+
+ public static final class Shader.TileMode extends java.lang.Enum {
+ method public static android.graphics.Shader.TileMode valueOf(java.lang.String);
+ method public static final android.graphics.Shader.TileMode[] values();
+ enum_constant public static final android.graphics.Shader.TileMode CLAMP;
+ enum_constant public static final android.graphics.Shader.TileMode MIRROR;
+ enum_constant public static final android.graphics.Shader.TileMode REPEAT;
+ }
+
+ public class SumPathEffect extends android.graphics.PathEffect {
+ ctor public SumPathEffect(android.graphics.PathEffect, android.graphics.PathEffect);
+ }
+
+ public class SurfaceTexture {
+ ctor public SurfaceTexture(int);
+ method public long getTimestamp();
+ method public void getTransformMatrix(float[]);
+ method public void release();
+ method public void setOnFrameAvailableListener(android.graphics.SurfaceTexture.OnFrameAvailableListener);
+ method public void updateTexImage();
+ }
+
+ public static abstract interface SurfaceTexture.OnFrameAvailableListener {
+ method public abstract void onFrameAvailable(android.graphics.SurfaceTexture);
+ }
+
+ public static class SurfaceTexture.OutOfResourcesException extends java.lang.Exception {
+ ctor public SurfaceTexture.OutOfResourcesException();
+ ctor public SurfaceTexture.OutOfResourcesException(java.lang.String);
+ }
+
+ public class SweepGradient extends android.graphics.Shader {
+ ctor public SweepGradient(float, float, int[], float[]);
+ ctor public SweepGradient(float, float, int, int);
+ }
+
+ public class Typeface {
+ method public static android.graphics.Typeface create(java.lang.String, int);
+ method public static android.graphics.Typeface create(android.graphics.Typeface, int);
+ method public static android.graphics.Typeface createFromAsset(android.content.res.AssetManager, java.lang.String);
+ method public static android.graphics.Typeface createFromFile(java.io.File);
+ method public static android.graphics.Typeface createFromFile(java.lang.String);
+ method public static android.graphics.Typeface defaultFromStyle(int);
+ method public int getStyle();
+ method public final boolean isBold();
+ method public final boolean isItalic();
+ field public static final int BOLD = 1; // 0x1
+ field public static final int BOLD_ITALIC = 3; // 0x3
+ field public static final android.graphics.Typeface DEFAULT;
+ field public static final android.graphics.Typeface DEFAULT_BOLD;
+ field public static final int ITALIC = 2; // 0x2
+ field public static final android.graphics.Typeface MONOSPACE;
+ field public static final int NORMAL = 0; // 0x0
+ field public static final android.graphics.Typeface SANS_SERIF;
+ field public static final android.graphics.Typeface SERIF;
+ }
+
+ public class Xfermode {
+ ctor public Xfermode();
+ }
+
+ public class YuvImage {
+ ctor public YuvImage(byte[], int, int, int, int[]);
+ method public boolean compressToJpeg(android.graphics.Rect, int, java.io.OutputStream);
+ method public int getHeight();
+ method public int[] getStrides();
+ method public int getWidth();
+ method public byte[] getYuvData();
+ method public int getYuvFormat();
+ }
+
+}
+
+package android.graphics.drawable {
+
+ public abstract interface Animatable {
+ method public abstract boolean isRunning();
+ method public abstract void start();
+ method public abstract void stop();
+ }
+
+ public class AnimationDrawable extends android.graphics.drawable.DrawableContainer implements android.graphics.drawable.Animatable java.lang.Runnable {
+ ctor public AnimationDrawable();
+ method public void addFrame(android.graphics.drawable.Drawable, int);
+ method public int getDuration(int);
+ method public android.graphics.drawable.Drawable getFrame(int);
+ method public int getNumberOfFrames();
+ method public boolean isOneShot();
+ method public boolean isRunning();
+ method public void run();
+ method public void setOneShot(boolean);
+ method public void start();
+ method public void stop();
+ }
+
+ public class BitmapDrawable extends android.graphics.drawable.Drawable {
+ ctor public deprecated BitmapDrawable();
+ ctor public BitmapDrawable(android.content.res.Resources);
+ ctor public deprecated BitmapDrawable(android.graphics.Bitmap);
+ ctor public BitmapDrawable(android.content.res.Resources, android.graphics.Bitmap);
+ ctor public deprecated BitmapDrawable(java.lang.String);
+ ctor public BitmapDrawable(android.content.res.Resources, java.lang.String);
+ ctor public deprecated BitmapDrawable(java.io.InputStream);
+ ctor public BitmapDrawable(android.content.res.Resources, java.io.InputStream);
+ method public void draw(android.graphics.Canvas);
+ method public final android.graphics.Bitmap getBitmap();
+ method public final android.graphics.drawable.Drawable.ConstantState getConstantState();
+ method public int getGravity();
+ method public int getOpacity();
+ method public final android.graphics.Paint getPaint();
+ method public android.graphics.Shader.TileMode getTileModeX();
+ method public android.graphics.Shader.TileMode getTileModeY();
+ method public void setAlpha(int);
+ method public void setAntiAlias(boolean);
+ method public void setColorFilter(android.graphics.ColorFilter);
+ method public void setGravity(int);
+ method public void setTargetDensity(android.graphics.Canvas);
+ method public void setTargetDensity(android.util.DisplayMetrics);
+ method public void setTargetDensity(int);
+ method public void setTileModeX(android.graphics.Shader.TileMode);
+ method public void setTileModeXY(android.graphics.Shader.TileMode, android.graphics.Shader.TileMode);
+ method public final void setTileModeY(android.graphics.Shader.TileMode);
+ }
+
+ public class ClipDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+ ctor public ClipDrawable(android.graphics.drawable.Drawable, int, int);
+ method public void draw(android.graphics.Canvas);
+ method public int getOpacity();
+ method public void invalidateDrawable(android.graphics.drawable.Drawable);
+ method public void scheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable, long);
+ method public void setAlpha(int);
+ method public void setColorFilter(android.graphics.ColorFilter);
+ method public void unscheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable);
+ field public static final int HORIZONTAL = 1; // 0x1
+ field public static final int VERTICAL = 2; // 0x2
+ }
+
+ public class ColorDrawable extends android.graphics.drawable.Drawable {
+ ctor public ColorDrawable();
+ ctor public ColorDrawable(int);
+ method public void draw(android.graphics.Canvas);
+ method public int getAlpha();
+ method public int getColor();
+ method public int getOpacity();
+ method public void setAlpha(int);
+ method public void setColor(int);
+ method public void setColorFilter(android.graphics.ColorFilter);
+ }
+
+ public abstract class Drawable {
+ ctor public Drawable();
+ method public void clearColorFilter();
+ method public final void copyBounds(android.graphics.Rect);
+ method public final android.graphics.Rect copyBounds();
+ method public static android.graphics.drawable.Drawable createFromPath(java.lang.String);
+ method public static android.graphics.drawable.Drawable createFromResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, java.lang.String);
+ method public static android.graphics.drawable.Drawable createFromResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, java.lang.String, android.graphics.BitmapFactory.Options);
+ method public static android.graphics.drawable.Drawable createFromStream(java.io.InputStream, java.lang.String);
+ method public static android.graphics.drawable.Drawable createFromXml(android.content.res.Resources, org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public static android.graphics.drawable.Drawable createFromXmlInner(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public abstract void draw(android.graphics.Canvas);
+ method public final android.graphics.Rect getBounds();
+ method public android.graphics.drawable.Drawable.Callback getCallback();
+ method public int getChangingConfigurations();
+ method public android.graphics.drawable.Drawable.ConstantState getConstantState();
+ method public android.graphics.drawable.Drawable getCurrent();
+ method public int getIntrinsicHeight();
+ method public int getIntrinsicWidth();
+ method public final int getLevel();
+ method public int getMinimumHeight();
+ method public int getMinimumWidth();
+ method public abstract int getOpacity();
+ method public boolean getPadding(android.graphics.Rect);
+ method public int[] getState();
+ method public android.graphics.Region getTransparentRegion();
+ method public void inflate(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public void invalidateSelf();
+ method public boolean isStateful();
+ method public final boolean isVisible();
+ method public void jumpToCurrentState();
+ method public android.graphics.drawable.Drawable mutate();
+ method protected void onBoundsChange(android.graphics.Rect);
+ method protected boolean onLevelChange(int);
+ method protected boolean onStateChange(int[]);
+ method public static int resolveOpacity(int, int);
+ method public void scheduleSelf(java.lang.Runnable, long);
+ method public abstract void setAlpha(int);
+ method public void setBounds(int, int, int, int);
+ method public void setBounds(android.graphics.Rect);
+ method public final void setCallback(android.graphics.drawable.Drawable.Callback);
+ method public void setChangingConfigurations(int);
+ method public abstract void setColorFilter(android.graphics.ColorFilter);
+ method public void setColorFilter(int, android.graphics.PorterDuff.Mode);
+ method public void setDither(boolean);
+ method public void setFilterBitmap(boolean);
+ method public final boolean setLevel(int);
+ method public boolean setState(int[]);
+ method public boolean setVisible(boolean, boolean);
+ method public void unscheduleSelf(java.lang.Runnable);
+ }
+
+ public static abstract interface Drawable.Callback {
+ method public abstract void invalidateDrawable(android.graphics.drawable.Drawable);
+ method public abstract void scheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable, long);
+ method public abstract void unscheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable);
+ }
+
+ public static abstract class Drawable.ConstantState {
+ ctor public Drawable.ConstantState();
+ method public abstract int getChangingConfigurations();
+ method public abstract android.graphics.drawable.Drawable newDrawable();
+ method public android.graphics.drawable.Drawable newDrawable(android.content.res.Resources);
+ }
+
+ public class DrawableContainer extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+ ctor public DrawableContainer();
+ method public void draw(android.graphics.Canvas);
+ method public int getOpacity();
+ method public void invalidateDrawable(android.graphics.drawable.Drawable);
+ method public void scheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable, long);
+ method public boolean selectDrawable(int);
+ method public void setAlpha(int);
+ method public void setColorFilter(android.graphics.ColorFilter);
+ method protected void setConstantState(android.graphics.drawable.DrawableContainer.DrawableContainerState);
+ method public void setEnterFadeDuration(int);
+ method public void setExitFadeDuration(int);
+ method public void unscheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable);
+ }
+
+ public static abstract class DrawableContainer.DrawableContainerState extends android.graphics.drawable.Drawable.ConstantState {
+ method public final int addChild(android.graphics.drawable.Drawable);
+ method public synchronized boolean canConstantState();
+ method protected void computeConstantSize();
+ method public int getChangingConfigurations();
+ method public final int getChildCount();
+ method public final android.graphics.drawable.Drawable[] getChildren();
+ method public final int getConstantHeight();
+ method public final int getConstantMinimumHeight();
+ method public final int getConstantMinimumWidth();
+ method public final android.graphics.Rect getConstantPadding();
+ method public final int getConstantWidth();
+ method public final int getEnterFadeDuration();
+ method public final int getExitFadeDuration();
+ method public final int getOpacity();
+ method public void growArray(int, int);
+ method public final boolean isConstantSize();
+ method public final boolean isStateful();
+ method public final void setConstantSize(boolean);
+ method public final void setEnterFadeDuration(int);
+ method public final void setExitFadeDuration(int);
+ method public final void setVariablePadding(boolean);
+ }
+
+ public class GradientDrawable extends android.graphics.drawable.Drawable {
+ ctor public GradientDrawable();
+ ctor public GradientDrawable(android.graphics.drawable.GradientDrawable.Orientation, int[]);
+ method public void draw(android.graphics.Canvas);
+ method public int getOpacity();
+ method public void setAlpha(int);
+ method public void setColor(int);
+ method public void setColorFilter(android.graphics.ColorFilter);
+ method public void setCornerRadii(float[]);
+ method public void setCornerRadius(float);
+ method public void setGradientCenter(float, float);
+ method public void setGradientRadius(float);
+ method public void setGradientType(int);
+ method public void setShape(int);
+ method public void setSize(int, int);
+ method public void setStroke(int, int);
+ method public void setStroke(int, int, float, float);
+ method public void setUseLevel(boolean);
+ field public static final int LINE = 2; // 0x2
+ field public static final int LINEAR_GRADIENT = 0; // 0x0
+ field public static final int OVAL = 1; // 0x1
+ field public static final int RADIAL_GRADIENT = 1; // 0x1
+ field public static final int RECTANGLE = 0; // 0x0
+ field public static final int RING = 3; // 0x3
+ field public static final int SWEEP_GRADIENT = 2; // 0x2
+ }
+
+ public static final class GradientDrawable.Orientation extends java.lang.Enum {
+ method public static android.graphics.drawable.GradientDrawable.Orientation valueOf(java.lang.String);
+ method public static final android.graphics.drawable.GradientDrawable.Orientation[] values();
+ enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation BL_TR;
+ enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation BOTTOM_TOP;
+ enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation BR_TL;
+ enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation LEFT_RIGHT;
+ enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation RIGHT_LEFT;
+ enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation TL_BR;
+ enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation TOP_BOTTOM;
+ enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation TR_BL;
+ }
+
+ public class InsetDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+ ctor public InsetDrawable(android.graphics.drawable.Drawable, int);
+ ctor public InsetDrawable(android.graphics.drawable.Drawable, int, int, int, int);
+ method public void draw(android.graphics.Canvas);
+ method public int getOpacity();
+ method public void invalidateDrawable(android.graphics.drawable.Drawable);
+ method public void scheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable, long);
+ method public void setAlpha(int);
+ method public void setColorFilter(android.graphics.ColorFilter);
+ method public void unscheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable);
+ }
+
+ public class LayerDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+ ctor public LayerDrawable(android.graphics.drawable.Drawable[]);
+ method public void draw(android.graphics.Canvas);
+ method public android.graphics.drawable.Drawable findDrawableByLayerId(int);
+ method public android.graphics.drawable.Drawable getDrawable(int);
+ method public int getId(int);
+ method public int getNumberOfLayers();
+ method public int getOpacity();
+ method public void invalidateDrawable(android.graphics.drawable.Drawable);
+ method public void scheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable, long);
+ method public void setAlpha(int);
+ method public void setColorFilter(android.graphics.ColorFilter);
+ method public boolean setDrawableByLayerId(int, android.graphics.drawable.Drawable);
+ method public void setId(int, int);
+ method public void setLayerInset(int, int, int, int, int);
+ method public void setOpacity(int);
+ method public void unscheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable);
+ }
+
+ public class LevelListDrawable extends android.graphics.drawable.DrawableContainer {
+ ctor public LevelListDrawable();
+ method public void addLevel(int, int, android.graphics.drawable.Drawable);
+ }
+
+ public class NinePatchDrawable extends android.graphics.drawable.Drawable {
+ ctor public deprecated NinePatchDrawable(android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String);
+ ctor public NinePatchDrawable(android.content.res.Resources, android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String);
+ ctor public deprecated NinePatchDrawable(android.graphics.NinePatch);
+ ctor public NinePatchDrawable(android.content.res.Resources, android.graphics.NinePatch);
+ method public void draw(android.graphics.Canvas);
+ method public int getOpacity();
+ method public android.graphics.Paint getPaint();
+ method public void setAlpha(int);
+ method public void setColorFilter(android.graphics.ColorFilter);
+ method public void setTargetDensity(android.graphics.Canvas);
+ method public void setTargetDensity(android.util.DisplayMetrics);
+ method public void setTargetDensity(int);
+ }
+
+ public class PaintDrawable extends android.graphics.drawable.ShapeDrawable {
+ ctor public PaintDrawable();
+ ctor public PaintDrawable(int);
+ method public void setCornerRadii(float[]);
+ method public void setCornerRadius(float);
+ }
+
+ public class PictureDrawable extends android.graphics.drawable.Drawable {
+ ctor public PictureDrawable(android.graphics.Picture);
+ method public void draw(android.graphics.Canvas);
+ method public int getOpacity();
+ method public android.graphics.Picture getPicture();
+ method public void setAlpha(int);
+ method public void setColorFilter(android.graphics.ColorFilter);
+ method public void setPicture(android.graphics.Picture);
+ }
+
+ public class RotateDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+ ctor public RotateDrawable();
+ method public void draw(android.graphics.Canvas);
+ method public android.graphics.drawable.Drawable getDrawable();
+ method public int getOpacity();
+ method public void invalidateDrawable(android.graphics.drawable.Drawable);
+ method public void scheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable, long);
+ method public void setAlpha(int);
+ method public void setColorFilter(android.graphics.ColorFilter);
+ method public void unscheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable);
+ }
+
+ public class ScaleDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+ ctor public ScaleDrawable(android.graphics.drawable.Drawable, int, float, float);
+ method public void draw(android.graphics.Canvas);
+ method public android.graphics.drawable.Drawable getDrawable();
+ method public int getOpacity();
+ method public void invalidateDrawable(android.graphics.drawable.Drawable);
+ method public void scheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable, long);
+ method public void setAlpha(int);
+ method public void setColorFilter(android.graphics.ColorFilter);
+ method public void unscheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable);
+ }
+
+ public class ShapeDrawable extends android.graphics.drawable.Drawable {
+ ctor public ShapeDrawable();
+ ctor public ShapeDrawable(android.graphics.drawable.shapes.Shape);
+ method public void draw(android.graphics.Canvas);
+ method public int getOpacity();
+ method public android.graphics.Paint getPaint();
+ method public android.graphics.drawable.ShapeDrawable.ShaderFactory getShaderFactory();
+ method public android.graphics.drawable.shapes.Shape getShape();
+ method protected boolean inflateTag(java.lang.String, android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet);
+ method protected void onDraw(android.graphics.drawable.shapes.Shape, android.graphics.Canvas, android.graphics.Paint);
+ method public void setAlpha(int);
+ method public void setColorFilter(android.graphics.ColorFilter);
+ method public void setIntrinsicHeight(int);
+ method public void setIntrinsicWidth(int);
+ method public void setPadding(int, int, int, int);
+ method public void setPadding(android.graphics.Rect);
+ method public void setShaderFactory(android.graphics.drawable.ShapeDrawable.ShaderFactory);
+ method public void setShape(android.graphics.drawable.shapes.Shape);
+ }
+
+ public static abstract class ShapeDrawable.ShaderFactory {
+ ctor public ShapeDrawable.ShaderFactory();
+ method public abstract android.graphics.Shader resize(int, int);
+ }
+
+ public class StateListDrawable extends android.graphics.drawable.DrawableContainer {
+ ctor public StateListDrawable();
+ method public void addState(int[], android.graphics.drawable.Drawable);
+ }
+
+ public class TransitionDrawable extends android.graphics.drawable.LayerDrawable implements android.graphics.drawable.Drawable.Callback {
+ ctor public TransitionDrawable(android.graphics.drawable.Drawable[]);
+ method public boolean isCrossFadeEnabled();
+ method public void resetTransition();
+ method public void reverseTransition(int);
+ method public void setCrossFadeEnabled(boolean);
+ method public void startTransition(int);
+ }
+
+}
+
+package android.graphics.drawable.shapes {
+
+ public class ArcShape extends android.graphics.drawable.shapes.RectShape {
+ ctor public ArcShape(float, float);
+ }
+
+ public class OvalShape extends android.graphics.drawable.shapes.RectShape {
+ ctor public OvalShape();
+ }
+
+ public class PathShape extends android.graphics.drawable.shapes.Shape {
+ ctor public PathShape(android.graphics.Path, float, float);
+ method public void draw(android.graphics.Canvas, android.graphics.Paint);
+ }
+
+ public class RectShape extends android.graphics.drawable.shapes.Shape {
+ ctor public RectShape();
+ method public void draw(android.graphics.Canvas, android.graphics.Paint);
+ method protected final android.graphics.RectF rect();
+ }
+
+ public class RoundRectShape extends android.graphics.drawable.shapes.RectShape {
+ ctor public RoundRectShape(float[], android.graphics.RectF, float[]);
+ }
+
+ public abstract class Shape implements java.lang.Cloneable {
+ ctor public Shape();
+ method public android.graphics.drawable.shapes.Shape clone() throws java.lang.CloneNotSupportedException;
+ method public abstract void draw(android.graphics.Canvas, android.graphics.Paint);
+ method public final float getHeight();
+ method public final float getWidth();
+ method public boolean hasAlpha();
+ method protected void onResize(float, float);
+ method public final void resize(float, float);
+ }
+
+}
+
+package android.hardware {
+
+ public class Camera {
+ method public final void addCallbackBuffer(byte[]);
+ method public final void autoFocus(android.hardware.Camera.AutoFocusCallback);
+ method public final void cancelAutoFocus();
+ method public static void getCameraInfo(int, android.hardware.Camera.CameraInfo);
+ method public static int getNumberOfCameras();
+ method public android.hardware.Camera.Parameters getParameters();
+ method public final void lock();
+ method public static android.hardware.Camera open(int);
+ method public static android.hardware.Camera open();
+ method public final void reconnect() throws java.io.IOException;
+ method public final void release();
+ method public final void setDisplayOrientation(int);
+ method public final void setErrorCallback(android.hardware.Camera.ErrorCallback);
+ method public final void setFaceDetectionListener(android.hardware.Camera.FaceDetectionListener);
+ method public final void setOneShotPreviewCallback(android.hardware.Camera.PreviewCallback);
+ method public void setParameters(android.hardware.Camera.Parameters);
+ method public final void setPreviewCallback(android.hardware.Camera.PreviewCallback);
+ method public final void setPreviewCallbackWithBuffer(android.hardware.Camera.PreviewCallback);
+ method public final void setPreviewDisplay(android.view.SurfaceHolder) throws java.io.IOException;
+ method public final void setPreviewTexture(android.graphics.SurfaceTexture) throws java.io.IOException;
+ method public final void setZoomChangeListener(android.hardware.Camera.OnZoomChangeListener);
+ method public final void startFaceDetection();
+ method public final void startPreview();
+ method public final void startSmoothZoom(int);
+ method public final void stopFaceDetection();
+ method public final void stopPreview();
+ method public final void stopSmoothZoom();
+ method public final void takePicture(android.hardware.Camera.ShutterCallback, android.hardware.Camera.PictureCallback, android.hardware.Camera.PictureCallback);
+ method public final void takePicture(android.hardware.Camera.ShutterCallback, android.hardware.Camera.PictureCallback, android.hardware.Camera.PictureCallback, android.hardware.Camera.PictureCallback);
+ method public final void unlock();
+ field public static final java.lang.String ACTION_NEW_PICTURE = "android.hardware.action.NEW_PICTURE";
+ field public static final java.lang.String ACTION_NEW_VIDEO = "android.hardware.action.NEW_VIDEO";
+ field public static final int CAMERA_ERROR_SERVER_DIED = 100; // 0x64
+ field public static final int CAMERA_ERROR_UNKNOWN = 1; // 0x1
+ }
+
+ public static class Camera.Area {
+ ctor public Camera.Area(android.graphics.Rect, int);
+ field public android.graphics.Rect rect;
+ field public int weight;
+ }
+
+ public static abstract interface Camera.AutoFocusCallback {
+ method public abstract void onAutoFocus(boolean, android.hardware.Camera);
+ }
+
+ public static class Camera.CameraInfo {
+ ctor public Camera.CameraInfo();
+ field public static final int CAMERA_FACING_BACK = 0; // 0x0
+ field public static final int CAMERA_FACING_FRONT = 1; // 0x1
+ field public int facing;
+ field public int orientation;
+ }
+
+ public static abstract interface Camera.ErrorCallback {
+ method public abstract void onError(int, android.hardware.Camera);
+ }
+
+ public static class Camera.Face {
+ ctor public Camera.Face();
+ field public int id;
+ field public android.graphics.Point leftEye;
+ field public android.graphics.Point mouth;
+ field public android.graphics.Rect rect;
+ field public android.graphics.Point rightEye;
+ field public int score;
+ }
+
+ public static abstract interface Camera.FaceDetectionListener {
+ method public abstract void onFaceDetection(android.hardware.Camera.Face[], android.hardware.Camera);
+ }
+
+ public static abstract interface Camera.OnZoomChangeListener {
+ method public abstract void onZoomChange(int, boolean, android.hardware.Camera);
+ }
+
+ public class Camera.Parameters {
+ method public java.lang.String flatten();
+ method public java.lang.String get(java.lang.String);
+ method public java.lang.String getAntibanding();
+ method public boolean getAutoExposureLock();
+ method public boolean getAutoWhiteBalanceLock();
+ method public java.lang.String getColorEffect();
+ method public int getExposureCompensation();
+ method public float getExposureCompensationStep();
+ method public java.lang.String getFlashMode();
+ method public float getFocalLength();
+ method public java.util.List<android.hardware.Camera.Area> getFocusAreas();
+ method public void getFocusDistances(float[]);
+ method public java.lang.String getFocusMode();
+ method public float getHorizontalViewAngle();
+ method public int getInt(java.lang.String);
+ method public int getJpegQuality();
+ method public int getJpegThumbnailQuality();
+ method public android.hardware.Camera.Size getJpegThumbnailSize();
+ method public int getMaxExposureCompensation();
+ method public int getMaxNumDetectedFaces();
+ method public int getMaxNumFocusAreas();
+ method public int getMaxNumMeteringAreas();
+ method public int getMaxZoom();
+ method public java.util.List<android.hardware.Camera.Area> getMeteringAreas();
+ method public int getMinExposureCompensation();
+ method public int getPictureFormat();
+ method public android.hardware.Camera.Size getPictureSize();
+ method public android.hardware.Camera.Size getPreferredPreviewSizeForVideo();
+ method public int getPreviewFormat();
+ method public void getPreviewFpsRange(int[]);
+ method public deprecated int getPreviewFrameRate();
+ method public android.hardware.Camera.Size getPreviewSize();
+ method public java.lang.String getSceneMode();
+ method public java.util.List<java.lang.String> getSupportedAntibanding();
+ method public java.util.List<java.lang.String> getSupportedColorEffects();
+ method public java.util.List<java.lang.String> getSupportedFlashModes();
+ method public java.util.List<java.lang.String> getSupportedFocusModes();
+ method public java.util.List<android.hardware.Camera.Size> getSupportedJpegThumbnailSizes();
+ method public java.util.List<java.lang.Integer> getSupportedPictureFormats();
+ method public java.util.List<android.hardware.Camera.Size> getSupportedPictureSizes();
+ method public java.util.List<java.lang.Integer> getSupportedPreviewFormats();
+ method public java.util.List<int[]> getSupportedPreviewFpsRange();
+ method public deprecated java.util.List<java.lang.Integer> getSupportedPreviewFrameRates();
+ method public java.util.List<android.hardware.Camera.Size> getSupportedPreviewSizes();
+ method public java.util.List<java.lang.String> getSupportedSceneModes();
+ method public java.util.List<android.hardware.Camera.Size> getSupportedVideoSizes();
+ method public java.util.List<java.lang.String> getSupportedWhiteBalance();
+ method public float getVerticalViewAngle();
+ method public java.lang.String getWhiteBalance();
+ method public int getZoom();
+ method public java.util.List<java.lang.Integer> getZoomRatios();
+ method public boolean isAutoExposureLockSupported();
+ method public boolean isAutoWhiteBalanceLockSupported();
+ method public boolean isSmoothZoomSupported();
+ method public boolean isVideoSnapshotSupported();
+ method public boolean isZoomSupported();
+ method public void remove(java.lang.String);
+ method public void removeGpsData();
+ method public void set(java.lang.String, java.lang.String);
+ method public void set(java.lang.String, int);
+ method public void setAntibanding(java.lang.String);
+ method public void setAutoExposureLock(boolean);
+ method public void setAutoWhiteBalanceLock(boolean);
+ method public void setColorEffect(java.lang.String);
+ method public void setExposureCompensation(int);
+ method public void setFlashMode(java.lang.String);
+ method public void setFocusAreas(java.util.List<android.hardware.Camera.Area>);
+ method public void setFocusMode(java.lang.String);
+ method public void setGpsAltitude(double);
+ method public void setGpsLatitude(double);
+ method public void setGpsLongitude(double);
+ method public void setGpsProcessingMethod(java.lang.String);
+ method public void setGpsTimestamp(long);
+ method public void setJpegQuality(int);
+ method public void setJpegThumbnailQuality(int);
+ method public void setJpegThumbnailSize(int, int);
+ method public void setMeteringAreas(java.util.List<android.hardware.Camera.Area>);
+ method public void setPictureFormat(int);
+ method public void setPictureSize(int, int);
+ method public void setPreviewFormat(int);
+ method public void setPreviewFpsRange(int, int);
+ method public deprecated void setPreviewFrameRate(int);
+ method public void setPreviewSize(int, int);
+ method public void setRecordingHint(boolean);
+ method public void setRotation(int);
+ method public void setSceneMode(java.lang.String);
+ method public void setWhiteBalance(java.lang.String);
+ method public void setZoom(int);
+ method public void unflatten(java.lang.String);
+ field public static final java.lang.String ANTIBANDING_50HZ = "50hz";
+ field public static final java.lang.String ANTIBANDING_60HZ = "60hz";
+ field public static final java.lang.String ANTIBANDING_AUTO = "auto";
+ field public static final java.lang.String ANTIBANDING_OFF = "off";
+ field public static final java.lang.String EFFECT_AQUA = "aqua";
+ field public static final java.lang.String EFFECT_BLACKBOARD = "blackboard";
+ field public static final java.lang.String EFFECT_MONO = "mono";
+ field public static final java.lang.String EFFECT_NEGATIVE = "negative";
+ field public static final java.lang.String EFFECT_NONE = "none";
+ field public static final java.lang.String EFFECT_POSTERIZE = "posterize";
+ field public static final java.lang.String EFFECT_SEPIA = "sepia";
+ field public static final java.lang.String EFFECT_SOLARIZE = "solarize";
+ field public static final java.lang.String EFFECT_WHITEBOARD = "whiteboard";
+ field public static final java.lang.String FLASH_MODE_AUTO = "auto";
+ field public static final java.lang.String FLASH_MODE_OFF = "off";
+ field public static final java.lang.String FLASH_MODE_ON = "on";
+ field public static final java.lang.String FLASH_MODE_RED_EYE = "red-eye";
+ field public static final java.lang.String FLASH_MODE_TORCH = "torch";
+ field public static final int FOCUS_DISTANCE_FAR_INDEX = 2; // 0x2
+ field public static final int FOCUS_DISTANCE_NEAR_INDEX = 0; // 0x0
+ field public static final int FOCUS_DISTANCE_OPTIMAL_INDEX = 1; // 0x1
+ field public static final java.lang.String FOCUS_MODE_AUTO = "auto";
+ field public static final java.lang.String FOCUS_MODE_CONTINUOUS_PICTURE = "continuous-picture";
+ field public static final java.lang.String FOCUS_MODE_CONTINUOUS_VIDEO = "continuous-video";
+ field public static final java.lang.String FOCUS_MODE_EDOF = "edof";
+ field public static final java.lang.String FOCUS_MODE_FIXED = "fixed";
+ field public static final java.lang.String FOCUS_MODE_INFINITY = "infinity";
+ field public static final java.lang.String FOCUS_MODE_MACRO = "macro";
+ field public static final int PREVIEW_FPS_MAX_INDEX = 1; // 0x1
+ field public static final int PREVIEW_FPS_MIN_INDEX = 0; // 0x0
+ field public static final java.lang.String SCENE_MODE_ACTION = "action";
+ field public static final java.lang.String SCENE_MODE_AUTO = "auto";
+ field public static final java.lang.String SCENE_MODE_BARCODE = "barcode";
+ field public static final java.lang.String SCENE_MODE_BEACH = "beach";
+ field public static final java.lang.String SCENE_MODE_CANDLELIGHT = "candlelight";
+ field public static final java.lang.String SCENE_MODE_FIREWORKS = "fireworks";
+ field public static final java.lang.String SCENE_MODE_LANDSCAPE = "landscape";
+ field public static final java.lang.String SCENE_MODE_NIGHT = "night";
+ field public static final java.lang.String SCENE_MODE_NIGHT_PORTRAIT = "night-portrait";
+ field public static final java.lang.String SCENE_MODE_PARTY = "party";
+ field public static final java.lang.String SCENE_MODE_PORTRAIT = "portrait";
+ field public static final java.lang.String SCENE_MODE_SNOW = "snow";
+ field public static final java.lang.String SCENE_MODE_SPORTS = "sports";
+ field public static final java.lang.String SCENE_MODE_STEADYPHOTO = "steadyphoto";
+ field public static final java.lang.String SCENE_MODE_SUNSET = "sunset";
+ field public static final java.lang.String SCENE_MODE_THEATRE = "theatre";
+ field public static final java.lang.String WHITE_BALANCE_AUTO = "auto";
+ field public static final java.lang.String WHITE_BALANCE_CLOUDY_DAYLIGHT = "cloudy-daylight";
+ field public static final java.lang.String WHITE_BALANCE_DAYLIGHT = "daylight";
+ field public static final java.lang.String WHITE_BALANCE_FLUORESCENT = "fluorescent";
+ field public static final java.lang.String WHITE_BALANCE_INCANDESCENT = "incandescent";
+ field public static final java.lang.String WHITE_BALANCE_SHADE = "shade";
+ field public static final java.lang.String WHITE_BALANCE_TWILIGHT = "twilight";
+ field public static final java.lang.String WHITE_BALANCE_WARM_FLUORESCENT = "warm-fluorescent";
+ }
+
+ public static abstract interface Camera.PictureCallback {
+ method public abstract void onPictureTaken(byte[], android.hardware.Camera);
+ }
+
+ public static abstract interface Camera.PreviewCallback {
+ method public abstract void onPreviewFrame(byte[], android.hardware.Camera);
+ }
+
+ public static abstract interface Camera.ShutterCallback {
+ method public abstract void onShutter();
+ }
+
+ public class Camera.Size {
+ ctor public Camera.Size(int, int);
+ field public int height;
+ field public int width;
+ }
+
+ public class GeomagneticField {
+ ctor public GeomagneticField(float, float, float, long);
+ method public float getDeclination();
+ method public float getFieldStrength();
+ method public float getHorizontalStrength();
+ method public float getInclination();
+ method public float getX();
+ method public float getY();
+ method public float getZ();
+ }
+
+ public class Sensor {
+ method public float getMaximumRange();
+ method public int getMinDelay();
+ method public java.lang.String getName();
+ method public float getPower();
+ method public float getResolution();
+ method public int getType();
+ method public java.lang.String getVendor();
+ method public int getVersion();
+ field public static final int TYPE_ACCELEROMETER = 1; // 0x1
+ field public static final int TYPE_ALL = -1; // 0xffffffff
+ field public static final int TYPE_AMBIENT_TEMPERATURE = 13; // 0xd
+ field public static final int TYPE_GRAVITY = 9; // 0x9
+ field public static final int TYPE_GYROSCOPE = 4; // 0x4
+ field public static final int TYPE_LIGHT = 5; // 0x5
+ field public static final int TYPE_LINEAR_ACCELERATION = 10; // 0xa
+ field public static final int TYPE_MAGNETIC_FIELD = 2; // 0x2
+ field public static final deprecated int TYPE_ORIENTATION = 3; // 0x3
+ field public static final int TYPE_PRESSURE = 6; // 0x6
+ field public static final int TYPE_PROXIMITY = 8; // 0x8
+ field public static final int TYPE_RELATIVE_HUMIDITY = 12; // 0xc
+ field public static final int TYPE_ROTATION_VECTOR = 11; // 0xb
+ field public static final deprecated int TYPE_TEMPERATURE = 7; // 0x7
+ }
+
+ public class SensorEvent {
+ field public int accuracy;
+ field public android.hardware.Sensor sensor;
+ field public long timestamp;
+ field public final float[] values;
+ }
+
+ public abstract interface SensorEventListener {
+ method public abstract void onAccuracyChanged(android.hardware.Sensor, int);
+ method public abstract void onSensorChanged(android.hardware.SensorEvent);
+ }
+
+ public abstract deprecated interface SensorListener {
+ method public abstract void onAccuracyChanged(int, int);
+ method public abstract void onSensorChanged(int, float[]);
+ }
+
+ public class SensorManager {
+ method public static float getAltitude(float, float);
+ method public static void getAngleChange(float[], float[], float[]);
+ method public android.hardware.Sensor getDefaultSensor(int);
+ method public static float getInclination(float[]);
+ method public static float[] getOrientation(float[], float[]);
+ method public static void getQuaternionFromVector(float[], float[]);
+ method public static boolean getRotationMatrix(float[], float[], float[], float[]);
+ method public static void getRotationMatrixFromVector(float[], float[]);
+ method public java.util.List<android.hardware.Sensor> getSensorList(int);
+ method public deprecated int getSensors();
+ method public deprecated boolean registerListener(android.hardware.SensorListener, int);
+ method public deprecated boolean registerListener(android.hardware.SensorListener, int, int);
+ method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int);
+ method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, android.os.Handler);
+ method public static boolean remapCoordinateSystem(float[], int, int, float[]);
+ method public deprecated void unregisterListener(android.hardware.SensorListener, int);
+ method public deprecated void unregisterListener(android.hardware.SensorListener);
+ method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor);
+ method public void unregisterListener(android.hardware.SensorEventListener);
+ field public static final int AXIS_MINUS_X = 129; // 0x81
+ field public static final int AXIS_MINUS_Y = 130; // 0x82
+ field public static final int AXIS_MINUS_Z = 131; // 0x83
+ field public static final int AXIS_X = 1; // 0x1
+ field public static final int AXIS_Y = 2; // 0x2
+ field public static final int AXIS_Z = 3; // 0x3
+ field public static final deprecated int DATA_X = 0; // 0x0
+ field public static final deprecated int DATA_Y = 1; // 0x1
+ field public static final deprecated int DATA_Z = 2; // 0x2
+ field public static final float GRAVITY_DEATH_STAR_I = 3.5303614E-7f;
+ field public static final float GRAVITY_EARTH = 9.80665f;
+ field public static final float GRAVITY_JUPITER = 23.12f;
+ field public static final float GRAVITY_MARS = 3.71f;
+ field public static final float GRAVITY_MERCURY = 3.7f;
+ field public static final float GRAVITY_MOON = 1.6f;
+ field public static final float GRAVITY_NEPTUNE = 11.0f;
+ field public static final float GRAVITY_PLUTO = 0.6f;
+ field public static final float GRAVITY_SATURN = 8.96f;
+ field public static final float GRAVITY_SUN = 275.0f;
+ field public static final float GRAVITY_THE_ISLAND = 4.815162f;
+ field public static final float GRAVITY_URANUS = 8.69f;
+ field public static final float GRAVITY_VENUS = 8.87f;
+ field public static final float LIGHT_CLOUDY = 100.0f;
+ field public static final float LIGHT_FULLMOON = 0.25f;
+ field public static final float LIGHT_NO_MOON = 0.001f;
+ field public static final float LIGHT_OVERCAST = 10000.0f;
+ field public static final float LIGHT_SHADE = 20000.0f;
+ field public static final float LIGHT_SUNLIGHT = 110000.0f;
+ field public static final float LIGHT_SUNLIGHT_MAX = 120000.0f;
+ field public static final float LIGHT_SUNRISE = 400.0f;
+ field public static final float MAGNETIC_FIELD_EARTH_MAX = 60.0f;
+ field public static final float MAGNETIC_FIELD_EARTH_MIN = 30.0f;
+ field public static final float PRESSURE_STANDARD_ATMOSPHERE = 1013.25f;
+ field public static final deprecated int RAW_DATA_INDEX = 3; // 0x3
+ field public static final deprecated int RAW_DATA_X = 3; // 0x3
+ field public static final deprecated int RAW_DATA_Y = 4; // 0x4
+ field public static final deprecated int RAW_DATA_Z = 5; // 0x5
+ field public static final deprecated int SENSOR_ACCELEROMETER = 2; // 0x2
+ field public static final deprecated int SENSOR_ALL = 127; // 0x7f
+ field public static final int SENSOR_DELAY_FASTEST = 0; // 0x0
+ field public static final int SENSOR_DELAY_GAME = 1; // 0x1
+ field public static final int SENSOR_DELAY_NORMAL = 3; // 0x3
+ field public static final int SENSOR_DELAY_UI = 2; // 0x2
+ field public static final deprecated int SENSOR_LIGHT = 16; // 0x10
+ field public static final deprecated int SENSOR_MAGNETIC_FIELD = 8; // 0x8
+ field public static final deprecated int SENSOR_MAX = 64; // 0x40
+ field public static final deprecated int SENSOR_MIN = 1; // 0x1
+ field public static final deprecated int SENSOR_ORIENTATION = 1; // 0x1
+ field public static final deprecated int SENSOR_ORIENTATION_RAW = 128; // 0x80
+ field public static final deprecated int SENSOR_PROXIMITY = 32; // 0x20
+ field public static final int SENSOR_STATUS_ACCURACY_HIGH = 3; // 0x3
+ field public static final int SENSOR_STATUS_ACCURACY_LOW = 1; // 0x1
+ field public static final int SENSOR_STATUS_ACCURACY_MEDIUM = 2; // 0x2
+ field public static final int SENSOR_STATUS_UNRELIABLE = 0; // 0x0
+ field public static final deprecated int SENSOR_TEMPERATURE = 4; // 0x4
+ field public static final deprecated int SENSOR_TRICORDER = 64; // 0x40
+ field public static final float STANDARD_GRAVITY = 9.80665f;
+ }
+
+}
+
+package android.hardware.usb {
+
+ public class UsbAccessory implements android.os.Parcelable {
+ method public int describeContents();
+ method public java.lang.String getDescription();
+ method public java.lang.String getManufacturer();
+ method public java.lang.String getModel();
+ method public java.lang.String getSerial();
+ method public java.lang.String getUri();
+ method public java.lang.String getVersion();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public final class UsbConstants {
+ ctor public UsbConstants();
+ field public static final int USB_CLASS_APP_SPEC = 254; // 0xfe
+ field public static final int USB_CLASS_AUDIO = 1; // 0x1
+ field public static final int USB_CLASS_CDC_DATA = 10; // 0xa
+ field public static final int USB_CLASS_COMM = 2; // 0x2
+ field public static final int USB_CLASS_CONTENT_SEC = 13; // 0xd
+ field public static final int USB_CLASS_CSCID = 11; // 0xb
+ field public static final int USB_CLASS_HID = 3; // 0x3
+ field public static final int USB_CLASS_HUB = 9; // 0x9
+ field public static final int USB_CLASS_MASS_STORAGE = 8; // 0x8
+ field public static final int USB_CLASS_MISC = 239; // 0xef
+ field public static final int USB_CLASS_PER_INTERFACE = 0; // 0x0
+ field public static final int USB_CLASS_PHYSICA = 5; // 0x5
+ field public static final int USB_CLASS_PRINTER = 7; // 0x7
+ field public static final int USB_CLASS_STILL_IMAGE = 6; // 0x6
+ field public static final int USB_CLASS_VENDOR_SPEC = 255; // 0xff
+ field public static final int USB_CLASS_VIDEO = 14; // 0xe
+ field public static final int USB_CLASS_WIRELESS_CONTROLLER = 224; // 0xe0
+ field public static final int USB_DIR_IN = 128; // 0x80
+ field public static final int USB_DIR_OUT = 0; // 0x0
+ field public static final int USB_ENDPOINT_DIR_MASK = 128; // 0x80
+ field public static final int USB_ENDPOINT_NUMBER_MASK = 15; // 0xf
+ field public static final int USB_ENDPOINT_XFERTYPE_MASK = 3; // 0x3
+ field public static final int USB_ENDPOINT_XFER_BULK = 2; // 0x2
+ field public static final int USB_ENDPOINT_XFER_CONTROL = 0; // 0x0
+ field public static final int USB_ENDPOINT_XFER_INT = 3; // 0x3
+ field public static final int USB_ENDPOINT_XFER_ISOC = 1; // 0x1
+ field public static final int USB_INTERFACE_SUBCLASS_BOOT = 1; // 0x1
+ field public static final int USB_SUBCLASS_VENDOR_SPEC = 255; // 0xff
+ field public static final int USB_TYPE_CLASS = 32; // 0x20
+ field public static final int USB_TYPE_MASK = 96; // 0x60
+ field public static final int USB_TYPE_RESERVED = 96; // 0x60
+ field public static final int USB_TYPE_STANDARD = 0; // 0x0
+ field public static final int USB_TYPE_VENDOR = 64; // 0x40
+ }
+
+ public class UsbDevice implements android.os.Parcelable {
+ method public int describeContents();
+ method public int getDeviceClass();
+ method public int getDeviceId();
+ method public static int getDeviceId(java.lang.String);
+ method public java.lang.String getDeviceName();
+ method public static java.lang.String getDeviceName(int);
+ method public int getDeviceProtocol();
+ method public int getDeviceSubclass();
+ method public android.hardware.usb.UsbInterface getInterface(int);
+ method public int getInterfaceCount();
+ method public int getProductId();
+ method public int getVendorId();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class UsbDeviceConnection {
+ method public int bulkTransfer(android.hardware.usb.UsbEndpoint, byte[], int, int);
+ method public boolean claimInterface(android.hardware.usb.UsbInterface, boolean);
+ method public void close();
+ method public int controlTransfer(int, int, int, int, byte[], int, int);
+ method public int getFileDescriptor();
+ method public byte[] getRawDescriptors();
+ method public java.lang.String getSerial();
+ method public boolean releaseInterface(android.hardware.usb.UsbInterface);
+ method public android.hardware.usb.UsbRequest requestWait();
+ }
+
+ public class UsbEndpoint implements android.os.Parcelable {
+ method public int describeContents();
+ method public int getAddress();
+ method public int getAttributes();
+ method public int getDirection();
+ method public int getEndpointNumber();
+ method public int getInterval();
+ method public int getMaxPacketSize();
+ method public int getType();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class UsbInterface implements android.os.Parcelable {
+ method public int describeContents();
+ method public android.hardware.usb.UsbEndpoint getEndpoint(int);
+ method public int getEndpointCount();
+ method public int getId();
+ method public int getInterfaceClass();
+ method public int getInterfaceProtocol();
+ method public int getInterfaceSubclass();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class UsbManager {
+ method public android.hardware.usb.UsbAccessory[] getAccessoryList();
+ method public java.util.HashMap<java.lang.String, android.hardware.usb.UsbDevice> getDeviceList();
+ method public boolean hasPermission(android.hardware.usb.UsbDevice);
+ method public boolean hasPermission(android.hardware.usb.UsbAccessory);
+ method public android.os.ParcelFileDescriptor openAccessory(android.hardware.usb.UsbAccessory);
+ method public android.hardware.usb.UsbDeviceConnection openDevice(android.hardware.usb.UsbDevice);
+ method public void requestPermission(android.hardware.usb.UsbDevice, android.app.PendingIntent);
+ method public void requestPermission(android.hardware.usb.UsbAccessory, android.app.PendingIntent);
+ field public static final java.lang.String ACTION_USB_ACCESSORY_ATTACHED = "android.hardware.usb.action.USB_ACCESSORY_ATTACHED";
+ field public static final java.lang.String ACTION_USB_ACCESSORY_DETACHED = "android.hardware.usb.action.USB_ACCESSORY_DETACHED";
+ field public static final java.lang.String ACTION_USB_DEVICE_ATTACHED = "android.hardware.usb.action.USB_DEVICE_ATTACHED";
+ field public static final java.lang.String ACTION_USB_DEVICE_DETACHED = "android.hardware.usb.action.USB_DEVICE_DETACHED";
+ field public static final java.lang.String EXTRA_ACCESSORY = "accessory";
+ field public static final java.lang.String EXTRA_DEVICE = "device";
+ field public static final java.lang.String EXTRA_PERMISSION_GRANTED = "permission";
+ }
+
+ public class UsbRequest {
+ ctor public UsbRequest();
+ method public boolean cancel();
+ method public void close();
+ method public java.lang.Object getClientData();
+ method public android.hardware.usb.UsbEndpoint getEndpoint();
+ method public boolean initialize(android.hardware.usb.UsbDeviceConnection, android.hardware.usb.UsbEndpoint);
+ method public boolean queue(java.nio.ByteBuffer, int);
+ method public void setClientData(java.lang.Object);
+ }
+
+}
+
+package android.inputmethodservice {
+
+ public abstract class AbstractInputMethodService extends android.app.Service implements android.view.KeyEvent.Callback {
+ ctor public AbstractInputMethodService();
+ method public android.view.KeyEvent.DispatcherState getKeyDispatcherState();
+ method public final android.os.IBinder onBind(android.content.Intent);
+ method public abstract android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl onCreateInputMethodInterface();
+ method public abstract android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl onCreateInputMethodSessionInterface();
+ method public boolean onTrackballEvent(android.view.MotionEvent);
+ }
+
+ public abstract class AbstractInputMethodService.AbstractInputMethodImpl implements android.view.inputmethod.InputMethod {
+ ctor public AbstractInputMethodService.AbstractInputMethodImpl();
+ method public void createSession(android.view.inputmethod.InputMethod.SessionCallback);
+ method public void revokeSession(android.view.inputmethod.InputMethodSession);
+ method public void setSessionEnabled(android.view.inputmethod.InputMethodSession, boolean);
+ }
+
+ public abstract class AbstractInputMethodService.AbstractInputMethodSessionImpl implements android.view.inputmethod.InputMethodSession {
+ ctor public AbstractInputMethodService.AbstractInputMethodSessionImpl();
+ method public void dispatchKeyEvent(int, android.view.KeyEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+ method public void dispatchTrackballEvent(int, android.view.MotionEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+ method public boolean isEnabled();
+ method public boolean isRevoked();
+ method public void revokeSelf();
+ method public void setEnabled(boolean);
+ }
+
+ public class ExtractEditText extends android.widget.EditText {
+ ctor public ExtractEditText(android.content.Context);
+ ctor public ExtractEditText(android.content.Context, android.util.AttributeSet);
+ ctor public ExtractEditText(android.content.Context, android.util.AttributeSet, int);
+ method public void finishInternalChanges();
+ method public boolean hasVerticalScrollBar();
+ method public void startInternalChanges();
+ }
+
+ public class InputMethodService extends android.inputmethodservice.AbstractInputMethodService {
+ ctor public InputMethodService();
+ method public int getBackDisposition();
+ method public int getCandidatesHiddenVisibility();
+ method public android.view.inputmethod.InputBinding getCurrentInputBinding();
+ method public android.view.inputmethod.InputConnection getCurrentInputConnection();
+ method public android.view.inputmethod.EditorInfo getCurrentInputEditorInfo();
+ method public boolean getCurrentInputStarted();
+ method public android.view.LayoutInflater getLayoutInflater();
+ method public int getMaxWidth();
+ method public java.lang.CharSequence getTextForImeAction(int);
+ method public android.app.Dialog getWindow();
+ method public void hideStatusIcon();
+ method public void hideWindow();
+ method public boolean isExtractViewShown();
+ method public boolean isFullscreenMode();
+ method public boolean isInputViewShown();
+ method public boolean isShowInputRequested();
+ method public void onAppPrivateCommand(java.lang.String, android.os.Bundle);
+ method public void onBindInput();
+ method public void onComputeInsets(android.inputmethodservice.InputMethodService.Insets);
+ method public void onConfigureWindow(android.view.Window, boolean, boolean);
+ method public android.view.View onCreateCandidatesView();
+ method public android.view.View onCreateExtractTextView();
+ method public android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl onCreateInputMethodInterface();
+ method public android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl onCreateInputMethodSessionInterface();
+ method public android.view.View onCreateInputView();
+ method protected void onCurrentInputMethodSubtypeChanged(android.view.inputmethod.InputMethodSubtype);
+ method public void onDisplayCompletions(android.view.inputmethod.CompletionInfo[]);
+ method public boolean onEvaluateFullscreenMode();
+ method public boolean onEvaluateInputViewShown();
+ method public boolean onExtractTextContextMenuItem(int);
+ method public void onExtractedCursorMovement(int, int);
+ method public void onExtractedSelectionChanged(int, int);
+ method public void onExtractedTextClicked();
+ method public void onExtractingInputChanged(android.view.inputmethod.EditorInfo);
+ method public void onFinishCandidatesView(boolean);
+ method public void onFinishInput();
+ method public void onFinishInputView(boolean);
+ method public void onInitializeInterface();
+ method public boolean onKeyDown(int, android.view.KeyEvent);
+ method public boolean onKeyLongPress(int, android.view.KeyEvent);
+ method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+ method public boolean onKeyUp(int, android.view.KeyEvent);
+ method public boolean onShowInputRequested(int, boolean);
+ method public void onStartCandidatesView(android.view.inputmethod.EditorInfo, boolean);
+ method public void onStartInput(android.view.inputmethod.EditorInfo, boolean);
+ method public void onStartInputView(android.view.inputmethod.EditorInfo, boolean);
+ method public void onUnbindInput();
+ method public void onUpdateCursor(android.graphics.Rect);
+ method public void onUpdateExtractedText(int, android.view.inputmethod.ExtractedText);
+ method public void onUpdateExtractingViews(android.view.inputmethod.EditorInfo);
+ method public void onUpdateExtractingVisibility(android.view.inputmethod.EditorInfo);
+ method public void onUpdateSelection(int, int, int, int, int, int);
+ method public void onViewClicked(boolean);
+ method public void onWindowHidden();
+ method public void onWindowShown();
+ method public void requestHideSelf(int);
+ method public boolean sendDefaultEditorAction(boolean);
+ method public void sendDownUpKeyEvents(int);
+ method public void sendKeyChar(char);
+ method public void setBackDisposition(int);
+ method public void setCandidatesView(android.view.View);
+ method public void setCandidatesViewShown(boolean);
+ method public void setExtractView(android.view.View);
+ method public void setExtractViewShown(boolean);
+ method public void setInputView(android.view.View);
+ method public void showStatusIcon(int);
+ method public void showWindow(boolean);
+ method public void switchInputMethod(java.lang.String);
+ method public void updateFullscreenMode();
+ method public void updateInputViewShown();
+ field public static final int BACK_DISPOSITION_DEFAULT = 0; // 0x0
+ field public static final int BACK_DISPOSITION_WILL_DISMISS = 2; // 0x2
+ field public static final int BACK_DISPOSITION_WILL_NOT_DISMISS = 1; // 0x1
+ }
+
+ public class InputMethodService.InputMethodImpl extends android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl {
+ ctor public InputMethodService.InputMethodImpl();
+ method public void attachToken(android.os.IBinder);
+ method public void bindInput(android.view.inputmethod.InputBinding);
+ method public void changeInputMethodSubtype(android.view.inputmethod.InputMethodSubtype);
+ method public void hideSoftInput(int, android.os.ResultReceiver);
+ method public void restartInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
+ method public void showSoftInput(int, android.os.ResultReceiver);
+ method public void startInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
+ method public void unbindInput();
+ }
+
+ public class InputMethodService.InputMethodSessionImpl extends android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl {
+ ctor public InputMethodService.InputMethodSessionImpl();
+ method public void appPrivateCommand(java.lang.String, android.os.Bundle);
+ method public void displayCompletions(android.view.inputmethod.CompletionInfo[]);
+ method public void finishInput();
+ method public void toggleSoftInput(int, int);
+ method public void updateCursor(android.graphics.Rect);
+ method public void updateExtractedText(int, android.view.inputmethod.ExtractedText);
+ method public void updateSelection(int, int, int, int, int, int);
+ method public void viewClicked(boolean);
+ }
+
+ public static final class InputMethodService.Insets {
+ ctor public InputMethodService.Insets();
+ field public static final int TOUCHABLE_INSETS_CONTENT = 1; // 0x1
+ field public static final int TOUCHABLE_INSETS_FRAME = 0; // 0x0
+ field public static final int TOUCHABLE_INSETS_REGION = 3; // 0x3
+ field public static final int TOUCHABLE_INSETS_VISIBLE = 2; // 0x2
+ field public int contentTopInsets;
+ field public int touchableInsets;
+ field public final android.graphics.Region touchableRegion;
+ field public int visibleTopInsets;
+ }
+
+ public class Keyboard {
+ ctor public Keyboard(android.content.Context, int);
+ ctor public Keyboard(android.content.Context, int, int, int, int);
+ ctor public Keyboard(android.content.Context, int, int);
+ ctor public Keyboard(android.content.Context, int, java.lang.CharSequence, int, int);
+ method protected android.inputmethodservice.Keyboard.Key createKeyFromXml(android.content.res.Resources, android.inputmethodservice.Keyboard.Row, int, int, android.content.res.XmlResourceParser);
+ method protected android.inputmethodservice.Keyboard.Row createRowFromXml(android.content.res.Resources, android.content.res.XmlResourceParser);
+ method public int getHeight();
+ method protected int getHorizontalGap();
+ method protected int getKeyHeight();
+ method protected int getKeyWidth();
+ method public java.util.List<android.inputmethodservice.Keyboard.Key> getKeys();
+ method public int getMinWidth();
+ method public java.util.List<android.inputmethodservice.Keyboard.Key> getModifierKeys();
+ method public int[] getNearestKeys(int, int);
+ method public int getShiftKeyIndex();
+ method protected int getVerticalGap();
+ method public boolean isShifted();
+ method protected void setHorizontalGap(int);
+ method protected void setKeyHeight(int);
+ method protected void setKeyWidth(int);
+ method public boolean setShifted(boolean);
+ method protected void setVerticalGap(int);
+ field public static final int EDGE_BOTTOM = 8; // 0x8
+ field public static final int EDGE_LEFT = 1; // 0x1
+ field public static final int EDGE_RIGHT = 2; // 0x2
+ field public static final int EDGE_TOP = 4; // 0x4
+ field public static final int KEYCODE_ALT = -6; // 0xfffffffa
+ field public static final int KEYCODE_CANCEL = -3; // 0xfffffffd
+ field public static final int KEYCODE_DELETE = -5; // 0xfffffffb
+ field public static final int KEYCODE_DONE = -4; // 0xfffffffc
+ field public static final int KEYCODE_MODE_CHANGE = -2; // 0xfffffffe
+ field public static final int KEYCODE_SHIFT = -1; // 0xffffffff
+ }
+
+ public static class Keyboard.Key {
+ ctor public Keyboard.Key(android.inputmethodservice.Keyboard.Row);
+ ctor public Keyboard.Key(android.content.res.Resources, android.inputmethodservice.Keyboard.Row, int, int, android.content.res.XmlResourceParser);
+ method public int[] getCurrentDrawableState();
+ method public boolean isInside(int, int);
+ method public void onPressed();
+ method public void onReleased(boolean);
+ method public int squaredDistanceFrom(int, int);
+ field public int[] codes;
+ field public int edgeFlags;
+ field public int gap;
+ field public int height;
+ field public android.graphics.drawable.Drawable icon;
+ field public android.graphics.drawable.Drawable iconPreview;
+ field public java.lang.CharSequence label;
+ field public boolean modifier;
+ field public boolean on;
+ field public java.lang.CharSequence popupCharacters;
+ field public int popupResId;
+ field public boolean pressed;
+ field public boolean repeatable;
+ field public boolean sticky;
+ field public java.lang.CharSequence text;
+ field public int width;
+ field public int x;
+ field public int y;
+ }
+
+ public static class Keyboard.Row {
+ ctor public Keyboard.Row(android.inputmethodservice.Keyboard);
+ ctor public Keyboard.Row(android.content.res.Resources, android.inputmethodservice.Keyboard, android.content.res.XmlResourceParser);
+ field public int defaultHeight;
+ field public int defaultHorizontalGap;
+ field public int defaultWidth;
+ field public int mode;
+ field public int rowEdgeFlags;
+ field public int verticalGap;
+ }
+
+ public class KeyboardView extends android.view.View implements android.view.View.OnClickListener {
+ ctor public KeyboardView(android.content.Context, android.util.AttributeSet);
+ ctor public KeyboardView(android.content.Context, android.util.AttributeSet, int);
+ method public void closing();
+ method public android.inputmethodservice.Keyboard getKeyboard();
+ method protected android.inputmethodservice.KeyboardView.OnKeyboardActionListener getOnKeyboardActionListener();
+ method public boolean handleBack();
+ method public void invalidateAllKeys();
+ method public void invalidateKey(int);
+ method public boolean isPreviewEnabled();
+ method public boolean isProximityCorrectionEnabled();
+ method public boolean isShifted();
+ method public void onClick(android.view.View);
+ method public void onDetachedFromWindow();
+ method public void onDraw(android.graphics.Canvas);
+ method protected boolean onLongPress(android.inputmethodservice.Keyboard.Key);
+ method public void onMeasure(int, int);
+ method public void onSizeChanged(int, int, int, int);
+ method public void setKeyboard(android.inputmethodservice.Keyboard);
+ method public void setOnKeyboardActionListener(android.inputmethodservice.KeyboardView.OnKeyboardActionListener);
+ method public void setPopupOffset(int, int);
+ method public void setPopupParent(android.view.View);
+ method public void setPreviewEnabled(boolean);
+ method public void setProximityCorrectionEnabled(boolean);
+ method public boolean setShifted(boolean);
+ method public void setVerticalCorrection(int);
+ method protected void swipeDown();
+ method protected void swipeLeft();
+ method protected void swipeRight();
+ method protected void swipeUp();
+ }
+
+ public static abstract interface KeyboardView.OnKeyboardActionListener {
+ method public abstract void onKey(int, int[]);
+ method public abstract void onPress(int);
+ method public abstract void onRelease(int);
+ method public abstract void onText(java.lang.CharSequence);
+ method public abstract void swipeDown();
+ method public abstract void swipeLeft();
+ method public abstract void swipeRight();
+ method public abstract void swipeUp();
+ }
+
+}
+
+package android.location {
+
+ public class Address implements android.os.Parcelable {
+ ctor public Address(java.util.Locale);
+ method public void clearLatitude();
+ method public void clearLongitude();
+ method public int describeContents();
+ method public java.lang.String getAddressLine(int);
+ method public java.lang.String getAdminArea();
+ method public java.lang.String getCountryCode();
+ method public java.lang.String getCountryName();
+ method public android.os.Bundle getExtras();
+ method public java.lang.String getFeatureName();
+ method public double getLatitude();
+ method public java.util.Locale getLocale();
+ method public java.lang.String getLocality();
+ method public double getLongitude();
+ method public int getMaxAddressLineIndex();
+ method public java.lang.String getPhone();
+ method public java.lang.String getPostalCode();
+ method public java.lang.String getPremises();
+ method public java.lang.String getSubAdminArea();
+ method public java.lang.String getSubLocality();
+ method public java.lang.String getSubThoroughfare();
+ method public java.lang.String getThoroughfare();
+ method public java.lang.String getUrl();
+ method public boolean hasLatitude();
+ method public boolean hasLongitude();
+ method public void setAddressLine(int, java.lang.String);
+ method public void setAdminArea(java.lang.String);
+ method public void setCountryCode(java.lang.String);
+ method public void setCountryName(java.lang.String);
+ method public void setExtras(android.os.Bundle);
+ method public void setFeatureName(java.lang.String);
+ method public void setLatitude(double);
+ method public void setLocality(java.lang.String);
+ method public void setLongitude(double);
+ method public void setPhone(java.lang.String);
+ method public void setPostalCode(java.lang.String);
+ method public void setPremises(java.lang.String);
+ method public void setSubAdminArea(java.lang.String);
+ method public void setSubLocality(java.lang.String);
+ method public void setSubThoroughfare(java.lang.String);
+ method public void setThoroughfare(java.lang.String);
+ method public void setUrl(java.lang.String);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class Criteria implements android.os.Parcelable {
+ ctor public Criteria();
+ ctor public Criteria(android.location.Criteria);
+ method public int describeContents();
+ method public int getAccuracy();
+ method public int getBearingAccuracy();
+ method public int getHorizontalAccuracy();
+ method public int getPowerRequirement();
+ method public int getSpeedAccuracy();
+ method public int getVerticalAccuracy();
+ method public boolean isAltitudeRequired();
+ method public boolean isBearingRequired();
+ method public boolean isCostAllowed();
+ method public boolean isSpeedRequired();
+ method public void setAccuracy(int);
+ method public void setAltitudeRequired(boolean);
+ method public void setBearingAccuracy(int);
+ method public void setBearingRequired(boolean);
+ method public void setCostAllowed(boolean);
+ method public void setHorizontalAccuracy(int);
+ method public void setPowerRequirement(int);
+ method public void setSpeedAccuracy(int);
+ method public void setSpeedRequired(boolean);
+ method public void setVerticalAccuracy(int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final int ACCURACY_COARSE = 2; // 0x2
+ field public static final int ACCURACY_FINE = 1; // 0x1
+ field public static final int ACCURACY_HIGH = 3; // 0x3
+ field public static final int ACCURACY_LOW = 1; // 0x1
+ field public static final int ACCURACY_MEDIUM = 2; // 0x2
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int NO_REQUIREMENT = 0; // 0x0
+ field public static final int POWER_HIGH = 3; // 0x3
+ field public static final int POWER_LOW = 1; // 0x1
+ field public static final int POWER_MEDIUM = 2; // 0x2
+ }
+
+ public final class Geocoder {
+ ctor public Geocoder(android.content.Context, java.util.Locale);
+ ctor public Geocoder(android.content.Context);
+ method public java.util.List<android.location.Address> getFromLocation(double, double, int) throws java.io.IOException;
+ method public java.util.List<android.location.Address> getFromLocationName(java.lang.String, int) throws java.io.IOException;
+ method public java.util.List<android.location.Address> getFromLocationName(java.lang.String, int, double, double, double, double) throws java.io.IOException;
+ method public static boolean isPresent();
+ }
+
+ public final class GpsSatellite {
+ method public float getAzimuth();
+ method public float getElevation();
+ method public int getPrn();
+ method public float getSnr();
+ method public boolean hasAlmanac();
+ method public boolean hasEphemeris();
+ method public boolean usedInFix();
+ }
+
+ public final class GpsStatus {
+ method public int getMaxSatellites();
+ method public java.lang.Iterable<android.location.GpsSatellite> getSatellites();
+ method public int getTimeToFirstFix();
+ field public static final int GPS_EVENT_FIRST_FIX = 3; // 0x3
+ field public static final int GPS_EVENT_SATELLITE_STATUS = 4; // 0x4
+ field public static final int GPS_EVENT_STARTED = 1; // 0x1
+ field public static final int GPS_EVENT_STOPPED = 2; // 0x2
+ }
+
+ public static abstract interface GpsStatus.Listener {
+ method public abstract void onGpsStatusChanged(int);
+ }
+
+ public static abstract interface GpsStatus.NmeaListener {
+ method public abstract void onNmeaReceived(long, java.lang.String);
+ }
+
+ public class Location implements android.os.Parcelable {
+ ctor public Location(java.lang.String);
+ ctor public Location(android.location.Location);
+ method public float bearingTo(android.location.Location);
+ method public static java.lang.String convert(double, int);
+ method public static double convert(java.lang.String);
+ method public int describeContents();
+ method public static void distanceBetween(double, double, double, double, float[]);
+ method public float distanceTo(android.location.Location);
+ method public void dump(android.util.Printer, java.lang.String);
+ method public float getAccuracy();
+ method public double getAltitude();
+ method public float getBearing();
+ method public android.os.Bundle getExtras();
+ method public double getLatitude();
+ method public double getLongitude();
+ method public java.lang.String getProvider();
+ method public float getSpeed();
+ method public long getTime();
+ method public boolean hasAccuracy();
+ method public boolean hasAltitude();
+ method public boolean hasBearing();
+ method public boolean hasSpeed();
+ method public void removeAccuracy();
+ method public void removeAltitude();
+ method public void removeBearing();
+ method public void removeSpeed();
+ method public void reset();
+ method public void set(android.location.Location);
+ method public void setAccuracy(float);
+ method public void setAltitude(double);
+ method public void setBearing(float);
+ method public void setExtras(android.os.Bundle);
+ method public void setLatitude(double);
+ method public void setLongitude(double);
+ method public void setProvider(java.lang.String);
+ method public void setSpeed(float);
+ method public void setTime(long);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int FORMAT_DEGREES = 0; // 0x0
+ field public static final int FORMAT_MINUTES = 1; // 0x1
+ field public static final int FORMAT_SECONDS = 2; // 0x2
+ }
+
+ public abstract interface LocationListener {
+ method public abstract void onLocationChanged(android.location.Location);
+ method public abstract void onProviderDisabled(java.lang.String);
+ method public abstract void onProviderEnabled(java.lang.String);
+ method public abstract void onStatusChanged(java.lang.String, int, android.os.Bundle);
+ }
+
+ public class LocationManager {
+ method public boolean addGpsStatusListener(android.location.GpsStatus.Listener);
+ method public boolean addNmeaListener(android.location.GpsStatus.NmeaListener);
+ method public void addProximityAlert(double, double, float, long, android.app.PendingIntent);
+ method public void addTestProvider(java.lang.String, boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, int);
+ method public void clearTestProviderEnabled(java.lang.String);
+ method public void clearTestProviderLocation(java.lang.String);
+ method public void clearTestProviderStatus(java.lang.String);
+ method public java.util.List<java.lang.String> getAllProviders();
+ method public java.lang.String getBestProvider(android.location.Criteria, boolean);
+ method public android.location.GpsStatus getGpsStatus(android.location.GpsStatus);
+ method public android.location.Location getLastKnownLocation(java.lang.String);
+ method public android.location.LocationProvider getProvider(java.lang.String);
+ method public java.util.List<java.lang.String> getProviders(boolean);
+ method public java.util.List<java.lang.String> getProviders(android.location.Criteria, boolean);
+ method public boolean isProviderEnabled(java.lang.String);
+ method public void removeGpsStatusListener(android.location.GpsStatus.Listener);
+ method public void removeNmeaListener(android.location.GpsStatus.NmeaListener);
+ method public void removeProximityAlert(android.app.PendingIntent);
+ method public void removeTestProvider(java.lang.String);
+ method public void removeUpdates(android.location.LocationListener);
+ method public void removeUpdates(android.app.PendingIntent);
+ method public void requestLocationUpdates(java.lang.String, long, float, android.location.LocationListener);
+ method public void requestLocationUpdates(java.lang.String, long, float, android.location.LocationListener, android.os.Looper);
+ method public void requestLocationUpdates(long, float, android.location.Criteria, android.location.LocationListener, android.os.Looper);
+ method public void requestLocationUpdates(java.lang.String, long, float, android.app.PendingIntent);
+ method public void requestLocationUpdates(long, float, android.location.Criteria, android.app.PendingIntent);
+ method public void requestSingleUpdate(java.lang.String, android.location.LocationListener, android.os.Looper);
+ method public void requestSingleUpdate(android.location.Criteria, android.location.LocationListener, android.os.Looper);
+ method public void requestSingleUpdate(java.lang.String, android.app.PendingIntent);
+ method public void requestSingleUpdate(android.location.Criteria, android.app.PendingIntent);
+ method public boolean sendExtraCommand(java.lang.String, java.lang.String, android.os.Bundle);
+ method public void setTestProviderEnabled(java.lang.String, boolean);
+ method public void setTestProviderLocation(java.lang.String, android.location.Location);
+ method public void setTestProviderStatus(java.lang.String, int, android.os.Bundle, long);
+ field public static final java.lang.String GPS_PROVIDER = "gps";
+ field public static final java.lang.String KEY_LOCATION_CHANGED = "location";
+ field public static final java.lang.String KEY_PROVIDER_ENABLED = "providerEnabled";
+ field public static final java.lang.String KEY_PROXIMITY_ENTERING = "entering";
+ field public static final java.lang.String KEY_STATUS_CHANGED = "status";
+ field public static final java.lang.String NETWORK_PROVIDER = "network";
+ field public static final java.lang.String PASSIVE_PROVIDER = "passive";
+ field public static final java.lang.String PROVIDERS_CHANGED_ACTION = "android.location.PROVIDERS_CHANGED";
+ }
+
+ public abstract class LocationProvider {
+ method public abstract int getAccuracy();
+ method public java.lang.String getName();
+ method public abstract int getPowerRequirement();
+ method public abstract boolean hasMonetaryCost();
+ method public boolean meetsCriteria(android.location.Criteria);
+ method public abstract boolean requiresCell();
+ method public abstract boolean requiresNetwork();
+ method public abstract boolean requiresSatellite();
+ method public abstract boolean supportsAltitude();
+ method public abstract boolean supportsBearing();
+ method public abstract boolean supportsSpeed();
+ field public static final int AVAILABLE = 2; // 0x2
+ field public static final int OUT_OF_SERVICE = 0; // 0x0
+ field public static final int TEMPORARILY_UNAVAILABLE = 1; // 0x1
+ }
+
+}
+
+package android.media {
+
+ public class AsyncPlayer {
+ ctor public AsyncPlayer(java.lang.String);
+ method public void play(android.content.Context, android.net.Uri, boolean, int);
+ method public void stop();
+ }
+
+ public class AudioFormat {
+ ctor public AudioFormat();
+ field public static final deprecated int CHANNEL_CONFIGURATION_DEFAULT = 1; // 0x1
+ field public static final deprecated int CHANNEL_CONFIGURATION_INVALID = 0; // 0x0
+ field public static final deprecated int CHANNEL_CONFIGURATION_MONO = 2; // 0x2
+ field public static final deprecated int CHANNEL_CONFIGURATION_STEREO = 3; // 0x3
+ field public static final int CHANNEL_INVALID = 0; // 0x0
+ field public static final int CHANNEL_IN_BACK = 32; // 0x20
+ field public static final int CHANNEL_IN_BACK_PROCESSED = 512; // 0x200
+ field public static final int CHANNEL_IN_DEFAULT = 1; // 0x1
+ field public static final int CHANNEL_IN_FRONT = 16; // 0x10
+ field public static final int CHANNEL_IN_FRONT_PROCESSED = 256; // 0x100
+ field public static final int CHANNEL_IN_LEFT = 4; // 0x4
+ field public static final int CHANNEL_IN_LEFT_PROCESSED = 64; // 0x40
+ field public static final int CHANNEL_IN_MONO = 16; // 0x10
+ field public static final int CHANNEL_IN_PRESSURE = 1024; // 0x400
+ field public static final int CHANNEL_IN_RIGHT = 8; // 0x8
+ field public static final int CHANNEL_IN_RIGHT_PROCESSED = 128; // 0x80
+ field public static final int CHANNEL_IN_STEREO = 12; // 0xc
+ field public static final int CHANNEL_IN_VOICE_DNLINK = 32768; // 0x8000
+ field public static final int CHANNEL_IN_VOICE_UPLINK = 16384; // 0x4000
+ field public static final int CHANNEL_IN_X_AXIS = 2048; // 0x800
+ field public static final int CHANNEL_IN_Y_AXIS = 4096; // 0x1000
+ field public static final int CHANNEL_IN_Z_AXIS = 8192; // 0x2000
+ field public static final int CHANNEL_OUT_5POINT1 = 252; // 0xfc
+ field public static final int CHANNEL_OUT_7POINT1 = 1020; // 0x3fc
+ field public static final int CHANNEL_OUT_BACK_CENTER = 1024; // 0x400
+ field public static final int CHANNEL_OUT_BACK_LEFT = 64; // 0x40
+ field public static final int CHANNEL_OUT_BACK_RIGHT = 128; // 0x80
+ field public static final int CHANNEL_OUT_DEFAULT = 1; // 0x1
+ field public static final int CHANNEL_OUT_FRONT_CENTER = 16; // 0x10
+ field public static final int CHANNEL_OUT_FRONT_LEFT = 4; // 0x4
+ field public static final int CHANNEL_OUT_FRONT_LEFT_OF_CENTER = 256; // 0x100
+ field public static final int CHANNEL_OUT_FRONT_RIGHT = 8; // 0x8
+ field public static final int CHANNEL_OUT_FRONT_RIGHT_OF_CENTER = 512; // 0x200
+ field public static final int CHANNEL_OUT_LOW_FREQUENCY = 32; // 0x20
+ field public static final int CHANNEL_OUT_MONO = 4; // 0x4
+ field public static final int CHANNEL_OUT_QUAD = 204; // 0xcc
+ field public static final int CHANNEL_OUT_STEREO = 12; // 0xc
+ field public static final int CHANNEL_OUT_SURROUND = 1052; // 0x41c
+ field public static final int ENCODING_DEFAULT = 1; // 0x1
+ field public static final int ENCODING_INVALID = 0; // 0x0
+ field public static final int ENCODING_PCM_16BIT = 2; // 0x2
+ field public static final int ENCODING_PCM_8BIT = 3; // 0x3
+ }
+
+ public class AudioManager {
+ method public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener);
+ method public void adjustStreamVolume(int, int, int);
+ method public void adjustSuggestedStreamVolume(int, int, int);
+ method public void adjustVolume(int, int);
+ method public int getMode();
+ method public java.lang.String getParameters(java.lang.String);
+ method public int getRingerMode();
+ method public deprecated int getRouting(int);
+ method public int getStreamMaxVolume(int);
+ method public int getStreamVolume(int);
+ method public int getVibrateSetting(int);
+ method public boolean isBluetoothA2dpOn();
+ method public boolean isBluetoothScoAvailableOffCall();
+ method public boolean isBluetoothScoOn();
+ method public boolean isMicrophoneMute();
+ method public boolean isMusicActive();
+ method public boolean isSpeakerphoneOn();
+ method public deprecated boolean isWiredHeadsetOn();
+ method public void loadSoundEffects();
+ method public void playSoundEffect(int);
+ method public void playSoundEffect(int, float);
+ method public void registerMediaButtonEventReceiver(android.content.ComponentName);
+ method public void registerRemoteControlClient(android.media.RemoteControlClient);
+ method public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, int, int);
+ method public deprecated void setBluetoothA2dpOn(boolean);
+ method public void setBluetoothScoOn(boolean);
+ method public void setMicrophoneMute(boolean);
+ method public void setMode(int);
+ method public void setParameters(java.lang.String);
+ method public void setRingerMode(int);
+ method public deprecated void setRouting(int, int, int);
+ method public void setSpeakerphoneOn(boolean);
+ method public void setStreamMute(int, boolean);
+ method public void setStreamSolo(int, boolean);
+ method public void setStreamVolume(int, int, int);
+ method public void setVibrateSetting(int, int);
+ method public deprecated void setWiredHeadsetOn(boolean);
+ method public boolean shouldVibrate(int);
+ method public void startBluetoothSco();
+ method public void stopBluetoothSco();
+ method public void unloadSoundEffects();
+ method public void unregisterMediaButtonEventReceiver(android.content.ComponentName);
+ method public void unregisterRemoteControlClient(android.media.RemoteControlClient);
+ field public static final java.lang.String ACTION_AUDIO_BECOMING_NOISY = "android.media.AUDIO_BECOMING_NOISY";
+ field public static final deprecated java.lang.String ACTION_SCO_AUDIO_STATE_CHANGED = "android.media.SCO_AUDIO_STATE_CHANGED";
+ field public static final java.lang.String ACTION_SCO_AUDIO_STATE_UPDATED = "android.media.ACTION_SCO_AUDIO_STATE_UPDATED";
+ field public static final int ADJUST_LOWER = -1; // 0xffffffff
+ field public static final int ADJUST_RAISE = 1; // 0x1
+ field public static final int ADJUST_SAME = 0; // 0x0
+ field public static final int AUDIOFOCUS_GAIN = 1; // 0x1
+ field public static final int AUDIOFOCUS_GAIN_TRANSIENT = 2; // 0x2
+ field public static final int AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK = 3; // 0x3
+ field public static final int AUDIOFOCUS_LOSS = -1; // 0xffffffff
+ field public static final int AUDIOFOCUS_LOSS_TRANSIENT = -2; // 0xfffffffe
+ field public static final int AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK = -3; // 0xfffffffd
+ field public static final int AUDIOFOCUS_REQUEST_FAILED = 0; // 0x0
+ field public static final int AUDIOFOCUS_REQUEST_GRANTED = 1; // 0x1
+ field public static final java.lang.String EXTRA_RINGER_MODE = "android.media.EXTRA_RINGER_MODE";
+ field public static final java.lang.String EXTRA_SCO_AUDIO_PREVIOUS_STATE = "android.media.extra.SCO_AUDIO_PREVIOUS_STATE";
+ field public static final java.lang.String EXTRA_SCO_AUDIO_STATE = "android.media.extra.SCO_AUDIO_STATE";
+ field public static final java.lang.String EXTRA_VIBRATE_SETTING = "android.media.EXTRA_VIBRATE_SETTING";
+ field public static final java.lang.String EXTRA_VIBRATE_TYPE = "android.media.EXTRA_VIBRATE_TYPE";
+ field public static final int FLAG_ALLOW_RINGER_MODES = 2; // 0x2
+ field public static final int FLAG_PLAY_SOUND = 4; // 0x4
+ field public static final int FLAG_REMOVE_SOUND_AND_VIBRATE = 8; // 0x8
+ field public static final int FLAG_SHOW_UI = 1; // 0x1
+ field public static final int FLAG_VIBRATE = 16; // 0x10
+ field public static final int FX_FOCUS_NAVIGATION_DOWN = 2; // 0x2
+ field public static final int FX_FOCUS_NAVIGATION_LEFT = 3; // 0x3
+ field public static final int FX_FOCUS_NAVIGATION_RIGHT = 4; // 0x4
+ field public static final int FX_FOCUS_NAVIGATION_UP = 1; // 0x1
+ field public static final int FX_KEYPRESS_DELETE = 7; // 0x7
+ field public static final int FX_KEYPRESS_RETURN = 8; // 0x8
+ field public static final int FX_KEYPRESS_SPACEBAR = 6; // 0x6
+ field public static final int FX_KEYPRESS_STANDARD = 5; // 0x5
+ field public static final int FX_KEY_CLICK = 0; // 0x0
+ field public static final int MODE_CURRENT = -1; // 0xffffffff
+ field public static final int MODE_INVALID = -2; // 0xfffffffe
+ field public static final int MODE_IN_CALL = 2; // 0x2
+ field public static final int MODE_IN_COMMUNICATION = 3; // 0x3
+ field public static final int MODE_NORMAL = 0; // 0x0
+ field public static final int MODE_RINGTONE = 1; // 0x1
+ field public static final deprecated int NUM_STREAMS = 5; // 0x5
+ field public static final java.lang.String RINGER_MODE_CHANGED_ACTION = "android.media.RINGER_MODE_CHANGED";
+ field public static final int RINGER_MODE_NORMAL = 2; // 0x2
+ field public static final int RINGER_MODE_SILENT = 0; // 0x0
+ field public static final int RINGER_MODE_VIBRATE = 1; // 0x1
+ field public static final deprecated int ROUTE_ALL = -1; // 0xffffffff
+ field public static final deprecated int ROUTE_BLUETOOTH = 4; // 0x4
+ field public static final deprecated int ROUTE_BLUETOOTH_A2DP = 16; // 0x10
+ field public static final deprecated int ROUTE_BLUETOOTH_SCO = 4; // 0x4
+ field public static final deprecated int ROUTE_EARPIECE = 1; // 0x1
+ field public static final deprecated int ROUTE_HEADSET = 8; // 0x8
+ field public static final deprecated int ROUTE_SPEAKER = 2; // 0x2
+ field public static final int SCO_AUDIO_STATE_CONNECTED = 1; // 0x1
+ field public static final int SCO_AUDIO_STATE_CONNECTING = 2; // 0x2
+ field public static final int SCO_AUDIO_STATE_DISCONNECTED = 0; // 0x0
+ field public static final int SCO_AUDIO_STATE_ERROR = -1; // 0xffffffff
+ field public static final int STREAM_ALARM = 4; // 0x4
+ field public static final int STREAM_DTMF = 8; // 0x8
+ field public static final int STREAM_MUSIC = 3; // 0x3
+ field public static final int STREAM_NOTIFICATION = 5; // 0x5
+ field public static final int STREAM_RING = 2; // 0x2
+ field public static final int STREAM_SYSTEM = 1; // 0x1
+ field public static final int STREAM_VOICE_CALL = 0; // 0x0
+ field public static final int USE_DEFAULT_STREAM_TYPE = -2147483648; // 0x80000000
+ field public static final java.lang.String VIBRATE_SETTING_CHANGED_ACTION = "android.media.VIBRATE_SETTING_CHANGED";
+ field public static final int VIBRATE_SETTING_OFF = 0; // 0x0
+ field public static final int VIBRATE_SETTING_ON = 1; // 0x1
+ field public static final int VIBRATE_SETTING_ONLY_SILENT = 2; // 0x2
+ field public static final int VIBRATE_TYPE_NOTIFICATION = 1; // 0x1
+ field public static final int VIBRATE_TYPE_RINGER = 0; // 0x0
+ }
+
+ public static abstract interface AudioManager.OnAudioFocusChangeListener {
+ method public abstract void onAudioFocusChange(int);
+ }
+
+ public class AudioRecord {
+ ctor public AudioRecord(int, int, int, int, int) throws java.lang.IllegalArgumentException;
+ method public int getAudioFormat();
+ method public int getAudioSource();
+ method public int getChannelConfiguration();
+ method public int getChannelCount();
+ method public static int getMinBufferSize(int, int, int);
+ method public int getNotificationMarkerPosition();
+ method public int getPositionNotificationPeriod();
+ method public int getRecordingState();
+ method public int getSampleRate();
+ method public int getState();
+ method public int read(byte[], int, int);
+ method public int read(short[], int, int);
+ method public int read(java.nio.ByteBuffer, int);
+ method public void release();
+ method public int setNotificationMarkerPosition(int);
+ method public int setPositionNotificationPeriod(int);
+ method public void setRecordPositionUpdateListener(android.media.AudioRecord.OnRecordPositionUpdateListener);
+ method public void setRecordPositionUpdateListener(android.media.AudioRecord.OnRecordPositionUpdateListener, android.os.Handler);
+ method public void startRecording() throws java.lang.IllegalStateException;
+ method public void stop() throws java.lang.IllegalStateException;
+ field public static final int ERROR = -1; // 0xffffffff
+ field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe
+ field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd
+ field public static final int RECORDSTATE_RECORDING = 3; // 0x3
+ field public static final int RECORDSTATE_STOPPED = 1; // 0x1
+ field public static final int STATE_INITIALIZED = 1; // 0x1
+ field public static final int STATE_UNINITIALIZED = 0; // 0x0
+ field public static final int SUCCESS = 0; // 0x0
+ }
+
+ public static abstract interface AudioRecord.OnRecordPositionUpdateListener {
+ method public abstract void onMarkerReached(android.media.AudioRecord);
+ method public abstract void onPeriodicNotification(android.media.AudioRecord);
+ }
+
+ public class AudioTrack {
+ ctor public AudioTrack(int, int, int, int, int, int) throws java.lang.IllegalArgumentException;
+ ctor public AudioTrack(int, int, int, int, int, int, int) throws java.lang.IllegalArgumentException;
+ method public int attachAuxEffect(int);
+ method public void flush();
+ method public int getAudioFormat();
+ method public int getAudioSessionId();
+ method public int getChannelConfiguration();
+ method public int getChannelCount();
+ method public static float getMaxVolume();
+ method public static int getMinBufferSize(int, int, int);
+ method public static float getMinVolume();
+ method protected int getNativeFrameCount();
+ method public static int getNativeOutputSampleRate(int);
+ method public int getNotificationMarkerPosition();
+ method public int getPlayState();
+ method public int getPlaybackHeadPosition();
+ method public int getPlaybackRate();
+ method public int getPositionNotificationPeriod();
+ method public int getSampleRate();
+ method public int getState();
+ method public int getStreamType();
+ method public void pause() throws java.lang.IllegalStateException;
+ method public void play() throws java.lang.IllegalStateException;
+ method public void release();
+ method public int reloadStaticData();
+ method public int setAuxEffectSendLevel(float);
+ method public int setLoopPoints(int, int, int);
+ method public int setNotificationMarkerPosition(int);
+ method public int setPlaybackHeadPosition(int);
+ method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener);
+ method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener, android.os.Handler);
+ method public int setPlaybackRate(int);
+ method public int setPositionNotificationPeriod(int);
+ method protected void setState(int);
+ method public int setStereoVolume(float, float);
+ method public void stop() throws java.lang.IllegalStateException;
+ method public int write(byte[], int, int);
+ method public int write(short[], int, int);
+ field public static final int ERROR = -1; // 0xffffffff
+ field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe
+ field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd
+ field public static final int MODE_STATIC = 0; // 0x0
+ field public static final int MODE_STREAM = 1; // 0x1
+ field public static final int PLAYSTATE_PAUSED = 2; // 0x2
+ field public static final int PLAYSTATE_PLAYING = 3; // 0x3
+ field public static final int PLAYSTATE_STOPPED = 1; // 0x1
+ field public static final int STATE_INITIALIZED = 1; // 0x1
+ field public static final int STATE_NO_STATIC_DATA = 2; // 0x2
+ field public static final int STATE_UNINITIALIZED = 0; // 0x0
+ field public static final int SUCCESS = 0; // 0x0
+ }
+
+ public static abstract interface AudioTrack.OnPlaybackPositionUpdateListener {
+ method public abstract void onMarkerReached(android.media.AudioTrack);
+ method public abstract void onPeriodicNotification(android.media.AudioTrack);
+ }
+
+ public class CamcorderProfile {
+ method public static android.media.CamcorderProfile get(int);
+ method public static android.media.CamcorderProfile get(int, int);
+ method public static boolean hasProfile(int);
+ method public static boolean hasProfile(int, int);
+ field public static final int QUALITY_1080P = 6; // 0x6
+ field public static final int QUALITY_480P = 4; // 0x4
+ field public static final int QUALITY_720P = 5; // 0x5
+ field public static final int QUALITY_CIF = 3; // 0x3
+ field public static final int QUALITY_HIGH = 1; // 0x1
+ field public static final int QUALITY_LOW = 0; // 0x0
+ field public static final int QUALITY_QCIF = 2; // 0x2
+ field public static final int QUALITY_TIME_LAPSE_1080P = 1006; // 0x3ee
+ field public static final int QUALITY_TIME_LAPSE_480P = 1004; // 0x3ec
+ field public static final int QUALITY_TIME_LAPSE_720P = 1005; // 0x3ed
+ field public static final int QUALITY_TIME_LAPSE_CIF = 1003; // 0x3eb
+ field public static final int QUALITY_TIME_LAPSE_HIGH = 1001; // 0x3e9
+ field public static final int QUALITY_TIME_LAPSE_LOW = 1000; // 0x3e8
+ field public static final int QUALITY_TIME_LAPSE_QCIF = 1002; // 0x3ea
+ field public int audioBitRate;
+ field public int audioChannels;
+ field public int audioCodec;
+ field public int audioSampleRate;
+ field public int duration;
+ field public int fileFormat;
+ field public int quality;
+ field public int videoBitRate;
+ field public int videoCodec;
+ field public int videoFrameHeight;
+ field public int videoFrameRate;
+ field public int videoFrameWidth;
+ }
+
+ public class CameraProfile {
+ ctor public CameraProfile();
+ method public static int getJpegEncodingQualityParameter(int);
+ method public static int getJpegEncodingQualityParameter(int, int);
+ field public static final int QUALITY_HIGH = 2; // 0x2
+ field public static final int QUALITY_LOW = 0; // 0x0
+ field public static final int QUALITY_MEDIUM = 1; // 0x1
+ }
+
+ public class ExifInterface {
+ ctor public ExifInterface(java.lang.String) throws java.io.IOException;
+ method public double getAltitude(double);
+ method public java.lang.String getAttribute(java.lang.String);
+ method public double getAttributeDouble(java.lang.String, double);
+ method public int getAttributeInt(java.lang.String, int);
+ method public boolean getLatLong(float[]);
+ method public byte[] getThumbnail();
+ method public boolean hasThumbnail();
+ method public void saveAttributes() throws java.io.IOException;
+ method public void setAttribute(java.lang.String, java.lang.String);
+ field public static final int ORIENTATION_FLIP_HORIZONTAL = 2; // 0x2
+ field public static final int ORIENTATION_FLIP_VERTICAL = 4; // 0x4
+ field public static final int ORIENTATION_NORMAL = 1; // 0x1
+ field public static final int ORIENTATION_ROTATE_180 = 3; // 0x3
+ field public static final int ORIENTATION_ROTATE_270 = 8; // 0x8
+ field public static final int ORIENTATION_ROTATE_90 = 6; // 0x6
+ field public static final int ORIENTATION_TRANSPOSE = 5; // 0x5
+ field public static final int ORIENTATION_TRANSVERSE = 7; // 0x7
+ field public static final int ORIENTATION_UNDEFINED = 0; // 0x0
+ field public static final java.lang.String TAG_APERTURE = "FNumber";
+ field public static final java.lang.String TAG_DATETIME = "DateTime";
+ field public static final java.lang.String TAG_EXPOSURE_TIME = "ExposureTime";
+ field public static final java.lang.String TAG_FLASH = "Flash";
+ field public static final java.lang.String TAG_FOCAL_LENGTH = "FocalLength";
+ field public static final java.lang.String TAG_GPS_ALTITUDE = "GPSAltitude";
+ field public static final java.lang.String TAG_GPS_ALTITUDE_REF = "GPSAltitudeRef";
+ field public static final java.lang.String TAG_GPS_DATESTAMP = "GPSDateStamp";
+ field public static final java.lang.String TAG_GPS_LATITUDE = "GPSLatitude";
+ field public static final java.lang.String TAG_GPS_LATITUDE_REF = "GPSLatitudeRef";
+ field public static final java.lang.String TAG_GPS_LONGITUDE = "GPSLongitude";
+ field public static final java.lang.String TAG_GPS_LONGITUDE_REF = "GPSLongitudeRef";
+ field public static final java.lang.String TAG_GPS_PROCESSING_METHOD = "GPSProcessingMethod";
+ field public static final java.lang.String TAG_GPS_TIMESTAMP = "GPSTimeStamp";
+ field public static final java.lang.String TAG_IMAGE_LENGTH = "ImageLength";
+ field public static final java.lang.String TAG_IMAGE_WIDTH = "ImageWidth";
+ field public static final java.lang.String TAG_ISO = "ISOSpeedRatings";
+ field public static final java.lang.String TAG_MAKE = "Make";
+ field public static final java.lang.String TAG_MODEL = "Model";
+ field public static final java.lang.String TAG_ORIENTATION = "Orientation";
+ field public static final java.lang.String TAG_WHITE_BALANCE = "WhiteBalance";
+ field public static final int WHITEBALANCE_AUTO = 0; // 0x0
+ field public static final int WHITEBALANCE_MANUAL = 1; // 0x1
+ }
+
+ public class FaceDetector {
+ ctor public FaceDetector(int, int, int);
+ method public int findFaces(android.graphics.Bitmap, android.media.FaceDetector.Face[]);
+ }
+
+ public class FaceDetector.Face {
+ method public float confidence();
+ method public float eyesDistance();
+ method public void getMidPoint(android.graphics.PointF);
+ method public float pose(int);
+ field public static final float CONFIDENCE_THRESHOLD = 0.4f;
+ field public static final int EULER_X = 0; // 0x0
+ field public static final int EULER_Y = 1; // 0x1
+ field public static final int EULER_Z = 2; // 0x2
+ }
+
+ public class JetPlayer {
+ method public boolean clearQueue();
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public boolean closeJetFile();
+ method public static android.media.JetPlayer getJetPlayer();
+ method public static int getMaxTracks();
+ method public boolean loadJetFile(java.lang.String);
+ method public boolean loadJetFile(android.content.res.AssetFileDescriptor);
+ method public boolean pause();
+ method public boolean play();
+ method public boolean queueJetSegment(int, int, int, int, int, byte);
+ method public boolean queueJetSegmentMuteArray(int, int, int, int, boolean[], byte);
+ method public void release();
+ method public void setEventListener(android.media.JetPlayer.OnJetEventListener);
+ method public void setEventListener(android.media.JetPlayer.OnJetEventListener, android.os.Handler);
+ method public boolean setMuteArray(boolean[], boolean);
+ method public boolean setMuteFlag(int, boolean, boolean);
+ method public boolean setMuteFlags(int, boolean);
+ method public boolean triggerClip(int);
+ }
+
+ public static abstract interface JetPlayer.OnJetEventListener {
+ method public abstract void onJetEvent(android.media.JetPlayer, short, byte, byte, byte, byte);
+ method public abstract void onJetNumQueuedSegmentUpdate(android.media.JetPlayer, int);
+ method public abstract void onJetPauseUpdate(android.media.JetPlayer, int);
+ method public abstract void onJetUserIdUpdate(android.media.JetPlayer, int, int);
+ }
+
+ public class MediaMetadataRetriever {
+ ctor public MediaMetadataRetriever();
+ method public java.lang.String extractMetadata(int);
+ method public byte[] getEmbeddedPicture();
+ method public android.graphics.Bitmap getFrameAtTime(long, int);
+ method public android.graphics.Bitmap getFrameAtTime(long);
+ method public android.graphics.Bitmap getFrameAtTime();
+ method public void release();
+ method public void setDataSource(java.lang.String) throws java.lang.IllegalArgumentException;
+ method public void setDataSource(java.lang.String, java.util.Map<java.lang.String, java.lang.String>) throws java.lang.IllegalArgumentException;
+ method public void setDataSource(java.io.FileDescriptor, long, long) throws java.lang.IllegalArgumentException;
+ method public void setDataSource(java.io.FileDescriptor) throws java.lang.IllegalArgumentException;
+ method public void setDataSource(android.content.Context, android.net.Uri) throws java.lang.IllegalArgumentException, java.lang.SecurityException;
+ field public static final int METADATA_KEY_ALBUM = 1; // 0x1
+ field public static final int METADATA_KEY_ALBUMARTIST = 13; // 0xd
+ field public static final int METADATA_KEY_ARTIST = 2; // 0x2
+ field public static final int METADATA_KEY_AUTHOR = 3; // 0x3
+ field public static final int METADATA_KEY_BITRATE = 20; // 0x14
+ field public static final int METADATA_KEY_CD_TRACK_NUMBER = 0; // 0x0
+ field public static final int METADATA_KEY_COMPILATION = 15; // 0xf
+ field public static final int METADATA_KEY_COMPOSER = 4; // 0x4
+ field public static final int METADATA_KEY_DATE = 5; // 0x5
+ field public static final int METADATA_KEY_DISC_NUMBER = 14; // 0xe
+ field public static final int METADATA_KEY_DURATION = 9; // 0x9
+ field public static final int METADATA_KEY_GENRE = 6; // 0x6
+ field public static final int METADATA_KEY_HAS_AUDIO = 16; // 0x10
+ field public static final int METADATA_KEY_HAS_VIDEO = 17; // 0x11
+ field public static final int METADATA_KEY_MIMETYPE = 12; // 0xc
+ field public static final int METADATA_KEY_NUM_TRACKS = 10; // 0xa
+ field public static final int METADATA_KEY_TITLE = 7; // 0x7
+ field public static final int METADATA_KEY_VIDEO_HEIGHT = 19; // 0x13
+ field public static final int METADATA_KEY_VIDEO_WIDTH = 18; // 0x12
+ field public static final int METADATA_KEY_WRITER = 11; // 0xb
+ field public static final int METADATA_KEY_YEAR = 8; // 0x8
+ field public static final int OPTION_CLOSEST = 3; // 0x3
+ field public static final int OPTION_CLOSEST_SYNC = 2; // 0x2
+ field public static final int OPTION_NEXT_SYNC = 1; // 0x1
+ field public static final int OPTION_PREVIOUS_SYNC = 0; // 0x0
+ }
+
+ public class MediaPlayer {
+ ctor public MediaPlayer();
+ method public void attachAuxEffect(int);
+ method public static android.media.MediaPlayer create(android.content.Context, android.net.Uri);
+ method public static android.media.MediaPlayer create(android.content.Context, android.net.Uri, android.view.SurfaceHolder);
+ method public static android.media.MediaPlayer create(android.content.Context, int);
+ method public int getAudioSessionId();
+ method public int getCurrentPosition();
+ method public int getDuration();
+ method public int getVideoHeight();
+ method public int getVideoWidth();
+ method public boolean isLooping();
+ method public boolean isPlaying();
+ method public void pause() throws java.lang.IllegalStateException;
+ method public void prepare() throws java.io.IOException, java.lang.IllegalStateException;
+ method public void prepareAsync() throws java.lang.IllegalStateException;
+ method public void release();
+ method public void reset();
+ method public void seekTo(int) throws java.lang.IllegalStateException;
+ method public void setAudioSessionId(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public void setAudioStreamType(int);
+ method public void setAuxEffectSendLevel(float);
+ method public void setDataSource(android.content.Context, android.net.Uri) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.SecurityException;
+ method public void setDataSource(android.content.Context, android.net.Uri, java.util.Map<java.lang.String, java.lang.String>) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.SecurityException;
+ method public void setDataSource(java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.SecurityException;
+ method public void setDataSource(java.io.FileDescriptor) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public void setDataSource(java.io.FileDescriptor, long, long) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public void setDisplay(android.view.SurfaceHolder);
+ method public void setLooping(boolean);
+ method public void setOnBufferingUpdateListener(android.media.MediaPlayer.OnBufferingUpdateListener);
+ method public void setOnCompletionListener(android.media.MediaPlayer.OnCompletionListener);
+ method public void setOnErrorListener(android.media.MediaPlayer.OnErrorListener);
+ method public void setOnInfoListener(android.media.MediaPlayer.OnInfoListener);
+ method public void setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener);
+ method public void setOnSeekCompleteListener(android.media.MediaPlayer.OnSeekCompleteListener);
+ method public void setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener);
+ method public void setScreenOnWhilePlaying(boolean);
+ method public void setSurface(android.view.Surface);
+ method public void setVolume(float, float);
+ method public void setWakeMode(android.content.Context, int);
+ method public void start() throws java.lang.IllegalStateException;
+ method public void stop() throws java.lang.IllegalStateException;
+ field public static final int MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK = 200; // 0xc8
+ field public static final int MEDIA_ERROR_SERVER_DIED = 100; // 0x64
+ field public static final int MEDIA_ERROR_UNKNOWN = 1; // 0x1
+ field public static final int MEDIA_INFO_BAD_INTERLEAVING = 800; // 0x320
+ field public static final int MEDIA_INFO_BUFFERING_END = 702; // 0x2be
+ field public static final int MEDIA_INFO_BUFFERING_START = 701; // 0x2bd
+ field public static final int MEDIA_INFO_METADATA_UPDATE = 802; // 0x322
+ field public static final int MEDIA_INFO_NOT_SEEKABLE = 801; // 0x321
+ field public static final int MEDIA_INFO_UNKNOWN = 1; // 0x1
+ field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc
+ }
+
+ public static abstract interface MediaPlayer.OnBufferingUpdateListener {
+ method public abstract void onBufferingUpdate(android.media.MediaPlayer, int);
+ }
+
+ public static abstract interface MediaPlayer.OnCompletionListener {
+ method public abstract void onCompletion(android.media.MediaPlayer);
+ }
+
+ public static abstract interface MediaPlayer.OnErrorListener {
+ method public abstract boolean onError(android.media.MediaPlayer, int, int);
+ }
+
+ public static abstract interface MediaPlayer.OnInfoListener {
+ method public abstract boolean onInfo(android.media.MediaPlayer, int, int);
+ }
+
+ public static abstract interface MediaPlayer.OnPreparedListener {
+ method public abstract void onPrepared(android.media.MediaPlayer);
+ }
+
+ public static abstract interface MediaPlayer.OnSeekCompleteListener {
+ method public abstract void onSeekComplete(android.media.MediaPlayer);
+ }
+
+ public static abstract interface MediaPlayer.OnVideoSizeChangedListener {
+ method public abstract void onVideoSizeChanged(android.media.MediaPlayer, int, int);
+ }
+
+ public class MediaRecorder {
+ ctor public MediaRecorder();
+ method public static final int getAudioSourceMax();
+ method public int getMaxAmplitude() throws java.lang.IllegalStateException;
+ method public void prepare() throws java.io.IOException, java.lang.IllegalStateException;
+ method public void release();
+ method public void reset();
+ method public void setAudioChannels(int);
+ method public void setAudioEncoder(int) throws java.lang.IllegalStateException;
+ method public void setAudioEncodingBitRate(int);
+ method public void setAudioSamplingRate(int);
+ method public void setAudioSource(int) throws java.lang.IllegalStateException;
+ method public deprecated void setAuxiliaryOutputFile(java.io.FileDescriptor);
+ method public deprecated void setAuxiliaryOutputFile(java.lang.String);
+ method public void setCamera(android.hardware.Camera);
+ method public void setCaptureRate(double);
+ method public void setLocation(float, float);
+ method public void setMaxDuration(int) throws java.lang.IllegalArgumentException;
+ method public void setMaxFileSize(long) throws java.lang.IllegalArgumentException;
+ method public void setOnErrorListener(android.media.MediaRecorder.OnErrorListener);
+ method public void setOnInfoListener(android.media.MediaRecorder.OnInfoListener);
+ method public void setOrientationHint(int);
+ method public void setOutputFile(java.io.FileDescriptor) throws java.lang.IllegalStateException;
+ method public void setOutputFile(java.lang.String) throws java.lang.IllegalStateException;
+ method public void setOutputFormat(int) throws java.lang.IllegalStateException;
+ method public void setPreviewDisplay(android.view.Surface);
+ method public void setProfile(android.media.CamcorderProfile);
+ method public void setVideoEncoder(int) throws java.lang.IllegalStateException;
+ method public void setVideoEncodingBitRate(int);
+ method public void setVideoFrameRate(int) throws java.lang.IllegalStateException;
+ method public void setVideoSize(int, int) throws java.lang.IllegalStateException;
+ method public void setVideoSource(int) throws java.lang.IllegalStateException;
+ method public void start() throws java.lang.IllegalStateException;
+ method public void stop() throws java.lang.IllegalStateException;
+ field public static final int MEDIA_RECORDER_ERROR_UNKNOWN = 1; // 0x1
+ field public static final int MEDIA_RECORDER_INFO_MAX_DURATION_REACHED = 800; // 0x320
+ field public static final int MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED = 801; // 0x321
+ field public static final int MEDIA_RECORDER_INFO_UNKNOWN = 1; // 0x1
+ }
+
+ public final class MediaRecorder.AudioEncoder {
+ field public static final int AAC = 3; // 0x3
+ field public static final int AMR_NB = 1; // 0x1
+ field public static final int AMR_WB = 2; // 0x2
+ field public static final int DEFAULT = 0; // 0x0
+ }
+
+ public final class MediaRecorder.AudioSource {
+ field public static final int CAMCORDER = 5; // 0x5
+ field public static final int DEFAULT = 0; // 0x0
+ field public static final int MIC = 1; // 0x1
+ field public static final int VOICE_CALL = 4; // 0x4
+ field public static final int VOICE_COMMUNICATION = 7; // 0x7
+ field public static final int VOICE_DOWNLINK = 3; // 0x3
+ field public static final int VOICE_RECOGNITION = 6; // 0x6
+ field public static final int VOICE_UPLINK = 2; // 0x2
+ }
+
+ public static abstract interface MediaRecorder.OnErrorListener {
+ method public abstract void onError(android.media.MediaRecorder, int, int);
+ }
+
+ public static abstract interface MediaRecorder.OnInfoListener {
+ method public abstract void onInfo(android.media.MediaRecorder, int, int);
+ }
+
+ public final class MediaRecorder.OutputFormat {
+ field public static final int AMR_NB = 3; // 0x3
+ field public static final int AMR_WB = 4; // 0x4
+ field public static final int DEFAULT = 0; // 0x0
+ field public static final int MPEG_4 = 2; // 0x2
+ field public static final int RAW_AMR = 3; // 0x3
+ field public static final int THREE_GPP = 1; // 0x1
+ }
+
+ public final class MediaRecorder.VideoEncoder {
+ field public static final int DEFAULT = 0; // 0x0
+ field public static final int H263 = 1; // 0x1
+ field public static final int H264 = 2; // 0x2
+ field public static final int MPEG_4_SP = 3; // 0x3
+ }
+
+ public final class MediaRecorder.VideoSource {
+ field public static final int CAMERA = 1; // 0x1
+ field public static final int DEFAULT = 0; // 0x0
+ }
+
+ public class MediaScannerConnection implements android.content.ServiceConnection {
+ ctor public MediaScannerConnection(android.content.Context, android.media.MediaScannerConnection.MediaScannerConnectionClient);
+ method public void connect();
+ method public void disconnect();
+ method public synchronized boolean isConnected();
+ method public void onServiceConnected(android.content.ComponentName, android.os.IBinder);
+ method public void onServiceDisconnected(android.content.ComponentName);
+ method public void scanFile(java.lang.String, java.lang.String);
+ method public static void scanFile(android.content.Context, java.lang.String[], java.lang.String[], android.media.MediaScannerConnection.OnScanCompletedListener);
+ }
+
+ public static abstract interface MediaScannerConnection.MediaScannerConnectionClient implements android.media.MediaScannerConnection.OnScanCompletedListener {
+ method public abstract void onMediaScannerConnected();
+ method public abstract void onScanCompleted(java.lang.String, android.net.Uri);
+ }
+
+ public static abstract interface MediaScannerConnection.OnScanCompletedListener {
+ method public abstract void onScanCompleted(java.lang.String, android.net.Uri);
+ }
+
+ public class RemoteControlClient {
+ ctor public RemoteControlClient(android.app.PendingIntent);
+ ctor public RemoteControlClient(android.app.PendingIntent, android.os.Looper);
+ method public android.media.RemoteControlClient.MetadataEditor editMetadata(boolean);
+ method public void setPlaybackState(int);
+ method public void setTransportControlFlags(int);
+ field public static final int FLAG_KEY_MEDIA_FAST_FORWARD = 64; // 0x40
+ field public static final int FLAG_KEY_MEDIA_NEXT = 128; // 0x80
+ field public static final int FLAG_KEY_MEDIA_PAUSE = 16; // 0x10
+ field public static final int FLAG_KEY_MEDIA_PLAY = 4; // 0x4
+ field public static final int FLAG_KEY_MEDIA_PLAY_PAUSE = 8; // 0x8
+ field public static final int FLAG_KEY_MEDIA_PREVIOUS = 1; // 0x1
+ field public static final int FLAG_KEY_MEDIA_REWIND = 2; // 0x2
+ field public static final int FLAG_KEY_MEDIA_STOP = 32; // 0x20
+ field public static final int PLAYSTATE_BUFFERING = 8; // 0x8
+ field public static final int PLAYSTATE_ERROR = 9; // 0x9
+ field public static final int PLAYSTATE_FAST_FORWARDING = 4; // 0x4
+ field public static final int PLAYSTATE_PAUSED = 2; // 0x2
+ field public static final int PLAYSTATE_PLAYING = 3; // 0x3
+ field public static final int PLAYSTATE_REWINDING = 5; // 0x5
+ field public static final int PLAYSTATE_SKIPPING_BACKWARDS = 7; // 0x7
+ field public static final int PLAYSTATE_SKIPPING_FORWARDS = 6; // 0x6
+ field public static final int PLAYSTATE_STOPPED = 1; // 0x1
+ }
+
+ public class RemoteControlClient.MetadataEditor {
+ method public synchronized void apply();
+ method public synchronized void clear();
+ method public synchronized android.media.RemoteControlClient.MetadataEditor putBitmap(int, android.graphics.Bitmap) throws java.lang.IllegalArgumentException;
+ method public synchronized android.media.RemoteControlClient.MetadataEditor putLong(int, long) throws java.lang.IllegalArgumentException;
+ method public synchronized android.media.RemoteControlClient.MetadataEditor putString(int, java.lang.String) throws java.lang.IllegalArgumentException;
+ field public static final int BITMAP_KEY_ARTWORK = 100; // 0x64
+ }
+
+ public class Ringtone {
+ method public int getStreamType();
+ method public java.lang.String getTitle(android.content.Context);
+ method public boolean isPlaying();
+ method public void play();
+ method public void setStreamType(int);
+ method public void stop();
+ }
+
+ public class RingtoneManager {
+ ctor public RingtoneManager(android.app.Activity);
+ ctor public RingtoneManager(android.content.Context);
+ method public static android.net.Uri getActualDefaultRingtoneUri(android.content.Context, int);
+ method public android.database.Cursor getCursor();
+ method public static int getDefaultType(android.net.Uri);
+ method public static android.net.Uri getDefaultUri(int);
+ method public boolean getIncludeDrm();
+ method public android.media.Ringtone getRingtone(int);
+ method public static android.media.Ringtone getRingtone(android.content.Context, android.net.Uri);
+ method public int getRingtonePosition(android.net.Uri);
+ method public android.net.Uri getRingtoneUri(int);
+ method public boolean getStopPreviousRingtone();
+ method public static android.net.Uri getValidRingtoneUri(android.content.Context);
+ method public int inferStreamType();
+ method public static boolean isDefault(android.net.Uri);
+ method public static void setActualDefaultRingtoneUri(android.content.Context, int, android.net.Uri);
+ method public void setIncludeDrm(boolean);
+ method public void setStopPreviousRingtone(boolean);
+ method public void setType(int);
+ method public void stopPreviousRingtone();
+ field public static final java.lang.String ACTION_RINGTONE_PICKER = "android.intent.action.RINGTONE_PICKER";
+ field public static final java.lang.String EXTRA_RINGTONE_DEFAULT_URI = "android.intent.extra.ringtone.DEFAULT_URI";
+ field public static final java.lang.String EXTRA_RINGTONE_EXISTING_URI = "android.intent.extra.ringtone.EXISTING_URI";
+ field public static final java.lang.String EXTRA_RINGTONE_INCLUDE_DRM = "android.intent.extra.ringtone.INCLUDE_DRM";
+ field public static final java.lang.String EXTRA_RINGTONE_PICKED_URI = "android.intent.extra.ringtone.PICKED_URI";
+ field public static final java.lang.String EXTRA_RINGTONE_SHOW_DEFAULT = "android.intent.extra.ringtone.SHOW_DEFAULT";
+ field public static final java.lang.String EXTRA_RINGTONE_SHOW_SILENT = "android.intent.extra.ringtone.SHOW_SILENT";
+ field public static final java.lang.String EXTRA_RINGTONE_TITLE = "android.intent.extra.ringtone.TITLE";
+ field public static final java.lang.String EXTRA_RINGTONE_TYPE = "android.intent.extra.ringtone.TYPE";
+ field public static final int ID_COLUMN_INDEX = 0; // 0x0
+ field public static final int TITLE_COLUMN_INDEX = 1; // 0x1
+ field public static final int TYPE_ALARM = 4; // 0x4
+ field public static final int TYPE_ALL = 7; // 0x7
+ field public static final int TYPE_NOTIFICATION = 2; // 0x2
+ field public static final int TYPE_RINGTONE = 1; // 0x1
+ field public static final int URI_COLUMN_INDEX = 2; // 0x2
+ }
+
+ public class SoundPool {
+ ctor public SoundPool(int, int, int);
+ method public final void autoPause();
+ method public final void autoResume();
+ method public int load(java.lang.String, int);
+ method public int load(android.content.Context, int, int);
+ method public int load(android.content.res.AssetFileDescriptor, int);
+ method public int load(java.io.FileDescriptor, long, long, int);
+ method public final void pause(int);
+ method public final int play(int, float, float, int, int, float);
+ method public final void release();
+ method public final void resume(int);
+ method public final void setLoop(int, int);
+ method public void setOnLoadCompleteListener(android.media.SoundPool.OnLoadCompleteListener);
+ method public final void setPriority(int, int);
+ method public final void setRate(int, float);
+ method public final void setVolume(int, float, float);
+ method public final void stop(int);
+ method public final boolean unload(int);
+ }
+
+ public static abstract interface SoundPool.OnLoadCompleteListener {
+ method public abstract void onLoadComplete(android.media.SoundPool, int, int);
+ }
+
+ public class ThumbnailUtils {
+ ctor public ThumbnailUtils();
+ method public static android.graphics.Bitmap createVideoThumbnail(java.lang.String, int);
+ method public static android.graphics.Bitmap extractThumbnail(android.graphics.Bitmap, int, int);
+ method public static android.graphics.Bitmap extractThumbnail(android.graphics.Bitmap, int, int, int);
+ field public static final int OPTIONS_RECYCLE_INPUT = 2; // 0x2
+ }
+
+ public class ToneGenerator {
+ ctor public ToneGenerator(int, int);
+ method public void release();
+ method public boolean startTone(int);
+ method public boolean startTone(int, int);
+ method public void stopTone();
+ field public static final int MAX_VOLUME = 100; // 0x64
+ field public static final int MIN_VOLUME = 0; // 0x0
+ field public static final int TONE_CDMA_ABBR_ALERT = 97; // 0x61
+ field public static final int TONE_CDMA_ABBR_INTERCEPT = 37; // 0x25
+ field public static final int TONE_CDMA_ABBR_REORDER = 39; // 0x27
+ field public static final int TONE_CDMA_ALERT_AUTOREDIAL_LITE = 87; // 0x57
+ field public static final int TONE_CDMA_ALERT_CALL_GUARD = 93; // 0x5d
+ field public static final int TONE_CDMA_ALERT_INCALL_LITE = 91; // 0x5b
+ field public static final int TONE_CDMA_ALERT_NETWORK_LITE = 86; // 0x56
+ field public static final int TONE_CDMA_ANSWER = 42; // 0x2a
+ field public static final int TONE_CDMA_CALLDROP_LITE = 95; // 0x5f
+ field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP = 46; // 0x2e
+ field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL = 45; // 0x2d
+ field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT3 = 48; // 0x30
+ field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT5 = 50; // 0x32
+ field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT6 = 51; // 0x33
+ field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT7 = 52; // 0x34
+ field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING = 49; // 0x31
+ field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI = 47; // 0x2f
+ field public static final int TONE_CDMA_CONFIRM = 41; // 0x29
+ field public static final int TONE_CDMA_DIAL_TONE_LITE = 34; // 0x22
+ field public static final int TONE_CDMA_EMERGENCY_RINGBACK = 92; // 0x5c
+ field public static final int TONE_CDMA_HIGH_L = 53; // 0x35
+ field public static final int TONE_CDMA_HIGH_PBX_L = 71; // 0x47
+ field public static final int TONE_CDMA_HIGH_PBX_SLS = 80; // 0x50
+ field public static final int TONE_CDMA_HIGH_PBX_SS = 74; // 0x4a
+ field public static final int TONE_CDMA_HIGH_PBX_SSL = 77; // 0x4d
+ field public static final int TONE_CDMA_HIGH_PBX_S_X4 = 83; // 0x53
+ field public static final int TONE_CDMA_HIGH_SLS = 65; // 0x41
+ field public static final int TONE_CDMA_HIGH_SS = 56; // 0x38
+ field public static final int TONE_CDMA_HIGH_SSL = 59; // 0x3b
+ field public static final int TONE_CDMA_HIGH_SS_2 = 62; // 0x3e
+ field public static final int TONE_CDMA_HIGH_S_X4 = 68; // 0x44
+ field public static final int TONE_CDMA_INTERCEPT = 36; // 0x24
+ field public static final int TONE_CDMA_KEYPAD_VOLUME_KEY_LITE = 89; // 0x59
+ field public static final int TONE_CDMA_LOW_L = 55; // 0x37
+ field public static final int TONE_CDMA_LOW_PBX_L = 73; // 0x49
+ field public static final int TONE_CDMA_LOW_PBX_SLS = 82; // 0x52
+ field public static final int TONE_CDMA_LOW_PBX_SS = 76; // 0x4c
+ field public static final int TONE_CDMA_LOW_PBX_SSL = 79; // 0x4f
+ field public static final int TONE_CDMA_LOW_PBX_S_X4 = 85; // 0x55
+ field public static final int TONE_CDMA_LOW_SLS = 67; // 0x43
+ field public static final int TONE_CDMA_LOW_SS = 58; // 0x3a
+ field public static final int TONE_CDMA_LOW_SSL = 61; // 0x3d
+ field public static final int TONE_CDMA_LOW_SS_2 = 64; // 0x40
+ field public static final int TONE_CDMA_LOW_S_X4 = 70; // 0x46
+ field public static final int TONE_CDMA_MED_L = 54; // 0x36
+ field public static final int TONE_CDMA_MED_PBX_L = 72; // 0x48
+ field public static final int TONE_CDMA_MED_PBX_SLS = 81; // 0x51
+ field public static final int TONE_CDMA_MED_PBX_SS = 75; // 0x4b
+ field public static final int TONE_CDMA_MED_PBX_SSL = 78; // 0x4e
+ field public static final int TONE_CDMA_MED_PBX_S_X4 = 84; // 0x54
+ field public static final int TONE_CDMA_MED_SLS = 66; // 0x42
+ field public static final int TONE_CDMA_MED_SS = 57; // 0x39
+ field public static final int TONE_CDMA_MED_SSL = 60; // 0x3c
+ field public static final int TONE_CDMA_MED_SS_2 = 63; // 0x3f
+ field public static final int TONE_CDMA_MED_S_X4 = 69; // 0x45
+ field public static final int TONE_CDMA_NETWORK_BUSY = 40; // 0x28
+ field public static final int TONE_CDMA_NETWORK_BUSY_ONE_SHOT = 96; // 0x60
+ field public static final int TONE_CDMA_NETWORK_CALLWAITING = 43; // 0x2b
+ field public static final int TONE_CDMA_NETWORK_USA_RINGBACK = 35; // 0x23
+ field public static final int TONE_CDMA_ONE_MIN_BEEP = 88; // 0x58
+ field public static final int TONE_CDMA_PIP = 44; // 0x2c
+ field public static final int TONE_CDMA_PRESSHOLDKEY_LITE = 90; // 0x5a
+ field public static final int TONE_CDMA_REORDER = 38; // 0x26
+ field public static final int TONE_CDMA_SIGNAL_OFF = 98; // 0x62
+ field public static final int TONE_CDMA_SOFT_ERROR_LITE = 94; // 0x5e
+ field public static final int TONE_DTMF_0 = 0; // 0x0
+ field public static final int TONE_DTMF_1 = 1; // 0x1
+ field public static final int TONE_DTMF_2 = 2; // 0x2
+ field public static final int TONE_DTMF_3 = 3; // 0x3
+ field public static final int TONE_DTMF_4 = 4; // 0x4
+ field public static final int TONE_DTMF_5 = 5; // 0x5
+ field public static final int TONE_DTMF_6 = 6; // 0x6
+ field public static final int TONE_DTMF_7 = 7; // 0x7
+ field public static final int TONE_DTMF_8 = 8; // 0x8
+ field public static final int TONE_DTMF_9 = 9; // 0x9
+ field public static final int TONE_DTMF_A = 12; // 0xc
+ field public static final int TONE_DTMF_B = 13; // 0xd
+ field public static final int TONE_DTMF_C = 14; // 0xe
+ field public static final int TONE_DTMF_D = 15; // 0xf
+ field public static final int TONE_DTMF_P = 11; // 0xb
+ field public static final int TONE_DTMF_S = 10; // 0xa
+ field public static final int TONE_PROP_ACK = 25; // 0x19
+ field public static final int TONE_PROP_BEEP = 24; // 0x18
+ field public static final int TONE_PROP_BEEP2 = 28; // 0x1c
+ field public static final int TONE_PROP_NACK = 26; // 0x1a
+ field public static final int TONE_PROP_PROMPT = 27; // 0x1b
+ field public static final int TONE_SUP_BUSY = 17; // 0x11
+ field public static final int TONE_SUP_CALL_WAITING = 22; // 0x16
+ field public static final int TONE_SUP_CONFIRM = 32; // 0x20
+ field public static final int TONE_SUP_CONGESTION = 18; // 0x12
+ field public static final int TONE_SUP_CONGESTION_ABBREV = 31; // 0x1f
+ field public static final int TONE_SUP_DIAL = 16; // 0x10
+ field public static final int TONE_SUP_ERROR = 21; // 0x15
+ field public static final int TONE_SUP_INTERCEPT = 29; // 0x1d
+ field public static final int TONE_SUP_INTERCEPT_ABBREV = 30; // 0x1e
+ field public static final int TONE_SUP_PIP = 33; // 0x21
+ field public static final int TONE_SUP_RADIO_ACK = 19; // 0x13
+ field public static final int TONE_SUP_RADIO_NOTAVAIL = 20; // 0x14
+ field public static final int TONE_SUP_RINGTONE = 23; // 0x17
+ }
+
+}
+
+package android.media.audiofx {
+
+ public class AudioEffect {
+ method public android.media.audiofx.AudioEffect.Descriptor getDescriptor() throws java.lang.IllegalStateException;
+ method public boolean getEnabled() throws java.lang.IllegalStateException;
+ method public int getId() throws java.lang.IllegalStateException;
+ method public boolean hasControl() throws java.lang.IllegalStateException;
+ method public static android.media.audiofx.AudioEffect.Descriptor[] queryEffects();
+ method public void release();
+ method public void setControlStatusListener(android.media.audiofx.AudioEffect.OnControlStatusChangeListener);
+ method public void setEnableStatusListener(android.media.audiofx.AudioEffect.OnEnableStatusChangeListener);
+ method public int setEnabled(boolean) throws java.lang.IllegalStateException;
+ field public static final java.lang.String ACTION_CLOSE_AUDIO_EFFECT_CONTROL_SESSION = "android.media.action.CLOSE_AUDIO_EFFECT_CONTROL_SESSION";
+ field public static final java.lang.String ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL = "android.media.action.DISPLAY_AUDIO_EFFECT_CONTROL_PANEL";
+ field public static final java.lang.String ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION = "android.media.action.OPEN_AUDIO_EFFECT_CONTROL_SESSION";
+ field public static final int ALREADY_EXISTS = -2; // 0xfffffffe
+ field public static final int CONTENT_TYPE_GAME = 2; // 0x2
+ field public static final int CONTENT_TYPE_MOVIE = 1; // 0x1
+ field public static final int CONTENT_TYPE_MUSIC = 0; // 0x0
+ field public static final int CONTENT_TYPE_VOICE = 3; // 0x3
+ field public static final java.lang.String EFFECT_AUXILIARY = "Auxiliary";
+ field public static final java.lang.String EFFECT_INSERT = "Insert";
+ field public static final int ERROR = -1; // 0xffffffff
+ field public static final int ERROR_BAD_VALUE = -4; // 0xfffffffc
+ field public static final int ERROR_DEAD_OBJECT = -7; // 0xfffffff9
+ field public static final int ERROR_INVALID_OPERATION = -5; // 0xfffffffb
+ field public static final int ERROR_NO_INIT = -3; // 0xfffffffd
+ field public static final int ERROR_NO_MEMORY = -6; // 0xfffffffa
+ field public static final java.lang.String EXTRA_AUDIO_SESSION = "android.media.extra.AUDIO_SESSION";
+ field public static final java.lang.String EXTRA_CONTENT_TYPE = "android.media.extra.CONTENT_TYPE";
+ field public static final java.lang.String EXTRA_PACKAGE_NAME = "android.media.extra.PACKAGE_NAME";
+ field public static final int SUCCESS = 0; // 0x0
+ }
+
+ public static class AudioEffect.Descriptor {
+ ctor public AudioEffect.Descriptor();
+ ctor public AudioEffect.Descriptor(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ field public java.lang.String connectMode;
+ field public java.lang.String implementor;
+ field public java.lang.String name;
+ field public java.util.UUID type;
+ field public java.util.UUID uuid;
+ }
+
+ public static abstract interface AudioEffect.OnControlStatusChangeListener {
+ method public abstract void onControlStatusChange(android.media.audiofx.AudioEffect, boolean);
+ }
+
+ public static abstract interface AudioEffect.OnEnableStatusChangeListener {
+ method public abstract void onEnableStatusChange(android.media.audiofx.AudioEffect, boolean);
+ }
+
+ public class BassBoost extends android.media.audiofx.AudioEffect {
+ ctor public BassBoost(int, int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+ method public android.media.audiofx.BassBoost.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public short getRoundedStrength() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public boolean getStrengthSupported();
+ method public void setParameterListener(android.media.audiofx.BassBoost.OnParameterChangeListener);
+ method public void setProperties(android.media.audiofx.BassBoost.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setStrength(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ field public static final int PARAM_STRENGTH = 1; // 0x1
+ field public static final int PARAM_STRENGTH_SUPPORTED = 0; // 0x0
+ }
+
+ public static abstract interface BassBoost.OnParameterChangeListener {
+ method public abstract void onParameterChange(android.media.audiofx.BassBoost, int, int, short);
+ }
+
+ public static class BassBoost.Settings {
+ ctor public BassBoost.Settings();
+ ctor public BassBoost.Settings(java.lang.String);
+ field public short strength;
+ }
+
+ public class EnvironmentalReverb extends android.media.audiofx.AudioEffect {
+ ctor public EnvironmentalReverb(int, int) throws java.lang.IllegalArgumentException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+ method public short getDecayHFRatio() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public int getDecayTime() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public short getDensity() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public short getDiffusion() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public android.media.audiofx.EnvironmentalReverb.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public int getReflectionsDelay() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public short getReflectionsLevel() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public int getReverbDelay() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public short getReverbLevel() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public short getRoomHFLevel() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public short getRoomLevel() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setDecayHFRatio(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setDecayTime(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setDensity(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setDiffusion(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setParameterListener(android.media.audiofx.EnvironmentalReverb.OnParameterChangeListener);
+ method public void setProperties(android.media.audiofx.EnvironmentalReverb.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setReflectionsDelay(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setReflectionsLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setReverbDelay(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setReverbLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setRoomHFLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setRoomLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ field public static final int PARAM_DECAY_HF_RATIO = 3; // 0x3
+ field public static final int PARAM_DECAY_TIME = 2; // 0x2
+ field public static final int PARAM_DENSITY = 9; // 0x9
+ field public static final int PARAM_DIFFUSION = 8; // 0x8
+ field public static final int PARAM_REFLECTIONS_DELAY = 5; // 0x5
+ field public static final int PARAM_REFLECTIONS_LEVEL = 4; // 0x4
+ field public static final int PARAM_REVERB_DELAY = 7; // 0x7
+ field public static final int PARAM_REVERB_LEVEL = 6; // 0x6
+ field public static final int PARAM_ROOM_HF_LEVEL = 1; // 0x1
+ field public static final int PARAM_ROOM_LEVEL = 0; // 0x0
+ }
+
+ public static abstract interface EnvironmentalReverb.OnParameterChangeListener {
+ method public abstract void onParameterChange(android.media.audiofx.EnvironmentalReverb, int, int, int);
+ }
+
+ public static class EnvironmentalReverb.Settings {
+ ctor public EnvironmentalReverb.Settings();
+ ctor public EnvironmentalReverb.Settings(java.lang.String);
+ field public short decayHFRatio;
+ field public int decayTime;
+ field public short density;
+ field public short diffusion;
+ field public int reflectionsDelay;
+ field public short reflectionsLevel;
+ field public int reverbDelay;
+ field public short reverbLevel;
+ field public short roomHFLevel;
+ field public short roomLevel;
+ }
+
+ public class Equalizer extends android.media.audiofx.AudioEffect {
+ ctor public Equalizer(int, int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+ method public short getBand(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public int[] getBandFreqRange(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public short getBandLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public short[] getBandLevelRange() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public int getCenterFreq(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public short getCurrentPreset() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public short getNumberOfBands() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public short getNumberOfPresets() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public java.lang.String getPresetName(short);
+ method public android.media.audiofx.Equalizer.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setBandLevel(short, short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setParameterListener(android.media.audiofx.Equalizer.OnParameterChangeListener);
+ method public void setProperties(android.media.audiofx.Equalizer.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void usePreset(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ field public static final int PARAM_BAND_FREQ_RANGE = 4; // 0x4
+ field public static final int PARAM_BAND_LEVEL = 2; // 0x2
+ field public static final int PARAM_CENTER_FREQ = 3; // 0x3
+ field public static final int PARAM_CURRENT_PRESET = 6; // 0x6
+ field public static final int PARAM_GET_BAND = 5; // 0x5
+ field public static final int PARAM_GET_NUM_OF_PRESETS = 7; // 0x7
+ field public static final int PARAM_GET_PRESET_NAME = 8; // 0x8
+ field public static final int PARAM_LEVEL_RANGE = 1; // 0x1
+ field public static final int PARAM_NUM_BANDS = 0; // 0x0
+ field public static final int PARAM_STRING_SIZE_MAX = 32; // 0x20
+ }
+
+ public static abstract interface Equalizer.OnParameterChangeListener {
+ method public abstract void onParameterChange(android.media.audiofx.Equalizer, int, int, int, int);
+ }
+
+ public static class Equalizer.Settings {
+ ctor public Equalizer.Settings();
+ ctor public Equalizer.Settings(java.lang.String);
+ field public short[] bandLevels;
+ field public short curPreset;
+ field public short numBands;
+ }
+
+ public class PresetReverb extends android.media.audiofx.AudioEffect {
+ ctor public PresetReverb(int, int) throws java.lang.IllegalArgumentException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+ method public short getPreset() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public android.media.audiofx.PresetReverb.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setParameterListener(android.media.audiofx.PresetReverb.OnParameterChangeListener);
+ method public void setPreset(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setProperties(android.media.audiofx.PresetReverb.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ field public static final int PARAM_PRESET = 0; // 0x0
+ field public static final short PRESET_LARGEHALL = 5; // 0x5
+ field public static final short PRESET_LARGEROOM = 3; // 0x3
+ field public static final short PRESET_MEDIUMHALL = 4; // 0x4
+ field public static final short PRESET_MEDIUMROOM = 2; // 0x2
+ field public static final short PRESET_NONE = 0; // 0x0
+ field public static final short PRESET_PLATE = 6; // 0x6
+ field public static final short PRESET_SMALLROOM = 1; // 0x1
+ }
+
+ public static abstract interface PresetReverb.OnParameterChangeListener {
+ method public abstract void onParameterChange(android.media.audiofx.PresetReverb, int, int, short);
+ }
+
+ public static class PresetReverb.Settings {
+ ctor public PresetReverb.Settings();
+ ctor public PresetReverb.Settings(java.lang.String);
+ field public short preset;
+ }
+
+ public class Virtualizer extends android.media.audiofx.AudioEffect {
+ ctor public Virtualizer(int, int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+ method public android.media.audiofx.Virtualizer.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public short getRoundedStrength() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public boolean getStrengthSupported();
+ method public void setParameterListener(android.media.audiofx.Virtualizer.OnParameterChangeListener);
+ method public void setProperties(android.media.audiofx.Virtualizer.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ method public void setStrength(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+ field public static final int PARAM_STRENGTH = 1; // 0x1
+ field public static final int PARAM_STRENGTH_SUPPORTED = 0; // 0x0
+ }
+
+ public static abstract interface Virtualizer.OnParameterChangeListener {
+ method public abstract void onParameterChange(android.media.audiofx.Virtualizer, int, int, short);
+ }
+
+ public static class Virtualizer.Settings {
+ ctor public Virtualizer.Settings();
+ ctor public Virtualizer.Settings(java.lang.String);
+ field public short strength;
+ }
+
+ public class Visualizer {
+ ctor public Visualizer(int) throws java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+ method public int getCaptureSize() throws java.lang.IllegalStateException;
+ method public static int[] getCaptureSizeRange();
+ method public boolean getEnabled();
+ method public int getFft(byte[]) throws java.lang.IllegalStateException;
+ method public static int getMaxCaptureRate();
+ method public int getSamplingRate() throws java.lang.IllegalStateException;
+ method public int getWaveForm(byte[]) throws java.lang.IllegalStateException;
+ method public void release();
+ method public int setCaptureSize(int) throws java.lang.IllegalStateException;
+ method public int setDataCaptureListener(android.media.audiofx.Visualizer.OnDataCaptureListener, int, boolean, boolean);
+ method public int setEnabled(boolean) throws java.lang.IllegalStateException;
+ field public static final int ALREADY_EXISTS = -2; // 0xfffffffe
+ field public static final int ERROR = -1; // 0xffffffff
+ field public static final int ERROR_BAD_VALUE = -4; // 0xfffffffc
+ field public static final int ERROR_DEAD_OBJECT = -7; // 0xfffffff9
+ field public static final int ERROR_INVALID_OPERATION = -5; // 0xfffffffb
+ field public static final int ERROR_NO_INIT = -3; // 0xfffffffd
+ field public static final int ERROR_NO_MEMORY = -6; // 0xfffffffa
+ field public static final int STATE_ENABLED = 2; // 0x2
+ field public static final int STATE_INITIALIZED = 1; // 0x1
+ field public static final int STATE_UNINITIALIZED = 0; // 0x0
+ field public static final int SUCCESS = 0; // 0x0
+ }
+
+ public static abstract interface Visualizer.OnDataCaptureListener {
+ method public abstract void onFftDataCapture(android.media.audiofx.Visualizer, byte[], int);
+ method public abstract void onWaveFormDataCapture(android.media.audiofx.Visualizer, byte[], int);
+ }
+
+}
+
+package android.media.effect {
+
+ public abstract class Effect {
+ ctor public Effect();
+ method public abstract void apply(int, int, int, int);
+ method public abstract java.lang.String getName();
+ method public abstract void release();
+ method public abstract void setParameter(java.lang.String, java.lang.Object);
+ method public void setUpdateListener(android.media.effect.EffectUpdateListener);
+ }
+
+ public class EffectContext {
+ method public static android.media.effect.EffectContext createWithCurrentGlContext();
+ method public android.media.effect.EffectFactory getFactory();
+ method public void release();
+ }
+
+ public class EffectFactory {
+ method public android.media.effect.Effect createEffect(java.lang.String);
+ method public static boolean isEffectSupported(java.lang.String);
+ field public static final java.lang.String EFFECT_AUTOFIX = "android.media.effect.effects.AutoFixEffect";
+ field public static final java.lang.String EFFECT_BACKDROPPER = "android.media.effect.effects.BackDropperEffect";
+ field public static final java.lang.String EFFECT_BITMAPOVERLAY = "android.media.effect.effects.BitmapOverlayEffect";
+ field public static final java.lang.String EFFECT_BLACKWHITE = "android.media.effect.effects.BlackWhiteEffect";
+ field public static final java.lang.String EFFECT_BRIGHTNESS = "android.media.effect.effects.BrightnessEffect";
+ field public static final java.lang.String EFFECT_CONTRAST = "android.media.effect.effects.ContrastEffect";
+ field public static final java.lang.String EFFECT_CROP = "android.media.effect.effects.CropEffect";
+ field public static final java.lang.String EFFECT_CROSSPROCESS = "android.media.effect.effects.CrossProcessEffect";
+ field public static final java.lang.String EFFECT_DOCUMENTARY = "android.media.effect.effects.DocumentaryEffect";
+ field public static final java.lang.String EFFECT_DUOTONE = "android.media.effect.effects.DuotoneEffect";
+ field public static final java.lang.String EFFECT_FILLLIGHT = "android.media.effect.effects.FillLightEffect";
+ field public static final java.lang.String EFFECT_FISHEYE = "android.media.effect.effects.FisheyeEffect";
+ field public static final java.lang.String EFFECT_FLIP = "android.media.effect.effects.FlipEffect";
+ field public static final java.lang.String EFFECT_GRAIN = "android.media.effect.effects.GrainEffect";
+ field public static final java.lang.String EFFECT_GRAYSCALE = "android.media.effect.effects.GrayscaleEffect";
+ field public static final java.lang.String EFFECT_LOMOISH = "android.media.effect.effects.LomoishEffect";
+ field public static final java.lang.String EFFECT_NEGATIVE = "android.media.effect.effects.NegativeEffect";
+ field public static final java.lang.String EFFECT_POSTERIZE = "android.media.effect.effects.PosterizeEffect";
+ field public static final java.lang.String EFFECT_REDEYE = "android.media.effect.effects.RedEyeEffect";
+ field public static final java.lang.String EFFECT_ROTATE = "android.media.effect.effects.RotateEffect";
+ field public static final java.lang.String EFFECT_SATURATE = "android.media.effect.effects.SaturateEffect";
+ field public static final java.lang.String EFFECT_SEPIA = "android.media.effect.effects.SepiaEffect";
+ field public static final java.lang.String EFFECT_SHARPEN = "android.media.effect.effects.SharpenEffect";
+ field public static final java.lang.String EFFECT_STRAIGHTEN = "android.media.effect.effects.StraightenEffect";
+ field public static final java.lang.String EFFECT_TEMPERATURE = "android.media.effect.effects.ColorTemperatureEffect";
+ field public static final java.lang.String EFFECT_TINT = "android.media.effect.effects.TintEffect";
+ field public static final java.lang.String EFFECT_VIGNETTE = "android.media.effect.effects.VignetteEffect";
+ }
+
+ public abstract interface EffectUpdateListener {
+ method public abstract void onEffectUpdated(android.media.effect.Effect, java.lang.Object);
+ }
+
+}
+
+package android.mtp {
+
+ public final class MtpConstants {
+ ctor public MtpConstants();
+ method public static boolean isAbstractObject(int);
+ field public static final int ASSOCIATION_TYPE_GENERIC_FOLDER = 1; // 0x1
+ field public static final int FORMAT_3GP_CONTAINER = 47492; // 0xb984
+ field public static final int FORMAT_AAC = 47363; // 0xb903
+ field public static final int FORMAT_ABSTRACT_AUDIO_ALBUM = 47619; // 0xba03
+ field public static final int FORMAT_ABSTRACT_AUDIO_PLAYLIST = 47625; // 0xba09
+ field public static final int FORMAT_ABSTRACT_AV_PLAYLIST = 47621; // 0xba05
+ field public static final int FORMAT_ABSTRACT_DOCUMENT = 47745; // 0xba81
+ field public static final int FORMAT_ABSTRACT_IMAGE_ALBUM = 47618; // 0xba02
+ field public static final int FORMAT_ABSTRACT_MEDIACAST = 47627; // 0xba0b
+ field public static final int FORMAT_ABSTRACT_MULTIMEDIA_ALBUM = 47617; // 0xba01
+ field public static final int FORMAT_ABSTRACT_VIDEO_ALBUM = 47620; // 0xba04
+ field public static final int FORMAT_ABSTRACT_VIDEO_PLAYLIST = 47626; // 0xba0a
+ field public static final int FORMAT_AIFF = 12295; // 0x3007
+ field public static final int FORMAT_ASF = 12300; // 0x300c
+ field public static final int FORMAT_ASSOCIATION = 12289; // 0x3001
+ field public static final int FORMAT_ASX_PLAYLIST = 47635; // 0xba13
+ field public static final int FORMAT_AUDIBLE = 47364; // 0xb904
+ field public static final int FORMAT_AVI = 12298; // 0x300a
+ field public static final int FORMAT_BMP = 14340; // 0x3804
+ field public static final int FORMAT_DPOF = 12294; // 0x3006
+ field public static final int FORMAT_EXECUTABLE = 12291; // 0x3003
+ field public static final int FORMAT_EXIF_JPEG = 14337; // 0x3801
+ field public static final int FORMAT_FLAC = 47366; // 0xb906
+ field public static final int FORMAT_GIF = 14343; // 0x3807
+ field public static final int FORMAT_HTML = 12293; // 0x3005
+ field public static final int FORMAT_JFIF = 14344; // 0x3808
+ field public static final int FORMAT_JP2 = 14351; // 0x380f
+ field public static final int FORMAT_JPX = 14352; // 0x3810
+ field public static final int FORMAT_M3U_PLAYLIST = 47633; // 0xba11
+ field public static final int FORMAT_MP2 = 47491; // 0xb983
+ field public static final int FORMAT_MP3 = 12297; // 0x3009
+ field public static final int FORMAT_MP4_CONTAINER = 47490; // 0xb982
+ field public static final int FORMAT_MPEG = 12299; // 0x300b
+ field public static final int FORMAT_MPL_PLAYLIST = 47634; // 0xba12
+ field public static final int FORMAT_MS_EXCEL_SPREADSHEET = 47749; // 0xba85
+ field public static final int FORMAT_MS_POWERPOINT_PRESENTATION = 47750; // 0xba86
+ field public static final int FORMAT_MS_WORD_DOCUMENT = 47747; // 0xba83
+ field public static final int FORMAT_OGG = 47362; // 0xb902
+ field public static final int FORMAT_PICT = 14346; // 0x380a
+ field public static final int FORMAT_PLS_PLAYLIST = 47636; // 0xba14
+ field public static final int FORMAT_PNG = 14347; // 0x380b
+ field public static final int FORMAT_SCRIPT = 12290; // 0x3002
+ field public static final int FORMAT_TEXT = 12292; // 0x3004
+ field public static final int FORMAT_TIFF = 14349; // 0x380d
+ field public static final int FORMAT_TIFF_EP = 14338; // 0x3802
+ field public static final int FORMAT_UNDEFINED = 12288; // 0x3000
+ field public static final int FORMAT_UNDEFINED_AUDIO = 47360; // 0xb900
+ field public static final int FORMAT_UNDEFINED_COLLECTION = 47616; // 0xba00
+ field public static final int FORMAT_UNDEFINED_DOCUMENT = 47744; // 0xba80
+ field public static final int FORMAT_UNDEFINED_FIRMWARE = 47106; // 0xb802
+ field public static final int FORMAT_UNDEFINED_VIDEO = 47488; // 0xb980
+ field public static final int FORMAT_WAV = 12296; // 0x3008
+ field public static final int FORMAT_WINDOWS_IMAGE_FORMAT = 47233; // 0xb881
+ field public static final int FORMAT_WMA = 47361; // 0xb901
+ field public static final int FORMAT_WMV = 47489; // 0xb981
+ field public static final int FORMAT_WPL_PLAYLIST = 47632; // 0xba10
+ field public static final int FORMAT_XML_DOCUMENT = 47746; // 0xba82
+ field public static final int PROTECTION_STATUS_NONE = 0; // 0x0
+ field public static final int PROTECTION_STATUS_NON_TRANSFERABLE_DATA = 32771; // 0x8003
+ field public static final int PROTECTION_STATUS_READ_ONLY = 32769; // 0x8001
+ field public static final int PROTECTION_STATUS_READ_ONLY_DATA = 32770; // 0x8002
+ }
+
+ public final class MtpDevice {
+ ctor public MtpDevice(android.hardware.usb.UsbDevice);
+ method public void close();
+ method public boolean deleteObject(int);
+ method public int getDeviceId();
+ method public android.mtp.MtpDeviceInfo getDeviceInfo();
+ method public java.lang.String getDeviceName();
+ method public byte[] getObject(int, int);
+ method public int[] getObjectHandles(int, int, int);
+ method public android.mtp.MtpObjectInfo getObjectInfo(int);
+ method public long getParent(int);
+ method public long getStorageId(int);
+ method public int[] getStorageIds();
+ method public android.mtp.MtpStorageInfo getStorageInfo(int);
+ method public byte[] getThumbnail(int);
+ method public boolean importFile(int, java.lang.String);
+ method public boolean open(android.hardware.usb.UsbDeviceConnection);
+ }
+
+ public class MtpDeviceInfo {
+ method public final java.lang.String getManufacturer();
+ method public final java.lang.String getModel();
+ method public final java.lang.String getSerialNumber();
+ method public final java.lang.String getVersion();
+ }
+
+ public final class MtpObjectInfo {
+ method public final int getAssociationDesc();
+ method public final int getAssociationType();
+ method public final int getCompressedSize();
+ method public final long getDateCreated();
+ method public final long getDateModified();
+ method public final int getFormat();
+ method public final int getImagePixDepth();
+ method public final int getImagePixHeight();
+ method public final int getImagePixWidth();
+ method public final java.lang.String getKeywords();
+ method public final java.lang.String getName();
+ method public final int getObjectHandle();
+ method public final int getParent();
+ method public final int getProtectionStatus();
+ method public final int getSequenceNumber();
+ method public final int getStorageId();
+ method public final int getThumbCompressedSize();
+ method public final int getThumbFormat();
+ method public final int getThumbPixHeight();
+ method public final int getThumbPixWidth();
+ }
+
+ public final class MtpStorageInfo {
+ method public final java.lang.String getDescription();
+ method public final long getFreeSpace();
+ method public final long getMaxCapacity();
+ method public final int getStorageId();
+ method public final java.lang.String getVolumeIdentifier();
+ }
+
+}
+
+package android.net {
+
+ public class ConnectivityManager {
+ method public android.net.NetworkInfo getActiveNetworkInfo();
+ method public android.net.NetworkInfo[] getAllNetworkInfo();
+ method public deprecated boolean getBackgroundDataSetting();
+ method public android.net.NetworkInfo getNetworkInfo(int);
+ method public int getNetworkPreference();
+ method public static boolean isNetworkTypeValid(int);
+ method public boolean requestRouteToHost(int, int);
+ method public void setNetworkPreference(int);
+ method public int startUsingNetworkFeature(int, java.lang.String);
+ method public int stopUsingNetworkFeature(int, java.lang.String);
+ field public static final java.lang.String ACTION_BACKGROUND_DATA_SETTING_CHANGED = "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED";
+ field public static final java.lang.String CONNECTIVITY_ACTION = "android.net.conn.CONNECTIVITY_CHANGE";
+ field public static final int DEFAULT_NETWORK_PREFERENCE = 1; // 0x1
+ field public static final java.lang.String EXTRA_EXTRA_INFO = "extraInfo";
+ field public static final java.lang.String EXTRA_IS_FAILOVER = "isFailover";
+ field public static final deprecated java.lang.String EXTRA_NETWORK_INFO = "networkInfo";
+ field public static final java.lang.String EXTRA_NO_CONNECTIVITY = "noConnectivity";
+ field public static final java.lang.String EXTRA_OTHER_NETWORK_INFO = "otherNetwork";
+ field public static final java.lang.String EXTRA_REASON = "reason";
+ field public static final int TYPE_BLUETOOTH = 7; // 0x7
+ field public static final int TYPE_DUMMY = 8; // 0x8
+ field public static final int TYPE_ETHERNET = 9; // 0x9
+ field public static final int TYPE_MOBILE = 0; // 0x0
+ field public static final int TYPE_MOBILE_DUN = 4; // 0x4
+ field public static final int TYPE_MOBILE_HIPRI = 5; // 0x5
+ field public static final int TYPE_MOBILE_MMS = 2; // 0x2
+ field public static final int TYPE_MOBILE_SUPL = 3; // 0x3
+ field public static final int TYPE_WIFI = 1; // 0x1
+ field public static final int TYPE_WIMAX = 6; // 0x6
+ }
+
+ public class Credentials {
+ ctor public Credentials(int, int, int);
+ method public int getGid();
+ method public int getPid();
+ method public int getUid();
+ }
+
+ public class DhcpInfo implements android.os.Parcelable {
+ ctor public DhcpInfo();
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public int dns1;
+ field public int dns2;
+ field public int gateway;
+ field public int ipAddress;
+ field public int leaseDuration;
+ field public int netmask;
+ field public int serverAddress;
+ }
+
+ public class LocalServerSocket {
+ ctor public LocalServerSocket(java.lang.String) throws java.io.IOException;
+ ctor public LocalServerSocket(java.io.FileDescriptor) throws java.io.IOException;
+ method public android.net.LocalSocket accept() throws java.io.IOException;
+ method public void close() throws java.io.IOException;
+ method public java.io.FileDescriptor getFileDescriptor();
+ method public android.net.LocalSocketAddress getLocalSocketAddress();
+ }
+
+ public class LocalSocket {
+ ctor public LocalSocket();
+ method public void bind(android.net.LocalSocketAddress) throws java.io.IOException;
+ method public void close() throws java.io.IOException;
+ method public void connect(android.net.LocalSocketAddress) throws java.io.IOException;
+ method public void connect(android.net.LocalSocketAddress, int) throws java.io.IOException;
+ method public java.io.FileDescriptor[] getAncillaryFileDescriptors() throws java.io.IOException;
+ method public java.io.FileDescriptor getFileDescriptor();
+ method public java.io.InputStream getInputStream() throws java.io.IOException;
+ method public android.net.LocalSocketAddress getLocalSocketAddress();
+ method public java.io.OutputStream getOutputStream() throws java.io.IOException;
+ method public android.net.Credentials getPeerCredentials() throws java.io.IOException;
+ method public int getReceiveBufferSize() throws java.io.IOException;
+ method public android.net.LocalSocketAddress getRemoteSocketAddress();
+ method public int getSendBufferSize() throws java.io.IOException;
+ method public int getSoTimeout() throws java.io.IOException;
+ method public synchronized boolean isBound();
+ method public boolean isClosed();
+ method public synchronized boolean isConnected();
+ method public boolean isInputShutdown();
+ method public boolean isOutputShutdown();
+ method public void setFileDescriptorsForSend(java.io.FileDescriptor[]);
+ method public void setReceiveBufferSize(int) throws java.io.IOException;
+ method public void setSendBufferSize(int) throws java.io.IOException;
+ method public void setSoTimeout(int) throws java.io.IOException;
+ method public void shutdownInput() throws java.io.IOException;
+ method public void shutdownOutput() throws java.io.IOException;
+ }
+
+ public class LocalSocketAddress {
+ ctor public LocalSocketAddress(java.lang.String, android.net.LocalSocketAddress.Namespace);
+ ctor public LocalSocketAddress(java.lang.String);
+ method public java.lang.String getName();
+ method public android.net.LocalSocketAddress.Namespace getNamespace();
+ }
+
+ public static final class LocalSocketAddress.Namespace extends java.lang.Enum {
+ method public static android.net.LocalSocketAddress.Namespace valueOf(java.lang.String);
+ method public static final android.net.LocalSocketAddress.Namespace[] values();
+ enum_constant public static final android.net.LocalSocketAddress.Namespace ABSTRACT;
+ enum_constant public static final android.net.LocalSocketAddress.Namespace FILESYSTEM;
+ enum_constant public static final android.net.LocalSocketAddress.Namespace RESERVED;
+ }
+
+ public class MailTo {
+ method public java.lang.String getBody();
+ method public java.lang.String getCc();
+ method public java.util.Map<java.lang.String, java.lang.String> getHeaders();
+ method public java.lang.String getSubject();
+ method public java.lang.String getTo();
+ method public static boolean isMailTo(java.lang.String);
+ method public static android.net.MailTo parse(java.lang.String) throws android.net.ParseException;
+ field public static final java.lang.String MAILTO_SCHEME = "mailto:";
+ }
+
+ public class NetworkInfo implements android.os.Parcelable {
+ method public int describeContents();
+ method public android.net.NetworkInfo.DetailedState getDetailedState();
+ method public java.lang.String getExtraInfo();
+ method public java.lang.String getReason();
+ method public android.net.NetworkInfo.State getState();
+ method public int getSubtype();
+ method public java.lang.String getSubtypeName();
+ method public int getType();
+ method public java.lang.String getTypeName();
+ method public boolean isAvailable();
+ method public boolean isConnected();
+ method public boolean isConnectedOrConnecting();
+ method public boolean isFailover();
+ method public boolean isRoaming();
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public static final class NetworkInfo.DetailedState extends java.lang.Enum {
+ method public static android.net.NetworkInfo.DetailedState valueOf(java.lang.String);
+ method public static final android.net.NetworkInfo.DetailedState[] values();
+ enum_constant public static final android.net.NetworkInfo.DetailedState AUTHENTICATING;
+ enum_constant public static final android.net.NetworkInfo.DetailedState BLOCKED;
+ enum_constant public static final android.net.NetworkInfo.DetailedState CONNECTED;
+ enum_constant public static final android.net.NetworkInfo.DetailedState CONNECTING;
+ enum_constant public static final android.net.NetworkInfo.DetailedState DISCONNECTED;
+ enum_constant public static final android.net.NetworkInfo.DetailedState DISCONNECTING;
+ enum_constant public static final android.net.NetworkInfo.DetailedState FAILED;
+ enum_constant public static final android.net.NetworkInfo.DetailedState IDLE;
+ enum_constant public static final android.net.NetworkInfo.DetailedState OBTAINING_IPADDR;
+ enum_constant public static final android.net.NetworkInfo.DetailedState SCANNING;
+ enum_constant public static final android.net.NetworkInfo.DetailedState SUSPENDED;
+ }
+
+ public static final class NetworkInfo.State extends java.lang.Enum {
+ method public static android.net.NetworkInfo.State valueOf(java.lang.String);
+ method public static final android.net.NetworkInfo.State[] values();
+ enum_constant public static final android.net.NetworkInfo.State CONNECTED;
+ enum_constant public static final android.net.NetworkInfo.State CONNECTING;
+ enum_constant public static final android.net.NetworkInfo.State DISCONNECTED;
+ enum_constant public static final android.net.NetworkInfo.State DISCONNECTING;
+ enum_constant public static final android.net.NetworkInfo.State SUSPENDED;
+ enum_constant public static final android.net.NetworkInfo.State UNKNOWN;
+ }
+
+ public class ParseException extends java.lang.RuntimeException {
+ field public java.lang.String response;
+ }
+
+ public final class Proxy {
+ ctor public Proxy();
+ method public static final deprecated java.lang.String getDefaultHost();
+ method public static final deprecated int getDefaultPort();
+ method public static final deprecated java.lang.String getHost(android.content.Context);
+ method public static final deprecated int getPort(android.content.Context);
+ field public static final java.lang.String PROXY_CHANGE_ACTION = "android.intent.action.PROXY_CHANGE";
+ }
+
+ public class SSLCertificateSocketFactory extends javax.net.ssl.SSLSocketFactory {
+ ctor public deprecated SSLCertificateSocketFactory(int);
+ method public java.net.Socket createSocket(java.net.Socket, java.lang.String, int, boolean) throws java.io.IOException;
+ method public java.net.Socket createSocket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException;
+ method public java.net.Socket createSocket(java.net.InetAddress, int) throws java.io.IOException;
+ method public java.net.Socket createSocket(java.lang.String, int, java.net.InetAddress, int) throws java.io.IOException;
+ method public java.net.Socket createSocket(java.lang.String, int) throws java.io.IOException;
+ method public static javax.net.SocketFactory getDefault(int);
+ method public static javax.net.ssl.SSLSocketFactory getDefault(int, android.net.SSLSessionCache);
+ method public java.lang.String[] getDefaultCipherSuites();
+ method public static org.apache.http.conn.ssl.SSLSocketFactory getHttpSocketFactory(int, android.net.SSLSessionCache);
+ method public static javax.net.ssl.SSLSocketFactory getInsecure(int, android.net.SSLSessionCache);
+ method public java.lang.String[] getSupportedCipherSuites();
+ method public void setKeyManagers(javax.net.ssl.KeyManager[]);
+ method public void setTrustManagers(javax.net.ssl.TrustManager[]);
+ }
+
+ public final class SSLSessionCache {
+ ctor public SSLSessionCache(java.io.File) throws java.io.IOException;
+ ctor public SSLSessionCache(android.content.Context);
+ }
+
+ public class TrafficStats {
+ ctor public TrafficStats();
+ method public static void clearThreadStatsTag();
+ method public static long getMobileRxBytes();
+ method public static long getMobileRxPackets();
+ method public static long getMobileTxBytes();
+ method public static long getMobileTxPackets();
+ method public static int getThreadStatsTag();
+ method public static long getTotalRxBytes();
+ method public static long getTotalRxPackets();
+ method public static long getTotalTxBytes();
+ method public static long getTotalTxPackets();
+ method public static long getUidRxBytes(int);
+ method public static long getUidRxPackets(int);
+ method public static long getUidTcpRxBytes(int);
+ method public static long getUidTcpRxSegments(int);
+ method public static long getUidTcpTxBytes(int);
+ method public static long getUidTcpTxSegments(int);
+ method public static long getUidTxBytes(int);
+ method public static long getUidTxPackets(int);
+ method public static long getUidUdpRxBytes(int);
+ method public static long getUidUdpRxPackets(int);
+ method public static long getUidUdpTxBytes(int);
+ method public static long getUidUdpTxPackets(int);
+ method public static void incrementOperationCount(int);
+ method public static void incrementOperationCount(int, int);
+ method public static void setThreadStatsTag(int);
+ method public static void tagSocket(java.net.Socket) throws java.net.SocketException;
+ method public static void untagSocket(java.net.Socket) throws java.net.SocketException;
+ field public static final int UNSUPPORTED = -1; // 0xffffffff
+ }
+
+ public abstract class Uri implements java.lang.Comparable android.os.Parcelable {
+ method public abstract android.net.Uri.Builder buildUpon();
+ method public int compareTo(android.net.Uri);
+ method public static java.lang.String decode(java.lang.String);
+ method public static java.lang.String encode(java.lang.String);
+ method public static java.lang.String encode(java.lang.String, java.lang.String);
+ method public static android.net.Uri fromFile(java.io.File);
+ method public static android.net.Uri fromParts(java.lang.String, java.lang.String, java.lang.String);
+ method public abstract java.lang.String getAuthority();
+ method public boolean getBooleanQueryParameter(java.lang.String, boolean);
+ method public abstract java.lang.String getEncodedAuthority();
+ method public abstract java.lang.String getEncodedFragment();
+ method public abstract java.lang.String getEncodedPath();
+ method public abstract java.lang.String getEncodedQuery();
+ method public abstract java.lang.String getEncodedSchemeSpecificPart();
+ method public abstract java.lang.String getEncodedUserInfo();
+ method public abstract java.lang.String getFragment();
+ method public abstract java.lang.String getHost();
+ method public abstract java.lang.String getLastPathSegment();
+ method public abstract java.lang.String getPath();
+ method public abstract java.util.List<java.lang.String> getPathSegments();
+ method public abstract int getPort();
+ method public abstract java.lang.String getQuery();
+ method public java.lang.String getQueryParameter(java.lang.String);
+ method public java.util.Set<java.lang.String> getQueryParameterNames();
+ method public java.util.List<java.lang.String> getQueryParameters(java.lang.String);
+ method public abstract java.lang.String getScheme();
+ method public abstract java.lang.String getSchemeSpecificPart();
+ method public abstract java.lang.String getUserInfo();
+ method public boolean isAbsolute();
+ method public abstract boolean isHierarchical();
+ method public boolean isOpaque();
+ method public abstract boolean isRelative();
+ method public static android.net.Uri parse(java.lang.String);
+ method public abstract java.lang.String toString();
+ method public static android.net.Uri withAppendedPath(android.net.Uri, java.lang.String);
+ method public static void writeToParcel(android.os.Parcel, android.net.Uri);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final android.net.Uri EMPTY;
+ }
+
+ public static final class Uri.Builder {
+ ctor public Uri.Builder();
+ method public android.net.Uri.Builder appendEncodedPath(java.lang.String);
+ method public android.net.Uri.Builder appendPath(java.lang.String);
+ method public android.net.Uri.Builder appendQueryParameter(java.lang.String, java.lang.String);
+ method public android.net.Uri.Builder authority(java.lang.String);
+ method public android.net.Uri build();
+ method public android.net.Uri.Builder clearQuery();
+ method public android.net.Uri.Builder encodedAuthority(java.lang.String);
+ method public android.net.Uri.Builder encodedFragment(java.lang.String);
+ method public android.net.Uri.Builder encodedOpaquePart(java.lang.String);
+ method public android.net.Uri.Builder encodedPath(java.lang.String);
+ method public android.net.Uri.Builder encodedQuery(java.lang.String);
+ method public android.net.Uri.Builder fragment(java.lang.String);
+ method public android.net.Uri.Builder opaquePart(java.lang.String);
+ method public android.net.Uri.Builder path(java.lang.String);
+ method public android.net.Uri.Builder query(java.lang.String);
+ method public android.net.Uri.Builder scheme(java.lang.String);
+ }
+
+ public class UrlQuerySanitizer {
+ ctor public UrlQuerySanitizer();
+ ctor public UrlQuerySanitizer(java.lang.String);
+ method protected void addSanitizedEntry(java.lang.String, java.lang.String);
+ method protected void clear();
+ method protected int decodeHexDigit(char);
+ method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAllButNulAndAngleBracketsLegal();
+ method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAllButNulLegal();
+ method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAllButWhitespaceLegal();
+ method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAllIllegal();
+ method public boolean getAllowUnregisteredParamaters();
+ method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAmpAndSpaceLegal();
+ method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAmpLegal();
+ method public android.net.UrlQuerySanitizer.ValueSanitizer getEffectiveValueSanitizer(java.lang.String);
+ method public java.util.List<android.net.UrlQuerySanitizer.ParameterValuePair> getParameterList();
+ method public java.util.Set<java.lang.String> getParameterSet();
+ method public boolean getPreferFirstRepeatedParameter();
+ method public static final android.net.UrlQuerySanitizer.ValueSanitizer getSpaceLegal();
+ method public android.net.UrlQuerySanitizer.ValueSanitizer getUnregisteredParameterValueSanitizer();
+ method public static final android.net.UrlQuerySanitizer.ValueSanitizer getUrlAndSpaceLegal();
+ method public static final android.net.UrlQuerySanitizer.ValueSanitizer getUrlLegal();
+ method public java.lang.String getValue(java.lang.String);
+ method public android.net.UrlQuerySanitizer.ValueSanitizer getValueSanitizer(java.lang.String);
+ method public boolean hasParameter(java.lang.String);
+ method protected boolean isHexDigit(char);
+ method protected void parseEntry(java.lang.String, java.lang.String);
+ method public void parseQuery(java.lang.String);
+ method public void parseUrl(java.lang.String);
+ method public void registerParameter(java.lang.String, android.net.UrlQuerySanitizer.ValueSanitizer);
+ method public void registerParameters(java.lang.String[], android.net.UrlQuerySanitizer.ValueSanitizer);
+ method public void setAllowUnregisteredParamaters(boolean);
+ method public void setPreferFirstRepeatedParameter(boolean);
+ method public void setUnregisteredParameterValueSanitizer(android.net.UrlQuerySanitizer.ValueSanitizer);
+ method public java.lang.String unescape(java.lang.String);
+ }
+
+ public static class UrlQuerySanitizer.IllegalCharacterValueSanitizer implements android.net.UrlQuerySanitizer.ValueSanitizer {
+ ctor public UrlQuerySanitizer.IllegalCharacterValueSanitizer(int);
+ method public java.lang.String sanitize(java.lang.String);
+ field public static final int ALL_BUT_NUL_AND_ANGLE_BRACKETS_LEGAL = 1439; // 0x59f
+ field public static final int ALL_BUT_NUL_LEGAL = 1535; // 0x5ff
+ field public static final int ALL_BUT_WHITESPACE_LEGAL = 1532; // 0x5fc
+ field public static final int ALL_ILLEGAL = 0; // 0x0
+ field public static final int ALL_OK = 2047; // 0x7ff
+ field public static final int ALL_WHITESPACE_OK = 3; // 0x3
+ field public static final int AMP_AND_SPACE_LEGAL = 129; // 0x81
+ field public static final int AMP_LEGAL = 128; // 0x80
+ field public static final int AMP_OK = 128; // 0x80
+ field public static final int DQUOTE_OK = 8; // 0x8
+ field public static final int GT_OK = 64; // 0x40
+ field public static final int LT_OK = 32; // 0x20
+ field public static final int NON_7_BIT_ASCII_OK = 4; // 0x4
+ field public static final int NUL_OK = 512; // 0x200
+ field public static final int OTHER_WHITESPACE_OK = 2; // 0x2
+ field public static final int PCT_OK = 256; // 0x100
+ field public static final int SCRIPT_URL_OK = 1024; // 0x400
+ field public static final int SPACE_LEGAL = 1; // 0x1
+ field public static final int SPACE_OK = 1; // 0x1
+ field public static final int SQUOTE_OK = 16; // 0x10
+ field public static final int URL_AND_SPACE_LEGAL = 405; // 0x195
+ field public static final int URL_LEGAL = 404; // 0x194
+ }
+
+ public class UrlQuerySanitizer.ParameterValuePair {
+ ctor public UrlQuerySanitizer.ParameterValuePair(java.lang.String, java.lang.String);
+ field public java.lang.String mParameter;
+ field public java.lang.String mValue;
+ }
+
+ public static abstract interface UrlQuerySanitizer.ValueSanitizer {
+ method public abstract java.lang.String sanitize(java.lang.String);
+ }
+
+ public class VpnService extends android.app.Service {
+ ctor public VpnService();
+ method public android.os.IBinder onBind(android.content.Intent);
+ method public void onRevoke();
+ method public static android.content.Intent prepare(android.content.Context);
+ method public boolean protect(int);
+ method public boolean protect(java.net.Socket);
+ method public boolean protect(java.net.DatagramSocket);
+ field public static final java.lang.String SERVICE_INTERFACE = "android.net.VpnService";
+ }
+
+ public class VpnService.Builder {
+ ctor public VpnService.Builder();
+ method public android.net.VpnService.Builder addAddress(java.net.InetAddress, int);
+ method public android.net.VpnService.Builder addAddress(java.lang.String, int);
+ method public android.net.VpnService.Builder addDnsServer(java.net.InetAddress);
+ method public android.net.VpnService.Builder addDnsServer(java.lang.String);
+ method public android.net.VpnService.Builder addRoute(java.net.InetAddress, int);
+ method public android.net.VpnService.Builder addRoute(java.lang.String, int);
+ method public android.net.VpnService.Builder addSearchDomain(java.lang.String);
+ method public android.os.ParcelFileDescriptor establish();
+ method public android.net.VpnService.Builder setConfigureIntent(android.app.PendingIntent);
+ method public android.net.VpnService.Builder setMtu(int);
+ method public android.net.VpnService.Builder setSession(java.lang.String);
+ }
+
+}
+
+package android.net.http {
+
+ public final class AndroidHttpClient implements org.apache.http.client.HttpClient {
+ method public void close();
+ method public void disableCurlLogging();
+ method public void enableCurlLogging(java.lang.String, int);
+ method public org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws java.io.IOException;
+ method public org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws java.io.IOException;
+ method public org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest) throws java.io.IOException;
+ method public org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws java.io.IOException;
+ method public T execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.client.ResponseHandler<? extends T>) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public T execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.client.ResponseHandler<? extends T>, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public T execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.client.ResponseHandler<? extends T>) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public T execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.client.ResponseHandler<? extends T>, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public static org.apache.http.entity.AbstractHttpEntity getCompressedEntity(byte[], android.content.ContentResolver) throws java.io.IOException;
+ method public org.apache.http.conn.ClientConnectionManager getConnectionManager();
+ method public static long getMinGzipSize(android.content.ContentResolver);
+ method public org.apache.http.params.HttpParams getParams();
+ method public static java.io.InputStream getUngzippedContent(org.apache.http.HttpEntity) throws java.io.IOException;
+ method public static void modifyRequestToAcceptGzipResponse(org.apache.http.HttpRequest);
+ method public static android.net.http.AndroidHttpClient newInstance(java.lang.String, android.content.Context);
+ method public static android.net.http.AndroidHttpClient newInstance(java.lang.String);
+ method public static long parseDate(java.lang.String);
+ field public static long DEFAULT_SYNC_MIN_GZIP_BYTES;
+ }
+
+ public final class HttpResponseCache extends java.net.ResponseCache implements java.io.Closeable {
+ method public void close() throws java.io.IOException;
+ method public void delete() throws java.io.IOException;
+ method public void flush();
+ method public java.net.CacheResponse get(java.net.URI, java.lang.String, java.util.Map<java.lang.String, java.util.List<java.lang.String>>) throws java.io.IOException;
+ method public int getHitCount();
+ method public static android.net.http.HttpResponseCache getInstalled();
+ method public int getNetworkCount();
+ method public int getRequestCount();
+ method public static android.net.http.HttpResponseCache install(java.io.File, long) throws java.io.IOException;
+ method public long maxSize();
+ method public java.net.CacheRequest put(java.net.URI, java.net.URLConnection) throws java.io.IOException;
+ method public long size();
+ }
+
+ public class SslCertificate {
+ ctor public deprecated SslCertificate(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ ctor public deprecated SslCertificate(java.lang.String, java.lang.String, java.util.Date, java.util.Date);
+ ctor public SslCertificate(java.security.cert.X509Certificate);
+ method public android.net.http.SslCertificate.DName getIssuedBy();
+ method public android.net.http.SslCertificate.DName getIssuedTo();
+ method public deprecated java.lang.String getValidNotAfter();
+ method public java.util.Date getValidNotAfterDate();
+ method public deprecated java.lang.String getValidNotBefore();
+ method public java.util.Date getValidNotBeforeDate();
+ method public static android.net.http.SslCertificate restoreState(android.os.Bundle);
+ method public static android.os.Bundle saveState(android.net.http.SslCertificate);
+ }
+
+ public class SslCertificate.DName {
+ ctor public SslCertificate.DName(java.lang.String);
+ method public java.lang.String getCName();
+ method public java.lang.String getDName();
+ method public java.lang.String getOName();
+ method public java.lang.String getUName();
+ }
+
+ public class SslError {
+ ctor public deprecated SslError(int, android.net.http.SslCertificate);
+ ctor public deprecated SslError(int, java.security.cert.X509Certificate);
+ ctor public SslError(int, android.net.http.SslCertificate, java.lang.String);
+ ctor public SslError(int, java.security.cert.X509Certificate, java.lang.String);
+ method public boolean addError(int);
+ method public android.net.http.SslCertificate getCertificate();
+ method public int getPrimaryError();
+ method public java.lang.String getUrl();
+ method public boolean hasError(int);
+ field public static final int SSL_DATE_INVALID = 4; // 0x4
+ field public static final int SSL_EXPIRED = 1; // 0x1
+ field public static final int SSL_IDMISMATCH = 2; // 0x2
+ field public static final int SSL_INVALID = 5; // 0x5
+ field public static final deprecated int SSL_MAX_ERROR = 6; // 0x6
+ field public static final int SSL_NOTYETVALID = 0; // 0x0
+ field public static final int SSL_UNTRUSTED = 3; // 0x3
+ }
+
+}
+
+package android.net.rtp {
+
+ public class AudioCodec {
+ method public static android.net.rtp.AudioCodec getCodec(int, java.lang.String, java.lang.String);
+ method public static android.net.rtp.AudioCodec[] getCodecs();
+ field public static final android.net.rtp.AudioCodec AMR;
+ field public static final android.net.rtp.AudioCodec GSM;
+ field public static final android.net.rtp.AudioCodec GSM_EFR;
+ field public static final android.net.rtp.AudioCodec PCMA;
+ field public static final android.net.rtp.AudioCodec PCMU;
+ field public final java.lang.String fmtp;
+ field public final java.lang.String rtpmap;
+ field public final int type;
+ }
+
+ public class AudioGroup {
+ ctor public AudioGroup();
+ method public void clear();
+ method public int getMode();
+ method public android.net.rtp.AudioStream[] getStreams();
+ method public void sendDtmf(int);
+ method public void setMode(int);
+ field public static final int MODE_ECHO_SUPPRESSION = 3; // 0x3
+ field public static final int MODE_MUTED = 1; // 0x1
+ field public static final int MODE_NORMAL = 2; // 0x2
+ field public static final int MODE_ON_HOLD = 0; // 0x0
+ }
+
+ public class AudioStream extends android.net.rtp.RtpStream {
+ ctor public AudioStream(java.net.InetAddress) throws java.net.SocketException;
+ method public android.net.rtp.AudioCodec getCodec();
+ method public int getDtmfType();
+ method public android.net.rtp.AudioGroup getGroup();
+ method public final boolean isBusy();
+ method public void join(android.net.rtp.AudioGroup);
+ method public void setCodec(android.net.rtp.AudioCodec);
+ method public void setDtmfType(int);
+ }
+
+ public class RtpStream {
+ method public void associate(java.net.InetAddress, int);
+ method public java.net.InetAddress getLocalAddress();
+ method public int getLocalPort();
+ method public int getMode();
+ method public java.net.InetAddress getRemoteAddress();
+ method public int getRemotePort();
+ method public boolean isBusy();
+ method public void release();
+ method public void setMode(int);
+ field public static final int MODE_NORMAL = 0; // 0x0
+ field public static final int MODE_RECEIVE_ONLY = 2; // 0x2
+ field public static final int MODE_SEND_ONLY = 1; // 0x1
+ }
+
+}
+
+package android.net.sip {
+
+ public class SipAudioCall {
+ ctor public SipAudioCall(android.content.Context, android.net.sip.SipProfile);
+ method public void answerCall(int) throws android.net.sip.SipException;
+ method public void attachCall(android.net.sip.SipSession, java.lang.String) throws android.net.sip.SipException;
+ method public void close();
+ method public void continueCall(int) throws android.net.sip.SipException;
+ method public void endCall() throws android.net.sip.SipException;
+ method public android.net.sip.SipProfile getLocalProfile();
+ method public android.net.sip.SipProfile getPeerProfile();
+ method public int getState();
+ method public void holdCall(int) throws android.net.sip.SipException;
+ method public boolean isInCall();
+ method public boolean isMuted();
+ method public boolean isOnHold();
+ method public void makeCall(android.net.sip.SipProfile, android.net.sip.SipSession, int) throws android.net.sip.SipException;
+ method public void sendDtmf(int);
+ method public void sendDtmf(int, android.os.Message);
+ method public void setListener(android.net.sip.SipAudioCall.Listener);
+ method public void setListener(android.net.sip.SipAudioCall.Listener, boolean);
+ method public void setSpeakerMode(boolean);
+ method public void startAudio();
+ method public void toggleMute();
+ }
+
+ public static class SipAudioCall.Listener {
+ ctor public SipAudioCall.Listener();
+ method public void onCallBusy(android.net.sip.SipAudioCall);
+ method public void onCallEnded(android.net.sip.SipAudioCall);
+ method public void onCallEstablished(android.net.sip.SipAudioCall);
+ method public void onCallHeld(android.net.sip.SipAudioCall);
+ method public void onCalling(android.net.sip.SipAudioCall);
+ method public void onChanged(android.net.sip.SipAudioCall);
+ method public void onError(android.net.sip.SipAudioCall, int, java.lang.String);
+ method public void onReadyToCall(android.net.sip.SipAudioCall);
+ method public void onRinging(android.net.sip.SipAudioCall, android.net.sip.SipProfile);
+ method public void onRingingBack(android.net.sip.SipAudioCall);
+ }
+
+ public class SipErrorCode {
+ method public static java.lang.String toString(int);
+ field public static final int CLIENT_ERROR = -4; // 0xfffffffc
+ field public static final int CROSS_DOMAIN_AUTHENTICATION = -11; // 0xfffffff5
+ field public static final int DATA_CONNECTION_LOST = -10; // 0xfffffff6
+ field public static final int INVALID_CREDENTIALS = -8; // 0xfffffff8
+ field public static final int INVALID_REMOTE_URI = -6; // 0xfffffffa
+ field public static final int IN_PROGRESS = -9; // 0xfffffff7
+ field public static final int NO_ERROR = 0; // 0x0
+ field public static final int PEER_NOT_REACHABLE = -7; // 0xfffffff9
+ field public static final int SERVER_ERROR = -2; // 0xfffffffe
+ field public static final int SERVER_UNREACHABLE = -12; // 0xfffffff4
+ field public static final int SOCKET_ERROR = -1; // 0xffffffff
+ field public static final int TIME_OUT = -5; // 0xfffffffb
+ field public static final int TRANSACTION_TERMINTED = -3; // 0xfffffffd
+ }
+
+ public class SipException extends java.lang.Exception {
+ ctor public SipException();
+ ctor public SipException(java.lang.String);
+ ctor public SipException(java.lang.String, java.lang.Throwable);
+ }
+
+ public class SipManager {
+ method public void close(java.lang.String) throws android.net.sip.SipException;
+ method public android.net.sip.SipSession createSipSession(android.net.sip.SipProfile, android.net.sip.SipSession.Listener) throws android.net.sip.SipException;
+ method public static java.lang.String getCallId(android.content.Intent);
+ method public static java.lang.String getOfferSessionDescription(android.content.Intent);
+ method public android.net.sip.SipSession getSessionFor(android.content.Intent) throws android.net.sip.SipException;
+ method public static boolean isApiSupported(android.content.Context);
+ method public static boolean isIncomingCallIntent(android.content.Intent);
+ method public boolean isOpened(java.lang.String) throws android.net.sip.SipException;
+ method public boolean isRegistered(java.lang.String) throws android.net.sip.SipException;
+ method public static boolean isSipWifiOnly(android.content.Context);
+ method public static boolean isVoipSupported(android.content.Context);
+ method public android.net.sip.SipAudioCall makeAudioCall(android.net.sip.SipProfile, android.net.sip.SipProfile, android.net.sip.SipAudioCall.Listener, int) throws android.net.sip.SipException;
+ method public android.net.sip.SipAudioCall makeAudioCall(java.lang.String, java.lang.String, android.net.sip.SipAudioCall.Listener, int) throws android.net.sip.SipException;
+ method public static android.net.sip.SipManager newInstance(android.content.Context);
+ method public void open(android.net.sip.SipProfile) throws android.net.sip.SipException;
+ method public void open(android.net.sip.SipProfile, android.app.PendingIntent, android.net.sip.SipRegistrationListener) throws android.net.sip.SipException;
+ method public void register(android.net.sip.SipProfile, int, android.net.sip.SipRegistrationListener) throws android.net.sip.SipException;
+ method public void setRegistrationListener(java.lang.String, android.net.sip.SipRegistrationListener) throws android.net.sip.SipException;
+ method public android.net.sip.SipAudioCall takeAudioCall(android.content.Intent, android.net.sip.SipAudioCall.Listener) throws android.net.sip.SipException;
+ method public void unregister(android.net.sip.SipProfile, android.net.sip.SipRegistrationListener) throws android.net.sip.SipException;
+ field public static final java.lang.String EXTRA_CALL_ID = "android:sipCallID";
+ field public static final java.lang.String EXTRA_OFFER_SD = "android:sipOfferSD";
+ field public static final int INCOMING_CALL_RESULT_CODE = 101; // 0x65
+ }
+
+ public class SipProfile implements java.lang.Cloneable android.os.Parcelable java.io.Serializable {
+ method public int describeContents();
+ method public java.lang.String getAuthUserName();
+ method public boolean getAutoRegistration();
+ method public java.lang.String getDisplayName();
+ method public java.lang.String getPassword();
+ method public int getPort();
+ method public java.lang.String getProfileName();
+ method public java.lang.String getProtocol();
+ method public java.lang.String getProxyAddress();
+ method public boolean getSendKeepAlive();
+ method public java.lang.String getSipDomain();
+ method public java.lang.String getUriString();
+ method public java.lang.String getUserName();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public static class SipProfile.Builder {
+ ctor public SipProfile.Builder(android.net.sip.SipProfile);
+ ctor public SipProfile.Builder(java.lang.String) throws java.text.ParseException;
+ ctor public SipProfile.Builder(java.lang.String, java.lang.String) throws java.text.ParseException;
+ method public android.net.sip.SipProfile build();
+ method public android.net.sip.SipProfile.Builder setAuthUserName(java.lang.String);
+ method public android.net.sip.SipProfile.Builder setAutoRegistration(boolean);
+ method public android.net.sip.SipProfile.Builder setDisplayName(java.lang.String);
+ method public android.net.sip.SipProfile.Builder setOutboundProxy(java.lang.String);
+ method public android.net.sip.SipProfile.Builder setPassword(java.lang.String);
+ method public android.net.sip.SipProfile.Builder setPort(int) throws java.lang.IllegalArgumentException;
+ method public android.net.sip.SipProfile.Builder setProfileName(java.lang.String);
+ method public android.net.sip.SipProfile.Builder setProtocol(java.lang.String) throws java.lang.IllegalArgumentException;
+ method public android.net.sip.SipProfile.Builder setSendKeepAlive(boolean);
+ }
+
+ public abstract interface SipRegistrationListener {
+ method public abstract void onRegistering(java.lang.String);
+ method public abstract void onRegistrationDone(java.lang.String, long);
+ method public abstract void onRegistrationFailed(java.lang.String, int, java.lang.String);
+ }
+
+ public final class SipSession {
+ method public void answerCall(java.lang.String, int);
+ method public void changeCall(java.lang.String, int);
+ method public void endCall();
+ method public java.lang.String getCallId();
+ method public java.lang.String getLocalIp();
+ method public android.net.sip.SipProfile getLocalProfile();
+ method public android.net.sip.SipProfile getPeerProfile();
+ method public int getState();
+ method public boolean isInCall();
+ method public void makeCall(android.net.sip.SipProfile, java.lang.String, int);
+ method public void register(int);
+ method public void setListener(android.net.sip.SipSession.Listener);
+ method public void unregister();
+ }
+
+ public static class SipSession.Listener {
+ ctor public SipSession.Listener();
+ method public void onCallBusy(android.net.sip.SipSession);
+ method public void onCallChangeFailed(android.net.sip.SipSession, int, java.lang.String);
+ method public void onCallEnded(android.net.sip.SipSession);
+ method public void onCallEstablished(android.net.sip.SipSession, java.lang.String);
+ method public void onCalling(android.net.sip.SipSession);
+ method public void onError(android.net.sip.SipSession, int, java.lang.String);
+ method public void onRegistering(android.net.sip.SipSession);
+ method public void onRegistrationDone(android.net.sip.SipSession, int);
+ method public void onRegistrationFailed(android.net.sip.SipSession, int, java.lang.String);
+ method public void onRegistrationTimeout(android.net.sip.SipSession);
+ method public void onRinging(android.net.sip.SipSession, android.net.sip.SipProfile, java.lang.String);
+ method public void onRingingBack(android.net.sip.SipSession);
+ }
+
+ public static class SipSession.State {
+ method public static java.lang.String toString(int);
+ field public static final int DEREGISTERING = 2; // 0x2
+ field public static final int INCOMING_CALL = 3; // 0x3
+ field public static final int INCOMING_CALL_ANSWERING = 4; // 0x4
+ field public static final int IN_CALL = 8; // 0x8
+ field public static final int NOT_DEFINED = 101; // 0x65
+ field public static final int OUTGOING_CALL = 5; // 0x5
+ field public static final int OUTGOING_CALL_CANCELING = 7; // 0x7
+ field public static final int OUTGOING_CALL_RING_BACK = 6; // 0x6
+ field public static final int PINGING = 9; // 0x9
+ field public static final int READY_TO_CALL = 0; // 0x0
+ field public static final int REGISTERING = 1; // 0x1
+ }
+
+}
+
+package android.net.wifi {
+
+ public class ScanResult implements android.os.Parcelable {
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public java.lang.String BSSID;
+ field public java.lang.String SSID;
+ field public java.lang.String capabilities;
+ field public int frequency;
+ field public int level;
+ }
+
+ public final class SupplicantState extends java.lang.Enum implements android.os.Parcelable {
+ method public int describeContents();
+ method public static boolean isValidState(android.net.wifi.SupplicantState);
+ method public static android.net.wifi.SupplicantState valueOf(java.lang.String);
+ method public static final android.net.wifi.SupplicantState[] values();
+ method public void writeToParcel(android.os.Parcel, int);
+ enum_constant public static final android.net.wifi.SupplicantState ASSOCIATED;
+ enum_constant public static final android.net.wifi.SupplicantState ASSOCIATING;
+ enum_constant public static final android.net.wifi.SupplicantState AUTHENTICATING;
+ enum_constant public static final android.net.wifi.SupplicantState COMPLETED;
+ enum_constant public static final android.net.wifi.SupplicantState DISCONNECTED;
+ enum_constant public static final android.net.wifi.SupplicantState DORMANT;
+ enum_constant public static final android.net.wifi.SupplicantState FOUR_WAY_HANDSHAKE;
+ enum_constant public static final android.net.wifi.SupplicantState GROUP_HANDSHAKE;
+ enum_constant public static final android.net.wifi.SupplicantState INACTIVE;
+ enum_constant public static final android.net.wifi.SupplicantState INTERFACE_DISABLED;
+ enum_constant public static final android.net.wifi.SupplicantState INVALID;
+ enum_constant public static final android.net.wifi.SupplicantState SCANNING;
+ enum_constant public static final android.net.wifi.SupplicantState UNINITIALIZED;
+ }
+
+ public class WifiConfiguration implements android.os.Parcelable {
+ ctor public WifiConfiguration();
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public java.lang.String BSSID;
+ field public java.lang.String SSID;
+ field public java.util.BitSet allowedAuthAlgorithms;
+ field public java.util.BitSet allowedGroupCiphers;
+ field public java.util.BitSet allowedKeyManagement;
+ field public java.util.BitSet allowedPairwiseCiphers;
+ field public java.util.BitSet allowedProtocols;
+ field public boolean hiddenSSID;
+ field public int networkId;
+ field public java.lang.String preSharedKey;
+ field public int priority;
+ field public int status;
+ field public java.lang.String[] wepKeys;
+ field public int wepTxKeyIndex;
+ }
+
+ public static class WifiConfiguration.AuthAlgorithm {
+ field public static final int LEAP = 2; // 0x2
+ field public static final int OPEN = 0; // 0x0
+ field public static final int SHARED = 1; // 0x1
+ field public static final java.lang.String[] strings;
+ field public static final java.lang.String varName = "auth_alg";
+ }
+
+ public static class WifiConfiguration.GroupCipher {
+ field public static final int CCMP = 3; // 0x3
+ field public static final int TKIP = 2; // 0x2
+ field public static final int WEP104 = 1; // 0x1
+ field public static final int WEP40 = 0; // 0x0
+ field public static final java.lang.String[] strings;
+ field public static final java.lang.String varName = "group";
+ }
+
+ public static class WifiConfiguration.KeyMgmt {
+ field public static final int IEEE8021X = 3; // 0x3
+ field public static final int NONE = 0; // 0x0
+ field public static final int WPA_EAP = 2; // 0x2
+ field public static final int WPA_PSK = 1; // 0x1
+ field public static final java.lang.String[] strings;
+ field public static final java.lang.String varName = "key_mgmt";
+ }
+
+ public static class WifiConfiguration.PairwiseCipher {
+ field public static final int CCMP = 2; // 0x2
+ field public static final int NONE = 0; // 0x0
+ field public static final int TKIP = 1; // 0x1
+ field public static final java.lang.String[] strings;
+ field public static final java.lang.String varName = "pairwise";
+ }
+
+ public static class WifiConfiguration.Protocol {
+ field public static final int RSN = 1; // 0x1
+ field public static final int WPA = 0; // 0x0
+ field public static final java.lang.String[] strings;
+ field public static final java.lang.String varName = "proto";
+ }
+
+ public static class WifiConfiguration.Status {
+ field public static final int CURRENT = 0; // 0x0
+ field public static final int DISABLED = 1; // 0x1
+ field public static final int ENABLED = 2; // 0x2
+ field public static final java.lang.String[] strings;
+ }
+
+ public class WifiInfo implements android.os.Parcelable {
+ method public int describeContents();
+ method public java.lang.String getBSSID();
+ method public static android.net.NetworkInfo.DetailedState getDetailedStateOf(android.net.wifi.SupplicantState);
+ method public boolean getHiddenSSID();
+ method public int getIpAddress();
+ method public int getLinkSpeed();
+ method public java.lang.String getMacAddress();
+ method public int getNetworkId();
+ method public int getRssi();
+ method public java.lang.String getSSID();
+ method public android.net.wifi.SupplicantState getSupplicantState();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final java.lang.String LINK_SPEED_UNITS = "Mbps";
+ }
+
+ public class WifiManager {
+ method public int addNetwork(android.net.wifi.WifiConfiguration);
+ method public static int calculateSignalLevel(int, int);
+ method public static int compareSignalLevel(int, int);
+ method public android.net.wifi.WifiManager.MulticastLock createMulticastLock(java.lang.String);
+ method public android.net.wifi.WifiManager.WifiLock createWifiLock(int, java.lang.String);
+ method public android.net.wifi.WifiManager.WifiLock createWifiLock(java.lang.String);
+ method public boolean disableNetwork(int);
+ method public boolean disconnect();
+ method public boolean enableNetwork(int, boolean);
+ method public java.util.List<android.net.wifi.WifiConfiguration> getConfiguredNetworks();
+ method public android.net.wifi.WifiInfo getConnectionInfo();
+ method public android.net.DhcpInfo getDhcpInfo();
+ method public java.util.List<android.net.wifi.ScanResult> getScanResults();
+ method public int getWifiState();
+ method public boolean isWifiEnabled();
+ method public boolean pingSupplicant();
+ method public boolean reassociate();
+ method public boolean reconnect();
+ method public boolean removeNetwork(int);
+ method public boolean saveConfiguration();
+ method public boolean setWifiEnabled(boolean);
+ method public boolean startScan();
+ method public int updateNetwork(android.net.wifi.WifiConfiguration);
+ field public static final java.lang.String ACTION_PICK_WIFI_NETWORK = "android.net.wifi.PICK_WIFI_NETWORK";
+ field public static final int ERROR_AUTHENTICATING = 1; // 0x1
+ field public static final java.lang.String EXTRA_BSSID = "bssid";
+ field public static final java.lang.String EXTRA_NETWORK_INFO = "networkInfo";
+ field public static final java.lang.String EXTRA_NEW_RSSI = "newRssi";
+ field public static final java.lang.String EXTRA_NEW_STATE = "newState";
+ field public static final java.lang.String EXTRA_PREVIOUS_WIFI_STATE = "previous_wifi_state";
+ field public static final java.lang.String EXTRA_SUPPLICANT_CONNECTED = "connected";
+ field public static final java.lang.String EXTRA_SUPPLICANT_ERROR = "supplicantError";
+ field public static final java.lang.String EXTRA_WIFI_INFO = "wifiInfo";
+ field public static final java.lang.String EXTRA_WIFI_STATE = "wifi_state";
+ field public static final java.lang.String NETWORK_IDS_CHANGED_ACTION = "android.net.wifi.NETWORK_IDS_CHANGED";
+ field public static final java.lang.String NETWORK_STATE_CHANGED_ACTION = "android.net.wifi.STATE_CHANGE";
+ field public static final java.lang.String RSSI_CHANGED_ACTION = "android.net.wifi.RSSI_CHANGED";
+ field public static final java.lang.String SCAN_RESULTS_AVAILABLE_ACTION = "android.net.wifi.SCAN_RESULTS";
+ field public static final java.lang.String SUPPLICANT_CONNECTION_CHANGE_ACTION = "android.net.wifi.supplicant.CONNECTION_CHANGE";
+ field public static final java.lang.String SUPPLICANT_STATE_CHANGED_ACTION = "android.net.wifi.supplicant.STATE_CHANGE";
+ field public static final int WIFI_MODE_FULL = 1; // 0x1
+ field public static final int WIFI_MODE_FULL_HIGH_PERF = 3; // 0x3
+ field public static final int WIFI_MODE_SCAN_ONLY = 2; // 0x2
+ field public static final java.lang.String WIFI_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_STATE_CHANGED";
+ field public static final int WIFI_STATE_DISABLED = 1; // 0x1
+ field public static final int WIFI_STATE_DISABLING = 0; // 0x0
+ field public static final int WIFI_STATE_ENABLED = 3; // 0x3
+ field public static final int WIFI_STATE_ENABLING = 2; // 0x2
+ field public static final int WIFI_STATE_UNKNOWN = 4; // 0x4
+ }
+
+ public class WifiManager.MulticastLock {
+ method public void acquire();
+ method public boolean isHeld();
+ method public void release();
+ method public void setReferenceCounted(boolean);
+ }
+
+ public class WifiManager.WifiLock {
+ method public void acquire();
+ method public boolean isHeld();
+ method public void release();
+ method public void setReferenceCounted(boolean);
+ method public void setWorkSource(android.os.WorkSource);
+ }
+
+ public class WpsInfo implements android.os.Parcelable {
+ ctor public WpsInfo();
+ ctor public WpsInfo(android.net.wifi.WpsInfo);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int DISPLAY = 1; // 0x1
+ field public static final int INVALID = 4; // 0x4
+ field public static final int KEYPAD = 2; // 0x2
+ field public static final int LABEL = 3; // 0x3
+ field public static final int PBC = 0; // 0x0
+ field public java.lang.String pin;
+ field public int setup;
+ }
+
+}
+
+package android.net.wifi.p2p {
+
+ public class WifiP2pConfig implements android.os.Parcelable {
+ ctor public WifiP2pConfig();
+ ctor public WifiP2pConfig(android.net.wifi.p2p.WifiP2pConfig);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public java.lang.String deviceAddress;
+ field public int groupOwnerIntent;
+ field public android.net.wifi.WpsInfo wps;
+ }
+
+ public class WifiP2pDevice implements android.os.Parcelable {
+ ctor public WifiP2pDevice();
+ ctor public WifiP2pDevice(android.net.wifi.p2p.WifiP2pDevice);
+ method public int describeContents();
+ method public boolean isGroupOwner();
+ method public boolean isServiceDiscoveryCapable();
+ method public boolean wpsDisplaySupported();
+ method public boolean wpsKeypadSupported();
+ method public boolean wpsPbcSupported();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final int AVAILABLE = 3; // 0x3
+ field public static final int CONNECTED = 0; // 0x0
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int FAILED = 2; // 0x2
+ field public static final int INVITED = 1; // 0x1
+ field public static final int UNAVAILABLE = 4; // 0x4
+ field public java.lang.String deviceAddress;
+ field public java.lang.String deviceName;
+ field public java.lang.String primaryDeviceType;
+ field public java.lang.String secondaryDeviceType;
+ field public int status;
+ }
+
+ public class WifiP2pDeviceList implements android.os.Parcelable {
+ ctor public WifiP2pDeviceList();
+ ctor public WifiP2pDeviceList(android.net.wifi.p2p.WifiP2pDeviceList);
+ method public int describeContents();
+ method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getDeviceList();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class WifiP2pGroup implements android.os.Parcelable {
+ ctor public WifiP2pGroup();
+ ctor public WifiP2pGroup(android.net.wifi.p2p.WifiP2pGroup);
+ method public int describeContents();
+ method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getClientList();
+ method public java.lang.String getInterface();
+ method public java.lang.String getNetworkName();
+ method public android.net.wifi.p2p.WifiP2pDevice getOwner();
+ method public java.lang.String getPassphrase();
+ method public boolean isGroupOwner();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class WifiP2pInfo implements android.os.Parcelable {
+ ctor public WifiP2pInfo();
+ ctor public WifiP2pInfo(android.net.wifi.p2p.WifiP2pInfo);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public boolean groupFormed;
+ field public java.net.InetAddress groupOwnerAddress;
+ field public boolean isGroupOwner;
+ }
+
+ public class WifiP2pManager {
+ method public void cancelConnect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+ method public void connect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pConfig, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+ method public void createGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+ method public void discoverPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+ method public android.net.wifi.p2p.WifiP2pManager.Channel initialize(android.content.Context, android.os.Looper, android.net.wifi.p2p.WifiP2pManager.ChannelListener);
+ method public void removeGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+ method public void requestConnectionInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ConnectionInfoListener);
+ method public void requestGroupInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.GroupInfoListener);
+ method public void requestPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.PeerListListener);
+ field public static final int BUSY = 2; // 0x2
+ field public static final int ERROR = 0; // 0x0
+ field public static final java.lang.String EXTRA_NETWORK_INFO = "networkInfo";
+ field public static final java.lang.String EXTRA_WIFI_P2P_DEVICE = "wifiP2pDevice";
+ field public static final java.lang.String EXTRA_WIFI_P2P_INFO = "wifiP2pInfo";
+ field public static final java.lang.String EXTRA_WIFI_STATE = "wifi_p2p_state";
+ field public static final int P2P_UNSUPPORTED = 1; // 0x1
+ field public static final java.lang.String WIFI_P2P_CONNECTION_CHANGED_ACTION = "android.net.wifi.p2p.CONNECTION_STATE_CHANGE";
+ field public static final java.lang.String WIFI_P2P_PEERS_CHANGED_ACTION = "android.net.wifi.p2p.PEERS_CHANGED";
+ field public static final java.lang.String WIFI_P2P_STATE_CHANGED_ACTION = "android.net.wifi.p2p.STATE_CHANGED";
+ field public static final int WIFI_P2P_STATE_DISABLED = 1; // 0x1
+ field public static final int WIFI_P2P_STATE_ENABLED = 2; // 0x2
+ field public static final java.lang.String WIFI_P2P_THIS_DEVICE_CHANGED_ACTION = "android.net.wifi.p2p.THIS_DEVICE_CHANGED";
+ }
+
+ public static abstract interface WifiP2pManager.ActionListener {
+ method public abstract void onFailure(int);
+ method public abstract void onSuccess();
+ }
+
+ public static class WifiP2pManager.Channel {
+ }
+
+ public static abstract interface WifiP2pManager.ChannelListener {
+ method public abstract void onChannelDisconnected();
+ }
+
+ public static abstract interface WifiP2pManager.ConnectionInfoListener {
+ method public abstract void onConnectionInfoAvailable(android.net.wifi.p2p.WifiP2pInfo);
+ }
+
+ public static abstract interface WifiP2pManager.GroupInfoListener {
+ method public abstract void onGroupInfoAvailable(android.net.wifi.p2p.WifiP2pGroup);
+ }
+
+ public static abstract interface WifiP2pManager.PeerListListener {
+ method public abstract void onPeersAvailable(android.net.wifi.p2p.WifiP2pDeviceList);
+ }
+
+}
+
+package android.nfc {
+
+ public class FormatException extends java.lang.Exception {
+ ctor public FormatException();
+ ctor public FormatException(java.lang.String);
+ }
+
+ public final class NdefMessage implements android.os.Parcelable {
+ ctor public NdefMessage(byte[]) throws android.nfc.FormatException;
+ ctor public NdefMessage(android.nfc.NdefRecord[]);
+ method public int describeContents();
+ method public android.nfc.NdefRecord[] getRecords();
+ method public byte[] toByteArray();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public final class NdefRecord implements android.os.Parcelable {
+ ctor public NdefRecord(short, byte[], byte[], byte[]);
+ ctor public NdefRecord(byte[]) throws android.nfc.FormatException;
+ method public static android.nfc.NdefRecord createApplicationRecord(java.lang.String);
+ method public static android.nfc.NdefRecord createUri(android.net.Uri);
+ method public static android.nfc.NdefRecord createUri(java.lang.String);
+ method public int describeContents();
+ method public byte[] getId();
+ method public byte[] getPayload();
+ method public short getTnf();
+ method public byte[] getType();
+ method public byte[] toByteArray();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final byte[] RTD_ALTERNATIVE_CARRIER;
+ field public static final byte[] RTD_HANDOVER_CARRIER;
+ field public static final byte[] RTD_HANDOVER_REQUEST;
+ field public static final byte[] RTD_HANDOVER_SELECT;
+ field public static final byte[] RTD_SMART_POSTER;
+ field public static final byte[] RTD_TEXT;
+ field public static final byte[] RTD_URI;
+ field public static final short TNF_ABSOLUTE_URI = 3; // 0x3
+ field public static final short TNF_EMPTY = 0; // 0x0
+ field public static final short TNF_EXTERNAL_TYPE = 4; // 0x4
+ field public static final short TNF_MIME_MEDIA = 2; // 0x2
+ field public static final short TNF_UNCHANGED = 6; // 0x6
+ field public static final short TNF_UNKNOWN = 5; // 0x5
+ field public static final short TNF_WELL_KNOWN = 1; // 0x1
+ }
+
+ public final class NfcAdapter {
+ method public void disableForegroundDispatch(android.app.Activity);
+ method public deprecated void disableForegroundNdefPush(android.app.Activity);
+ method public void enableForegroundDispatch(android.app.Activity, android.app.PendingIntent, android.content.IntentFilter[], java.lang.String[][]);
+ method public deprecated void enableForegroundNdefPush(android.app.Activity, android.nfc.NdefMessage);
+ method public static android.nfc.NfcAdapter getDefaultAdapter(android.content.Context);
+ method public static deprecated android.nfc.NfcAdapter getDefaultAdapter();
+ method public boolean isEnabled();
+ method public void setNdefPushMessage(android.nfc.NdefMessage, android.app.Activity, android.app.Activity...);
+ method public void setNdefPushMessageCallback(android.nfc.NfcAdapter.CreateNdefMessageCallback, android.app.Activity, android.app.Activity...);
+ method public void setOnNdefPushCompleteCallback(android.nfc.NfcAdapter.OnNdefPushCompleteCallback, android.app.Activity, android.app.Activity...);
+ field public static final java.lang.String ACTION_NDEF_DISCOVERED = "android.nfc.action.NDEF_DISCOVERED";
+ field public static final java.lang.String ACTION_TAG_DISCOVERED = "android.nfc.action.TAG_DISCOVERED";
+ field public static final java.lang.String ACTION_TECH_DISCOVERED = "android.nfc.action.TECH_DISCOVERED";
+ field public static final java.lang.String EXTRA_ID = "android.nfc.extra.ID";
+ field public static final java.lang.String EXTRA_NDEF_MESSAGES = "android.nfc.extra.NDEF_MESSAGES";
+ field public static final java.lang.String EXTRA_TAG = "android.nfc.extra.TAG";
+ }
+
+ public static abstract interface NfcAdapter.CreateNdefMessageCallback {
+ method public abstract android.nfc.NdefMessage createNdefMessage(android.nfc.NfcEvent);
+ }
+
+ public static abstract interface NfcAdapter.OnNdefPushCompleteCallback {
+ method public abstract void onNdefPushComplete(android.nfc.NfcEvent);
+ }
+
+ public final class NfcEvent {
+ field public final android.nfc.NfcAdapter nfcAdapter;
+ }
+
+ public final class NfcManager {
+ method public android.nfc.NfcAdapter getDefaultAdapter();
+ }
+
+ public final class Tag implements android.os.Parcelable {
+ method public int describeContents();
+ method public byte[] getId();
+ method public java.lang.String[] getTechList();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class TagLostException extends java.io.IOException {
+ ctor public TagLostException();
+ ctor public TagLostException(java.lang.String);
+ }
+
+}
+
+package android.nfc.tech {
+
+ abstract class BasicTagTechnology implements android.nfc.tech.TagTechnology {
+ method public void close() throws java.io.IOException;
+ method public void connect() throws java.io.IOException;
+ method public android.nfc.Tag getTag();
+ method public boolean isConnected();
+ }
+
+ public final class IsoDep extends android.nfc.tech.BasicTagTechnology {
+ method public static android.nfc.tech.IsoDep get(android.nfc.Tag);
+ method public byte[] getHiLayerResponse();
+ method public byte[] getHistoricalBytes();
+ method public int getMaxTransceiveLength();
+ method public int getTimeout();
+ method public void setTimeout(int);
+ method public byte[] transceive(byte[]) throws java.io.IOException;
+ }
+
+ public final class MifareClassic extends android.nfc.tech.BasicTagTechnology {
+ method public boolean authenticateSectorWithKeyA(int, byte[]) throws java.io.IOException;
+ method public boolean authenticateSectorWithKeyB(int, byte[]) throws java.io.IOException;
+ method public int blockToSector(int);
+ method public void decrement(int, int) throws java.io.IOException;
+ method public static android.nfc.tech.MifareClassic get(android.nfc.Tag);
+ method public int getBlockCount();
+ method public int getBlockCountInSector(int);
+ method public int getMaxTransceiveLength();
+ method public int getSectorCount();
+ method public int getSize();
+ method public int getTimeout();
+ method public int getType();
+ method public void increment(int, int) throws java.io.IOException;
+ method public byte[] readBlock(int) throws java.io.IOException;
+ method public void restore(int) throws java.io.IOException;
+ method public int sectorToBlock(int);
+ method public void setTimeout(int);
+ method public byte[] transceive(byte[]) throws java.io.IOException;
+ method public void transfer(int) throws java.io.IOException;
+ method public void writeBlock(int, byte[]) throws java.io.IOException;
+ field public static final int BLOCK_SIZE = 16; // 0x10
+ field public static final byte[] KEY_DEFAULT;
+ field public static final byte[] KEY_MIFARE_APPLICATION_DIRECTORY;
+ field public static final byte[] KEY_NFC_FORUM;
+ field public static final int SIZE_1K = 1024; // 0x400
+ field public static final int SIZE_2K = 2048; // 0x800
+ field public static final int SIZE_4K = 4096; // 0x1000
+ field public static final int SIZE_MINI = 320; // 0x140
+ field public static final int TYPE_CLASSIC = 0; // 0x0
+ field public static final int TYPE_PLUS = 1; // 0x1
+ field public static final int TYPE_PRO = 2; // 0x2
+ field public static final int TYPE_UNKNOWN = -1; // 0xffffffff
+ }
+
+ public final class MifareUltralight extends android.nfc.tech.BasicTagTechnology {
+ method public static android.nfc.tech.MifareUltralight get(android.nfc.Tag);
+ method public int getMaxTransceiveLength();
+ method public int getTimeout();
+ method public int getType();
+ method public byte[] readPages(int) throws java.io.IOException;
+ method public void setTimeout(int);
+ method public byte[] transceive(byte[]) throws java.io.IOException;
+ method public void writePage(int, byte[]) throws java.io.IOException;
+ field public static final int PAGE_SIZE = 4; // 0x4
+ field public static final int TYPE_ULTRALIGHT = 1; // 0x1
+ field public static final int TYPE_ULTRALIGHT_C = 2; // 0x2
+ field public static final int TYPE_UNKNOWN = -1; // 0xffffffff
+ }
+
+ public final class Ndef extends android.nfc.tech.BasicTagTechnology {
+ method public boolean canMakeReadOnly();
+ method public static android.nfc.tech.Ndef get(android.nfc.Tag);
+ method public android.nfc.NdefMessage getCachedNdefMessage();
+ method public int getMaxSize();
+ method public android.nfc.NdefMessage getNdefMessage() throws android.nfc.FormatException, java.io.IOException;
+ method public java.lang.String getType();
+ method public boolean isWritable();
+ method public boolean makeReadOnly() throws java.io.IOException;
+ method public void writeNdefMessage(android.nfc.NdefMessage) throws android.nfc.FormatException, java.io.IOException;
+ field public static final java.lang.String MIFARE_CLASSIC = "com.nxp.ndef.mifareclassic";
+ field public static final java.lang.String NFC_FORUM_TYPE_1 = "org.nfcforum.ndef.type1";
+ field public static final java.lang.String NFC_FORUM_TYPE_2 = "org.nfcforum.ndef.type2";
+ field public static final java.lang.String NFC_FORUM_TYPE_3 = "org.nfcforum.ndef.type3";
+ field public static final java.lang.String NFC_FORUM_TYPE_4 = "org.nfcforum.ndef.type4";
+ }
+
+ public final class NdefFormatable extends android.nfc.tech.BasicTagTechnology {
+ method public void format(android.nfc.NdefMessage) throws android.nfc.FormatException, java.io.IOException;
+ method public void formatReadOnly(android.nfc.NdefMessage) throws android.nfc.FormatException, java.io.IOException;
+ method public static android.nfc.tech.NdefFormatable get(android.nfc.Tag);
+ }
+
+ public final class NfcA extends android.nfc.tech.BasicTagTechnology {
+ method public static android.nfc.tech.NfcA get(android.nfc.Tag);
+ method public byte[] getAtqa();
+ method public int getMaxTransceiveLength();
+ method public short getSak();
+ method public int getTimeout();
+ method public void setTimeout(int);
+ method public byte[] transceive(byte[]) throws java.io.IOException;
+ }
+
+ public final class NfcB extends android.nfc.tech.BasicTagTechnology {
+ method public static android.nfc.tech.NfcB get(android.nfc.Tag);
+ method public byte[] getApplicationData();
+ method public int getMaxTransceiveLength();
+ method public byte[] getProtocolInfo();
+ method public byte[] transceive(byte[]) throws java.io.IOException;
+ }
+
+ public final class NfcF extends android.nfc.tech.BasicTagTechnology {
+ method public static android.nfc.tech.NfcF get(android.nfc.Tag);
+ method public byte[] getManufacturer();
+ method public int getMaxTransceiveLength();
+ method public byte[] getSystemCode();
+ method public int getTimeout();
+ method public void setTimeout(int);
+ method public byte[] transceive(byte[]) throws java.io.IOException;
+ }
+
+ public final class NfcV extends android.nfc.tech.BasicTagTechnology {
+ method public static android.nfc.tech.NfcV get(android.nfc.Tag);
+ method public byte getDsfId();
+ method public int getMaxTransceiveLength();
+ method public byte getResponseFlags();
+ method public byte[] transceive(byte[]) throws java.io.IOException;
+ }
+
+ public abstract interface TagTechnology implements java.io.Closeable {
+ method public abstract void close() throws java.io.IOException;
+ method public abstract void connect() throws java.io.IOException;
+ method public abstract android.nfc.Tag getTag();
+ method public abstract boolean isConnected();
+ }
+
+}
+
+package android.opengl {
+
+ public class ETC1 {
+ ctor public ETC1();
+ method public static void decodeBlock(java.nio.Buffer, java.nio.Buffer);
+ method public static void decodeImage(java.nio.Buffer, java.nio.Buffer, int, int, int, int);
+ method public static void encodeBlock(java.nio.Buffer, int, java.nio.Buffer);
+ method public static void encodeImage(java.nio.Buffer, int, int, int, int, java.nio.Buffer);
+ method public static void formatHeader(java.nio.Buffer, int, int);
+ method public static int getEncodedDataSize(int, int);
+ method public static int getHeight(java.nio.Buffer);
+ method public static int getWidth(java.nio.Buffer);
+ method public static boolean isValid(java.nio.Buffer);
+ field public static final int DECODED_BLOCK_SIZE = 48; // 0x30
+ field public static final int ENCODED_BLOCK_SIZE = 8; // 0x8
+ field public static final int ETC1_RGB8_OES = 36196; // 0x8d64
+ field public static final int ETC_PKM_HEADER_SIZE = 16; // 0x10
+ }
+
+ public class ETC1Util {
+ ctor public ETC1Util();
+ method public static android.opengl.ETC1Util.ETC1Texture compressTexture(java.nio.Buffer, int, int, int, int);
+ method public static android.opengl.ETC1Util.ETC1Texture createTexture(java.io.InputStream) throws java.io.IOException;
+ method public static boolean isETC1Supported();
+ method public static void loadTexture(int, int, int, int, int, java.io.InputStream) throws java.io.IOException;
+ method public static void loadTexture(int, int, int, int, int, android.opengl.ETC1Util.ETC1Texture);
+ method public static void writeTexture(android.opengl.ETC1Util.ETC1Texture, java.io.OutputStream) throws java.io.IOException;
+ }
+
+ public static class ETC1Util.ETC1Texture {
+ ctor public ETC1Util.ETC1Texture(int, int, java.nio.ByteBuffer);
+ method public java.nio.ByteBuffer getData();
+ method public int getHeight();
+ method public int getWidth();
+ }
+
+ public class GLDebugHelper {
+ ctor public GLDebugHelper();
+ method public static javax.microedition.khronos.opengles.GL wrap(javax.microedition.khronos.opengles.GL, int, java.io.Writer);
+ method public static javax.microedition.khronos.egl.EGL wrap(javax.microedition.khronos.egl.EGL, int, java.io.Writer);
+ field public static final int CONFIG_CHECK_GL_ERROR = 1; // 0x1
+ field public static final int CONFIG_CHECK_THREAD = 2; // 0x2
+ field public static final int CONFIG_LOG_ARGUMENT_NAMES = 4; // 0x4
+ field public static final int ERROR_WRONG_THREAD = 28672; // 0x7000
+ }
+
+ public class GLES10 {
+ ctor public GLES10();
+ method public static void glActiveTexture(int);
+ method public static void glAlphaFunc(int, float);
+ method public static void glAlphaFuncx(int, int);
+ method public static void glBindTexture(int, int);
+ method public static void glBlendFunc(int, int);
+ method public static void glClear(int);
+ method public static void glClearColor(float, float, float, float);
+ method public static void glClearColorx(int, int, int, int);
+ method public static void glClearDepthf(float);
+ method public static void glClearDepthx(int);
+ method public static void glClearStencil(int);
+ method public static void glClientActiveTexture(int);
+ method public static void glColor4f(float, float, float, float);
+ method public static void glColor4x(int, int, int, int);
+ method public static void glColorMask(boolean, boolean, boolean, boolean);
+ method public static void glColorPointer(int, int, int, java.nio.Buffer);
+ method public static void glCompressedTexImage2D(int, int, int, int, int, int, int, java.nio.Buffer);
+ method public static void glCompressedTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+ method public static void glCopyTexImage2D(int, int, int, int, int, int, int, int);
+ method public static void glCopyTexSubImage2D(int, int, int, int, int, int, int, int);
+ method public static void glCullFace(int);
+ method public static void glDeleteTextures(int, int[], int);
+ method public static void glDeleteTextures(int, java.nio.IntBuffer);
+ method public static void glDepthFunc(int);
+ method public static void glDepthMask(boolean);
+ method public static void glDepthRangef(float, float);
+ method public static void glDepthRangex(int, int);
+ method public static void glDisable(int);
+ method public static void glDisableClientState(int);
+ method public static void glDrawArrays(int, int, int);
+ method public static void glDrawElements(int, int, int, java.nio.Buffer);
+ method public static void glEnable(int);
+ method public static void glEnableClientState(int);
+ method public static void glFinish();
+ method public static void glFlush();
+ method public static void glFogf(int, float);
+ method public static void glFogfv(int, float[], int);
+ method public static void glFogfv(int, java.nio.FloatBuffer);
+ method public static void glFogx(int, int);
+ method public static void glFogxv(int, int[], int);
+ method public static void glFogxv(int, java.nio.IntBuffer);
+ method public static void glFrontFace(int);
+ method public static void glFrustumf(float, float, float, float, float, float);
+ method public static void glFrustumx(int, int, int, int, int, int);
+ method public static void glGenTextures(int, int[], int);
+ method public static void glGenTextures(int, java.nio.IntBuffer);
+ method public static int glGetError();
+ method public static void glGetIntegerv(int, int[], int);
+ method public static void glGetIntegerv(int, java.nio.IntBuffer);
+ method public static java.lang.String glGetString(int);
+ method public static void glHint(int, int);
+ method public static void glLightModelf(int, float);
+ method public static void glLightModelfv(int, float[], int);
+ method public static void glLightModelfv(int, java.nio.FloatBuffer);
+ method public static void glLightModelx(int, int);
+ method public static void glLightModelxv(int, int[], int);
+ method public static void glLightModelxv(int, java.nio.IntBuffer);
+ method public static void glLightf(int, int, float);
+ method public static void glLightfv(int, int, float[], int);
+ method public static void glLightfv(int, int, java.nio.FloatBuffer);
+ method public static void glLightx(int, int, int);
+ method public static void glLightxv(int, int, int[], int);
+ method public static void glLightxv(int, int, java.nio.IntBuffer);
+ method public static void glLineWidth(float);
+ method public static void glLineWidthx(int);
+ method public static void glLoadIdentity();
+ method public static void glLoadMatrixf(float[], int);
+ method public static void glLoadMatrixf(java.nio.FloatBuffer);
+ method public static void glLoadMatrixx(int[], int);
+ method public static void glLoadMatrixx(java.nio.IntBuffer);
+ method public static void glLogicOp(int);
+ method public static void glMaterialf(int, int, float);
+ method public static void glMaterialfv(int, int, float[], int);
+ method public static void glMaterialfv(int, int, java.nio.FloatBuffer);
+ method public static void glMaterialx(int, int, int);
+ method public static void glMaterialxv(int, int, int[], int);
+ method public static void glMaterialxv(int, int, java.nio.IntBuffer);
+ method public static void glMatrixMode(int);
+ method public static void glMultMatrixf(float[], int);
+ method public static void glMultMatrixf(java.nio.FloatBuffer);
+ method public static void glMultMatrixx(int[], int);
+ method public static void glMultMatrixx(java.nio.IntBuffer);
+ method public static void glMultiTexCoord4f(int, float, float, float, float);
+ method public static void glMultiTexCoord4x(int, int, int, int, int);
+ method public static void glNormal3f(float, float, float);
+ method public static void glNormal3x(int, int, int);
+ method public static void glNormalPointer(int, int, java.nio.Buffer);
+ method public static void glOrthof(float, float, float, float, float, float);
+ method public static void glOrthox(int, int, int, int, int, int);
+ method public static void glPixelStorei(int, int);
+ method public static void glPointSize(float);
+ method public static void glPointSizex(int);
+ method public static void glPolygonOffset(float, float);
+ method public static void glPolygonOffsetx(int, int);
+ method public static void glPopMatrix();
+ method public static void glPushMatrix();
+ method public static void glReadPixels(int, int, int, int, int, int, java.nio.Buffer);
+ method public static void glRotatef(float, float, float, float);
+ method public static void glRotatex(int, int, int, int);
+ method public static void glSampleCoverage(float, boolean);
+ method public static void glSampleCoveragex(int, boolean);
+ method public static void glScalef(float, float, float);
+ method public static void glScalex(int, int, int);
+ method public static void glScissor(int, int, int, int);
+ method public static void glShadeModel(int);
+ method public static void glStencilFunc(int, int, int);
+ method public static void glStencilMask(int);
+ method public static void glStencilOp(int, int, int);
+ method public static void glTexCoordPointer(int, int, int, java.nio.Buffer);
+ method public static void glTexEnvf(int, int, float);
+ method public static void glTexEnvfv(int, int, float[], int);
+ method public static void glTexEnvfv(int, int, java.nio.FloatBuffer);
+ method public static void glTexEnvx(int, int, int);
+ method public static void glTexEnvxv(int, int, int[], int);
+ method public static void glTexEnvxv(int, int, java.nio.IntBuffer);
+ method public static void glTexImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+ method public static void glTexParameterf(int, int, float);
+ method public static void glTexParameterx(int, int, int);
+ method public static void glTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+ method public static void glTranslatef(float, float, float);
+ method public static void glTranslatex(int, int, int);
+ method public static void glVertexPointer(int, int, int, java.nio.Buffer);
+ method public static void glViewport(int, int, int, int);
+ field public static final int GL_ADD = 260; // 0x104
+ field public static final int GL_ALIASED_LINE_WIDTH_RANGE = 33902; // 0x846e
+ field public static final int GL_ALIASED_POINT_SIZE_RANGE = 33901; // 0x846d
+ field public static final int GL_ALPHA = 6406; // 0x1906
+ field public static final int GL_ALPHA_BITS = 3413; // 0xd55
+ field public static final int GL_ALPHA_TEST = 3008; // 0xbc0
+ field public static final int GL_ALWAYS = 519; // 0x207
+ field public static final int GL_AMBIENT = 4608; // 0x1200
+ field public static final int GL_AMBIENT_AND_DIFFUSE = 5634; // 0x1602
+ field public static final int GL_AND = 5377; // 0x1501
+ field public static final int GL_AND_INVERTED = 5380; // 0x1504
+ field public static final int GL_AND_REVERSE = 5378; // 0x1502
+ field public static final int GL_BACK = 1029; // 0x405
+ field public static final int GL_BLEND = 3042; // 0xbe2
+ field public static final int GL_BLUE_BITS = 3412; // 0xd54
+ field public static final int GL_BYTE = 5120; // 0x1400
+ field public static final int GL_CCW = 2305; // 0x901
+ field public static final int GL_CLAMP_TO_EDGE = 33071; // 0x812f
+ field public static final int GL_CLEAR = 5376; // 0x1500
+ field public static final int GL_COLOR_ARRAY = 32886; // 0x8076
+ field public static final int GL_COLOR_BUFFER_BIT = 16384; // 0x4000
+ field public static final int GL_COLOR_LOGIC_OP = 3058; // 0xbf2
+ field public static final int GL_COLOR_MATERIAL = 2903; // 0xb57
+ field public static final int GL_COMPRESSED_TEXTURE_FORMATS = 34467; // 0x86a3
+ field public static final int GL_CONSTANT_ATTENUATION = 4615; // 0x1207
+ field public static final int GL_COPY = 5379; // 0x1503
+ field public static final int GL_COPY_INVERTED = 5388; // 0x150c
+ field public static final int GL_CULL_FACE = 2884; // 0xb44
+ field public static final int GL_CW = 2304; // 0x900
+ field public static final int GL_DECAL = 8449; // 0x2101
+ field public static final int GL_DECR = 7683; // 0x1e03
+ field public static final int GL_DEPTH_BITS = 3414; // 0xd56
+ field public static final int GL_DEPTH_BUFFER_BIT = 256; // 0x100
+ field public static final int GL_DEPTH_TEST = 2929; // 0xb71
+ field public static final int GL_DIFFUSE = 4609; // 0x1201
+ field public static final int GL_DITHER = 3024; // 0xbd0
+ field public static final int GL_DONT_CARE = 4352; // 0x1100
+ field public static final int GL_DST_ALPHA = 772; // 0x304
+ field public static final int GL_DST_COLOR = 774; // 0x306
+ field public static final int GL_EMISSION = 5632; // 0x1600
+ field public static final int GL_EQUAL = 514; // 0x202
+ field public static final int GL_EQUIV = 5385; // 0x1509
+ field public static final int GL_EXP = 2048; // 0x800
+ field public static final int GL_EXP2 = 2049; // 0x801
+ field public static final int GL_EXTENSIONS = 7939; // 0x1f03
+ field public static final int GL_FALSE = 0; // 0x0
+ field public static final int GL_FASTEST = 4353; // 0x1101
+ field public static final int GL_FIXED = 5132; // 0x140c
+ field public static final int GL_FLAT = 7424; // 0x1d00
+ field public static final int GL_FLOAT = 5126; // 0x1406
+ field public static final int GL_FOG = 2912; // 0xb60
+ field public static final int GL_FOG_COLOR = 2918; // 0xb66
+ field public static final int GL_FOG_DENSITY = 2914; // 0xb62
+ field public static final int GL_FOG_END = 2916; // 0xb64
+ field public static final int GL_FOG_HINT = 3156; // 0xc54
+ field public static final int GL_FOG_MODE = 2917; // 0xb65
+ field public static final int GL_FOG_START = 2915; // 0xb63
+ field public static final int GL_FRONT = 1028; // 0x404
+ field public static final int GL_FRONT_AND_BACK = 1032; // 0x408
+ field public static final int GL_GEQUAL = 518; // 0x206
+ field public static final int GL_GREATER = 516; // 0x204
+ field public static final int GL_GREEN_BITS = 3411; // 0xd53
+ field public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 35739; // 0x8b9b
+ field public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 35738; // 0x8b9a
+ field public static final int GL_INCR = 7682; // 0x1e02
+ field public static final int GL_INVALID_ENUM = 1280; // 0x500
+ field public static final int GL_INVALID_OPERATION = 1282; // 0x502
+ field public static final int GL_INVALID_VALUE = 1281; // 0x501
+ field public static final int GL_INVERT = 5386; // 0x150a
+ field public static final int GL_KEEP = 7680; // 0x1e00
+ field public static final int GL_LEQUAL = 515; // 0x203
+ field public static final int GL_LESS = 513; // 0x201
+ field public static final int GL_LIGHT0 = 16384; // 0x4000
+ field public static final int GL_LIGHT1 = 16385; // 0x4001
+ field public static final int GL_LIGHT2 = 16386; // 0x4002
+ field public static final int GL_LIGHT3 = 16387; // 0x4003
+ field public static final int GL_LIGHT4 = 16388; // 0x4004
+ field public static final int GL_LIGHT5 = 16389; // 0x4005
+ field public static final int GL_LIGHT6 = 16390; // 0x4006
+ field public static final int GL_LIGHT7 = 16391; // 0x4007
+ field public static final int GL_LIGHTING = 2896; // 0xb50
+ field public static final int GL_LIGHT_MODEL_AMBIENT = 2899; // 0xb53
+ field public static final int GL_LIGHT_MODEL_TWO_SIDE = 2898; // 0xb52
+ field public static final int GL_LINEAR = 9729; // 0x2601
+ field public static final int GL_LINEAR_ATTENUATION = 4616; // 0x1208
+ field public static final int GL_LINEAR_MIPMAP_LINEAR = 9987; // 0x2703
+ field public static final int GL_LINEAR_MIPMAP_NEAREST = 9985; // 0x2701
+ field public static final int GL_LINES = 1; // 0x1
+ field public static final int GL_LINE_LOOP = 2; // 0x2
+ field public static final int GL_LINE_SMOOTH = 2848; // 0xb20
+ field public static final int GL_LINE_SMOOTH_HINT = 3154; // 0xc52
+ field public static final int GL_LINE_STRIP = 3; // 0x3
+ field public static final int GL_LUMINANCE = 6409; // 0x1909
+ field public static final int GL_LUMINANCE_ALPHA = 6410; // 0x190a
+ field public static final int GL_MAX_ELEMENTS_INDICES = 33001; // 0x80e9
+ field public static final int GL_MAX_ELEMENTS_VERTICES = 33000; // 0x80e8
+ field public static final int GL_MAX_LIGHTS = 3377; // 0xd31
+ field public static final int GL_MAX_MODELVIEW_STACK_DEPTH = 3382; // 0xd36
+ field public static final int GL_MAX_PROJECTION_STACK_DEPTH = 3384; // 0xd38
+ field public static final int GL_MAX_TEXTURE_SIZE = 3379; // 0xd33
+ field public static final int GL_MAX_TEXTURE_STACK_DEPTH = 3385; // 0xd39
+ field public static final int GL_MAX_TEXTURE_UNITS = 34018; // 0x84e2
+ field public static final int GL_MAX_VIEWPORT_DIMS = 3386; // 0xd3a
+ field public static final int GL_MODELVIEW = 5888; // 0x1700
+ field public static final int GL_MODULATE = 8448; // 0x2100
+ field public static final int GL_MULTISAMPLE = 32925; // 0x809d
+ field public static final int GL_NAND = 5390; // 0x150e
+ field public static final int GL_NEAREST = 9728; // 0x2600
+ field public static final int GL_NEAREST_MIPMAP_LINEAR = 9986; // 0x2702
+ field public static final int GL_NEAREST_MIPMAP_NEAREST = 9984; // 0x2700
+ field public static final int GL_NEVER = 512; // 0x200
+ field public static final int GL_NICEST = 4354; // 0x1102
+ field public static final int GL_NOOP = 5381; // 0x1505
+ field public static final int GL_NOR = 5384; // 0x1508
+ field public static final int GL_NORMALIZE = 2977; // 0xba1
+ field public static final int GL_NORMAL_ARRAY = 32885; // 0x8075
+ field public static final int GL_NOTEQUAL = 517; // 0x205
+ field public static final int GL_NO_ERROR = 0; // 0x0
+ field public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 34466; // 0x86a2
+ field public static final int GL_ONE = 1; // 0x1
+ field public static final int GL_ONE_MINUS_DST_ALPHA = 773; // 0x305
+ field public static final int GL_ONE_MINUS_DST_COLOR = 775; // 0x307
+ field public static final int GL_ONE_MINUS_SRC_ALPHA = 771; // 0x303
+ field public static final int GL_ONE_MINUS_SRC_COLOR = 769; // 0x301
+ field public static final int GL_OR = 5383; // 0x1507
+ field public static final int GL_OR_INVERTED = 5389; // 0x150d
+ field public static final int GL_OR_REVERSE = 5387; // 0x150b
+ field public static final int GL_OUT_OF_MEMORY = 1285; // 0x505
+ field public static final int GL_PACK_ALIGNMENT = 3333; // 0xd05
+ field public static final int GL_PALETTE4_R5_G6_B5_OES = 35730; // 0x8b92
+ field public static final int GL_PALETTE4_RGB5_A1_OES = 35732; // 0x8b94
+ field public static final int GL_PALETTE4_RGB8_OES = 35728; // 0x8b90
+ field public static final int GL_PALETTE4_RGBA4_OES = 35731; // 0x8b93
+ field public static final int GL_PALETTE4_RGBA8_OES = 35729; // 0x8b91
+ field public static final int GL_PALETTE8_R5_G6_B5_OES = 35735; // 0x8b97
+ field public static final int GL_PALETTE8_RGB5_A1_OES = 35737; // 0x8b99
+ field public static final int GL_PALETTE8_RGB8_OES = 35733; // 0x8b95
+ field public static final int GL_PALETTE8_RGBA4_OES = 35736; // 0x8b98
+ field public static final int GL_PALETTE8_RGBA8_OES = 35734; // 0x8b96
+ field public static final int GL_PERSPECTIVE_CORRECTION_HINT = 3152; // 0xc50
+ field public static final int GL_POINTS = 0; // 0x0
+ field public static final int GL_POINT_FADE_THRESHOLD_SIZE = 33064; // 0x8128
+ field public static final int GL_POINT_SIZE = 2833; // 0xb11
+ field public static final int GL_POINT_SMOOTH = 2832; // 0xb10
+ field public static final int GL_POINT_SMOOTH_HINT = 3153; // 0xc51
+ field public static final int GL_POLYGON_OFFSET_FILL = 32823; // 0x8037
+ field public static final int GL_POLYGON_SMOOTH_HINT = 3155; // 0xc53
+ field public static final int GL_POSITION = 4611; // 0x1203
+ field public static final int GL_PROJECTION = 5889; // 0x1701
+ field public static final int GL_QUADRATIC_ATTENUATION = 4617; // 0x1209
+ field public static final int GL_RED_BITS = 3410; // 0xd52
+ field public static final int GL_RENDERER = 7937; // 0x1f01
+ field public static final int GL_REPEAT = 10497; // 0x2901
+ field public static final int GL_REPLACE = 7681; // 0x1e01
+ field public static final int GL_RESCALE_NORMAL = 32826; // 0x803a
+ field public static final int GL_RGB = 6407; // 0x1907
+ field public static final int GL_RGBA = 6408; // 0x1908
+ field public static final int GL_SAMPLE_ALPHA_TO_COVERAGE = 32926; // 0x809e
+ field public static final int GL_SAMPLE_ALPHA_TO_ONE = 32927; // 0x809f
+ field public static final int GL_SAMPLE_COVERAGE = 32928; // 0x80a0
+ field public static final int GL_SCISSOR_TEST = 3089; // 0xc11
+ field public static final int GL_SET = 5391; // 0x150f
+ field public static final int GL_SHININESS = 5633; // 0x1601
+ field public static final int GL_SHORT = 5122; // 0x1402
+ field public static final int GL_SMOOTH = 7425; // 0x1d01
+ field public static final int GL_SMOOTH_LINE_WIDTH_RANGE = 2850; // 0xb22
+ field public static final int GL_SMOOTH_POINT_SIZE_RANGE = 2834; // 0xb12
+ field public static final int GL_SPECULAR = 4610; // 0x1202
+ field public static final int GL_SPOT_CUTOFF = 4614; // 0x1206
+ field public static final int GL_SPOT_DIRECTION = 4612; // 0x1204
+ field public static final int GL_SPOT_EXPONENT = 4613; // 0x1205
+ field public static final int GL_SRC_ALPHA = 770; // 0x302
+ field public static final int GL_SRC_ALPHA_SATURATE = 776; // 0x308
+ field public static final int GL_SRC_COLOR = 768; // 0x300
+ field public static final int GL_STACK_OVERFLOW = 1283; // 0x503
+ field public static final int GL_STACK_UNDERFLOW = 1284; // 0x504
+ field public static final int GL_STENCIL_BITS = 3415; // 0xd57
+ field public static final int GL_STENCIL_BUFFER_BIT = 1024; // 0x400
+ field public static final int GL_STENCIL_TEST = 2960; // 0xb90
+ field public static final int GL_SUBPIXEL_BITS = 3408; // 0xd50
+ field public static final int GL_TEXTURE = 5890; // 0x1702
+ field public static final int GL_TEXTURE0 = 33984; // 0x84c0
+ field public static final int GL_TEXTURE1 = 33985; // 0x84c1
+ field public static final int GL_TEXTURE10 = 33994; // 0x84ca
+ field public static final int GL_TEXTURE11 = 33995; // 0x84cb
+ field public static final int GL_TEXTURE12 = 33996; // 0x84cc
+ field public static final int GL_TEXTURE13 = 33997; // 0x84cd
+ field public static final int GL_TEXTURE14 = 33998; // 0x84ce
+ field public static final int GL_TEXTURE15 = 33999; // 0x84cf
+ field public static final int GL_TEXTURE16 = 34000; // 0x84d0
+ field public static final int GL_TEXTURE17 = 34001; // 0x84d1
+ field public static final int GL_TEXTURE18 = 34002; // 0x84d2
+ field public static final int GL_TEXTURE19 = 34003; // 0x84d3
+ field public static final int GL_TEXTURE2 = 33986; // 0x84c2
+ field public static final int GL_TEXTURE20 = 34004; // 0x84d4
+ field public static final int GL_TEXTURE21 = 34005; // 0x84d5
+ field public static final int GL_TEXTURE22 = 34006; // 0x84d6
+ field public static final int GL_TEXTURE23 = 34007; // 0x84d7
+ field public static final int GL_TEXTURE24 = 34008; // 0x84d8
+ field public static final int GL_TEXTURE25 = 34009; // 0x84d9
+ field public static final int GL_TEXTURE26 = 34010; // 0x84da
+ field public static final int GL_TEXTURE27 = 34011; // 0x84db
+ field public static final int GL_TEXTURE28 = 34012; // 0x84dc
+ field public static final int GL_TEXTURE29 = 34013; // 0x84dd
+ field public static final int GL_TEXTURE3 = 33987; // 0x84c3
+ field public static final int GL_TEXTURE30 = 34014; // 0x84de
+ field public static final int GL_TEXTURE31 = 34015; // 0x84df
+ field public static final int GL_TEXTURE4 = 33988; // 0x84c4
+ field public static final int GL_TEXTURE5 = 33989; // 0x84c5
+ field public static final int GL_TEXTURE6 = 33990; // 0x84c6
+ field public static final int GL_TEXTURE7 = 33991; // 0x84c7
+ field public static final int GL_TEXTURE8 = 33992; // 0x84c8
+ field public static final int GL_TEXTURE9 = 33993; // 0x84c9
+ field public static final int GL_TEXTURE_2D = 3553; // 0xde1
+ field public static final int GL_TEXTURE_COORD_ARRAY = 32888; // 0x8078
+ field public static final int GL_TEXTURE_ENV = 8960; // 0x2300
+ field public static final int GL_TEXTURE_ENV_COLOR = 8705; // 0x2201
+ field public static final int GL_TEXTURE_ENV_MODE = 8704; // 0x2200
+ field public static final int GL_TEXTURE_MAG_FILTER = 10240; // 0x2800
+ field public static final int GL_TEXTURE_MIN_FILTER = 10241; // 0x2801
+ field public static final int GL_TEXTURE_WRAP_S = 10242; // 0x2802
+ field public static final int GL_TEXTURE_WRAP_T = 10243; // 0x2803
+ field public static final int GL_TRIANGLES = 4; // 0x4
+ field public static final int GL_TRIANGLE_FAN = 6; // 0x6
+ field public static final int GL_TRIANGLE_STRIP = 5; // 0x5
+ field public static final int GL_TRUE = 1; // 0x1
+ field public static final int GL_UNPACK_ALIGNMENT = 3317; // 0xcf5
+ field public static final int GL_UNSIGNED_BYTE = 5121; // 0x1401
+ field public static final int GL_UNSIGNED_SHORT = 5123; // 0x1403
+ field public static final int GL_UNSIGNED_SHORT_4_4_4_4 = 32819; // 0x8033
+ field public static final int GL_UNSIGNED_SHORT_5_5_5_1 = 32820; // 0x8034
+ field public static final int GL_UNSIGNED_SHORT_5_6_5 = 33635; // 0x8363
+ field public static final int GL_VENDOR = 7936; // 0x1f00
+ field public static final int GL_VERSION = 7938; // 0x1f02
+ field public static final int GL_VERTEX_ARRAY = 32884; // 0x8074
+ field public static final int GL_XOR = 5382; // 0x1506
+ field public static final int GL_ZERO = 0; // 0x0
+ }
+
+ public class GLES10Ext {
+ ctor public GLES10Ext();
+ method public static int glQueryMatrixxOES(int[], int, int[], int);
+ method public static int glQueryMatrixxOES(java.nio.IntBuffer, java.nio.IntBuffer);
+ }
+
+ public class GLES11 extends android.opengl.GLES10 {
+ ctor public GLES11();
+ method public static void glBindBuffer(int, int);
+ method public static void glBufferData(int, int, java.nio.Buffer, int);
+ method public static void glBufferSubData(int, int, int, java.nio.Buffer);
+ method public static void glClipPlanef(int, float[], int);
+ method public static void glClipPlanef(int, java.nio.FloatBuffer);
+ method public static void glClipPlanex(int, int[], int);
+ method public static void glClipPlanex(int, java.nio.IntBuffer);
+ method public static void glColor4ub(byte, byte, byte, byte);
+ method public static void glColorPointer(int, int, int, int);
+ method public static void glDeleteBuffers(int, int[], int);
+ method public static void glDeleteBuffers(int, java.nio.IntBuffer);
+ method public static void glDrawElements(int, int, int, int);
+ method public static void glGenBuffers(int, int[], int);
+ method public static void glGenBuffers(int, java.nio.IntBuffer);
+ method public static void glGetBooleanv(int, boolean[], int);
+ method public static void glGetBooleanv(int, java.nio.IntBuffer);
+ method public static void glGetBufferParameteriv(int, int, int[], int);
+ method public static void glGetBufferParameteriv(int, int, java.nio.IntBuffer);
+ method public static void glGetClipPlanef(int, float[], int);
+ method public static void glGetClipPlanef(int, java.nio.FloatBuffer);
+ method public static void glGetClipPlanex(int, int[], int);
+ method public static void glGetClipPlanex(int, java.nio.IntBuffer);
+ method public static void glGetFixedv(int, int[], int);
+ method public static void glGetFixedv(int, java.nio.IntBuffer);
+ method public static void glGetFloatv(int, float[], int);
+ method public static void glGetFloatv(int, java.nio.FloatBuffer);
+ method public static void glGetLightfv(int, int, float[], int);
+ method public static void glGetLightfv(int, int, java.nio.FloatBuffer);
+ method public static void glGetLightxv(int, int, int[], int);
+ method public static void glGetLightxv(int, int, java.nio.IntBuffer);
+ method public static void glGetMaterialfv(int, int, float[], int);
+ method public static void glGetMaterialfv(int, int, java.nio.FloatBuffer);
+ method public static void glGetMaterialxv(int, int, int[], int);
+ method public static void glGetMaterialxv(int, int, java.nio.IntBuffer);
+ method public static void glGetTexEnvfv(int, int, float[], int);
+ method public static void glGetTexEnvfv(int, int, java.nio.FloatBuffer);
+ method public static void glGetTexEnviv(int, int, int[], int);
+ method public static void glGetTexEnviv(int, int, java.nio.IntBuffer);
+ method public static void glGetTexEnvxv(int, int, int[], int);
+ method public static void glGetTexEnvxv(int, int, java.nio.IntBuffer);
+ method public static void glGetTexParameterfv(int, int, float[], int);
+ method public static void glGetTexParameterfv(int, int, java.nio.FloatBuffer);
+ method public static void glGetTexParameteriv(int, int, int[], int);
+ method public static void glGetTexParameteriv(int, int, java.nio.IntBuffer);
+ method public static void glGetTexParameterxv(int, int, int[], int);
+ method public static void glGetTexParameterxv(int, int, java.nio.IntBuffer);
+ method public static boolean glIsBuffer(int);
+ method public static boolean glIsEnabled(int);
+ method public static boolean glIsTexture(int);
+ method public static void glNormalPointer(int, int, int);
+ method public static void glPointParameterf(int, float);
+ method public static void glPointParameterfv(int, float[], int);
+ method public static void glPointParameterfv(int, java.nio.FloatBuffer);
+ method public static void glPointParameterx(int, int);
+ method public static void glPointParameterxv(int, int[], int);
+ method public static void glPointParameterxv(int, java.nio.IntBuffer);
+ method public static void glPointSizePointerOES(int, int, java.nio.Buffer);
+ method public static void glTexCoordPointer(int, int, int, int);
+ method public static void glTexEnvi(int, int, int);
+ method public static void glTexEnviv(int, int, int[], int);
+ method public static void glTexEnviv(int, int, java.nio.IntBuffer);
+ method public static void glTexParameterfv(int, int, float[], int);
+ method public static void glTexParameterfv(int, int, java.nio.FloatBuffer);
+ method public static void glTexParameteri(int, int, int);
+ method public static void glTexParameteriv(int, int, int[], int);
+ method public static void glTexParameteriv(int, int, java.nio.IntBuffer);
+ method public static void glTexParameterxv(int, int, int[], int);
+ method public static void glTexParameterxv(int, int, java.nio.IntBuffer);
+ method public static void glVertexPointer(int, int, int, int);
+ field public static final int GL_ACTIVE_TEXTURE = 34016; // 0x84e0
+ field public static final int GL_ADD_SIGNED = 34164; // 0x8574
+ field public static final int GL_ALPHA_SCALE = 3356; // 0xd1c
+ field public static final int GL_ALPHA_TEST_FUNC = 3009; // 0xbc1
+ field public static final int GL_ALPHA_TEST_REF = 3010; // 0xbc2
+ field public static final int GL_ARRAY_BUFFER = 34962; // 0x8892
+ field public static final int GL_ARRAY_BUFFER_BINDING = 34964; // 0x8894
+ field public static final int GL_BLEND_DST = 3040; // 0xbe0
+ field public static final int GL_BLEND_SRC = 3041; // 0xbe1
+ field public static final int GL_BUFFER_ACCESS = 35003; // 0x88bb
+ field public static final int GL_BUFFER_SIZE = 34660; // 0x8764
+ field public static final int GL_BUFFER_USAGE = 34661; // 0x8765
+ field public static final int GL_CLIENT_ACTIVE_TEXTURE = 34017; // 0x84e1
+ field public static final int GL_CLIP_PLANE0 = 12288; // 0x3000
+ field public static final int GL_CLIP_PLANE1 = 12289; // 0x3001
+ field public static final int GL_CLIP_PLANE2 = 12290; // 0x3002
+ field public static final int GL_CLIP_PLANE3 = 12291; // 0x3003
+ field public static final int GL_CLIP_PLANE4 = 12292; // 0x3004
+ field public static final int GL_CLIP_PLANE5 = 12293; // 0x3005
+ field public static final int GL_COLOR_ARRAY_BUFFER_BINDING = 34968; // 0x8898
+ field public static final int GL_COLOR_ARRAY_POINTER = 32912; // 0x8090
+ field public static final int GL_COLOR_ARRAY_SIZE = 32897; // 0x8081
+ field public static final int GL_COLOR_ARRAY_STRIDE = 32899; // 0x8083
+ field public static final int GL_COLOR_ARRAY_TYPE = 32898; // 0x8082
+ field public static final int GL_COLOR_CLEAR_VALUE = 3106; // 0xc22
+ field public static final int GL_COLOR_WRITEMASK = 3107; // 0xc23
+ field public static final int GL_COMBINE = 34160; // 0x8570
+ field public static final int GL_COMBINE_ALPHA = 34162; // 0x8572
+ field public static final int GL_COMBINE_RGB = 34161; // 0x8571
+ field public static final int GL_CONSTANT = 34166; // 0x8576
+ field public static final int GL_COORD_REPLACE_OES = 34914; // 0x8862
+ field public static final int GL_CULL_FACE_MODE = 2885; // 0xb45
+ field public static final int GL_CURRENT_COLOR = 2816; // 0xb00
+ field public static final int GL_CURRENT_NORMAL = 2818; // 0xb02
+ field public static final int GL_CURRENT_TEXTURE_COORDS = 2819; // 0xb03
+ field public static final int GL_DEPTH_CLEAR_VALUE = 2931; // 0xb73
+ field public static final int GL_DEPTH_FUNC = 2932; // 0xb74
+ field public static final int GL_DEPTH_RANGE = 2928; // 0xb70
+ field public static final int GL_DEPTH_WRITEMASK = 2930; // 0xb72
+ field public static final int GL_DOT3_RGB = 34478; // 0x86ae
+ field public static final int GL_DOT3_RGBA = 34479; // 0x86af
+ field public static final int GL_DYNAMIC_DRAW = 35048; // 0x88e8
+ field public static final int GL_ELEMENT_ARRAY_BUFFER = 34963; // 0x8893
+ field public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 34965; // 0x8895
+ field public static final int GL_FRONT_FACE = 2886; // 0xb46
+ field public static final int GL_GENERATE_MIPMAP = 33169; // 0x8191
+ field public static final int GL_GENERATE_MIPMAP_HINT = 33170; // 0x8192
+ field public static final int GL_INTERPOLATE = 34165; // 0x8575
+ field public static final int GL_LINE_WIDTH = 2849; // 0xb21
+ field public static final int GL_LOGIC_OP_MODE = 3056; // 0xbf0
+ field public static final int GL_MATRIX_MODE = 2976; // 0xba0
+ field public static final int GL_MAX_CLIP_PLANES = 3378; // 0xd32
+ field public static final int GL_MODELVIEW_MATRIX = 2982; // 0xba6
+ field public static final int GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 35213; // 0x898d
+ field public static final int GL_MODELVIEW_STACK_DEPTH = 2979; // 0xba3
+ field public static final int GL_NORMAL_ARRAY_BUFFER_BINDING = 34967; // 0x8897
+ field public static final int GL_NORMAL_ARRAY_POINTER = 32911; // 0x808f
+ field public static final int GL_NORMAL_ARRAY_STRIDE = 32895; // 0x807f
+ field public static final int GL_NORMAL_ARRAY_TYPE = 32894; // 0x807e
+ field public static final int GL_OPERAND0_ALPHA = 34200; // 0x8598
+ field public static final int GL_OPERAND0_RGB = 34192; // 0x8590
+ field public static final int GL_OPERAND1_ALPHA = 34201; // 0x8599
+ field public static final int GL_OPERAND1_RGB = 34193; // 0x8591
+ field public static final int GL_OPERAND2_ALPHA = 34202; // 0x859a
+ field public static final int GL_OPERAND2_RGB = 34194; // 0x8592
+ field public static final int GL_POINT_DISTANCE_ATTENUATION = 33065; // 0x8129
+ field public static final int GL_POINT_FADE_THRESHOLD_SIZE = 33064; // 0x8128
+ field public static final int GL_POINT_SIZE = 2833; // 0xb11
+ field public static final int GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 35743; // 0x8b9f
+ field public static final int GL_POINT_SIZE_ARRAY_OES = 35740; // 0x8b9c
+ field public static final int GL_POINT_SIZE_ARRAY_POINTER_OES = 35212; // 0x898c
+ field public static final int GL_POINT_SIZE_ARRAY_STRIDE_OES = 35211; // 0x898b
+ field public static final int GL_POINT_SIZE_ARRAY_TYPE_OES = 35210; // 0x898a
+ field public static final int GL_POINT_SIZE_MAX = 33063; // 0x8127
+ field public static final int GL_POINT_SIZE_MIN = 33062; // 0x8126
+ field public static final int GL_POINT_SPRITE_OES = 34913; // 0x8861
+ field public static final int GL_POLYGON_OFFSET_FACTOR = 32824; // 0x8038
+ field public static final int GL_POLYGON_OFFSET_UNITS = 10752; // 0x2a00
+ field public static final int GL_PREVIOUS = 34168; // 0x8578
+ field public static final int GL_PRIMARY_COLOR = 34167; // 0x8577
+ field public static final int GL_PROJECTION_MATRIX = 2983; // 0xba7
+ field public static final int GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 35214; // 0x898e
+ field public static final int GL_PROJECTION_STACK_DEPTH = 2980; // 0xba4
+ field public static final int GL_RGB_SCALE = 34163; // 0x8573
+ field public static final int GL_SAMPLES = 32937; // 0x80a9
+ field public static final int GL_SAMPLE_BUFFERS = 32936; // 0x80a8
+ field public static final int GL_SAMPLE_COVERAGE_INVERT = 32939; // 0x80ab
+ field public static final int GL_SAMPLE_COVERAGE_VALUE = 32938; // 0x80aa
+ field public static final int GL_SCISSOR_BOX = 3088; // 0xc10
+ field public static final int GL_SHADE_MODEL = 2900; // 0xb54
+ field public static final int GL_SRC0_ALPHA = 34184; // 0x8588
+ field public static final int GL_SRC0_RGB = 34176; // 0x8580
+ field public static final int GL_SRC1_ALPHA = 34185; // 0x8589
+ field public static final int GL_SRC1_RGB = 34177; // 0x8581
+ field public static final int GL_SRC2_ALPHA = 34186; // 0x858a
+ field public static final int GL_SRC2_RGB = 34178; // 0x8582
+ field public static final int GL_STATIC_DRAW = 35044; // 0x88e4
+ field public static final int GL_STENCIL_CLEAR_VALUE = 2961; // 0xb91
+ field public static final int GL_STENCIL_FAIL = 2964; // 0xb94
+ field public static final int GL_STENCIL_FUNC = 2962; // 0xb92
+ field public static final int GL_STENCIL_PASS_DEPTH_FAIL = 2965; // 0xb95
+ field public static final int GL_STENCIL_PASS_DEPTH_PASS = 2966; // 0xb96
+ field public static final int GL_STENCIL_REF = 2967; // 0xb97
+ field public static final int GL_STENCIL_VALUE_MASK = 2963; // 0xb93
+ field public static final int GL_STENCIL_WRITEMASK = 2968; // 0xb98
+ field public static final int GL_SUBTRACT = 34023; // 0x84e7
+ field public static final int GL_TEXTURE_BINDING_2D = 32873; // 0x8069
+ field public static final int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 34970; // 0x889a
+ field public static final int GL_TEXTURE_COORD_ARRAY_POINTER = 32914; // 0x8092
+ field public static final int GL_TEXTURE_COORD_ARRAY_SIZE = 32904; // 0x8088
+ field public static final int GL_TEXTURE_COORD_ARRAY_STRIDE = 32906; // 0x808a
+ field public static final int GL_TEXTURE_COORD_ARRAY_TYPE = 32905; // 0x8089
+ field public static final int GL_TEXTURE_MATRIX = 2984; // 0xba8
+ field public static final int GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 35215; // 0x898f
+ field public static final int GL_TEXTURE_STACK_DEPTH = 2981; // 0xba5
+ field public static final int GL_VERTEX_ARRAY_BUFFER_BINDING = 34966; // 0x8896
+ field public static final int GL_VERTEX_ARRAY_POINTER = 32910; // 0x808e
+ field public static final int GL_VERTEX_ARRAY_SIZE = 32890; // 0x807a
+ field public static final int GL_VERTEX_ARRAY_STRIDE = 32892; // 0x807c
+ field public static final int GL_VERTEX_ARRAY_TYPE = 32891; // 0x807b
+ field public static final int GL_VIEWPORT = 2978; // 0xba2
+ field public static final int GL_WRITE_ONLY = 35001; // 0x88b9
+ }
+
+ public class GLES11Ext {
+ ctor public GLES11Ext();
+ method public static void glAlphaFuncxOES(int, int);
+ method public static void glBindFramebufferOES(int, int);
+ method public static void glBindRenderbufferOES(int, int);
+ method public static void glBlendEquationOES(int);
+ method public static void glBlendEquationSeparateOES(int, int);
+ method public static void glBlendFuncSeparateOES(int, int, int, int);
+ method public static int glCheckFramebufferStatusOES(int);
+ method public static void glClearColorxOES(int, int, int, int);
+ method public static void glClearDepthfOES(float);
+ method public static void glClearDepthxOES(int);
+ method public static void glClipPlanefOES(int, float[], int);
+ method public static void glClipPlanefOES(int, java.nio.FloatBuffer);
+ method public static void glClipPlanexOES(int, int[], int);
+ method public static void glClipPlanexOES(int, java.nio.IntBuffer);
+ method public static void glColor4xOES(int, int, int, int);
+ method public static void glCurrentPaletteMatrixOES(int);
+ method public static void glDeleteFramebuffersOES(int, int[], int);
+ method public static void glDeleteFramebuffersOES(int, java.nio.IntBuffer);
+ method public static void glDeleteRenderbuffersOES(int, int[], int);
+ method public static void glDeleteRenderbuffersOES(int, java.nio.IntBuffer);
+ method public static void glDepthRangefOES(float, float);
+ method public static void glDepthRangexOES(int, int);
+ method public static void glDrawTexfOES(float, float, float, float, float);
+ method public static void glDrawTexfvOES(float[], int);
+ method public static void glDrawTexfvOES(java.nio.FloatBuffer);
+ method public static void glDrawTexiOES(int, int, int, int, int);
+ method public static void glDrawTexivOES(int[], int);
+ method public static void glDrawTexivOES(java.nio.IntBuffer);
+ method public static void glDrawTexsOES(short, short, short, short, short);
+ method public static void glDrawTexsvOES(short[], int);
+ method public static void glDrawTexsvOES(java.nio.ShortBuffer);
+ method public static void glDrawTexxOES(int, int, int, int, int);
+ method public static void glDrawTexxvOES(int[], int);
+ method public static void glDrawTexxvOES(java.nio.IntBuffer);
+ method public static void glEGLImageTargetRenderbufferStorageOES(int, java.nio.Buffer);
+ method public static void glEGLImageTargetTexture2DOES(int, java.nio.Buffer);
+ method public static void glFogxOES(int, int);
+ method public static void glFogxvOES(int, int[], int);
+ method public static void glFogxvOES(int, java.nio.IntBuffer);
+ method public static void glFramebufferRenderbufferOES(int, int, int, int);
+ method public static void glFramebufferTexture2DOES(int, int, int, int, int);
+ method public static void glFrustumfOES(float, float, float, float, float, float);
+ method public static void glFrustumxOES(int, int, int, int, int, int);
+ method public static void glGenFramebuffersOES(int, int[], int);
+ method public static void glGenFramebuffersOES(int, java.nio.IntBuffer);
+ method public static void glGenRenderbuffersOES(int, int[], int);
+ method public static void glGenRenderbuffersOES(int, java.nio.IntBuffer);
+ method public static void glGenerateMipmapOES(int);
+ method public static void glGetClipPlanefOES(int, float[], int);
+ method public static void glGetClipPlanefOES(int, java.nio.FloatBuffer);
+ method public static void glGetClipPlanexOES(int, int[], int);
+ method public static void glGetClipPlanexOES(int, java.nio.IntBuffer);
+ method public static void glGetFixedvOES(int, int[], int);
+ method public static void glGetFixedvOES(int, java.nio.IntBuffer);
+ method public static void glGetFramebufferAttachmentParameterivOES(int, int, int, int[], int);
+ method public static void glGetFramebufferAttachmentParameterivOES(int, int, int, java.nio.IntBuffer);
+ method public static void glGetLightxvOES(int, int, int[], int);
+ method public static void glGetLightxvOES(int, int, java.nio.IntBuffer);
+ method public static void glGetMaterialxvOES(int, int, int[], int);
+ method public static void glGetMaterialxvOES(int, int, java.nio.IntBuffer);
+ method public static void glGetRenderbufferParameterivOES(int, int, int[], int);
+ method public static void glGetRenderbufferParameterivOES(int, int, java.nio.IntBuffer);
+ method public static void glGetTexEnvxvOES(int, int, int[], int);
+ method public static void glGetTexEnvxvOES(int, int, java.nio.IntBuffer);
+ method public static void glGetTexGenfvOES(int, int, float[], int);
+ method public static void glGetTexGenfvOES(int, int, java.nio.FloatBuffer);
+ method public static void glGetTexGenivOES(int, int, int[], int);
+ method public static void glGetTexGenivOES(int, int, java.nio.IntBuffer);
+ method public static void glGetTexGenxvOES(int, int, int[], int);
+ method public static void glGetTexGenxvOES(int, int, java.nio.IntBuffer);
+ method public static void glGetTexParameterxvOES(int, int, int[], int);
+ method public static void glGetTexParameterxvOES(int, int, java.nio.IntBuffer);
+ method public static boolean glIsFramebufferOES(int);
+ method public static boolean glIsRenderbufferOES(int);
+ method public static void glLightModelxOES(int, int);
+ method public static void glLightModelxvOES(int, int[], int);
+ method public static void glLightModelxvOES(int, java.nio.IntBuffer);
+ method public static void glLightxOES(int, int, int);
+ method public static void glLightxvOES(int, int, int[], int);
+ method public static void glLightxvOES(int, int, java.nio.IntBuffer);
+ method public static void glLineWidthxOES(int);
+ method public static void glLoadMatrixxOES(int[], int);
+ method public static void glLoadMatrixxOES(java.nio.IntBuffer);
+ method public static void glLoadPaletteFromModelViewMatrixOES();
+ method public static void glMaterialxOES(int, int, int);
+ method public static void glMaterialxvOES(int, int, int[], int);
+ method public static void glMaterialxvOES(int, int, java.nio.IntBuffer);
+ method public static void glMatrixIndexPointerOES(int, int, int, java.nio.Buffer);
+ method public static void glMultMatrixxOES(int[], int);
+ method public static void glMultMatrixxOES(java.nio.IntBuffer);
+ method public static void glMultiTexCoord4xOES(int, int, int, int, int);
+ method public static void glNormal3xOES(int, int, int);
+ method public static void glOrthofOES(float, float, float, float, float, float);
+ method public static void glOrthoxOES(int, int, int, int, int, int);
+ method public static void glPointParameterxOES(int, int);
+ method public static void glPointParameterxvOES(int, int[], int);
+ method public static void glPointParameterxvOES(int, java.nio.IntBuffer);
+ method public static void glPointSizexOES(int);
+ method public static void glPolygonOffsetxOES(int, int);
+ method public static void glRenderbufferStorageOES(int, int, int, int);
+ method public static void glRotatexOES(int, int, int, int);
+ method public static void glSampleCoveragexOES(int, boolean);
+ method public static void glScalexOES(int, int, int);
+ method public static void glTexEnvxOES(int, int, int);
+ method public static void glTexEnvxvOES(int, int, int[], int);
+ method public static void glTexEnvxvOES(int, int, java.nio.IntBuffer);
+ method public static void glTexGenfOES(int, int, float);
+ method public static void glTexGenfvOES(int, int, float[], int);
+ method public static void glTexGenfvOES(int, int, java.nio.FloatBuffer);
+ method public static void glTexGeniOES(int, int, int);
+ method public static void glTexGenivOES(int, int, int[], int);
+ method public static void glTexGenivOES(int, int, java.nio.IntBuffer);
+ method public static void glTexGenxOES(int, int, int);
+ method public static void glTexGenxvOES(int, int, int[], int);
+ method public static void glTexGenxvOES(int, int, java.nio.IntBuffer);
+ method public static void glTexParameterxOES(int, int, int);
+ method public static void glTexParameterxvOES(int, int, int[], int);
+ method public static void glTexParameterxvOES(int, int, java.nio.IntBuffer);
+ method public static void glTranslatexOES(int, int, int);
+ method public static void glWeightPointerOES(int, int, int, java.nio.Buffer);
+ field public static final int GL_3DC_XY_AMD = 34810; // 0x87fa
+ field public static final int GL_3DC_X_AMD = 34809; // 0x87f9
+ field public static final int GL_ATC_RGBA_EXPLICIT_ALPHA_AMD = 35987; // 0x8c93
+ field public static final int GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD = 34798; // 0x87ee
+ field public static final int GL_ATC_RGB_AMD = 35986; // 0x8c92
+ field public static final int GL_BGRA = 32993; // 0x80e1
+ field public static final int GL_BLEND_DST_ALPHA_OES = 32970; // 0x80ca
+ field public static final int GL_BLEND_DST_RGB_OES = 32968; // 0x80c8
+ field public static final int GL_BLEND_EQUATION_ALPHA_OES = 34877; // 0x883d
+ field public static final int GL_BLEND_EQUATION_OES = 32777; // 0x8009
+ field public static final int GL_BLEND_EQUATION_RGB_OES = 32777; // 0x8009
+ field public static final int GL_BLEND_SRC_ALPHA_OES = 32971; // 0x80cb
+ field public static final int GL_BLEND_SRC_RGB_OES = 32969; // 0x80c9
+ field public static final int GL_BUFFER_ACCESS_OES = 35003; // 0x88bb
+ field public static final int GL_BUFFER_MAPPED_OES = 35004; // 0x88bc
+ field public static final int GL_BUFFER_MAP_POINTER_OES = 35005; // 0x88bd
+ field public static final int GL_COLOR_ATTACHMENT0_OES = 36064; // 0x8ce0
+ field public static final int GL_CURRENT_PALETTE_MATRIX_OES = 34883; // 0x8843
+ field public static final int GL_DECR_WRAP_OES = 34056; // 0x8508
+ field public static final int GL_DEPTH24_STENCIL8_OES = 35056; // 0x88f0
+ field public static final int GL_DEPTH_ATTACHMENT_OES = 36096; // 0x8d00
+ field public static final int GL_DEPTH_COMPONENT16_OES = 33189; // 0x81a5
+ field public static final int GL_DEPTH_COMPONENT24_OES = 33190; // 0x81a6
+ field public static final int GL_DEPTH_COMPONENT32_OES = 33191; // 0x81a7
+ field public static final int GL_DEPTH_STENCIL_OES = 34041; // 0x84f9
+ field public static final int GL_ETC1_RGB8_OES = 36196; // 0x8d64
+ field public static final int GL_FIXED_OES = 5132; // 0x140c
+ field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 36049; // 0x8cd1
+ field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 36048; // 0x8cd0
+ field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 36051; // 0x8cd3
+ field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 36050; // 0x8cd2
+ field public static final int GL_FRAMEBUFFER_BINDING_OES = 36006; // 0x8ca6
+ field public static final int GL_FRAMEBUFFER_COMPLETE_OES = 36053; // 0x8cd5
+ field public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 36054; // 0x8cd6
+ field public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 36057; // 0x8cd9
+ field public static final int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 36058; // 0x8cda
+ field public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 36055; // 0x8cd7
+ field public static final int GL_FRAMEBUFFER_OES = 36160; // 0x8d40
+ field public static final int GL_FRAMEBUFFER_UNSUPPORTED_OES = 36061; // 0x8cdd
+ field public static final int GL_FUNC_ADD_OES = 32774; // 0x8006
+ field public static final int GL_FUNC_REVERSE_SUBTRACT_OES = 32779; // 0x800b
+ field public static final int GL_FUNC_SUBTRACT_OES = 32778; // 0x800a
+ field public static final int GL_INCR_WRAP_OES = 34055; // 0x8507
+ field public static final int GL_INVALID_FRAMEBUFFER_OPERATION_OES = 1286; // 0x506
+ field public static final int GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 35742; // 0x8b9e
+ field public static final int GL_MATRIX_INDEX_ARRAY_OES = 34884; // 0x8844
+ field public static final int GL_MATRIX_INDEX_ARRAY_POINTER_OES = 34889; // 0x8849
+ field public static final int GL_MATRIX_INDEX_ARRAY_SIZE_OES = 34886; // 0x8846
+ field public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_OES = 34888; // 0x8848
+ field public static final int GL_MATRIX_INDEX_ARRAY_TYPE_OES = 34887; // 0x8847
+ field public static final int GL_MATRIX_PALETTE_OES = 34880; // 0x8840
+ field public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES = 34076; // 0x851c
+ field public static final int GL_MAX_PALETTE_MATRICES_OES = 34882; // 0x8842
+ field public static final int GL_MAX_RENDERBUFFER_SIZE_OES = 34024; // 0x84e8
+ field public static final int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 34047; // 0x84ff
+ field public static final int GL_MAX_VERTEX_UNITS_OES = 34468; // 0x86a4
+ field public static final int GL_MIRRORED_REPEAT_OES = 33648; // 0x8370
+ field public static final int GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 35213; // 0x898d
+ field public static final int GL_NONE_OES = 0; // 0x0
+ field public static final int GL_NORMAL_MAP_OES = 34065; // 0x8511
+ field public static final int GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 35214; // 0x898e
+ field public static final int GL_REFLECTION_MAP_OES = 34066; // 0x8512
+ field public static final int GL_RENDERBUFFER_ALPHA_SIZE_OES = 36179; // 0x8d53
+ field public static final int GL_RENDERBUFFER_BINDING_OES = 36007; // 0x8ca7
+ field public static final int GL_RENDERBUFFER_BLUE_SIZE_OES = 36178; // 0x8d52
+ field public static final int GL_RENDERBUFFER_DEPTH_SIZE_OES = 36180; // 0x8d54
+ field public static final int GL_RENDERBUFFER_GREEN_SIZE_OES = 36177; // 0x8d51
+ field public static final int GL_RENDERBUFFER_HEIGHT_OES = 36163; // 0x8d43
+ field public static final int GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 36164; // 0x8d44
+ field public static final int GL_RENDERBUFFER_OES = 36161; // 0x8d41
+ field public static final int GL_RENDERBUFFER_RED_SIZE_OES = 36176; // 0x8d50
+ field public static final int GL_RENDERBUFFER_STENCIL_SIZE_OES = 36181; // 0x8d55
+ field public static final int GL_RENDERBUFFER_WIDTH_OES = 36162; // 0x8d42
+ field public static final int GL_RGB565_OES = 36194; // 0x8d62
+ field public static final int GL_RGB5_A1_OES = 32855; // 0x8057
+ field public static final int GL_RGB8_OES = 32849; // 0x8051
+ field public static final int GL_RGBA4_OES = 32854; // 0x8056
+ field public static final int GL_RGBA8_OES = 32856; // 0x8058
+ field public static final int GL_STENCIL_ATTACHMENT_OES = 36128; // 0x8d20
+ field public static final int GL_STENCIL_INDEX1_OES = 36166; // 0x8d46
+ field public static final int GL_STENCIL_INDEX4_OES = 36167; // 0x8d47
+ field public static final int GL_STENCIL_INDEX8_OES = 36168; // 0x8d48
+ field public static final int GL_TEXTURE_BINDING_CUBE_MAP_OES = 34068; // 0x8514
+ field public static final int GL_TEXTURE_CROP_RECT_OES = 35741; // 0x8b9d
+ field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES = 34070; // 0x8516
+ field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = 34072; // 0x8518
+ field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = 34074; // 0x851a
+ field public static final int GL_TEXTURE_CUBE_MAP_OES = 34067; // 0x8513
+ field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES = 34069; // 0x8515
+ field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES = 34071; // 0x8517
+ field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES = 34073; // 0x8519
+ field public static final int GL_TEXTURE_GEN_MODE_OES = 9472; // 0x2500
+ field public static final int GL_TEXTURE_GEN_STR_OES = 36192; // 0x8d60
+ field public static final int GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 35215; // 0x898f
+ field public static final int GL_TEXTURE_MAX_ANISOTROPY_EXT = 34046; // 0x84fe
+ field public static final int GL_UNSIGNED_INT_24_8_OES = 34042; // 0x84fa
+ field public static final int GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = 34974; // 0x889e
+ field public static final int GL_WEIGHT_ARRAY_OES = 34477; // 0x86ad
+ field public static final int GL_WEIGHT_ARRAY_POINTER_OES = 34476; // 0x86ac
+ field public static final int GL_WEIGHT_ARRAY_SIZE_OES = 34475; // 0x86ab
+ field public static final int GL_WEIGHT_ARRAY_STRIDE_OES = 34474; // 0x86aa
+ field public static final int GL_WEIGHT_ARRAY_TYPE_OES = 34473; // 0x86a9
+ field public static final int GL_WRITE_ONLY_OES = 35001; // 0x88b9
+ }
+
+ public class GLES20 {
+ ctor public GLES20();
+ method public static void glActiveTexture(int);
+ method public static void glAttachShader(int, int);
+ method public static void glBindAttribLocation(int, int, java.lang.String);
+ method public static void glBindBuffer(int, int);
+ method public static void glBindFramebuffer(int, int);
+ method public static void glBindRenderbuffer(int, int);
+ method public static void glBindTexture(int, int);
+ method public static void glBlendColor(float, float, float, float);
+ method public static void glBlendEquation(int);
+ method public static void glBlendEquationSeparate(int, int);
+ method public static void glBlendFunc(int, int);
+ method public static void glBlendFuncSeparate(int, int, int, int);
+ method public static void glBufferData(int, int, java.nio.Buffer, int);
+ method public static void glBufferSubData(int, int, int, java.nio.Buffer);
+ method public static int glCheckFramebufferStatus(int);
+ method public static void glClear(int);
+ method public static void glClearColor(float, float, float, float);
+ method public static void glClearDepthf(float);
+ method public static void glClearStencil(int);
+ method public static void glColorMask(boolean, boolean, boolean, boolean);
+ method public static void glCompileShader(int);
+ method public static void glCompressedTexImage2D(int, int, int, int, int, int, int, java.nio.Buffer);
+ method public static void glCompressedTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+ method public static void glCopyTexImage2D(int, int, int, int, int, int, int, int);
+ method public static void glCopyTexSubImage2D(int, int, int, int, int, int, int, int);
+ method public static int glCreateProgram();
+ method public static int glCreateShader(int);
+ method public static void glCullFace(int);
+ method public static void glDeleteBuffers(int, int[], int);
+ method public static void glDeleteBuffers(int, java.nio.IntBuffer);
+ method public static void glDeleteFramebuffers(int, int[], int);
+ method public static void glDeleteFramebuffers(int, java.nio.IntBuffer);
+ method public static void glDeleteProgram(int);
+ method public static void glDeleteRenderbuffers(int, int[], int);
+ method public static void glDeleteRenderbuffers(int, java.nio.IntBuffer);
+ method public static void glDeleteShader(int);
+ method public static void glDeleteTextures(int, int[], int);
+ method public static void glDeleteTextures(int, java.nio.IntBuffer);
+ method public static void glDepthFunc(int);
+ method public static void glDepthMask(boolean);
+ method public static void glDepthRangef(float, float);
+ method public static void glDetachShader(int, int);
+ method public static void glDisable(int);
+ method public static void glDisableVertexAttribArray(int);
+ method public static void glDrawArrays(int, int, int);
+ method public static void glDrawElements(int, int, int, int);
+ method public static void glDrawElements(int, int, int, java.nio.Buffer);
+ method public static void glEnable(int);
+ method public static void glEnableVertexAttribArray(int);
+ method public static void glFinish();
+ method public static void glFlush();
+ method public static void glFramebufferRenderbuffer(int, int, int, int);
+ method public static void glFramebufferTexture2D(int, int, int, int, int);
+ method public static void glFrontFace(int);
+ method public static void glGenBuffers(int, int[], int);
+ method public static void glGenBuffers(int, java.nio.IntBuffer);
+ method public static void glGenFramebuffers(int, int[], int);
+ method public static void glGenFramebuffers(int, java.nio.IntBuffer);
+ method public static void glGenRenderbuffers(int, int[], int);
+ method public static void glGenRenderbuffers(int, java.nio.IntBuffer);
+ method public static void glGenTextures(int, int[], int);
+ method public static void glGenTextures(int, java.nio.IntBuffer);
+ method public static void glGenerateMipmap(int);
+ method public static void glGetActiveAttrib(int, int, int, int[], int, int[], int, int[], int, byte[], int);
+ method public static void glGetActiveAttrib(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, byte);
+ method public static void glGetActiveUniform(int, int, int, int[], int, int[], int, int[], int, byte[], int);
+ method public static void glGetActiveUniform(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, byte);
+ method public static void glGetAttachedShaders(int, int, int[], int, int[], int);
+ method public static void glGetAttachedShaders(int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+ method public static int glGetAttribLocation(int, java.lang.String);
+ method public static void glGetBooleanv(int, boolean[], int);
+ method public static void glGetBooleanv(int, java.nio.IntBuffer);
+ method public static void glGetBufferParameteriv(int, int, int[], int);
+ method public static void glGetBufferParameteriv(int, int, java.nio.IntBuffer);
+ method public static int glGetError();
+ method public static void glGetFloatv(int, float[], int);
+ method public static void glGetFloatv(int, java.nio.FloatBuffer);
+ method public static void glGetFramebufferAttachmentParameteriv(int, int, int, int[], int);
+ method public static void glGetFramebufferAttachmentParameteriv(int, int, int, java.nio.IntBuffer);
+ method public static void glGetIntegerv(int, int[], int);
+ method public static void glGetIntegerv(int, java.nio.IntBuffer);
+ method public static java.lang.String glGetProgramInfoLog(int);
+ method public static void glGetProgramiv(int, int, int[], int);
+ method public static void glGetProgramiv(int, int, java.nio.IntBuffer);
+ method public static void glGetRenderbufferParameteriv(int, int, int[], int);
+ method public static void glGetRenderbufferParameteriv(int, int, java.nio.IntBuffer);
+ method public static java.lang.String glGetShaderInfoLog(int);
+ method public static void glGetShaderPrecisionFormat(int, int, int[], int, int[], int);
+ method public static void glGetShaderPrecisionFormat(int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+ method public static void glGetShaderSource(int, int, int[], int, byte[], int);
+ method public static void glGetShaderSource(int, int, java.nio.IntBuffer, byte);
+ method public static void glGetShaderiv(int, int, int[], int);
+ method public static void glGetShaderiv(int, int, java.nio.IntBuffer);
+ method public static java.lang.String glGetString(int);
+ method public static void glGetTexParameterfv(int, int, float[], int);
+ method public static void glGetTexParameterfv(int, int, java.nio.FloatBuffer);
+ method public static void glGetTexParameteriv(int, int, int[], int);
+ method public static void glGetTexParameteriv(int, int, java.nio.IntBuffer);
+ method public static int glGetUniformLocation(int, java.lang.String);
+ method public static void glGetUniformfv(int, int, float[], int);
+ method public static void glGetUniformfv(int, int, java.nio.FloatBuffer);
+ method public static void glGetUniformiv(int, int, int[], int);
+ method public static void glGetUniformiv(int, int, java.nio.IntBuffer);
+ method public static void glGetVertexAttribfv(int, int, float[], int);
+ method public static void glGetVertexAttribfv(int, int, java.nio.FloatBuffer);
+ method public static void glGetVertexAttribiv(int, int, int[], int);
+ method public static void glGetVertexAttribiv(int, int, java.nio.IntBuffer);
+ method public static void glHint(int, int);
+ method public static boolean glIsBuffer(int);
+ method public static boolean glIsEnabled(int);
+ method public static boolean glIsFramebuffer(int);
+ method public static boolean glIsProgram(int);
+ method public static boolean glIsRenderbuffer(int);
+ method public static boolean glIsShader(int);
+ method public static boolean glIsTexture(int);
+ method public static void glLineWidth(float);
+ method public static void glLinkProgram(int);
+ method public static void glPixelStorei(int, int);
+ method public static void glPolygonOffset(float, float);
+ method public static void glReadPixels(int, int, int, int, int, int, java.nio.Buffer);
+ method public static void glReleaseShaderCompiler();
+ method public static void glRenderbufferStorage(int, int, int, int);
+ method public static void glSampleCoverage(float, boolean);
+ method public static void glScissor(int, int, int, int);
+ method public static void glShaderBinary(int, int[], int, int, java.nio.Buffer, int);
+ method public static void glShaderBinary(int, java.nio.IntBuffer, int, java.nio.Buffer, int);
+ method public static void glShaderSource(int, java.lang.String);
+ method public static void glStencilFunc(int, int, int);
+ method public static void glStencilFuncSeparate(int, int, int, int);
+ method public static void glStencilMask(int);
+ method public static void glStencilMaskSeparate(int, int);
+ method public static void glStencilOp(int, int, int);
+ method public static void glStencilOpSeparate(int, int, int, int);
+ method public static void glTexImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+ method public static void glTexParameterf(int, int, float);
+ method public static void glTexParameterfv(int, int, float[], int);
+ method public static void glTexParameterfv(int, int, java.nio.FloatBuffer);
+ method public static void glTexParameteri(int, int, int);
+ method public static void glTexParameteriv(int, int, int[], int);
+ method public static void glTexParameteriv(int, int, java.nio.IntBuffer);
+ method public static void glTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+ method public static void glUniform1f(int, float);
+ method public static void glUniform1fv(int, int, float[], int);
+ method public static void glUniform1fv(int, int, java.nio.FloatBuffer);
+ method public static void glUniform1i(int, int);
+ method public static void glUniform1iv(int, int, int[], int);
+ method public static void glUniform1iv(int, int, java.nio.IntBuffer);
+ method public static void glUniform2f(int, float, float);
+ method public static void glUniform2fv(int, int, float[], int);
+ method public static void glUniform2fv(int, int, java.nio.FloatBuffer);
+ method public static void glUniform2i(int, int, int);
+ method public static void glUniform2iv(int, int, int[], int);
+ method public static void glUniform2iv(int, int, java.nio.IntBuffer);
+ method public static void glUniform3f(int, float, float, float);
+ method public static void glUniform3fv(int, int, float[], int);
+ method public static void glUniform3fv(int, int, java.nio.FloatBuffer);
+ method public static void glUniform3i(int, int, int, int);
+ method public static void glUniform3iv(int, int, int[], int);
+ method public static void glUniform3iv(int, int, java.nio.IntBuffer);
+ method public static void glUniform4f(int, float, float, float, float);
+ method public static void glUniform4fv(int, int, float[], int);
+ method public static void glUniform4fv(int, int, java.nio.FloatBuffer);
+ method public static void glUniform4i(int, int, int, int, int);
+ method public static void glUniform4iv(int, int, int[], int);
+ method public static void glUniform4iv(int, int, java.nio.IntBuffer);
+ method public static void glUniformMatrix2fv(int, int, boolean, float[], int);
+ method public static void glUniformMatrix2fv(int, int, boolean, java.nio.FloatBuffer);
+ method public static void glUniformMatrix3fv(int, int, boolean, float[], int);
+ method public static void glUniformMatrix3fv(int, int, boolean, java.nio.FloatBuffer);
+ method public static void glUniformMatrix4fv(int, int, boolean, float[], int);
+ method public static void glUniformMatrix4fv(int, int, boolean, java.nio.FloatBuffer);
+ method public static void glUseProgram(int);
+ method public static void glValidateProgram(int);
+ method public static void glVertexAttrib1f(int, float);
+ method public static void glVertexAttrib1fv(int, float[], int);
+ method public static void glVertexAttrib1fv(int, java.nio.FloatBuffer);
+ method public static void glVertexAttrib2f(int, float, float);
+ method public static void glVertexAttrib2fv(int, float[], int);
+ method public static void glVertexAttrib2fv(int, java.nio.FloatBuffer);
+ method public static void glVertexAttrib3f(int, float, float, float);
+ method public static void glVertexAttrib3fv(int, float[], int);
+ method public static void glVertexAttrib3fv(int, java.nio.FloatBuffer);
+ method public static void glVertexAttrib4f(int, float, float, float, float);
+ method public static void glVertexAttrib4fv(int, float[], int);
+ method public static void glVertexAttrib4fv(int, java.nio.FloatBuffer);
+ method public static void glVertexAttribPointer(int, int, int, boolean, int, int);
+ method public static void glVertexAttribPointer(int, int, int, boolean, int, java.nio.Buffer);
+ method public static void glViewport(int, int, int, int);
+ field public static final int GL_ACTIVE_ATTRIBUTES = 35721; // 0x8b89
+ field public static final int GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 35722; // 0x8b8a
+ field public static final int GL_ACTIVE_TEXTURE = 34016; // 0x84e0
+ field public static final int GL_ACTIVE_UNIFORMS = 35718; // 0x8b86
+ field public static final int GL_ACTIVE_UNIFORM_MAX_LENGTH = 35719; // 0x8b87
+ field public static final int GL_ALIASED_LINE_WIDTH_RANGE = 33902; // 0x846e
+ field public static final int GL_ALIASED_POINT_SIZE_RANGE = 33901; // 0x846d
+ field public static final int GL_ALPHA = 6406; // 0x1906
+ field public static final int GL_ALPHA_BITS = 3413; // 0xd55
+ field public static final int GL_ALWAYS = 519; // 0x207
+ field public static final int GL_ARRAY_BUFFER = 34962; // 0x8892
+ field public static final int GL_ARRAY_BUFFER_BINDING = 34964; // 0x8894
+ field public static final int GL_ATTACHED_SHADERS = 35717; // 0x8b85
+ field public static final int GL_BACK = 1029; // 0x405
+ field public static final int GL_BLEND = 3042; // 0xbe2
+ field public static final int GL_BLEND_COLOR = 32773; // 0x8005
+ field public static final int GL_BLEND_DST_ALPHA = 32970; // 0x80ca
+ field public static final int GL_BLEND_DST_RGB = 32968; // 0x80c8
+ field public static final int GL_BLEND_EQUATION = 32777; // 0x8009
+ field public static final int GL_BLEND_EQUATION_ALPHA = 34877; // 0x883d
+ field public static final int GL_BLEND_EQUATION_RGB = 32777; // 0x8009
+ field public static final int GL_BLEND_SRC_ALPHA = 32971; // 0x80cb
+ field public static final int GL_BLEND_SRC_RGB = 32969; // 0x80c9
+ field public static final int GL_BLUE_BITS = 3412; // 0xd54
+ field public static final int GL_BOOL = 35670; // 0x8b56
+ field public static final int GL_BOOL_VEC2 = 35671; // 0x8b57
+ field public static final int GL_BOOL_VEC3 = 35672; // 0x8b58
+ field public static final int GL_BOOL_VEC4 = 35673; // 0x8b59
+ field public static final int GL_BUFFER_SIZE = 34660; // 0x8764
+ field public static final int GL_BUFFER_USAGE = 34661; // 0x8765
+ field public static final int GL_BYTE = 5120; // 0x1400
+ field public static final int GL_CCW = 2305; // 0x901
+ field public static final int GL_CLAMP_TO_EDGE = 33071; // 0x812f
+ field public static final int GL_COLOR_ATTACHMENT0 = 36064; // 0x8ce0
+ field public static final int GL_COLOR_BUFFER_BIT = 16384; // 0x4000
+ field public static final int GL_COLOR_CLEAR_VALUE = 3106; // 0xc22
+ field public static final int GL_COLOR_WRITEMASK = 3107; // 0xc23
+ field public static final int GL_COMPILE_STATUS = 35713; // 0x8b81
+ field public static final int GL_COMPRESSED_TEXTURE_FORMATS = 34467; // 0x86a3
+ field public static final int GL_CONSTANT_ALPHA = 32771; // 0x8003
+ field public static final int GL_CONSTANT_COLOR = 32769; // 0x8001
+ field public static final int GL_CULL_FACE = 2884; // 0xb44
+ field public static final int GL_CULL_FACE_MODE = 2885; // 0xb45
+ field public static final int GL_CURRENT_PROGRAM = 35725; // 0x8b8d
+ field public static final int GL_CURRENT_VERTEX_ATTRIB = 34342; // 0x8626
+ field public static final int GL_CW = 2304; // 0x900
+ field public static final int GL_DECR = 7683; // 0x1e03
+ field public static final int GL_DECR_WRAP = 34056; // 0x8508
+ field public static final int GL_DELETE_STATUS = 35712; // 0x8b80
+ field public static final int GL_DEPTH_ATTACHMENT = 36096; // 0x8d00
+ field public static final int GL_DEPTH_BITS = 3414; // 0xd56
+ field public static final int GL_DEPTH_BUFFER_BIT = 256; // 0x100
+ field public static final int GL_DEPTH_CLEAR_VALUE = 2931; // 0xb73
+ field public static final int GL_DEPTH_COMPONENT = 6402; // 0x1902
+ field public static final int GL_DEPTH_COMPONENT16 = 33189; // 0x81a5
+ field public static final int GL_DEPTH_FUNC = 2932; // 0xb74
+ field public static final int GL_DEPTH_RANGE = 2928; // 0xb70
+ field public static final int GL_DEPTH_TEST = 2929; // 0xb71
+ field public static final int GL_DEPTH_WRITEMASK = 2930; // 0xb72
+ field public static final int GL_DITHER = 3024; // 0xbd0
+ field public static final int GL_DONT_CARE = 4352; // 0x1100
+ field public static final int GL_DST_ALPHA = 772; // 0x304
+ field public static final int GL_DST_COLOR = 774; // 0x306
+ field public static final int GL_DYNAMIC_DRAW = 35048; // 0x88e8
+ field public static final int GL_ELEMENT_ARRAY_BUFFER = 34963; // 0x8893
+ field public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 34965; // 0x8895
+ field public static final int GL_EQUAL = 514; // 0x202
+ field public static final int GL_EXTENSIONS = 7939; // 0x1f03
+ field public static final int GL_FALSE = 0; // 0x0
+ field public static final int GL_FASTEST = 4353; // 0x1101
+ field public static final int GL_FIXED = 5132; // 0x140c
+ field public static final int GL_FLOAT = 5126; // 0x1406
+ field public static final int GL_FLOAT_MAT2 = 35674; // 0x8b5a
+ field public static final int GL_FLOAT_MAT3 = 35675; // 0x8b5b
+ field public static final int GL_FLOAT_MAT4 = 35676; // 0x8b5c
+ field public static final int GL_FLOAT_VEC2 = 35664; // 0x8b50
+ field public static final int GL_FLOAT_VEC3 = 35665; // 0x8b51
+ field public static final int GL_FLOAT_VEC4 = 35666; // 0x8b52
+ field public static final int GL_FRAGMENT_SHADER = 35632; // 0x8b30
+ field public static final int GL_FRAMEBUFFER = 36160; // 0x8d40
+ field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 36049; // 0x8cd1
+ field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 36048; // 0x8cd0
+ field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 36051; // 0x8cd3
+ field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 36050; // 0x8cd2
+ field public static final int GL_FRAMEBUFFER_BINDING = 36006; // 0x8ca6
+ field public static final int GL_FRAMEBUFFER_COMPLETE = 36053; // 0x8cd5
+ field public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 36054; // 0x8cd6
+ field public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 36057; // 0x8cd9
+ field public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 36055; // 0x8cd7
+ field public static final int GL_FRAMEBUFFER_UNSUPPORTED = 36061; // 0x8cdd
+ field public static final int GL_FRONT = 1028; // 0x404
+ field public static final int GL_FRONT_AND_BACK = 1032; // 0x408
+ field public static final int GL_FRONT_FACE = 2886; // 0xb46
+ field public static final int GL_FUNC_ADD = 32774; // 0x8006
+ field public static final int GL_FUNC_REVERSE_SUBTRACT = 32779; // 0x800b
+ field public static final int GL_FUNC_SUBTRACT = 32778; // 0x800a
+ field public static final int GL_GENERATE_MIPMAP_HINT = 33170; // 0x8192
+ field public static final int GL_GEQUAL = 518; // 0x206
+ field public static final int GL_GREATER = 516; // 0x204
+ field public static final int GL_GREEN_BITS = 3411; // 0xd53
+ field public static final int GL_HIGH_FLOAT = 36338; // 0x8df2
+ field public static final int GL_HIGH_INT = 36341; // 0x8df5
+ field public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT = 35739; // 0x8b9b
+ field public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE = 35738; // 0x8b9a
+ field public static final int GL_INCR = 7682; // 0x1e02
+ field public static final int GL_INCR_WRAP = 34055; // 0x8507
+ field public static final int GL_INFO_LOG_LENGTH = 35716; // 0x8b84
+ field public static final int GL_INT = 5124; // 0x1404
+ field public static final int GL_INT_VEC2 = 35667; // 0x8b53
+ field public static final int GL_INT_VEC3 = 35668; // 0x8b54
+ field public static final int GL_INT_VEC4 = 35669; // 0x8b55
+ field public static final int GL_INVALID_ENUM = 1280; // 0x500
+ field public static final int GL_INVALID_FRAMEBUFFER_OPERATION = 1286; // 0x506
+ field public static final int GL_INVALID_OPERATION = 1282; // 0x502
+ field public static final int GL_INVALID_VALUE = 1281; // 0x501
+ field public static final int GL_INVERT = 5386; // 0x150a
+ field public static final int GL_KEEP = 7680; // 0x1e00
+ field public static final int GL_LEQUAL = 515; // 0x203
+ field public static final int GL_LESS = 513; // 0x201
+ field public static final int GL_LINEAR = 9729; // 0x2601
+ field public static final int GL_LINEAR_MIPMAP_LINEAR = 9987; // 0x2703
+ field public static final int GL_LINEAR_MIPMAP_NEAREST = 9985; // 0x2701
+ field public static final int GL_LINES = 1; // 0x1
+ field public static final int GL_LINE_LOOP = 2; // 0x2
+ field public static final int GL_LINE_STRIP = 3; // 0x3
+ field public static final int GL_LINE_WIDTH = 2849; // 0xb21
+ field public static final int GL_LINK_STATUS = 35714; // 0x8b82
+ field public static final int GL_LOW_FLOAT = 36336; // 0x8df0
+ field public static final int GL_LOW_INT = 36339; // 0x8df3
+ field public static final int GL_LUMINANCE = 6409; // 0x1909
+ field public static final int GL_LUMINANCE_ALPHA = 6410; // 0x190a
+ field public static final int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 35661; // 0x8b4d
+ field public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE = 34076; // 0x851c
+ field public static final int GL_MAX_FRAGMENT_UNIFORM_VECTORS = 36349; // 0x8dfd
+ field public static final int GL_MAX_RENDERBUFFER_SIZE = 34024; // 0x84e8
+ field public static final int GL_MAX_TEXTURE_IMAGE_UNITS = 34930; // 0x8872
+ field public static final int GL_MAX_TEXTURE_SIZE = 3379; // 0xd33
+ field public static final int GL_MAX_VARYING_VECTORS = 36348; // 0x8dfc
+ field public static final int GL_MAX_VERTEX_ATTRIBS = 34921; // 0x8869
+ field public static final int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 35660; // 0x8b4c
+ field public static final int GL_MAX_VERTEX_UNIFORM_VECTORS = 36347; // 0x8dfb
+ field public static final int GL_MAX_VIEWPORT_DIMS = 3386; // 0xd3a
+ field public static final int GL_MEDIUM_FLOAT = 36337; // 0x8df1
+ field public static final int GL_MEDIUM_INT = 36340; // 0x8df4
+ field public static final int GL_MIRRORED_REPEAT = 33648; // 0x8370
+ field public static final int GL_NEAREST = 9728; // 0x2600
+ field public static final int GL_NEAREST_MIPMAP_LINEAR = 9986; // 0x2702
+ field public static final int GL_NEAREST_MIPMAP_NEAREST = 9984; // 0x2700
+ field public static final int GL_NEVER = 512; // 0x200
+ field public static final int GL_NICEST = 4354; // 0x1102
+ field public static final int GL_NONE = 0; // 0x0
+ field public static final int GL_NOTEQUAL = 517; // 0x205
+ field public static final int GL_NO_ERROR = 0; // 0x0
+ field public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 34466; // 0x86a2
+ field public static final int GL_NUM_SHADER_BINARY_FORMATS = 36345; // 0x8df9
+ field public static final int GL_ONE = 1; // 0x1
+ field public static final int GL_ONE_MINUS_CONSTANT_ALPHA = 32772; // 0x8004
+ field public static final int GL_ONE_MINUS_CONSTANT_COLOR = 32770; // 0x8002
+ field public static final int GL_ONE_MINUS_DST_ALPHA = 773; // 0x305
+ field public static final int GL_ONE_MINUS_DST_COLOR = 775; // 0x307
+ field public static final int GL_ONE_MINUS_SRC_ALPHA = 771; // 0x303
+ field public static final int GL_ONE_MINUS_SRC_COLOR = 769; // 0x301
+ field public static final int GL_OUT_OF_MEMORY = 1285; // 0x505
+ field public static final int GL_PACK_ALIGNMENT = 3333; // 0xd05
+ field public static final int GL_POINTS = 0; // 0x0
+ field public static final int GL_POLYGON_OFFSET_FACTOR = 32824; // 0x8038
+ field public static final int GL_POLYGON_OFFSET_FILL = 32823; // 0x8037
+ field public static final int GL_POLYGON_OFFSET_UNITS = 10752; // 0x2a00
+ field public static final int GL_RED_BITS = 3410; // 0xd52
+ field public static final int GL_RENDERBUFFER = 36161; // 0x8d41
+ field public static final int GL_RENDERBUFFER_ALPHA_SIZE = 36179; // 0x8d53
+ field public static final int GL_RENDERBUFFER_BINDING = 36007; // 0x8ca7
+ field public static final int GL_RENDERBUFFER_BLUE_SIZE = 36178; // 0x8d52
+ field public static final int GL_RENDERBUFFER_DEPTH_SIZE = 36180; // 0x8d54
+ field public static final int GL_RENDERBUFFER_GREEN_SIZE = 36177; // 0x8d51
+ field public static final int GL_RENDERBUFFER_HEIGHT = 36163; // 0x8d43
+ field public static final int GL_RENDERBUFFER_INTERNAL_FORMAT = 36164; // 0x8d44
+ field public static final int GL_RENDERBUFFER_RED_SIZE = 36176; // 0x8d50
+ field public static final int GL_RENDERBUFFER_STENCIL_SIZE = 36181; // 0x8d55
+ field public static final int GL_RENDERBUFFER_WIDTH = 36162; // 0x8d42
+ field public static final int GL_RENDERER = 7937; // 0x1f01
+ field public static final int GL_REPEAT = 10497; // 0x2901
+ field public static final int GL_REPLACE = 7681; // 0x1e01
+ field public static final int GL_RGB = 6407; // 0x1907
+ field public static final int GL_RGB565 = 36194; // 0x8d62
+ field public static final int GL_RGB5_A1 = 32855; // 0x8057
+ field public static final int GL_RGBA = 6408; // 0x1908
+ field public static final int GL_RGBA4 = 32854; // 0x8056
+ field public static final int GL_SAMPLER_2D = 35678; // 0x8b5e
+ field public static final int GL_SAMPLER_CUBE = 35680; // 0x8b60
+ field public static final int GL_SAMPLES = 32937; // 0x80a9
+ field public static final int GL_SAMPLE_ALPHA_TO_COVERAGE = 32926; // 0x809e
+ field public static final int GL_SAMPLE_BUFFERS = 32936; // 0x80a8
+ field public static final int GL_SAMPLE_COVERAGE = 32928; // 0x80a0
+ field public static final int GL_SAMPLE_COVERAGE_INVERT = 32939; // 0x80ab
+ field public static final int GL_SAMPLE_COVERAGE_VALUE = 32938; // 0x80aa
+ field public static final int GL_SCISSOR_BOX = 3088; // 0xc10
+ field public static final int GL_SCISSOR_TEST = 3089; // 0xc11
+ field public static final int GL_SHADER_BINARY_FORMATS = 36344; // 0x8df8
+ field public static final int GL_SHADER_COMPILER = 36346; // 0x8dfa
+ field public static final int GL_SHADER_SOURCE_LENGTH = 35720; // 0x8b88
+ field public static final int GL_SHADER_TYPE = 35663; // 0x8b4f
+ field public static final int GL_SHADING_LANGUAGE_VERSION = 35724; // 0x8b8c
+ field public static final int GL_SHORT = 5122; // 0x1402
+ field public static final int GL_SRC_ALPHA = 770; // 0x302
+ field public static final int GL_SRC_ALPHA_SATURATE = 776; // 0x308
+ field public static final int GL_SRC_COLOR = 768; // 0x300
+ field public static final int GL_STATIC_DRAW = 35044; // 0x88e4
+ field public static final int GL_STENCIL_ATTACHMENT = 36128; // 0x8d20
+ field public static final int GL_STENCIL_BACK_FAIL = 34817; // 0x8801
+ field public static final int GL_STENCIL_BACK_FUNC = 34816; // 0x8800
+ field public static final int GL_STENCIL_BACK_PASS_DEPTH_FAIL = 34818; // 0x8802
+ field public static final int GL_STENCIL_BACK_PASS_DEPTH_PASS = 34819; // 0x8803
+ field public static final int GL_STENCIL_BACK_REF = 36003; // 0x8ca3
+ field public static final int GL_STENCIL_BACK_VALUE_MASK = 36004; // 0x8ca4
+ field public static final int GL_STENCIL_BACK_WRITEMASK = 36005; // 0x8ca5
+ field public static final int GL_STENCIL_BITS = 3415; // 0xd57
+ field public static final int GL_STENCIL_BUFFER_BIT = 1024; // 0x400
+ field public static final int GL_STENCIL_CLEAR_VALUE = 2961; // 0xb91
+ field public static final int GL_STENCIL_FAIL = 2964; // 0xb94
+ field public static final int GL_STENCIL_FUNC = 2962; // 0xb92
+ field public static final int GL_STENCIL_INDEX = 6401; // 0x1901
+ field public static final int GL_STENCIL_INDEX8 = 36168; // 0x8d48
+ field public static final int GL_STENCIL_PASS_DEPTH_FAIL = 2965; // 0xb95
+ field public static final int GL_STENCIL_PASS_DEPTH_PASS = 2966; // 0xb96
+ field public static final int GL_STENCIL_REF = 2967; // 0xb97
+ field public static final int GL_STENCIL_TEST = 2960; // 0xb90
+ field public static final int GL_STENCIL_VALUE_MASK = 2963; // 0xb93
+ field public static final int GL_STENCIL_WRITEMASK = 2968; // 0xb98
+ field public static final int GL_STREAM_DRAW = 35040; // 0x88e0
+ field public static final int GL_SUBPIXEL_BITS = 3408; // 0xd50
+ field public static final int GL_TEXTURE = 5890; // 0x1702
+ field public static final int GL_TEXTURE0 = 33984; // 0x84c0
+ field public static final int GL_TEXTURE1 = 33985; // 0x84c1
+ field public static final int GL_TEXTURE10 = 33994; // 0x84ca
+ field public static final int GL_TEXTURE11 = 33995; // 0x84cb
+ field public static final int GL_TEXTURE12 = 33996; // 0x84cc
+ field public static final int GL_TEXTURE13 = 33997; // 0x84cd
+ field public static final int GL_TEXTURE14 = 33998; // 0x84ce
+ field public static final int GL_TEXTURE15 = 33999; // 0x84cf
+ field public static final int GL_TEXTURE16 = 34000; // 0x84d0
+ field public static final int GL_TEXTURE17 = 34001; // 0x84d1
+ field public static final int GL_TEXTURE18 = 34002; // 0x84d2
+ field public static final int GL_TEXTURE19 = 34003; // 0x84d3
+ field public static final int GL_TEXTURE2 = 33986; // 0x84c2
+ field public static final int GL_TEXTURE20 = 34004; // 0x84d4
+ field public static final int GL_TEXTURE21 = 34005; // 0x84d5
+ field public static final int GL_TEXTURE22 = 34006; // 0x84d6
+ field public static final int GL_TEXTURE23 = 34007; // 0x84d7
+ field public static final int GL_TEXTURE24 = 34008; // 0x84d8
+ field public static final int GL_TEXTURE25 = 34009; // 0x84d9
+ field public static final int GL_TEXTURE26 = 34010; // 0x84da
+ field public static final int GL_TEXTURE27 = 34011; // 0x84db
+ field public static final int GL_TEXTURE28 = 34012; // 0x84dc
+ field public static final int GL_TEXTURE29 = 34013; // 0x84dd
+ field public static final int GL_TEXTURE3 = 33987; // 0x84c3
+ field public static final int GL_TEXTURE30 = 34014; // 0x84de
+ field public static final int GL_TEXTURE31 = 34015; // 0x84df
+ field public static final int GL_TEXTURE4 = 33988; // 0x84c4
+ field public static final int GL_TEXTURE5 = 33989; // 0x84c5
+ field public static final int GL_TEXTURE6 = 33990; // 0x84c6
+ field public static final int GL_TEXTURE7 = 33991; // 0x84c7
+ field public static final int GL_TEXTURE8 = 33992; // 0x84c8
+ field public static final int GL_TEXTURE9 = 33993; // 0x84c9
+ field public static final int GL_TEXTURE_2D = 3553; // 0xde1
+ field public static final int GL_TEXTURE_BINDING_2D = 32873; // 0x8069
+ field public static final int GL_TEXTURE_BINDING_CUBE_MAP = 34068; // 0x8514
+ field public static final int GL_TEXTURE_CUBE_MAP = 34067; // 0x8513
+ field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 34070; // 0x8516
+ field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072; // 0x8518
+ field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074; // 0x851a
+ field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X = 34069; // 0x8515
+ field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 34071; // 0x8517
+ field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 34073; // 0x8519
+ field public static final int GL_TEXTURE_MAG_FILTER = 10240; // 0x2800
+ field public static final int GL_TEXTURE_MIN_FILTER = 10241; // 0x2801
+ field public static final int GL_TEXTURE_WRAP_S = 10242; // 0x2802
+ field public static final int GL_TEXTURE_WRAP_T = 10243; // 0x2803
+ field public static final int GL_TRIANGLES = 4; // 0x4
+ field public static final int GL_TRIANGLE_FAN = 6; // 0x6
+ field public static final int GL_TRIANGLE_STRIP = 5; // 0x5
+ field public static final int GL_TRUE = 1; // 0x1
+ field public static final int GL_UNPACK_ALIGNMENT = 3317; // 0xcf5
+ field public static final int GL_UNSIGNED_BYTE = 5121; // 0x1401
+ field public static final int GL_UNSIGNED_INT = 5125; // 0x1405
+ field public static final int GL_UNSIGNED_SHORT = 5123; // 0x1403
+ field public static final int GL_UNSIGNED_SHORT_4_4_4_4 = 32819; // 0x8033
+ field public static final int GL_UNSIGNED_SHORT_5_5_5_1 = 32820; // 0x8034
+ field public static final int GL_UNSIGNED_SHORT_5_6_5 = 33635; // 0x8363
+ field public static final int GL_VALIDATE_STATUS = 35715; // 0x8b83
+ field public static final int GL_VENDOR = 7936; // 0x1f00
+ field public static final int GL_VERSION = 7938; // 0x1f02
+ field public static final int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 34975; // 0x889f
+ field public static final int GL_VERTEX_ATTRIB_ARRAY_ENABLED = 34338; // 0x8622
+ field public static final int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 34922; // 0x886a
+ field public static final int GL_VERTEX_ATTRIB_ARRAY_POINTER = 34373; // 0x8645
+ field public static final int GL_VERTEX_ATTRIB_ARRAY_SIZE = 34339; // 0x8623
+ field public static final int GL_VERTEX_ATTRIB_ARRAY_STRIDE = 34340; // 0x8624
+ field public static final int GL_VERTEX_ATTRIB_ARRAY_TYPE = 34341; // 0x8625
+ field public static final int GL_VERTEX_SHADER = 35633; // 0x8b31
+ field public static final int GL_VIEWPORT = 2978; // 0xba2
+ field public static final int GL_ZERO = 0; // 0x0
+ }
+
+ public class GLException extends java.lang.RuntimeException {
+ ctor public GLException(int);
+ ctor public GLException(int, java.lang.String);
+ }
+
+ public class GLSurfaceView extends android.view.SurfaceView implements android.view.SurfaceHolder.Callback {
+ ctor public GLSurfaceView(android.content.Context);
+ ctor public GLSurfaceView(android.content.Context, android.util.AttributeSet);
+ method public int getDebugFlags();
+ method public boolean getPreserveEGLContextOnPause();
+ method public int getRenderMode();
+ method public void onPause();
+ method public void onResume();
+ method public void queueEvent(java.lang.Runnable);
+ method public void requestRender();
+ method public void setDebugFlags(int);
+ method public void setEGLConfigChooser(android.opengl.GLSurfaceView.EGLConfigChooser);
+ method public void setEGLConfigChooser(boolean);
+ method public void setEGLConfigChooser(int, int, int, int, int, int);
+ method public void setEGLContextClientVersion(int);
+ method public void setEGLContextFactory(android.opengl.GLSurfaceView.EGLContextFactory);
+ method public void setEGLWindowSurfaceFactory(android.opengl.GLSurfaceView.EGLWindowSurfaceFactory);
+ method public void setGLWrapper(android.opengl.GLSurfaceView.GLWrapper);
+ method public void setPreserveEGLContextOnPause(boolean);
+ method public void setRenderMode(int);
+ method public void setRenderer(android.opengl.GLSurfaceView.Renderer);
+ method public void surfaceChanged(android.view.SurfaceHolder, int, int, int);
+ method public void surfaceCreated(android.view.SurfaceHolder);
+ method public void surfaceDestroyed(android.view.SurfaceHolder);
+ field public static final int DEBUG_CHECK_GL_ERROR = 1; // 0x1
+ field public static final int DEBUG_LOG_GL_CALLS = 2; // 0x2
+ field public static final int RENDERMODE_CONTINUOUSLY = 1; // 0x1
+ field public static final int RENDERMODE_WHEN_DIRTY = 0; // 0x0
+ }
+
+ public static abstract interface GLSurfaceView.EGLConfigChooser {
+ method public abstract javax.microedition.khronos.egl.EGLConfig chooseConfig(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay);
+ }
+
+ public static abstract interface GLSurfaceView.EGLContextFactory {
+ method public abstract javax.microedition.khronos.egl.EGLContext createContext(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig);
+ method public abstract void destroyContext(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext);
+ }
+
+ public static abstract interface GLSurfaceView.EGLWindowSurfaceFactory {
+ method public abstract javax.microedition.khronos.egl.EGLSurface createWindowSurface(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object);
+ method public abstract void destroySurface(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface);
+ }
+
+ public static abstract interface GLSurfaceView.GLWrapper {
+ method public abstract javax.microedition.khronos.opengles.GL wrap(javax.microedition.khronos.opengles.GL);
+ }
+
+ public static abstract interface GLSurfaceView.Renderer {
+ method public abstract void onDrawFrame(javax.microedition.khronos.opengles.GL10);
+ method public abstract void onSurfaceChanged(javax.microedition.khronos.opengles.GL10, int, int);
+ method public abstract void onSurfaceCreated(javax.microedition.khronos.opengles.GL10, javax.microedition.khronos.egl.EGLConfig);
+ }
+
+ public class GLU {
+ ctor public GLU();
+ method public static java.lang.String gluErrorString(int);
+ method public static void gluLookAt(javax.microedition.khronos.opengles.GL10, float, float, float, float, float, float, float, float, float);
+ method public static void gluOrtho2D(javax.microedition.khronos.opengles.GL10, float, float, float, float);
+ method public static void gluPerspective(javax.microedition.khronos.opengles.GL10, float, float, float, float);
+ method public static int gluProject(float, float, float, float[], int, float[], int, int[], int, float[], int);
+ method public static int gluUnProject(float, float, float, float[], int, float[], int, int[], int, float[], int);
+ }
+
+ public final class GLUtils {
+ method public static java.lang.String getEGLErrorString(int);
+ method public static int getInternalFormat(android.graphics.Bitmap);
+ method public static int getType(android.graphics.Bitmap);
+ method public static void texImage2D(int, int, int, android.graphics.Bitmap, int);
+ method public static void texImage2D(int, int, int, android.graphics.Bitmap, int, int);
+ method public static void texImage2D(int, int, android.graphics.Bitmap, int);
+ method public static void texSubImage2D(int, int, int, int, android.graphics.Bitmap);
+ method public static void texSubImage2D(int, int, int, int, android.graphics.Bitmap, int, int);
+ }
+
+ public class Matrix {
+ ctor public Matrix();
+ method public static void frustumM(float[], int, float, float, float, float, float, float);
+ method public static boolean invertM(float[], int, float[], int);
+ method public static float length(float, float, float);
+ method public static void multiplyMM(float[], int, float[], int, float[], int);
+ method public static void multiplyMV(float[], int, float[], int, float[], int);
+ method public static void orthoM(float[], int, float, float, float, float, float, float);
+ method public static void perspectiveM(float[], int, float, float, float, float);
+ method public static void rotateM(float[], int, float[], int, float, float, float, float);
+ method public static void rotateM(float[], int, float, float, float, float);
+ method public static void scaleM(float[], int, float[], int, float, float, float);
+ method public static void scaleM(float[], int, float, float, float);
+ method public static void setIdentityM(float[], int);
+ method public static void setLookAtM(float[], int, float, float, float, float, float, float, float, float, float);
+ method public static void setRotateEulerM(float[], int, float, float, float);
+ method public static void setRotateM(float[], int, float, float, float, float);
+ method public static void translateM(float[], int, float[], int, float, float, float);
+ method public static void translateM(float[], int, float, float, float);
+ method public static void transposeM(float[], int, float[], int);
+ }
+
+ public class Visibility {
+ ctor public Visibility();
+ method public static void computeBoundingSphere(float[], int, int, float[], int);
+ method public static int frustumCullSpheres(float[], int, float[], int, int, int[], int, int);
+ method public static int visibilityTest(float[], int, float[], int, char[], int, int);
+ }
+
+}
+
+package android.os {
+
+ public abstract class AsyncTask {
+ ctor public AsyncTask();
+ method public final boolean cancel(boolean);
+ method protected abstract Result doInBackground(Params...);
+ method public final android.os.AsyncTask<Params, Progress, Result> execute(Params...);
+ method public static void execute(java.lang.Runnable);
+ method public final android.os.AsyncTask<Params, Progress, Result> executeOnExecutor(java.util.concurrent.Executor, Params...);
+ method public final Result get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+ method public final Result get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+ method public final android.os.AsyncTask.Status getStatus();
+ method public final boolean isCancelled();
+ method protected void onCancelled(Result);
+ method protected void onCancelled();
+ method protected void onPostExecute(Result);
+ method protected void onPreExecute();
+ method protected void onProgressUpdate(Progress...);
+ method protected final void publishProgress(Progress...);
+ field public static final java.util.concurrent.Executor SERIAL_EXECUTOR;
+ field public static final java.util.concurrent.Executor THREAD_POOL_EXECUTOR;
+ }
+
+ public static final class AsyncTask.Status extends java.lang.Enum {
+ method public static android.os.AsyncTask.Status valueOf(java.lang.String);
+ method public static final android.os.AsyncTask.Status[] values();
+ enum_constant public static final android.os.AsyncTask.Status FINISHED;
+ enum_constant public static final android.os.AsyncTask.Status PENDING;
+ enum_constant public static final android.os.AsyncTask.Status RUNNING;
+ }
+
+ public class BadParcelableException extends android.util.AndroidRuntimeException {
+ ctor public BadParcelableException(java.lang.String);
+ ctor public BadParcelableException(java.lang.Exception);
+ }
+
+ public class BatteryManager {
+ ctor public BatteryManager();
+ field public static final int BATTERY_HEALTH_COLD = 7; // 0x7
+ field public static final int BATTERY_HEALTH_DEAD = 4; // 0x4
+ field public static final int BATTERY_HEALTH_GOOD = 2; // 0x2
+ field public static final int BATTERY_HEALTH_OVERHEAT = 3; // 0x3
+ field public static final int BATTERY_HEALTH_OVER_VOLTAGE = 5; // 0x5
+ field public static final int BATTERY_HEALTH_UNKNOWN = 1; // 0x1
+ field public static final int BATTERY_HEALTH_UNSPECIFIED_FAILURE = 6; // 0x6
+ field public static final int BATTERY_PLUGGED_AC = 1; // 0x1
+ field public static final int BATTERY_PLUGGED_USB = 2; // 0x2
+ field public static final int BATTERY_STATUS_CHARGING = 2; // 0x2
+ field public static final int BATTERY_STATUS_DISCHARGING = 3; // 0x3
+ field public static final int BATTERY_STATUS_FULL = 5; // 0x5
+ field public static final int BATTERY_STATUS_NOT_CHARGING = 4; // 0x4
+ field public static final int BATTERY_STATUS_UNKNOWN = 1; // 0x1
+ field public static final java.lang.String EXTRA_HEALTH = "health";
+ field public static final java.lang.String EXTRA_ICON_SMALL = "icon-small";
+ field public static final java.lang.String EXTRA_LEVEL = "level";
+ field public static final java.lang.String EXTRA_PLUGGED = "plugged";
+ field public static final java.lang.String EXTRA_PRESENT = "present";
+ field public static final java.lang.String EXTRA_SCALE = "scale";
+ field public static final java.lang.String EXTRA_STATUS = "status";
+ field public static final java.lang.String EXTRA_TECHNOLOGY = "technology";
+ field public static final java.lang.String EXTRA_TEMPERATURE = "temperature";
+ field public static final java.lang.String EXTRA_VOLTAGE = "voltage";
+ }
+
+ public class Binder implements android.os.IBinder {
+ ctor public Binder();
+ method public void attachInterface(android.os.IInterface, java.lang.String);
+ method public static final long clearCallingIdentity();
+ method public void dump(java.io.FileDescriptor, java.lang.String[]);
+ method protected void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
+ method public void dumpAsync(java.io.FileDescriptor, java.lang.String[]);
+ method public static final void flushPendingCommands();
+ method public static final int getCallingPid();
+ method public static final int getCallingUid();
+ method public java.lang.String getInterfaceDescriptor();
+ method public boolean isBinderAlive();
+ method public static final void joinThreadPool();
+ method public void linkToDeath(android.os.IBinder.DeathRecipient, int);
+ method protected boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
+ method public boolean pingBinder();
+ method public android.os.IInterface queryLocalInterface(java.lang.String);
+ method public static final void restoreCallingIdentity(long);
+ method public final boolean transact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
+ method public boolean unlinkToDeath(android.os.IBinder.DeathRecipient, int);
+ }
+
+ public class Build {
+ ctor public Build();
+ method public static java.lang.String getRadioVersion();
+ field public static final java.lang.String BOARD;
+ field public static final java.lang.String BOOTLOADER;
+ field public static final java.lang.String BRAND;
+ field public static final java.lang.String CPU_ABI;
+ field public static final java.lang.String CPU_ABI2;
+ field public static final java.lang.String DEVICE;
+ field public static final java.lang.String DISPLAY;
+ field public static final java.lang.String FINGERPRINT;
+ field public static final java.lang.String HARDWARE;
+ field public static final java.lang.String HOST;
+ field public static final java.lang.String ID;
+ field public static final java.lang.String MANUFACTURER;
+ field public static final java.lang.String MODEL;
+ field public static final java.lang.String PRODUCT;
+ field public static final deprecated java.lang.String RADIO;
+ field public static final java.lang.String SERIAL;
+ field public static final java.lang.String TAGS;
+ field public static final long TIME;
+ field public static final java.lang.String TYPE;
+ field public static final java.lang.String UNKNOWN = "unknown";
+ field public static final java.lang.String USER;
+ }
+
+ public static class Build.VERSION {
+ ctor public Build.VERSION();
+ field public static final java.lang.String CODENAME;
+ field public static final java.lang.String INCREMENTAL;
+ field public static final java.lang.String RELEASE;
+ field public static final deprecated java.lang.String SDK;
+ field public static final int SDK_INT;
+ }
+
+ public static class Build.VERSION_CODES {
+ ctor public Build.VERSION_CODES();
+ field public static final int BASE = 1; // 0x1
+ field public static final int BASE_1_1 = 2; // 0x2
+ field public static final int CUPCAKE = 3; // 0x3
+ field public static final int CUR_DEVELOPMENT = 10000; // 0x2710
+ field public static final int DONUT = 4; // 0x4
+ field public static final int ECLAIR = 5; // 0x5
+ field public static final int ECLAIR_0_1 = 6; // 0x6
+ field public static final int ECLAIR_MR1 = 7; // 0x7
+ field public static final int FROYO = 8; // 0x8
+ field public static final int GINGERBREAD = 9; // 0x9
+ field public static final int GINGERBREAD_MR1 = 10; // 0xa
+ field public static final int HONEYCOMB = 11; // 0xb
+ field public static final int HONEYCOMB_MR1 = 12; // 0xc
+ field public static final int HONEYCOMB_MR2 = 13; // 0xd
+ field public static final int ICE_CREAM_SANDWICH = 14; // 0xe
+ }
+
+ public final class Bundle implements java.lang.Cloneable android.os.Parcelable {
+ ctor public Bundle();
+ ctor public Bundle(java.lang.ClassLoader);
+ ctor public Bundle(int);
+ ctor public Bundle(android.os.Bundle);
+ method public void clear();
+ method public java.lang.Object clone();
+ method public boolean containsKey(java.lang.String);
+ method public int describeContents();
+ method public java.lang.Object get(java.lang.String);
+ method public boolean getBoolean(java.lang.String);
+ method public boolean getBoolean(java.lang.String, boolean);
+ method public boolean[] getBooleanArray(java.lang.String);
+ method public android.os.Bundle getBundle(java.lang.String);
+ method public byte getByte(java.lang.String);
+ method public java.lang.Byte getByte(java.lang.String, byte);
+ method public byte[] getByteArray(java.lang.String);
+ method public char getChar(java.lang.String);
+ method public char getChar(java.lang.String, char);
+ method public char[] getCharArray(java.lang.String);
+ method public java.lang.CharSequence getCharSequence(java.lang.String);
+ method public java.lang.CharSequence getCharSequence(java.lang.String, java.lang.CharSequence);
+ method public java.lang.CharSequence[] getCharSequenceArray(java.lang.String);
+ method public java.util.ArrayList<java.lang.CharSequence> getCharSequenceArrayList(java.lang.String);
+ method public java.lang.ClassLoader getClassLoader();
+ method public double getDouble(java.lang.String);
+ method public double getDouble(java.lang.String, double);
+ method public double[] getDoubleArray(java.lang.String);
+ method public float getFloat(java.lang.String);
+ method public float getFloat(java.lang.String, float);
+ method public float[] getFloatArray(java.lang.String);
+ method public int getInt(java.lang.String);
+ method public int getInt(java.lang.String, int);
+ method public int[] getIntArray(java.lang.String);
+ method public java.util.ArrayList<java.lang.Integer> getIntegerArrayList(java.lang.String);
+ method public long getLong(java.lang.String);
+ method public long getLong(java.lang.String, long);
+ method public long[] getLongArray(java.lang.String);
+ method public T getParcelable(java.lang.String);
+ method public android.os.Parcelable[] getParcelableArray(java.lang.String);
+ method public java.util.ArrayList<T> getParcelableArrayList(java.lang.String);
+ method public java.io.Serializable getSerializable(java.lang.String);
+ method public short getShort(java.lang.String);
+ method public short getShort(java.lang.String, short);
+ method public short[] getShortArray(java.lang.String);
+ method public android.util.SparseArray<T> getSparseParcelableArray(java.lang.String);
+ method public java.lang.String getString(java.lang.String);
+ method public java.lang.String getString(java.lang.String, java.lang.String);
+ method public java.lang.String[] getStringArray(java.lang.String);
+ method public java.util.ArrayList<java.lang.String> getStringArrayList(java.lang.String);
+ method public boolean hasFileDescriptors();
+ method public boolean isEmpty();
+ method public java.util.Set<java.lang.String> keySet();
+ method public void putAll(android.os.Bundle);
+ method public void putBoolean(java.lang.String, boolean);
+ method public void putBooleanArray(java.lang.String, boolean[]);
+ method public void putBundle(java.lang.String, android.os.Bundle);
+ method public void putByte(java.lang.String, byte);
+ method public void putByteArray(java.lang.String, byte[]);
+ method public void putChar(java.lang.String, char);
+ method public void putCharArray(java.lang.String, char[]);
+ method public void putCharSequence(java.lang.String, java.lang.CharSequence);
+ method public void putCharSequenceArray(java.lang.String, java.lang.CharSequence[]);
+ method public void putCharSequenceArrayList(java.lang.String, java.util.ArrayList<java.lang.CharSequence>);
+ method public void putDouble(java.lang.String, double);
+ method public void putDoubleArray(java.lang.String, double[]);
+ method public void putFloat(java.lang.String, float);
+ method public void putFloatArray(java.lang.String, float[]);
+ method public void putInt(java.lang.String, int);
+ method public void putIntArray(java.lang.String, int[]);
+ method public void putIntegerArrayList(java.lang.String, java.util.ArrayList<java.lang.Integer>);
+ method public void putLong(java.lang.String, long);
+ method public void putLongArray(java.lang.String, long[]);
+ method public void putParcelable(java.lang.String, android.os.Parcelable);
+ method public void putParcelableArray(java.lang.String, android.os.Parcelable[]);
+ method public void putParcelableArrayList(java.lang.String, java.util.ArrayList<? extends android.os.Parcelable>);
+ method public void putSerializable(java.lang.String, java.io.Serializable);
+ method public void putShort(java.lang.String, short);
+ method public void putShortArray(java.lang.String, short[]);
+ method public void putSparseParcelableArray(java.lang.String, android.util.SparseArray<? extends android.os.Parcelable>);
+ method public void putString(java.lang.String, java.lang.String);
+ method public void putStringArray(java.lang.String, java.lang.String[]);
+ method public void putStringArrayList(java.lang.String, java.util.ArrayList<java.lang.String>);
+ method public void readFromParcel(android.os.Parcel);
+ method public void remove(java.lang.String);
+ method public void setClassLoader(java.lang.ClassLoader);
+ method public int size();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final android.os.Bundle EMPTY;
+ }
+
+ public class ConditionVariable {
+ ctor public ConditionVariable();
+ ctor public ConditionVariable(boolean);
+ method public void block();
+ method public boolean block(long);
+ method public void close();
+ method public void open();
+ }
+
+ public abstract class CountDownTimer {
+ ctor public CountDownTimer(long, long);
+ method public final void cancel();
+ method public abstract void onFinish();
+ method public abstract void onTick(long);
+ method public final synchronized android.os.CountDownTimer start();
+ }
+
+ public class DeadObjectException extends android.os.RemoteException {
+ ctor public DeadObjectException();
+ }
+
+ public final class Debug {
+ method public static deprecated void changeDebugPort(int);
+ method public static void dumpHprofData(java.lang.String) throws java.io.IOException;
+ method public static boolean dumpService(java.lang.String, java.io.FileDescriptor, java.lang.String[]);
+ method public static void enableEmulatorTraceOutput();
+ method public static final int getBinderDeathObjectCount();
+ method public static final int getBinderLocalObjectCount();
+ method public static final int getBinderProxyObjectCount();
+ method public static int getBinderReceivedTransactions();
+ method public static int getBinderSentTransactions();
+ method public static int getGlobalAllocCount();
+ method public static int getGlobalAllocSize();
+ method public static int getGlobalClassInitCount();
+ method public static int getGlobalClassInitTime();
+ method public static deprecated int getGlobalExternalAllocCount();
+ method public static deprecated int getGlobalExternalAllocSize();
+ method public static deprecated int getGlobalExternalFreedCount();
+ method public static deprecated int getGlobalExternalFreedSize();
+ method public static int getGlobalFreedCount();
+ method public static int getGlobalFreedSize();
+ method public static int getGlobalGcInvocationCount();
+ method public static int getLoadedClassCount();
+ method public static void getMemoryInfo(android.os.Debug.MemoryInfo);
+ method public static long getNativeHeapAllocatedSize();
+ method public static long getNativeHeapFreeSize();
+ method public static long getNativeHeapSize();
+ method public static long getPss();
+ method public static int getThreadAllocCount();
+ method public static int getThreadAllocSize();
+ method public static deprecated int getThreadExternalAllocCount();
+ method public static deprecated int getThreadExternalAllocSize();
+ method public static int getThreadGcInvocationCount();
+ method public static boolean isDebuggerConnected();
+ method public static void printLoadedClasses(int);
+ method public static void resetAllCounts();
+ method public static void resetGlobalAllocCount();
+ method public static void resetGlobalAllocSize();
+ method public static void resetGlobalClassInitCount();
+ method public static void resetGlobalClassInitTime();
+ method public static deprecated void resetGlobalExternalAllocCount();
+ method public static deprecated void resetGlobalExternalAllocSize();
+ method public static deprecated void resetGlobalExternalFreedCount();
+ method public static deprecated void resetGlobalExternalFreedSize();
+ method public static void resetGlobalFreedCount();
+ method public static void resetGlobalFreedSize();
+ method public static void resetGlobalGcInvocationCount();
+ method public static void resetThreadAllocCount();
+ method public static void resetThreadAllocSize();
+ method public static deprecated void resetThreadExternalAllocCount();
+ method public static deprecated void resetThreadExternalAllocSize();
+ method public static void resetThreadGcInvocationCount();
+ method public static deprecated int setAllocationLimit(int);
+ method public static deprecated int setGlobalAllocationLimit(int);
+ method public static void startAllocCounting();
+ method public static void startMethodTracing();
+ method public static void startMethodTracing(java.lang.String);
+ method public static void startMethodTracing(java.lang.String, int);
+ method public static void startMethodTracing(java.lang.String, int, int);
+ method public static void startNativeTracing();
+ method public static void stopAllocCounting();
+ method public static void stopMethodTracing();
+ method public static void stopNativeTracing();
+ method public static long threadCpuTimeNanos();
+ method public static void waitForDebugger();
+ method public static boolean waitingForDebugger();
+ field public static final int SHOW_CLASSLOADER = 2; // 0x2
+ field public static final int SHOW_FULL_DETAIL = 1; // 0x1
+ field public static final int SHOW_INITIALIZED = 4; // 0x4
+ field public static final int TRACE_COUNT_ALLOCS = 1; // 0x1
+ }
+
+ public static class Debug.InstructionCount {
+ ctor public Debug.InstructionCount();
+ method public boolean collect();
+ method public int globalMethodInvocations();
+ method public int globalTotal();
+ method public boolean resetAndStart();
+ }
+
+ public static class Debug.MemoryInfo implements android.os.Parcelable {
+ ctor public Debug.MemoryInfo();
+ method public int describeContents();
+ method public static java.lang.String getOtherLabel(int);
+ method public int getOtherPrivateDirty(int);
+ method public int getOtherPss(int);
+ method public int getOtherSharedDirty(int);
+ method public int getTotalPrivateDirty();
+ method public int getTotalPss();
+ method public int getTotalSharedDirty();
+ method public void readFromParcel(android.os.Parcel);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public int dalvikPrivateDirty;
+ field public int dalvikPss;
+ field public int dalvikSharedDirty;
+ field public int nativePrivateDirty;
+ field public int nativePss;
+ field public int nativeSharedDirty;
+ field public int otherPrivateDirty;
+ field public int otherPss;
+ field public int otherSharedDirty;
+ }
+
+ public class DropBoxManager {
+ ctor protected DropBoxManager();
+ method public void addData(java.lang.String, byte[], int);
+ method public void addFile(java.lang.String, java.io.File, int) throws java.io.IOException;
+ method public void addText(java.lang.String, java.lang.String);
+ method public android.os.DropBoxManager.Entry getNextEntry(java.lang.String, long);
+ method public boolean isTagEnabled(java.lang.String);
+ field public static final java.lang.String ACTION_DROPBOX_ENTRY_ADDED = "android.intent.action.DROPBOX_ENTRY_ADDED";
+ field public static final java.lang.String EXTRA_TAG = "tag";
+ field public static final java.lang.String EXTRA_TIME = "time";
+ field public static final int IS_EMPTY = 1; // 0x1
+ field public static final int IS_GZIPPED = 4; // 0x4
+ field public static final int IS_TEXT = 2; // 0x2
+ }
+
+ public static class DropBoxManager.Entry implements java.io.Closeable android.os.Parcelable {
+ ctor public DropBoxManager.Entry(java.lang.String, long);
+ ctor public DropBoxManager.Entry(java.lang.String, long, java.lang.String);
+ ctor public DropBoxManager.Entry(java.lang.String, long, byte[], int);
+ ctor public DropBoxManager.Entry(java.lang.String, long, android.os.ParcelFileDescriptor, int);
+ ctor public DropBoxManager.Entry(java.lang.String, long, java.io.File, int) throws java.io.IOException;
+ method public void close();
+ method public int describeContents();
+ method public int getFlags();
+ method public java.io.InputStream getInputStream() throws java.io.IOException;
+ method public java.lang.String getTag();
+ method public java.lang.String getText(int);
+ method public long getTimeMillis();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class Environment {
+ ctor public Environment();
+ method public static java.io.File getDataDirectory();
+ method public static java.io.File getDownloadCacheDirectory();
+ method public static java.io.File getExternalStorageDirectory();
+ method public static java.io.File getExternalStoragePublicDirectory(java.lang.String);
+ method public static java.lang.String getExternalStorageState();
+ method public static java.io.File getRootDirectory();
+ method public static boolean isExternalStorageEmulated();
+ method public static boolean isExternalStorageRemovable();
+ field public static java.lang.String DIRECTORY_ALARMS;
+ field public static java.lang.String DIRECTORY_DCIM;
+ field public static java.lang.String DIRECTORY_DOWNLOADS;
+ field public static java.lang.String DIRECTORY_MOVIES;
+ field public static java.lang.String DIRECTORY_MUSIC;
+ field public static java.lang.String DIRECTORY_NOTIFICATIONS;
+ field public static java.lang.String DIRECTORY_PICTURES;
+ field public static java.lang.String DIRECTORY_PODCASTS;
+ field public static java.lang.String DIRECTORY_RINGTONES;
+ field public static final java.lang.String MEDIA_BAD_REMOVAL = "bad_removal";
+ field public static final java.lang.String MEDIA_CHECKING = "checking";
+ field public static final java.lang.String MEDIA_MOUNTED = "mounted";
+ field public static final java.lang.String MEDIA_MOUNTED_READ_ONLY = "mounted_ro";
+ field public static final java.lang.String MEDIA_NOFS = "nofs";
+ field public static final java.lang.String MEDIA_REMOVED = "removed";
+ field public static final java.lang.String MEDIA_SHARED = "shared";
+ field public static final java.lang.String MEDIA_UNMOUNTABLE = "unmountable";
+ field public static final java.lang.String MEDIA_UNMOUNTED = "unmounted";
+ }
+
+ public abstract class FileObserver {
+ ctor public FileObserver(java.lang.String);
+ ctor public FileObserver(java.lang.String, int);
+ method public abstract void onEvent(int, java.lang.String);
+ method public void startWatching();
+ method public void stopWatching();
+ field public static final int ACCESS = 1; // 0x1
+ field public static final int ALL_EVENTS = 4095; // 0xfff
+ field public static final int ATTRIB = 4; // 0x4
+ field public static final int CLOSE_NOWRITE = 16; // 0x10
+ field public static final int CLOSE_WRITE = 8; // 0x8
+ field public static final int CREATE = 256; // 0x100
+ field public static final int DELETE = 512; // 0x200
+ field public static final int DELETE_SELF = 1024; // 0x400
+ field public static final int MODIFY = 2; // 0x2
+ field public static final int MOVED_FROM = 64; // 0x40
+ field public static final int MOVED_TO = 128; // 0x80
+ field public static final int MOVE_SELF = 2048; // 0x800
+ field public static final int OPEN = 32; // 0x20
+ }
+
+ public class Handler {
+ ctor public Handler();
+ ctor public Handler(android.os.Handler.Callback);
+ ctor public Handler(android.os.Looper);
+ ctor public Handler(android.os.Looper, android.os.Handler.Callback);
+ method public void dispatchMessage(android.os.Message);
+ method public final void dump(android.util.Printer, java.lang.String);
+ method public final android.os.Looper getLooper();
+ method public java.lang.String getMessageName(android.os.Message);
+ method public void handleMessage(android.os.Message);
+ method public final boolean hasMessages(int);
+ method public final boolean hasMessages(int, java.lang.Object);
+ method public final android.os.Message obtainMessage();
+ method public final android.os.Message obtainMessage(int);
+ method public final android.os.Message obtainMessage(int, java.lang.Object);
+ method public final android.os.Message obtainMessage(int, int, int);
+ method public final android.os.Message obtainMessage(int, int, int, java.lang.Object);
+ method public final boolean post(java.lang.Runnable);
+ method public final boolean postAtFrontOfQueue(java.lang.Runnable);
+ method public final boolean postAtTime(java.lang.Runnable, long);
+ method public final boolean postAtTime(java.lang.Runnable, java.lang.Object, long);
+ method public final boolean postDelayed(java.lang.Runnable, long);
+ method public final void removeCallbacks(java.lang.Runnable);
+ method public final void removeCallbacks(java.lang.Runnable, java.lang.Object);
+ method public final void removeCallbacksAndMessages(java.lang.Object);
+ method public final void removeMessages(int);
+ method public final void removeMessages(int, java.lang.Object);
+ method public final boolean sendEmptyMessage(int);
+ method public final boolean sendEmptyMessageAtTime(int, long);
+ method public final boolean sendEmptyMessageDelayed(int, long);
+ method public final boolean sendMessage(android.os.Message);
+ method public final boolean sendMessageAtFrontOfQueue(android.os.Message);
+ method public boolean sendMessageAtTime(android.os.Message, long);
+ method public final boolean sendMessageDelayed(android.os.Message, long);
+ }
+
+ public static abstract interface Handler.Callback {
+ method public abstract boolean handleMessage(android.os.Message);
+ }
+
+ public class HandlerThread extends java.lang.Thread {
+ ctor public HandlerThread(java.lang.String);
+ ctor public HandlerThread(java.lang.String, int);
+ method public android.os.Looper getLooper();
+ method public int getThreadId();
+ method protected void onLooperPrepared();
+ method public boolean quit();
+ }
+
+ public abstract interface IBinder {
+ method public abstract void dump(java.io.FileDescriptor, java.lang.String[]) throws android.os.RemoteException;
+ method public abstract void dumpAsync(java.io.FileDescriptor, java.lang.String[]) throws android.os.RemoteException;
+ method public abstract java.lang.String getInterfaceDescriptor() throws android.os.RemoteException;
+ method public abstract boolean isBinderAlive();
+ method public abstract void linkToDeath(android.os.IBinder.DeathRecipient, int) throws android.os.RemoteException;
+ method public abstract boolean pingBinder();
+ method public abstract android.os.IInterface queryLocalInterface(java.lang.String);
+ method public abstract boolean transact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
+ method public abstract boolean unlinkToDeath(android.os.IBinder.DeathRecipient, int);
+ field public static final int DUMP_TRANSACTION = 1598311760; // 0x5f444d50
+ field public static final int FIRST_CALL_TRANSACTION = 1; // 0x1
+ field public static final int FLAG_ONEWAY = 1; // 0x1
+ field public static final int INTERFACE_TRANSACTION = 1598968902; // 0x5f4e5446
+ field public static final int LAST_CALL_TRANSACTION = 16777215; // 0xffffff
+ field public static final int PING_TRANSACTION = 1599098439; // 0x5f504e47
+ field public static final int TWEET_TRANSACTION = 1599362900; // 0x5f545754
+ }
+
+ public static abstract interface IBinder.DeathRecipient {
+ method public abstract void binderDied();
+ }
+
+ public abstract interface IInterface {
+ method public abstract android.os.IBinder asBinder();
+ }
+
+ public class Looper {
+ method public void dump(android.util.Printer, java.lang.String);
+ method public static synchronized android.os.Looper getMainLooper();
+ method public java.lang.Thread getThread();
+ method public static void loop();
+ method public static android.os.Looper myLooper();
+ method public static android.os.MessageQueue myQueue();
+ method public static void prepare();
+ method public static void prepareMainLooper();
+ method public void quit();
+ method public void setMessageLogging(android.util.Printer);
+ }
+
+ public class MemoryFile {
+ ctor public MemoryFile(java.lang.String, int) throws java.io.IOException;
+ method public synchronized boolean allowPurging(boolean) throws java.io.IOException;
+ method public void close();
+ method public java.io.InputStream getInputStream();
+ method public java.io.OutputStream getOutputStream();
+ method public boolean isPurgingAllowed();
+ method public int length();
+ method public int readBytes(byte[], int, int, int) throws java.io.IOException;
+ method public void writeBytes(byte[], int, int, int) throws java.io.IOException;
+ }
+
+ public final class Message implements android.os.Parcelable {
+ ctor public Message();
+ method public void copyFrom(android.os.Message);
+ method public int describeContents();
+ method public java.lang.Runnable getCallback();
+ method public android.os.Bundle getData();
+ method public android.os.Handler getTarget();
+ method public long getWhen();
+ method public static android.os.Message obtain();
+ method public static android.os.Message obtain(android.os.Message);
+ method public static android.os.Message obtain(android.os.Handler);
+ method public static android.os.Message obtain(android.os.Handler, java.lang.Runnable);
+ method public static android.os.Message obtain(android.os.Handler, int);
+ method public static android.os.Message obtain(android.os.Handler, int, java.lang.Object);
+ method public static android.os.Message obtain(android.os.Handler, int, int, int);
+ method public static android.os.Message obtain(android.os.Handler, int, int, int, java.lang.Object);
+ method public android.os.Bundle peekData();
+ method public void recycle();
+ method public void sendToTarget();
+ method public void setData(android.os.Bundle);
+ method public void setTarget(android.os.Handler);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public int arg1;
+ field public int arg2;
+ field public java.lang.Object obj;
+ field public android.os.Messenger replyTo;
+ field public int what;
+ }
+
+ public class MessageQueue {
+ method public final void addIdleHandler(android.os.MessageQueue.IdleHandler);
+ method public final void removeIdleHandler(android.os.MessageQueue.IdleHandler);
+ }
+
+ public static abstract interface MessageQueue.IdleHandler {
+ method public abstract boolean queueIdle();
+ }
+
+ public final class Messenger implements android.os.Parcelable {
+ ctor public Messenger(android.os.Handler);
+ ctor public Messenger(android.os.IBinder);
+ method public int describeContents();
+ method public android.os.IBinder getBinder();
+ method public static android.os.Messenger readMessengerOrNullFromParcel(android.os.Parcel);
+ method public void send(android.os.Message) throws android.os.RemoteException;
+ method public static void writeMessengerOrNullToParcel(android.os.Messenger, android.os.Parcel);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class NetworkOnMainThreadException extends java.lang.RuntimeException {
+ ctor public NetworkOnMainThreadException();
+ }
+
+ public final class Parcel {
+ method public final void appendFrom(android.os.Parcel, int, int);
+ method public final android.os.IBinder[] createBinderArray();
+ method public final java.util.ArrayList<android.os.IBinder> createBinderArrayList();
+ method public final boolean[] createBooleanArray();
+ method public final byte[] createByteArray();
+ method public final char[] createCharArray();
+ method public final double[] createDoubleArray();
+ method public final float[] createFloatArray();
+ method public final int[] createIntArray();
+ method public final long[] createLongArray();
+ method public final java.lang.String[] createStringArray();
+ method public final java.util.ArrayList<java.lang.String> createStringArrayList();
+ method public final T[] createTypedArray(android.os.Parcelable.Creator<T>);
+ method public final java.util.ArrayList<T> createTypedArrayList(android.os.Parcelable.Creator<T>);
+ method public final int dataAvail();
+ method public final int dataCapacity();
+ method public final int dataPosition();
+ method public final int dataSize();
+ method public final void enforceInterface(java.lang.String);
+ method public final boolean hasFileDescriptors();
+ method public final byte[] marshall();
+ method public static android.os.Parcel obtain();
+ method protected static final android.os.Parcel obtain(int);
+ method public final java.lang.Object[] readArray(java.lang.ClassLoader);
+ method public final java.util.ArrayList readArrayList(java.lang.ClassLoader);
+ method public final void readBinderArray(android.os.IBinder[]);
+ method public final void readBinderList(java.util.List<android.os.IBinder>);
+ method public final void readBooleanArray(boolean[]);
+ method public final android.os.Bundle readBundle();
+ method public final android.os.Bundle readBundle(java.lang.ClassLoader);
+ method public final byte readByte();
+ method public final void readByteArray(byte[]);
+ method public final void readCharArray(char[]);
+ method public final double readDouble();
+ method public final void readDoubleArray(double[]);
+ method public final void readException();
+ method public final void readException(int, java.lang.String);
+ method public final android.os.ParcelFileDescriptor readFileDescriptor();
+ method public final float readFloat();
+ method public final void readFloatArray(float[]);
+ method public final java.util.HashMap readHashMap(java.lang.ClassLoader);
+ method public final int readInt();
+ method public final void readIntArray(int[]);
+ method public final void readList(java.util.List, java.lang.ClassLoader);
+ method public final long readLong();
+ method public final void readLongArray(long[]);
+ method public final void readMap(java.util.Map, java.lang.ClassLoader);
+ method public final T readParcelable(java.lang.ClassLoader);
+ method public final android.os.Parcelable[] readParcelableArray(java.lang.ClassLoader);
+ method public final java.io.Serializable readSerializable();
+ method public final android.util.SparseArray readSparseArray(java.lang.ClassLoader);
+ method public final android.util.SparseBooleanArray readSparseBooleanArray();
+ method public final java.lang.String readString();
+ method public final void readStringArray(java.lang.String[]);
+ method public final void readStringList(java.util.List<java.lang.String>);
+ method public final android.os.IBinder readStrongBinder();
+ method public final void readTypedArray(T[], android.os.Parcelable.Creator<T>);
+ method public final void readTypedList(java.util.List<T>, android.os.Parcelable.Creator<T>);
+ method public final java.lang.Object readValue(java.lang.ClassLoader);
+ method public final void recycle();
+ method public final void setDataCapacity(int);
+ method public final void setDataPosition(int);
+ method public final void setDataSize(int);
+ method public final void unmarshall(byte[], int, int);
+ method public final void writeArray(java.lang.Object[]);
+ method public final void writeBinderArray(android.os.IBinder[]);
+ method public final void writeBinderList(java.util.List<android.os.IBinder>);
+ method public final void writeBooleanArray(boolean[]);
+ method public final void writeBundle(android.os.Bundle);
+ method public final void writeByte(byte);
+ method public final void writeByteArray(byte[]);
+ method public final void writeByteArray(byte[], int, int);
+ method public final void writeCharArray(char[]);
+ method public final void writeDouble(double);
+ method public final void writeDoubleArray(double[]);
+ method public final void writeException(java.lang.Exception);
+ method public final void writeFileDescriptor(java.io.FileDescriptor);
+ method public final void writeFloat(float);
+ method public final void writeFloatArray(float[]);
+ method public final void writeInt(int);
+ method public final void writeIntArray(int[]);
+ method public final void writeInterfaceToken(java.lang.String);
+ method public final void writeList(java.util.List);
+ method public final void writeLong(long);
+ method public final void writeLongArray(long[]);
+ method public final void writeMap(java.util.Map);
+ method public final void writeNoException();
+ method public final void writeParcelable(android.os.Parcelable, int);
+ method public final void writeParcelableArray(T[], int);
+ method public final void writeSerializable(java.io.Serializable);
+ method public final void writeSparseArray(android.util.SparseArray<java.lang.Object>);
+ method public final void writeSparseBooleanArray(android.util.SparseBooleanArray);
+ method public final void writeString(java.lang.String);
+ method public final void writeStringArray(java.lang.String[]);
+ method public final void writeStringList(java.util.List<java.lang.String>);
+ method public final void writeStrongBinder(android.os.IBinder);
+ method public final void writeStrongInterface(android.os.IInterface);
+ method public final void writeTypedArray(T[], int);
+ method public final void writeTypedList(java.util.List<T>);
+ method public final void writeValue(java.lang.Object);
+ field public static final android.os.Parcelable.Creator STRING_CREATOR;
+ }
+
+ public class ParcelFileDescriptor implements android.os.Parcelable {
+ ctor public ParcelFileDescriptor(android.os.ParcelFileDescriptor);
+ method public static android.os.ParcelFileDescriptor adoptFd(int);
+ method public void close() throws java.io.IOException;
+ method public static android.os.ParcelFileDescriptor[] createPipe() throws java.io.IOException;
+ method public int describeContents();
+ method public int detachFd();
+ method public static android.os.ParcelFileDescriptor dup(java.io.FileDescriptor) throws java.io.IOException;
+ method public android.os.ParcelFileDescriptor dup() throws java.io.IOException;
+ method public static android.os.ParcelFileDescriptor fromDatagramSocket(java.net.DatagramSocket);
+ method public static android.os.ParcelFileDescriptor fromFd(int) throws java.io.IOException;
+ method public static android.os.ParcelFileDescriptor fromSocket(java.net.Socket);
+ method public int getFd();
+ method public java.io.FileDescriptor getFileDescriptor();
+ method public long getStatSize();
+ method public static android.os.ParcelFileDescriptor open(java.io.File, int) throws java.io.FileNotFoundException;
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int MODE_APPEND = 33554432; // 0x2000000
+ field public static final int MODE_CREATE = 134217728; // 0x8000000
+ field public static final int MODE_READ_ONLY = 268435456; // 0x10000000
+ field public static final int MODE_READ_WRITE = 805306368; // 0x30000000
+ field public static final int MODE_TRUNCATE = 67108864; // 0x4000000
+ field public static final int MODE_WORLD_READABLE = 1; // 0x1
+ field public static final int MODE_WORLD_WRITEABLE = 2; // 0x2
+ field public static final int MODE_WRITE_ONLY = 536870912; // 0x20000000
+ }
+
+ public static class ParcelFileDescriptor.AutoCloseInputStream extends java.io.FileInputStream {
+ ctor public ParcelFileDescriptor.AutoCloseInputStream(android.os.ParcelFileDescriptor);
+ }
+
+ public static class ParcelFileDescriptor.AutoCloseOutputStream extends java.io.FileOutputStream {
+ ctor public ParcelFileDescriptor.AutoCloseOutputStream(android.os.ParcelFileDescriptor);
+ }
+
+ public class ParcelFormatException extends java.lang.RuntimeException {
+ ctor public ParcelFormatException();
+ ctor public ParcelFormatException(java.lang.String);
+ }
+
+ public final class ParcelUuid implements android.os.Parcelable {
+ ctor public ParcelUuid(java.util.UUID);
+ method public int describeContents();
+ method public static android.os.ParcelUuid fromString(java.lang.String);
+ method public java.util.UUID getUuid();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public abstract interface Parcelable {
+ method public abstract int describeContents();
+ method public abstract void writeToParcel(android.os.Parcel, int);
+ field public static final int CONTENTS_FILE_DESCRIPTOR = 1; // 0x1
+ field public static final int PARCELABLE_WRITE_RETURN_VALUE = 1; // 0x1
+ }
+
+ public static abstract interface Parcelable.ClassLoaderCreator implements android.os.Parcelable.Creator {
+ method public abstract T createFromParcel(android.os.Parcel, java.lang.ClassLoader);
+ }
+
+ public static abstract interface Parcelable.Creator {
+ method public abstract T createFromParcel(android.os.Parcel);
+ method public abstract T[] newArray(int);
+ }
+
+ public class PatternMatcher implements android.os.Parcelable {
+ ctor public PatternMatcher(java.lang.String, int);
+ ctor public PatternMatcher(android.os.Parcel);
+ method public int describeContents();
+ method public final java.lang.String getPath();
+ method public final int getType();
+ method public boolean match(java.lang.String);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int PATTERN_LITERAL = 0; // 0x0
+ field public static final int PATTERN_PREFIX = 1; // 0x1
+ field public static final int PATTERN_SIMPLE_GLOB = 2; // 0x2
+ }
+
+ public class PowerManager {
+ method public void goToSleep(long);
+ method public boolean isScreenOn();
+ method public android.os.PowerManager.WakeLock newWakeLock(int, java.lang.String);
+ method public void reboot(java.lang.String);
+ method public void userActivity(long, boolean);
+ field public static final int ACQUIRE_CAUSES_WAKEUP = 268435456; // 0x10000000
+ field public static final int FULL_WAKE_LOCK = 26; // 0x1a
+ field public static final int ON_AFTER_RELEASE = 536870912; // 0x20000000
+ field public static final int PARTIAL_WAKE_LOCK = 1; // 0x1
+ field public static final deprecated int SCREEN_BRIGHT_WAKE_LOCK = 10; // 0xa
+ field public static final int SCREEN_DIM_WAKE_LOCK = 6; // 0x6
+ }
+
+ public class PowerManager.WakeLock {
+ method public void acquire();
+ method public void acquire(long);
+ method public boolean isHeld();
+ method public void release();
+ method public void setReferenceCounted(boolean);
+ method public void setWorkSource(android.os.WorkSource);
+ }
+
+ public class Process {
+ ctor public Process();
+ method public static final long getElapsedCpuTime();
+ method public static final int getGidForName(java.lang.String);
+ method public static final int getThreadPriority(int) throws java.lang.IllegalArgumentException;
+ method public static final int getUidForName(java.lang.String);
+ method public static final void killProcess(int);
+ method public static final int myPid();
+ method public static final int myTid();
+ method public static final int myUid();
+ method public static final void sendSignal(int, int);
+ method public static final void setThreadPriority(int, int) throws java.lang.IllegalArgumentException, java.lang.SecurityException;
+ method public static final void setThreadPriority(int) throws java.lang.IllegalArgumentException, java.lang.SecurityException;
+ method public static final deprecated boolean supportsProcesses();
+ field public static final int BLUETOOTH_GID = 2000; // 0x7d0
+ field public static final int FIRST_APPLICATION_UID = 10000; // 0x2710
+ field public static final int LAST_APPLICATION_UID = 99999; // 0x1869f
+ field public static final int PHONE_UID = 1001; // 0x3e9
+ field public static final int SIGNAL_KILL = 9; // 0x9
+ field public static final int SIGNAL_QUIT = 3; // 0x3
+ field public static final int SIGNAL_USR1 = 10; // 0xa
+ field public static final int SYSTEM_UID = 1000; // 0x3e8
+ field public static final int THREAD_PRIORITY_AUDIO = -16; // 0xfffffff0
+ field public static final int THREAD_PRIORITY_BACKGROUND = 10; // 0xa
+ field public static final int THREAD_PRIORITY_DEFAULT = 0; // 0x0
+ field public static final int THREAD_PRIORITY_DISPLAY = -4; // 0xfffffffc
+ field public static final int THREAD_PRIORITY_FOREGROUND = -2; // 0xfffffffe
+ field public static final int THREAD_PRIORITY_LESS_FAVORABLE = 1; // 0x1
+ field public static final int THREAD_PRIORITY_LOWEST = 19; // 0x13
+ field public static final int THREAD_PRIORITY_MORE_FAVORABLE = -1; // 0xffffffff
+ field public static final int THREAD_PRIORITY_URGENT_AUDIO = -19; // 0xffffffed
+ field public static final int THREAD_PRIORITY_URGENT_DISPLAY = -8; // 0xfffffff8
+ }
+
+ public class RecoverySystem {
+ ctor public RecoverySystem();
+ method public static void installPackage(android.content.Context, java.io.File) throws java.io.IOException;
+ method public static void rebootWipeCache(android.content.Context) throws java.io.IOException;
+ method public static void rebootWipeUserData(android.content.Context) throws java.io.IOException;
+ method public static void verifyPackage(java.io.File, android.os.RecoverySystem.ProgressListener, java.io.File) throws java.security.GeneralSecurityException, java.io.IOException;
+ }
+
+ public static abstract interface RecoverySystem.ProgressListener {
+ method public abstract void onProgress(int);
+ }
+
+ public class RemoteCallbackList {
+ ctor public RemoteCallbackList();
+ method public int beginBroadcast();
+ method public void finishBroadcast();
+ method public java.lang.Object getBroadcastCookie(int);
+ method public E getBroadcastItem(int);
+ method public void kill();
+ method public void onCallbackDied(E);
+ method public void onCallbackDied(E, java.lang.Object);
+ method public boolean register(E);
+ method public boolean register(E, java.lang.Object);
+ method public boolean unregister(E);
+ }
+
+ public class RemoteException extends android.util.AndroidException {
+ ctor public RemoteException();
+ }
+
+ public class ResultReceiver implements android.os.Parcelable {
+ ctor public ResultReceiver(android.os.Handler);
+ method public int describeContents();
+ method protected void onReceiveResult(int, android.os.Bundle);
+ method public void send(int, android.os.Bundle);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class StatFs {
+ ctor public StatFs(java.lang.String);
+ method public int getAvailableBlocks();
+ method public int getBlockCount();
+ method public int getBlockSize();
+ method public int getFreeBlocks();
+ method public void restat(java.lang.String);
+ }
+
+ public final class StrictMode {
+ method public static android.os.StrictMode.ThreadPolicy allowThreadDiskReads();
+ method public static android.os.StrictMode.ThreadPolicy allowThreadDiskWrites();
+ method public static void enableDefaults();
+ method public static android.os.StrictMode.ThreadPolicy getThreadPolicy();
+ method public static android.os.StrictMode.VmPolicy getVmPolicy();
+ method public static void noteSlowCall(java.lang.String);
+ method public static void setThreadPolicy(android.os.StrictMode.ThreadPolicy);
+ method public static void setVmPolicy(android.os.StrictMode.VmPolicy);
+ }
+
+ public static final class StrictMode.ThreadPolicy {
+ field public static final android.os.StrictMode.ThreadPolicy LAX;
+ }
+
+ public static final class StrictMode.ThreadPolicy.Builder {
+ ctor public StrictMode.ThreadPolicy.Builder();
+ ctor public StrictMode.ThreadPolicy.Builder(android.os.StrictMode.ThreadPolicy);
+ method public android.os.StrictMode.ThreadPolicy build();
+ method public android.os.StrictMode.ThreadPolicy.Builder detectAll();
+ method public android.os.StrictMode.ThreadPolicy.Builder detectCustomSlowCalls();
+ method public android.os.StrictMode.ThreadPolicy.Builder detectDiskReads();
+ method public android.os.StrictMode.ThreadPolicy.Builder detectDiskWrites();
+ method public android.os.StrictMode.ThreadPolicy.Builder detectNetwork();
+ method public android.os.StrictMode.ThreadPolicy.Builder penaltyDeath();
+ method public android.os.StrictMode.ThreadPolicy.Builder penaltyDeathOnNetwork();
+ method public android.os.StrictMode.ThreadPolicy.Builder penaltyDialog();
+ method public android.os.StrictMode.ThreadPolicy.Builder penaltyDropBox();
+ method public android.os.StrictMode.ThreadPolicy.Builder penaltyFlashScreen();
+ method public android.os.StrictMode.ThreadPolicy.Builder penaltyLog();
+ method public android.os.StrictMode.ThreadPolicy.Builder permitAll();
+ method public android.os.StrictMode.ThreadPolicy.Builder permitCustomSlowCalls();
+ method public android.os.StrictMode.ThreadPolicy.Builder permitDiskReads();
+ method public android.os.StrictMode.ThreadPolicy.Builder permitDiskWrites();
+ method public android.os.StrictMode.ThreadPolicy.Builder permitNetwork();
+ }
+
+ public static final class StrictMode.VmPolicy {
+ field public static final android.os.StrictMode.VmPolicy LAX;
+ }
+
+ public static final class StrictMode.VmPolicy.Builder {
+ ctor public StrictMode.VmPolicy.Builder();
+ ctor public StrictMode.VmPolicy.Builder(android.os.StrictMode.VmPolicy);
+ method public android.os.StrictMode.VmPolicy build();
+ method public android.os.StrictMode.VmPolicy.Builder detectActivityLeaks();
+ method public android.os.StrictMode.VmPolicy.Builder detectAll();
+ method public android.os.StrictMode.VmPolicy.Builder detectLeakedClosableObjects();
+ method public android.os.StrictMode.VmPolicy.Builder detectLeakedSqlLiteObjects();
+ method public android.os.StrictMode.VmPolicy.Builder penaltyDeath();
+ method public android.os.StrictMode.VmPolicy.Builder penaltyDropBox();
+ method public android.os.StrictMode.VmPolicy.Builder penaltyLog();
+ method public android.os.StrictMode.VmPolicy.Builder setClassInstanceLimit(java.lang.Class, int);
+ }
+
+ public final class SystemClock {
+ method public static long currentThreadTimeMillis();
+ method public static long elapsedRealtime();
+ method public static boolean setCurrentTimeMillis(long);
+ method public static void sleep(long);
+ method public static long uptimeMillis();
+ }
+
+ public abstract class TokenWatcher {
+ ctor public TokenWatcher(android.os.Handler, java.lang.String);
+ method public void acquire(android.os.IBinder, java.lang.String);
+ method public abstract void acquired();
+ method public void cleanup(android.os.IBinder, boolean);
+ method public void dump();
+ method public boolean isAcquired();
+ method public void release(android.os.IBinder);
+ method public abstract void released();
+ }
+
+ public class Vibrator {
+ method public void cancel();
+ method public boolean hasVibrator();
+ method public void vibrate(long);
+ method public void vibrate(long[], int);
+ }
+
+ public class WorkSource implements android.os.Parcelable {
+ ctor public WorkSource();
+ ctor public WorkSource(android.os.WorkSource);
+ method public boolean add(android.os.WorkSource);
+ method public void clear();
+ method public int describeContents();
+ method public boolean diff(android.os.WorkSource);
+ method public boolean remove(android.os.WorkSource);
+ method public void set(android.os.WorkSource);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+}
+
+package android.os.storage {
+
+ public abstract class OnObbStateChangeListener {
+ ctor public OnObbStateChangeListener();
+ method public void onObbStateChange(java.lang.String, int);
+ field public static final int ERROR_ALREADY_MOUNTED = 24; // 0x18
+ field public static final int ERROR_COULD_NOT_MOUNT = 21; // 0x15
+ field public static final int ERROR_COULD_NOT_UNMOUNT = 22; // 0x16
+ field public static final int ERROR_INTERNAL = 20; // 0x14
+ field public static final int ERROR_NOT_MOUNTED = 23; // 0x17
+ field public static final int ERROR_PERMISSION_DENIED = 25; // 0x19
+ field public static final int MOUNTED = 1; // 0x1
+ field public static final int UNMOUNTED = 2; // 0x2
+ }
+
+ public class StorageManager {
+ method public java.lang.String getMountedObbPath(java.lang.String);
+ method public boolean isObbMounted(java.lang.String);
+ method public boolean mountObb(java.lang.String, java.lang.String, android.os.storage.OnObbStateChangeListener);
+ method public boolean unmountObb(java.lang.String, boolean, android.os.storage.OnObbStateChangeListener);
+ }
+
+}
+
+package android.preference {
+
+ public class CheckBoxPreference extends android.preference.TwoStatePreference {
+ ctor public CheckBoxPreference(android.content.Context, android.util.AttributeSet, int);
+ ctor public CheckBoxPreference(android.content.Context, android.util.AttributeSet);
+ ctor public CheckBoxPreference(android.content.Context);
+ }
+
+ public abstract class DialogPreference extends android.preference.Preference implements android.content.DialogInterface.OnClickListener android.content.DialogInterface.OnDismissListener android.preference.PreferenceManager.OnActivityDestroyListener {
+ ctor public DialogPreference(android.content.Context, android.util.AttributeSet, int);
+ ctor public DialogPreference(android.content.Context, android.util.AttributeSet);
+ method public android.app.Dialog getDialog();
+ method public android.graphics.drawable.Drawable getDialogIcon();
+ method public int getDialogLayoutResource();
+ method public java.lang.CharSequence getDialogMessage();
+ method public java.lang.CharSequence getDialogTitle();
+ method public java.lang.CharSequence getNegativeButtonText();
+ method public java.lang.CharSequence getPositiveButtonText();
+ method public void onActivityDestroy();
+ method protected void onBindDialogView(android.view.View);
+ method public void onClick(android.content.DialogInterface, int);
+ method protected android.view.View onCreateDialogView();
+ method protected void onDialogClosed(boolean);
+ method public void onDismiss(android.content.DialogInterface);
+ method protected void onPrepareDialogBuilder(android.app.AlertDialog.Builder);
+ method public void setDialogIcon(android.graphics.drawable.Drawable);
+ method public void setDialogIcon(int);
+ method public void setDialogLayoutResource(int);
+ method public void setDialogMessage(java.lang.CharSequence);
+ method public void setDialogMessage(int);
+ method public void setDialogTitle(java.lang.CharSequence);
+ method public void setDialogTitle(int);
+ method public void setNegativeButtonText(java.lang.CharSequence);
+ method public void setNegativeButtonText(int);
+ method public void setPositiveButtonText(java.lang.CharSequence);
+ method public void setPositiveButtonText(int);
+ method protected void showDialog(android.os.Bundle);
+ }
+
+ public class EditTextPreference extends android.preference.DialogPreference {
+ ctor public EditTextPreference(android.content.Context, android.util.AttributeSet, int);
+ ctor public EditTextPreference(android.content.Context, android.util.AttributeSet);
+ ctor public EditTextPreference(android.content.Context);
+ method public android.widget.EditText getEditText();
+ method public java.lang.String getText();
+ method protected void onAddEditTextToDialogView(android.view.View, android.widget.EditText);
+ method public void setText(java.lang.String);
+ }
+
+ public class ListPreference extends android.preference.DialogPreference {
+ ctor public ListPreference(android.content.Context, android.util.AttributeSet);
+ ctor public ListPreference(android.content.Context);
+ method public int findIndexOfValue(java.lang.String);
+ method public java.lang.CharSequence[] getEntries();
+ method public java.lang.CharSequence getEntry();
+ method public java.lang.CharSequence[] getEntryValues();
+ method public java.lang.String getValue();
+ method public void setEntries(java.lang.CharSequence[]);
+ method public void setEntries(int);
+ method public void setEntryValues(java.lang.CharSequence[]);
+ method public void setEntryValues(int);
+ method public void setValue(java.lang.String);
+ method public void setValueIndex(int);
+ }
+
+ public class MultiSelectListPreference extends android.preference.DialogPreference {
+ ctor public MultiSelectListPreference(android.content.Context, android.util.AttributeSet);
+ ctor public MultiSelectListPreference(android.content.Context);
+ method public int findIndexOfValue(java.lang.String);
+ method public java.lang.CharSequence[] getEntries();
+ method public java.lang.CharSequence[] getEntryValues();
+ method public java.util.Set<java.lang.String> getValues();
+ method public void setEntries(java.lang.CharSequence[]);
+ method public void setEntries(int);
+ method public void setEntryValues(java.lang.CharSequence[]);
+ method public void setEntryValues(int);
+ method public void setValues(java.util.Set<java.lang.String>);
+ }
+
+ public class Preference implements java.lang.Comparable {
+ ctor public Preference(android.content.Context, android.util.AttributeSet, int);
+ ctor public Preference(android.content.Context, android.util.AttributeSet);
+ ctor public Preference(android.content.Context);
+ method protected boolean callChangeListener(java.lang.Object);
+ method public int compareTo(android.preference.Preference);
+ method protected android.preference.Preference findPreferenceInHierarchy(java.lang.String);
+ method public android.content.Context getContext();
+ method public java.lang.String getDependency();
+ method public android.content.SharedPreferences.Editor getEditor();
+ method public android.os.Bundle getExtras();
+ method public java.lang.String getFragment();
+ method public android.graphics.drawable.Drawable getIcon();
+ method public android.content.Intent getIntent();
+ method public java.lang.String getKey();
+ method public int getLayoutResource();
+ method public android.preference.Preference.OnPreferenceChangeListener getOnPreferenceChangeListener();
+ method public android.preference.Preference.OnPreferenceClickListener getOnPreferenceClickListener();
+ method public int getOrder();
+ method protected boolean getPersistedBoolean(boolean);
+ method protected float getPersistedFloat(float);
+ method protected int getPersistedInt(int);
+ method protected long getPersistedLong(long);
+ method protected java.lang.String getPersistedString(java.lang.String);
+ method public android.preference.PreferenceManager getPreferenceManager();
+ method public android.content.SharedPreferences getSharedPreferences();
+ method public boolean getShouldDisableView();
+ method public java.lang.CharSequence getSummary();
+ method public java.lang.CharSequence getTitle();
+ method public int getTitleRes();
+ method public android.view.View getView(android.view.View, android.view.ViewGroup);
+ method public int getWidgetLayoutResource();
+ method public boolean hasKey();
+ method public boolean isEnabled();
+ method public boolean isPersistent();
+ method public boolean isSelectable();
+ method protected void notifyChanged();
+ method public void notifyDependencyChange(boolean);
+ method protected void notifyHierarchyChanged();
+ method protected void onAttachedToActivity();
+ method protected void onAttachedToHierarchy(android.preference.PreferenceManager);
+ method protected void onBindView(android.view.View);
+ method protected void onClick();
+ method protected android.view.View onCreateView(android.view.ViewGroup);
+ method public void onDependencyChanged(android.preference.Preference, boolean);
+ method protected java.lang.Object onGetDefaultValue(android.content.res.TypedArray, int);
+ method protected void onPrepareForRemoval();
+ method protected void onRestoreInstanceState(android.os.Parcelable);
+ method protected android.os.Parcelable onSaveInstanceState();
+ method protected void onSetInitialValue(boolean, java.lang.Object);
+ method public android.os.Bundle peekExtras();
+ method protected boolean persistBoolean(boolean);
+ method protected boolean persistFloat(float);
+ method protected boolean persistInt(int);
+ method protected boolean persistLong(long);
+ method protected boolean persistString(java.lang.String);
+ method public void restoreHierarchyState(android.os.Bundle);
+ method public void saveHierarchyState(android.os.Bundle);
+ method public void setDefaultValue(java.lang.Object);
+ method public void setDependency(java.lang.String);
+ method public void setEnabled(boolean);
+ method public void setFragment(java.lang.String);
+ method public void setIcon(android.graphics.drawable.Drawable);
+ method public void setIcon(int);
+ method public void setIntent(android.content.Intent);
+ method public void setKey(java.lang.String);
+ method public void setLayoutResource(int);
+ method public void setOnPreferenceChangeListener(android.preference.Preference.OnPreferenceChangeListener);
+ method public void setOnPreferenceClickListener(android.preference.Preference.OnPreferenceClickListener);
+ method public void setOrder(int);
+ method public void setPersistent(boolean);
+ method public void setSelectable(boolean);
+ method public void setShouldDisableView(boolean);
+ method public void setSummary(java.lang.CharSequence);
+ method public void setSummary(int);
+ method public void setTitle(java.lang.CharSequence);
+ method public void setTitle(int);
+ method public void setWidgetLayoutResource(int);
+ method public boolean shouldCommit();
+ method public boolean shouldDisableDependents();
+ method protected boolean shouldPersist();
+ field public static final int DEFAULT_ORDER = 2147483647; // 0x7fffffff
+ }
+
+ public static class Preference.BaseSavedState extends android.view.AbsSavedState {
+ ctor public Preference.BaseSavedState(android.os.Parcel);
+ ctor public Preference.BaseSavedState(android.os.Parcelable);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public static abstract interface Preference.OnPreferenceChangeListener {
+ method public abstract boolean onPreferenceChange(android.preference.Preference, java.lang.Object);
+ }
+
+ public static abstract interface Preference.OnPreferenceClickListener {
+ method public abstract boolean onPreferenceClick(android.preference.Preference);
+ }
+
+ public abstract class PreferenceActivity extends android.app.ListActivity implements android.preference.PreferenceFragment.OnPreferenceStartFragmentCallback {
+ ctor public PreferenceActivity();
+ method public deprecated void addPreferencesFromIntent(android.content.Intent);
+ method public deprecated void addPreferencesFromResource(int);
+ method public deprecated android.preference.Preference findPreference(java.lang.CharSequence);
+ method public void finishPreferencePanel(android.app.Fragment, int, android.content.Intent);
+ method public deprecated android.preference.PreferenceManager getPreferenceManager();
+ method public deprecated android.preference.PreferenceScreen getPreferenceScreen();
+ method public boolean hasHeaders();
+ method public void invalidateHeaders();
+ method public boolean isMultiPane();
+ method public void loadHeadersFromResource(int, java.util.List<android.preference.PreferenceActivity.Header>);
+ method public void onBuildHeaders(java.util.List<android.preference.PreferenceActivity.Header>);
+ method public android.content.Intent onBuildStartFragmentIntent(java.lang.String, android.os.Bundle, int, int);
+ method public android.preference.PreferenceActivity.Header onGetInitialHeader();
+ method public android.preference.PreferenceActivity.Header onGetNewHeader();
+ method public void onHeaderClick(android.preference.PreferenceActivity.Header, int);
+ method public boolean onIsHidingHeaders();
+ method public boolean onIsMultiPane();
+ method public boolean onPreferenceStartFragment(android.preference.PreferenceFragment, android.preference.Preference);
+ method public deprecated boolean onPreferenceTreeClick(android.preference.PreferenceScreen, android.preference.Preference);
+ method public void setListFooter(android.view.View);
+ method public void setParentTitle(java.lang.CharSequence, java.lang.CharSequence, android.view.View.OnClickListener);
+ method public deprecated void setPreferenceScreen(android.preference.PreferenceScreen);
+ method public void showBreadCrumbs(java.lang.CharSequence, java.lang.CharSequence);
+ method public void startPreferenceFragment(android.app.Fragment, boolean);
+ method public void startPreferencePanel(java.lang.String, android.os.Bundle, int, java.lang.CharSequence, android.app.Fragment, int);
+ method public void startWithFragment(java.lang.String, android.os.Bundle, android.app.Fragment, int);
+ method public void startWithFragment(java.lang.String, android.os.Bundle, android.app.Fragment, int, int, int);
+ method public void switchToHeader(java.lang.String, android.os.Bundle);
+ method public void switchToHeader(android.preference.PreferenceActivity.Header);
+ field public static final java.lang.String EXTRA_NO_HEADERS = ":android:no_headers";
+ field public static final java.lang.String EXTRA_SHOW_FRAGMENT = ":android:show_fragment";
+ field public static final java.lang.String EXTRA_SHOW_FRAGMENT_ARGUMENTS = ":android:show_fragment_args";
+ field public static final java.lang.String EXTRA_SHOW_FRAGMENT_SHORT_TITLE = ":android:show_fragment_short_title";
+ field public static final java.lang.String EXTRA_SHOW_FRAGMENT_TITLE = ":android:show_fragment_title";
+ field public static final long HEADER_ID_UNDEFINED = -1L; // 0xffffffffffffffffL
+ }
+
+ public static final class PreferenceActivity.Header implements android.os.Parcelable {
+ ctor public PreferenceActivity.Header();
+ method public int describeContents();
+ method public java.lang.CharSequence getBreadCrumbShortTitle(android.content.res.Resources);
+ method public java.lang.CharSequence getBreadCrumbTitle(android.content.res.Resources);
+ method public java.lang.CharSequence getSummary(android.content.res.Resources);
+ method public java.lang.CharSequence getTitle(android.content.res.Resources);
+ method public void readFromParcel(android.os.Parcel);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public java.lang.CharSequence breadCrumbShortTitle;
+ field public int breadCrumbShortTitleRes;
+ field public java.lang.CharSequence breadCrumbTitle;
+ field public int breadCrumbTitleRes;
+ field public android.os.Bundle extras;
+ field public java.lang.String fragment;
+ field public android.os.Bundle fragmentArguments;
+ field public int iconRes;
+ field public long id;
+ field public android.content.Intent intent;
+ field public java.lang.CharSequence summary;
+ field public int summaryRes;
+ field public java.lang.CharSequence title;
+ field public int titleRes;
+ }
+
+ public class PreferenceCategory extends android.preference.PreferenceGroup {
+ ctor public PreferenceCategory(android.content.Context, android.util.AttributeSet, int);
+ ctor public PreferenceCategory(android.content.Context, android.util.AttributeSet);
+ ctor public PreferenceCategory(android.content.Context);
+ }
+
+ public abstract class PreferenceFragment extends android.app.Fragment {
+ ctor public PreferenceFragment();
+ method public void addPreferencesFromIntent(android.content.Intent);
+ method public void addPreferencesFromResource(int);
+ method public android.preference.Preference findPreference(java.lang.CharSequence);
+ method public android.preference.PreferenceManager getPreferenceManager();
+ method public android.preference.PreferenceScreen getPreferenceScreen();
+ method public boolean onPreferenceTreeClick(android.preference.PreferenceScreen, android.preference.Preference);
+ method public void setPreferenceScreen(android.preference.PreferenceScreen);
+ }
+
+ public static abstract interface PreferenceFragment.OnPreferenceStartFragmentCallback {
+ method public abstract boolean onPreferenceStartFragment(android.preference.PreferenceFragment, android.preference.Preference);
+ }
+
+ public abstract class PreferenceGroup extends android.preference.Preference {
+ ctor public PreferenceGroup(android.content.Context, android.util.AttributeSet, int);
+ ctor public PreferenceGroup(android.content.Context, android.util.AttributeSet);
+ method public void addItemFromInflater(android.preference.Preference);
+ method public boolean addPreference(android.preference.Preference);
+ method protected void dispatchRestoreInstanceState(android.os.Bundle);
+ method protected void dispatchSaveInstanceState(android.os.Bundle);
+ method public android.preference.Preference findPreference(java.lang.CharSequence);
+ method public android.preference.Preference getPreference(int);
+ method public int getPreferenceCount();
+ method protected boolean isOnSameScreenAsChildren();
+ method public boolean isOrderingAsAdded();
+ method protected boolean onPrepareAddPreference(android.preference.Preference);
+ method public void removeAll();
+ method public boolean removePreference(android.preference.Preference);
+ method public void setOrderingAsAdded(boolean);
+ }
+
+ public class PreferenceManager {
+ method public android.preference.PreferenceScreen createPreferenceScreen(android.content.Context);
+ method public android.preference.Preference findPreference(java.lang.CharSequence);
+ method public static android.content.SharedPreferences getDefaultSharedPreferences(android.content.Context);
+ method public android.content.SharedPreferences getSharedPreferences();
+ method public int getSharedPreferencesMode();
+ method public java.lang.String getSharedPreferencesName();
+ method public static void setDefaultValues(android.content.Context, int, boolean);
+ method public static void setDefaultValues(android.content.Context, java.lang.String, int, int, boolean);
+ method public void setSharedPreferencesMode(int);
+ method public void setSharedPreferencesName(java.lang.String);
+ field public static final java.lang.String KEY_HAS_SET_DEFAULT_VALUES = "_has_set_default_values";
+ field public static final java.lang.String METADATA_KEY_PREFERENCES = "android.preference";
+ }
+
+ public static abstract interface PreferenceManager.OnActivityDestroyListener {
+ method public abstract void onActivityDestroy();
+ }
+
+ public static abstract interface PreferenceManager.OnActivityResultListener {
+ method public abstract boolean onActivityResult(int, int, android.content.Intent);
+ }
+
+ public static abstract interface PreferenceManager.OnActivityStopListener {
+ method public abstract void onActivityStop();
+ }
+
+ public final class PreferenceScreen extends android.preference.PreferenceGroup implements android.widget.AdapterView.OnItemClickListener android.content.DialogInterface.OnDismissListener {
+ method public void bind(android.widget.ListView);
+ method public android.app.Dialog getDialog();
+ method public android.widget.ListAdapter getRootAdapter();
+ method protected android.widget.ListAdapter onCreateRootAdapter();
+ method public void onDismiss(android.content.DialogInterface);
+ method public void onItemClick(android.widget.AdapterView, android.view.View, int, long);
+ }
+
+ public class RingtonePreference extends android.preference.Preference implements android.preference.PreferenceManager.OnActivityResultListener {
+ ctor public RingtonePreference(android.content.Context, android.util.AttributeSet, int);
+ ctor public RingtonePreference(android.content.Context, android.util.AttributeSet);
+ ctor public RingtonePreference(android.content.Context);
+ method public int getRingtoneType();
+ method public boolean getShowDefault();
+ method public boolean getShowSilent();
+ method public boolean onActivityResult(int, int, android.content.Intent);
+ method protected void onPrepareRingtonePickerIntent(android.content.Intent);
+ method protected android.net.Uri onRestoreRingtone();
+ method protected void onSaveRingtone(android.net.Uri);
+ method public void setRingtoneType(int);
+ method public void setShowDefault(boolean);
+ method public void setShowSilent(boolean);
+ }
+
+ public class SwitchPreference extends android.preference.TwoStatePreference {
+ ctor public SwitchPreference(android.content.Context, android.util.AttributeSet, int);
+ ctor public SwitchPreference(android.content.Context, android.util.AttributeSet);
+ ctor public SwitchPreference(android.content.Context);
+ method public java.lang.CharSequence getSwitchTextOff();
+ method public java.lang.CharSequence getSwitchTextOn();
+ method public void setSwitchTextOff(java.lang.CharSequence);
+ method public void setSwitchTextOff(int);
+ method public void setSwitchTextOn(java.lang.CharSequence);
+ method public void setSwitchTextOn(int);
+ }
+
+ public abstract class TwoStatePreference extends android.preference.Preference {
+ ctor public TwoStatePreference(android.content.Context, android.util.AttributeSet, int);
+ ctor public TwoStatePreference(android.content.Context, android.util.AttributeSet);
+ ctor public TwoStatePreference(android.content.Context);
+ method public boolean getDisableDependentsState();
+ method public java.lang.CharSequence getSummaryOff();
+ method public java.lang.CharSequence getSummaryOn();
+ method public boolean isChecked();
+ method public void setChecked(boolean);
+ method public void setDisableDependentsState(boolean);
+ method public void setSummaryOff(java.lang.CharSequence);
+ method public void setSummaryOff(int);
+ method public void setSummaryOn(java.lang.CharSequence);
+ method public void setSummaryOn(int);
+ }
+
+}
+
+package android.provider {
+
+ public final class AlarmClock {
+ ctor public AlarmClock();
+ field public static final java.lang.String ACTION_SET_ALARM = "android.intent.action.SET_ALARM";
+ field public static final java.lang.String EXTRA_HOUR = "android.intent.extra.alarm.HOUR";
+ field public static final java.lang.String EXTRA_MESSAGE = "android.intent.extra.alarm.MESSAGE";
+ field public static final java.lang.String EXTRA_MINUTES = "android.intent.extra.alarm.MINUTES";
+ field public static final java.lang.String EXTRA_SKIP_UI = "android.intent.extra.alarm.SKIP_UI";
+ }
+
+ public abstract interface BaseColumns {
+ field public static final java.lang.String _COUNT = "_count";
+ field public static final java.lang.String _ID = "_id";
+ }
+
+ public class Browser {
+ ctor public Browser();
+ method public static final void addSearchUrl(android.content.ContentResolver, java.lang.String);
+ method public static final boolean canClearHistory(android.content.ContentResolver);
+ method public static final void clearHistory(android.content.ContentResolver);
+ method public static final void clearSearches(android.content.ContentResolver);
+ method public static final void deleteFromHistory(android.content.ContentResolver, java.lang.String);
+ method public static final void deleteHistoryTimeFrame(android.content.ContentResolver, long, long);
+ method public static final android.database.Cursor getAllBookmarks(android.content.ContentResolver) throws java.lang.IllegalStateException;
+ method public static final android.database.Cursor getAllVisitedUrls(android.content.ContentResolver) throws java.lang.IllegalStateException;
+ method public static final void requestAllIcons(android.content.ContentResolver, java.lang.String, android.webkit.WebIconDatabase.IconListener);
+ method public static final void saveBookmark(android.content.Context, java.lang.String, java.lang.String);
+ method public static final void sendString(android.content.Context, java.lang.String);
+ method public static final void truncateHistory(android.content.ContentResolver);
+ method public static final void updateVisitedHistory(android.content.ContentResolver, java.lang.String, boolean);
+ field public static final android.net.Uri BOOKMARKS_URI;
+ field public static final java.lang.String EXTRA_APPLICATION_ID = "com.android.browser.application_id";
+ field public static final java.lang.String EXTRA_CREATE_NEW_TAB = "create_new_tab";
+ field public static final java.lang.String EXTRA_HEADERS = "com.android.browser.headers";
+ field public static final java.lang.String[] HISTORY_PROJECTION;
+ field public static final int HISTORY_PROJECTION_BOOKMARK_INDEX = 4; // 0x4
+ field public static final int HISTORY_PROJECTION_DATE_INDEX = 3; // 0x3
+ field public static final int HISTORY_PROJECTION_FAVICON_INDEX = 6; // 0x6
+ field public static final int HISTORY_PROJECTION_ID_INDEX = 0; // 0x0
+ field public static final int HISTORY_PROJECTION_TITLE_INDEX = 5; // 0x5
+ field public static final int HISTORY_PROJECTION_URL_INDEX = 1; // 0x1
+ field public static final int HISTORY_PROJECTION_VISITS_INDEX = 2; // 0x2
+ field public static final java.lang.String INITIAL_ZOOM_LEVEL = "browser.initialZoomLevel";
+ field public static final java.lang.String[] SEARCHES_PROJECTION;
+ field public static final int SEARCHES_PROJECTION_DATE_INDEX = 2; // 0x2
+ field public static final int SEARCHES_PROJECTION_SEARCH_INDEX = 1; // 0x1
+ field public static final android.net.Uri SEARCHES_URI;
+ field public static final java.lang.String[] TRUNCATE_HISTORY_PROJECTION;
+ field public static final int TRUNCATE_HISTORY_PROJECTION_ID_INDEX = 0; // 0x0
+ field public static final int TRUNCATE_N_OLDEST = 5; // 0x5
+ }
+
+ public static class Browser.BookmarkColumns implements android.provider.BaseColumns {
+ ctor public Browser.BookmarkColumns();
+ field public static final java.lang.String BOOKMARK = "bookmark";
+ field public static final java.lang.String CREATED = "created";
+ field public static final java.lang.String DATE = "date";
+ field public static final java.lang.String FAVICON = "favicon";
+ field public static final java.lang.String TITLE = "title";
+ field public static final java.lang.String URL = "url";
+ field public static final java.lang.String VISITS = "visits";
+ }
+
+ public static class Browser.SearchColumns implements android.provider.BaseColumns {
+ ctor public Browser.SearchColumns();
+ field public static final java.lang.String DATE = "date";
+ field public static final java.lang.String SEARCH = "search";
+ field public static final deprecated java.lang.String URL = "url";
+ }
+
+ public final class CalendarContract {
+ field public static final java.lang.String ACCOUNT_TYPE_LOCAL = "LOCAL";
+ field public static final java.lang.String ACTION_EVENT_REMINDER = "android.intent.action.EVENT_REMINDER";
+ field public static final java.lang.String AUTHORITY = "com.android.calendar";
+ field public static final java.lang.String CALLER_IS_SYNCADAPTER = "caller_is_syncadapter";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String EXTRA_EVENT_ALL_DAY = "allDay";
+ field public static final java.lang.String EXTRA_EVENT_BEGIN_TIME = "beginTime";
+ field public static final java.lang.String EXTRA_EVENT_END_TIME = "endTime";
+ }
+
+ public static final class CalendarContract.Attendees implements android.provider.BaseColumns android.provider.CalendarContract.AttendeesColumns android.provider.CalendarContract.EventsColumns {
+ method public static final android.database.Cursor query(android.content.ContentResolver, long, java.lang.String[]);
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ protected static abstract interface CalendarContract.AttendeesColumns {
+ field public static final java.lang.String ATTENDEE_EMAIL = "attendeeEmail";
+ field public static final java.lang.String ATTENDEE_NAME = "attendeeName";
+ field public static final java.lang.String ATTENDEE_RELATIONSHIP = "attendeeRelationship";
+ field public static final java.lang.String ATTENDEE_STATUS = "attendeeStatus";
+ field public static final int ATTENDEE_STATUS_ACCEPTED = 1; // 0x1
+ field public static final int ATTENDEE_STATUS_DECLINED = 2; // 0x2
+ field public static final int ATTENDEE_STATUS_INVITED = 3; // 0x3
+ field public static final int ATTENDEE_STATUS_NONE = 0; // 0x0
+ field public static final int ATTENDEE_STATUS_TENTATIVE = 4; // 0x4
+ field public static final java.lang.String ATTENDEE_TYPE = "attendeeType";
+ field public static final java.lang.String EVENT_ID = "event_id";
+ field public static final int RELATIONSHIP_ATTENDEE = 1; // 0x1
+ field public static final int RELATIONSHIP_NONE = 0; // 0x0
+ field public static final int RELATIONSHIP_ORGANIZER = 2; // 0x2
+ field public static final int RELATIONSHIP_PERFORMER = 3; // 0x3
+ field public static final int RELATIONSHIP_SPEAKER = 4; // 0x4
+ field public static final int TYPE_NONE = 0; // 0x0
+ field public static final int TYPE_OPTIONAL = 2; // 0x2
+ field public static final int TYPE_REQUIRED = 1; // 0x1
+ }
+
+ public static final class CalendarContract.CalendarAlerts implements android.provider.BaseColumns android.provider.CalendarContract.CalendarAlertsColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.EventsColumns {
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final android.net.Uri CONTENT_URI_BY_INSTANCE;
+ }
+
+ protected static abstract interface CalendarContract.CalendarAlertsColumns {
+ field public static final java.lang.String ALARM_TIME = "alarmTime";
+ field public static final java.lang.String BEGIN = "begin";
+ field public static final java.lang.String CREATION_TIME = "creationTime";
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "begin ASC,title ASC";
+ field public static final java.lang.String END = "end";
+ field public static final java.lang.String EVENT_ID = "event_id";
+ field public static final java.lang.String MINUTES = "minutes";
+ field public static final java.lang.String NOTIFY_TIME = "notifyTime";
+ field public static final java.lang.String RECEIVED_TIME = "receivedTime";
+ field public static final java.lang.String STATE = "state";
+ field public static final int STATE_DISMISSED = 2; // 0x2
+ field public static final int STATE_FIRED = 1; // 0x1
+ field public static final int STATE_SCHEDULED = 0; // 0x0
+ }
+
+ public static final class CalendarContract.CalendarCache implements android.provider.CalendarContract.CalendarCacheColumns {
+ field public static final java.lang.String KEY_TIMEZONE_INSTANCES = "timezoneInstances";
+ field public static final java.lang.String KEY_TIMEZONE_INSTANCES_PREVIOUS = "timezoneInstancesPrevious";
+ field public static final java.lang.String KEY_TIMEZONE_TYPE = "timezoneType";
+ field public static final java.lang.String TIMEZONE_TYPE_AUTO = "auto";
+ field public static final java.lang.String TIMEZONE_TYPE_HOME = "home";
+ field public static final android.net.Uri URI;
+ }
+
+ protected static abstract interface CalendarContract.CalendarCacheColumns {
+ field public static final java.lang.String KEY = "key";
+ field public static final java.lang.String VALUE = "value";
+ }
+
+ protected static abstract interface CalendarContract.CalendarColumns {
+ field public static final java.lang.String ALLOWED_REMINDERS = "allowedReminders";
+ field public static final java.lang.String CALENDAR_ACCESS_LEVEL = "calendar_access_level";
+ field public static final java.lang.String CALENDAR_COLOR = "calendar_color";
+ field public static final java.lang.String CALENDAR_DISPLAY_NAME = "calendar_displayName";
+ field public static final java.lang.String CALENDAR_TIME_ZONE = "calendar_timezone";
+ field public static final int CAL_ACCESS_CONTRIBUTOR = 500; // 0x1f4
+ field public static final int CAL_ACCESS_EDITOR = 600; // 0x258
+ field public static final int CAL_ACCESS_FREEBUSY = 100; // 0x64
+ field public static final int CAL_ACCESS_NONE = 0; // 0x0
+ field public static final int CAL_ACCESS_OVERRIDE = 400; // 0x190
+ field public static final int CAL_ACCESS_OWNER = 700; // 0x2bc
+ field public static final int CAL_ACCESS_READ = 200; // 0xc8
+ field public static final int CAL_ACCESS_RESPOND = 300; // 0x12c
+ field public static final int CAL_ACCESS_ROOT = 800; // 0x320
+ field public static final java.lang.String CAN_MODIFY_TIME_ZONE = "canModifyTimeZone";
+ field public static final java.lang.String CAN_ORGANIZER_RESPOND = "canOrganizerRespond";
+ field public static final java.lang.String MAX_REMINDERS = "maxReminders";
+ field public static final java.lang.String OWNER_ACCOUNT = "ownerAccount";
+ field public static final java.lang.String SYNC_EVENTS = "sync_events";
+ field public static final java.lang.String VISIBLE = "visible";
+ }
+
+ public static final class CalendarContract.CalendarEntity implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.SyncColumns {
+ method public static android.content.EntityIterator newEntityIterator(android.database.Cursor);
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ protected static abstract interface CalendarContract.CalendarSyncColumns {
+ field public static final java.lang.String CAL_SYNC1 = "cal_sync1";
+ field public static final java.lang.String CAL_SYNC10 = "cal_sync10";
+ field public static final java.lang.String CAL_SYNC2 = "cal_sync2";
+ field public static final java.lang.String CAL_SYNC3 = "cal_sync3";
+ field public static final java.lang.String CAL_SYNC4 = "cal_sync4";
+ field public static final java.lang.String CAL_SYNC5 = "cal_sync5";
+ field public static final java.lang.String CAL_SYNC6 = "cal_sync6";
+ field public static final java.lang.String CAL_SYNC7 = "cal_sync7";
+ field public static final java.lang.String CAL_SYNC8 = "cal_sync8";
+ field public static final java.lang.String CAL_SYNC9 = "cal_sync9";
+ }
+
+ public static final class CalendarContract.Calendars implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.SyncColumns {
+ field public static final java.lang.String CALENDAR_LOCATION = "calendar_location";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "calendar_displayName";
+ field public static final java.lang.String NAME = "name";
+ }
+
+ public static final class CalendarContract.EventDays implements android.provider.CalendarContract.EventDaysColumns {
+ method public static final android.database.Cursor query(android.content.ContentResolver, int, int, java.lang.String[]);
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ protected static abstract interface CalendarContract.EventDaysColumns {
+ field public static final java.lang.String ENDDAY = "endDay";
+ field public static final java.lang.String STARTDAY = "startDay";
+ }
+
+ public static final class CalendarContract.Events implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.SyncColumns {
+ field public static final android.net.Uri CONTENT_EXCEPTION_URI;
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ protected static abstract interface CalendarContract.EventsColumns {
+ field public static final int ACCESS_CONFIDENTIAL = 1; // 0x1
+ field public static final int ACCESS_DEFAULT = 0; // 0x0
+ field public static final java.lang.String ACCESS_LEVEL = "accessLevel";
+ field public static final int ACCESS_PRIVATE = 2; // 0x2
+ field public static final int ACCESS_PUBLIC = 3; // 0x3
+ field public static final java.lang.String ALL_DAY = "allDay";
+ field public static final java.lang.String AVAILABILITY = "availability";
+ field public static final int AVAILABILITY_BUSY = 0; // 0x0
+ field public static final int AVAILABILITY_FREE = 1; // 0x1
+ field public static final java.lang.String CALENDAR_ID = "calendar_id";
+ field public static final java.lang.String CAN_INVITE_OTHERS = "canInviteOthers";
+ field public static final java.lang.String DESCRIPTION = "description";
+ field public static final java.lang.String DTEND = "dtend";
+ field public static final java.lang.String DTSTART = "dtstart";
+ field public static final java.lang.String DURATION = "duration";
+ field public static final java.lang.String EVENT_COLOR = "eventColor";
+ field public static final java.lang.String EVENT_END_TIMEZONE = "eventEndTimezone";
+ field public static final java.lang.String EVENT_LOCATION = "eventLocation";
+ field public static final java.lang.String EVENT_TIMEZONE = "eventTimezone";
+ field public static final java.lang.String EXDATE = "exdate";
+ field public static final java.lang.String EXRULE = "exrule";
+ field public static final java.lang.String GUESTS_CAN_INVITE_OTHERS = "guestsCanInviteOthers";
+ field public static final java.lang.String GUESTS_CAN_MODIFY = "guestsCanModify";
+ field public static final java.lang.String GUESTS_CAN_SEE_GUESTS = "guestsCanSeeGuests";
+ field public static final java.lang.String HAS_ALARM = "hasAlarm";
+ field public static final java.lang.String HAS_ATTENDEE_DATA = "hasAttendeeData";
+ field public static final java.lang.String HAS_EXTENDED_PROPERTIES = "hasExtendedProperties";
+ field public static final java.lang.String LAST_DATE = "lastDate";
+ field public static final java.lang.String LAST_SYNCED = "lastSynced";
+ field public static final java.lang.String ORGANIZER = "organizer";
+ field public static final java.lang.String ORIGINAL_ALL_DAY = "originalAllDay";
+ field public static final java.lang.String ORIGINAL_ID = "original_id";
+ field public static final java.lang.String ORIGINAL_INSTANCE_TIME = "originalInstanceTime";
+ field public static final java.lang.String ORIGINAL_SYNC_ID = "original_sync_id";
+ field public static final java.lang.String RDATE = "rdate";
+ field public static final java.lang.String RRULE = "rrule";
+ field public static final java.lang.String SELF_ATTENDEE_STATUS = "selfAttendeeStatus";
+ field public static final java.lang.String STATUS = "eventStatus";
+ field public static final int STATUS_CANCELED = 2; // 0x2
+ field public static final int STATUS_CONFIRMED = 1; // 0x1
+ field public static final int STATUS_TENTATIVE = 0; // 0x0
+ field public static final java.lang.String SYNC_DATA1 = "sync_data1";
+ field public static final java.lang.String SYNC_DATA10 = "sync_data10";
+ field public static final java.lang.String SYNC_DATA2 = "sync_data2";
+ field public static final java.lang.String SYNC_DATA3 = "sync_data3";
+ field public static final java.lang.String SYNC_DATA4 = "sync_data4";
+ field public static final java.lang.String SYNC_DATA5 = "sync_data5";
+ field public static final java.lang.String SYNC_DATA6 = "sync_data6";
+ field public static final java.lang.String SYNC_DATA7 = "sync_data7";
+ field public static final java.lang.String SYNC_DATA8 = "sync_data8";
+ field public static final java.lang.String SYNC_DATA9 = "sync_data9";
+ field public static final java.lang.String TITLE = "title";
+ }
+
+ public static final class CalendarContract.EventsEntity implements android.provider.BaseColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.SyncColumns {
+ method public static android.content.EntityIterator newEntityIterator(android.database.Cursor, android.content.ContentResolver);
+ method public static android.content.EntityIterator newEntityIterator(android.database.Cursor, android.content.ContentProviderClient);
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ public static final class CalendarContract.ExtendedProperties implements android.provider.BaseColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.ExtendedPropertiesColumns {
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ protected static abstract interface CalendarContract.ExtendedPropertiesColumns {
+ field public static final java.lang.String EVENT_ID = "event_id";
+ field public static final java.lang.String NAME = "name";
+ field public static final java.lang.String VALUE = "value";
+ }
+
+ public static final class CalendarContract.Instances implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.EventsColumns {
+ method public static final android.database.Cursor query(android.content.ContentResolver, java.lang.String[], long, long);
+ method public static final android.database.Cursor query(android.content.ContentResolver, java.lang.String[], long, long, java.lang.String);
+ field public static final java.lang.String BEGIN = "begin";
+ field public static final android.net.Uri CONTENT_BY_DAY_URI;
+ field public static final android.net.Uri CONTENT_SEARCH_BY_DAY_URI;
+ field public static final android.net.Uri CONTENT_SEARCH_URI;
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String END = "end";
+ field public static final java.lang.String END_DAY = "endDay";
+ field public static final java.lang.String END_MINUTE = "endMinute";
+ field public static final java.lang.String EVENT_ID = "event_id";
+ field public static final java.lang.String START_DAY = "startDay";
+ field public static final java.lang.String START_MINUTE = "startMinute";
+ }
+
+ public static final class CalendarContract.Reminders implements android.provider.BaseColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.RemindersColumns {
+ method public static final android.database.Cursor query(android.content.ContentResolver, long, java.lang.String[]);
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ protected static abstract interface CalendarContract.RemindersColumns {
+ field public static final java.lang.String EVENT_ID = "event_id";
+ field public static final java.lang.String METHOD = "method";
+ field public static final int METHOD_ALERT = 1; // 0x1
+ field public static final int METHOD_DEFAULT = 0; // 0x0
+ field public static final int METHOD_EMAIL = 2; // 0x2
+ field public static final int METHOD_SMS = 3; // 0x3
+ field public static final java.lang.String MINUTES = "minutes";
+ field public static final int MINUTES_DEFAULT = -1; // 0xffffffff
+ }
+
+ protected static abstract interface CalendarContract.SyncColumns implements android.provider.CalendarContract.CalendarSyncColumns {
+ field public static final java.lang.String ACCOUNT_NAME = "account_name";
+ field public static final java.lang.String ACCOUNT_TYPE = "account_type";
+ field public static final java.lang.String CAN_PARTIALLY_UPDATE = "canPartiallyUpdate";
+ field public static final java.lang.String DELETED = "deleted";
+ field public static final java.lang.String DIRTY = "dirty";
+ field public static final java.lang.String _SYNC_ID = "_sync_id";
+ }
+
+ public static final class CalendarContract.SyncState implements android.provider.SyncStateContract.Columns {
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ public class CallLog {
+ ctor public CallLog();
+ field public static final java.lang.String AUTHORITY = "call_log";
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ public static class CallLog.Calls implements android.provider.BaseColumns {
+ ctor public CallLog.Calls();
+ method public static java.lang.String getLastOutgoingCall(android.content.Context);
+ field public static final java.lang.String CACHED_NAME = "name";
+ field public static final java.lang.String CACHED_NUMBER_LABEL = "numberlabel";
+ field public static final java.lang.String CACHED_NUMBER_TYPE = "numbertype";
+ field public static final android.net.Uri CONTENT_FILTER_URI;
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/calls";
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/calls";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String DATE = "date";
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "date DESC";
+ field public static final java.lang.String DURATION = "duration";
+ field public static final int INCOMING_TYPE = 1; // 0x1
+ field public static final java.lang.String IS_READ = "is_read";
+ field public static final int MISSED_TYPE = 3; // 0x3
+ field public static final java.lang.String NEW = "new";
+ field public static final java.lang.String NUMBER = "number";
+ field public static final int OUTGOING_TYPE = 2; // 0x2
+ field public static final java.lang.String TYPE = "type";
+ }
+
+ public deprecated class Contacts {
+ field public static final deprecated java.lang.String AUTHORITY = "contacts";
+ field public static final deprecated android.net.Uri CONTENT_URI;
+ field public static final deprecated int KIND_EMAIL = 1; // 0x1
+ field public static final deprecated int KIND_IM = 3; // 0x3
+ field public static final deprecated int KIND_ORGANIZATION = 4; // 0x4
+ field public static final deprecated int KIND_PHONE = 5; // 0x5
+ field public static final deprecated int KIND_POSTAL = 2; // 0x2
+ }
+
+ public static final deprecated class Contacts.ContactMethods implements android.provider.BaseColumns android.provider.Contacts.ContactMethodsColumns android.provider.Contacts.PeopleColumns {
+ method public deprecated void addPostalLocation(android.content.Context, long, double, double);
+ method public static deprecated java.lang.Object decodeImProtocol(java.lang.String);
+ method public static deprecated java.lang.String encodeCustomImProtocol(java.lang.String);
+ method public static deprecated java.lang.String encodePredefinedImProtocol(int);
+ method public static final deprecated java.lang.CharSequence getDisplayLabel(android.content.Context, int, int, java.lang.CharSequence);
+ field public static final deprecated java.lang.String CONTENT_EMAIL_ITEM_TYPE = "vnd.android.cursor.item/email";
+ field public static final deprecated java.lang.String CONTENT_EMAIL_TYPE = "vnd.android.cursor.dir/email";
+ field public static final deprecated android.net.Uri CONTENT_EMAIL_URI;
+ field public static final deprecated java.lang.String CONTENT_IM_ITEM_TYPE = "vnd.android.cursor.item/jabber-im";
+ field public static final deprecated java.lang.String CONTENT_POSTAL_ITEM_TYPE = "vnd.android.cursor.item/postal-address";
+ field public static final deprecated java.lang.String CONTENT_POSTAL_TYPE = "vnd.android.cursor.dir/postal-address";
+ field public static final deprecated java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/contact-methods";
+ field public static final deprecated android.net.Uri CONTENT_URI;
+ field public static final deprecated java.lang.String DEFAULT_SORT_ORDER = "name ASC";
+ field public static final deprecated java.lang.String PERSON_ID = "person";
+ field public static final deprecated java.lang.String POSTAL_LOCATION_LATITUDE = "data";
+ field public static final deprecated java.lang.String POSTAL_LOCATION_LONGITUDE = "aux_data";
+ field public static final deprecated int PROTOCOL_AIM = 0; // 0x0
+ field public static final deprecated int PROTOCOL_GOOGLE_TALK = 5; // 0x5
+ field public static final deprecated int PROTOCOL_ICQ = 6; // 0x6
+ field public static final deprecated int PROTOCOL_JABBER = 7; // 0x7
+ field public static final deprecated int PROTOCOL_MSN = 1; // 0x1
+ field public static final deprecated int PROTOCOL_QQ = 4; // 0x4
+ field public static final deprecated int PROTOCOL_SKYPE = 3; // 0x3
+ field public static final deprecated int PROTOCOL_YAHOO = 2; // 0x2
+ }
+
+ public static abstract deprecated interface Contacts.ContactMethodsColumns {
+ field public static final deprecated java.lang.String AUX_DATA = "aux_data";
+ field public static final deprecated java.lang.String DATA = "data";
+ field public static final deprecated java.lang.String ISPRIMARY = "isprimary";
+ field public static final deprecated java.lang.String KIND = "kind";
+ field public static final deprecated java.lang.String LABEL = "label";
+ field public static final deprecated java.lang.String TYPE = "type";
+ field public static final deprecated int TYPE_CUSTOM = 0; // 0x0
+ field public static final deprecated int TYPE_HOME = 1; // 0x1
+ field public static final deprecated int TYPE_OTHER = 3; // 0x3
+ field public static final deprecated int TYPE_WORK = 2; // 0x2
+ }
+
+ public static final deprecated class Contacts.Extensions implements android.provider.BaseColumns android.provider.Contacts.ExtensionsColumns {
+ field public static final deprecated java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_extensions";
+ field public static final deprecated java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/contact_extensions";
+ field public static final deprecated android.net.Uri CONTENT_URI;
+ field public static final deprecated java.lang.String DEFAULT_SORT_ORDER = "person, name ASC";
+ field public static final deprecated java.lang.String PERSON_ID = "person";
+ }
+
+ public static abstract deprecated interface Contacts.ExtensionsColumns {
+ field public static final deprecated java.lang.String NAME = "name";
+ field public static final deprecated java.lang.String VALUE = "value";
+ }
+
+ public static final deprecated class Contacts.GroupMembership implements android.provider.BaseColumns android.provider.Contacts.GroupsColumns {
+ field public static final deprecated java.lang.String CONTENT_DIRECTORY = "groupmembership";
+ field public static final deprecated java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contactsgroupmembership";
+ field public static final deprecated java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/contactsgroupmembership";
+ field public static final deprecated android.net.Uri CONTENT_URI;
+ field public static final deprecated java.lang.String DEFAULT_SORT_ORDER = "group_id ASC";
+ field public static final deprecated java.lang.String GROUP_ID = "group_id";
+ field public static final deprecated java.lang.String GROUP_SYNC_ACCOUNT = "group_sync_account";
+ field public static final deprecated java.lang.String GROUP_SYNC_ACCOUNT_TYPE = "group_sync_account_type";
+ field public static final deprecated java.lang.String GROUP_SYNC_ID = "group_sync_id";
+ field public static final deprecated java.lang.String PERSON_ID = "person";
+ field public static final deprecated android.net.Uri RAW_CONTENT_URI;
+ }
+
+ public static final deprecated class Contacts.Groups implements android.provider.BaseColumns android.provider.Contacts.GroupsColumns {
+ field public static final deprecated java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contactsgroup";
+ field public static final deprecated java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/contactsgroup";
+ field public static final deprecated android.net.Uri CONTENT_URI;
+ field public static final deprecated java.lang.String DEFAULT_SORT_ORDER = "name ASC";
+ field public static final deprecated android.net.Uri DELETED_CONTENT_URI;
+ field public static final deprecated java.lang.String GROUP_ANDROID_STARRED = "Starred in Android";
+ field public static final deprecated java.lang.String GROUP_MY_CONTACTS = "Contacts";
+ }
+
+ public static abstract deprecated interface Contacts.GroupsColumns {
+ field public static final deprecated java.lang.String NAME = "name";
+ field public static final deprecated java.lang.String NOTES = "notes";
+ field public static final deprecated java.lang.String SHOULD_SYNC = "should_sync";
+ field public static final deprecated java.lang.String SYSTEM_ID = "system_id";
+ }
+
+ public static final deprecated class Contacts.Intents {
+ ctor public deprecated Contacts.Intents();
+ field public static final deprecated java.lang.String ATTACH_IMAGE = "com.android.contacts.action.ATTACH_IMAGE";
+ field public static final deprecated java.lang.String EXTRA_CREATE_DESCRIPTION = "com.android.contacts.action.CREATE_DESCRIPTION";
+ field public static final deprecated java.lang.String EXTRA_FORCE_CREATE = "com.android.contacts.action.FORCE_CREATE";
+ field public static final deprecated java.lang.String SEARCH_SUGGESTION_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_CLICKED";
+ field public static final deprecated java.lang.String SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED";
+ field public static final deprecated java.lang.String SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED";
+ field public static final deprecated java.lang.String SHOW_OR_CREATE_CONTACT = "com.android.contacts.action.SHOW_OR_CREATE_CONTACT";
+ }
+
+ public static final deprecated class Contacts.Intents.Insert {
+ ctor public deprecated Contacts.Intents.Insert();
+ field public static final deprecated java.lang.String ACTION = "android.intent.action.INSERT";
+ field public static final deprecated java.lang.String COMPANY = "company";
+ field public static final deprecated java.lang.String EMAIL = "email";
+ field public static final deprecated java.lang.String EMAIL_ISPRIMARY = "email_isprimary";
+ field public static final deprecated java.lang.String EMAIL_TYPE = "email_type";
+ field public static final deprecated java.lang.String FULL_MODE = "full_mode";
+ field public static final deprecated java.lang.String IM_HANDLE = "im_handle";
+ field public static final deprecated java.lang.String IM_ISPRIMARY = "im_isprimary";
+ field public static final deprecated java.lang.String IM_PROTOCOL = "im_protocol";
+ field public static final deprecated java.lang.String JOB_TITLE = "job_title";
+ field public static final deprecated java.lang.String NAME = "name";
+ field public static final deprecated java.lang.String NOTES = "notes";
+ field public static final deprecated java.lang.String PHONE = "phone";
+ field public static final deprecated java.lang.String PHONETIC_NAME = "phonetic_name";
+ field public static final deprecated java.lang.String PHONE_ISPRIMARY = "phone_isprimary";
+ field public static final deprecated java.lang.String PHONE_TYPE = "phone_type";
+ field public static final deprecated java.lang.String POSTAL = "postal";
+ field public static final deprecated java.lang.String POSTAL_ISPRIMARY = "postal_isprimary";
+ field public static final deprecated java.lang.String POSTAL_TYPE = "postal_type";
+ field public static final deprecated java.lang.String SECONDARY_EMAIL = "secondary_email";
+ field public static final deprecated java.lang.String SECONDARY_EMAIL_TYPE = "secondary_email_type";
+ field public static final deprecated java.lang.String SECONDARY_PHONE = "secondary_phone";
+ field public static final deprecated java.lang.String SECONDARY_PHONE_TYPE = "secondary_phone_type";
+ field public static final deprecated java.lang.String TERTIARY_EMAIL = "tertiary_email";
+ field public static final deprecated java.lang.String TERTIARY_EMAIL_TYPE = "tertiary_email_type";
+ field public static final deprecated java.lang.String TERTIARY_PHONE = "tertiary_phone";
+ field public static final deprecated java.lang.String TERTIARY_PHONE_TYPE = "tertiary_phone_type";
+ }
+
+ public static final deprecated class Contacts.Intents.UI {
+ ctor public deprecated Contacts.Intents.UI();
+ field public static final deprecated java.lang.String FILTER_CONTACTS_ACTION = "com.android.contacts.action.FILTER_CONTACTS";
+ field public static final deprecated java.lang.String FILTER_TEXT_EXTRA_KEY = "com.android.contacts.extra.FILTER_TEXT";
+ field public static final deprecated java.lang.String GROUP_NAME_EXTRA_KEY = "com.android.contacts.extra.GROUP";
+ field public static final deprecated java.lang.String LIST_ALL_CONTACTS_ACTION = "com.android.contacts.action.LIST_ALL_CONTACTS";
+ field public static final deprecated java.lang.String LIST_CONTACTS_WITH_PHONES_ACTION = "com.android.contacts.action.LIST_CONTACTS_WITH_PHONES";
+ field public static final deprecated java.lang.String LIST_DEFAULT = "com.android.contacts.action.LIST_DEFAULT";
+ field public static final deprecated java.lang.String LIST_FREQUENT_ACTION = "com.android.contacts.action.LIST_FREQUENT";
+ field public static final deprecated java.lang.String LIST_GROUP_ACTION = "com.android.contacts.action.LIST_GROUP";
+ field public static final deprecated java.lang.String LIST_STARRED_ACTION = "com.android.contacts.action.LIST_STARRED";
+ field public static final deprecated java.lang.String LIST_STREQUENT_ACTION = "com.android.contacts.action.LIST_STREQUENT";
+ field public static final deprecated java.lang.String TITLE_EXTRA_KEY = "com.android.contacts.extra.TITLE_EXTRA";
+ }
+
+ public static abstract deprecated interface Contacts.OrganizationColumns {
+ field public static final deprecated java.lang.String COMPANY = "company";
+ field public static final deprecated java.lang.String ISPRIMARY = "isprimary";
+ field public static final deprecated java.lang.String LABEL = "label";
+ field public static final deprecated java.lang.String PERSON_ID = "person";
+ field public static final deprecated java.lang.String TITLE = "title";
+ field public static final deprecated java.lang.String TYPE = "type";
+ field public static final deprecated int TYPE_CUSTOM = 0; // 0x0
+ field public static final deprecated int TYPE_OTHER = 2; // 0x2
+ field public static final deprecated int TYPE_WORK = 1; // 0x1
+ }
+
+ public static final deprecated class Contacts.Organizations implements android.provider.BaseColumns android.provider.Contacts.OrganizationColumns {
+ method public static final deprecated java.lang.CharSequence getDisplayLabel(android.content.Context, int, java.lang.CharSequence);
+ field public static final deprecated java.lang.String CONTENT_DIRECTORY = "organizations";
+ field public static final deprecated android.net.Uri CONTENT_URI;
+ field public static final deprecated java.lang.String DEFAULT_SORT_ORDER = "company, title, isprimary ASC";
+ }
+
+ public static final deprecated class Contacts.People implements android.provider.BaseColumns android.provider.Contacts.PeopleColumns android.provider.Contacts.PhonesColumns android.provider.Contacts.PresenceColumns {
+ method public static deprecated android.net.Uri addToGroup(android.content.ContentResolver, long, java.lang.String);
+ method public static deprecated android.net.Uri addToGroup(android.content.ContentResolver, long, long);
+ method public static deprecated android.net.Uri addToMyContactsGroup(android.content.ContentResolver, long);
+ method public static deprecated android.net.Uri createPersonInMyContactsGroup(android.content.ContentResolver, android.content.ContentValues);
+ method public static deprecated android.graphics.Bitmap loadContactPhoto(android.content.Context, android.net.Uri, int, android.graphics.BitmapFactory.Options);
+ method public static deprecated void markAsContacted(android.content.ContentResolver, long);
+ method public static deprecated java.io.InputStream openContactPhotoInputStream(android.content.ContentResolver, android.net.Uri);
+ method public static deprecated android.database.Cursor queryGroups(android.content.ContentResolver, long);
+ method public static deprecated void setPhotoData(android.content.ContentResolver, android.net.Uri, byte[]);
+ field public static final deprecated android.net.Uri CONTENT_FILTER_URI;
+ field public static final deprecated java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/person";
+ field public static final deprecated java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/person";
+ field public static final deprecated android.net.Uri CONTENT_URI;
+ field public static final deprecated java.lang.String DEFAULT_SORT_ORDER = "name ASC";
+ field public static final deprecated android.net.Uri DELETED_CONTENT_URI;
+ field public static final deprecated java.lang.String PRIMARY_EMAIL_ID = "primary_email";
+ field public static final deprecated java.lang.String PRIMARY_ORGANIZATION_ID = "primary_organization";
+ field public static final deprecated java.lang.String PRIMARY_PHONE_ID = "primary_phone";
+ }
+
+ public static final deprecated class Contacts.People.ContactMethods implements android.provider.BaseColumns android.provider.Contacts.ContactMethodsColumns android.provider.Contacts.PeopleColumns {
+ field public static final deprecated java.lang.String CONTENT_DIRECTORY = "contact_methods";
+ field public static final deprecated java.lang.String DEFAULT_SORT_ORDER = "data ASC";
+ }
+
+ public static deprecated class Contacts.People.Extensions implements android.provider.BaseColumns android.provider.Contacts.ExtensionsColumns {
+ field public static final deprecated java.lang.String CONTENT_DIRECTORY = "extensions";
+ field public static final deprecated java.lang.String DEFAULT_SORT_ORDER = "name ASC";
+ field public static final deprecated java.lang.String PERSON_ID = "person";
+ }
+
+ public static final deprecated class Contacts.People.Phones implements android.provider.BaseColumns android.provider.Contacts.PeopleColumns android.provider.Contacts.PhonesColumns {
+ field public static final deprecated java.lang.String CONTENT_DIRECTORY = "phones";
+ field public static final deprecated java.lang.String DEFAULT_SORT_ORDER = "number ASC";
+ }
+
+ public static abstract deprecated interface Contacts.PeopleColumns {
+ field public static final deprecated java.lang.String CUSTOM_RINGTONE = "custom_ringtone";
+ field public static final deprecated java.lang.String DISPLAY_NAME = "display_name";
+ field public static final deprecated java.lang.String LAST_TIME_CONTACTED = "last_time_contacted";
+ field public static final deprecated java.lang.String NAME = "name";
+ field public static final deprecated java.lang.String NOTES = "notes";
+ field public static final deprecated java.lang.String PHONETIC_NAME = "phonetic_name";
+ field public static final deprecated java.lang.String PHOTO_VERSION = "photo_version";
+ field public static final deprecated java.lang.String SEND_TO_VOICEMAIL = "send_to_voicemail";
+ field public static final deprecated java.lang.String STARRED = "starred";
+ field public static final deprecated java.lang.String TIMES_CONTACTED = "times_contacted";
+ }
+
+ public static final deprecated class Contacts.Phones implements android.provider.BaseColumns android.provider.Contacts.PeopleColumns android.provider.Contacts.PhonesColumns {
+ method public static final deprecated java.lang.CharSequence getDisplayLabel(android.content.Context, int, java.lang.CharSequence, java.lang.CharSequence[]);
+ method public static final deprecated java.lang.CharSequence getDisplayLabel(android.content.Context, int, java.lang.CharSequence);
+ field public static final deprecated android.net.Uri CONTENT_FILTER_URL;
+ field public static final deprecated java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/phone";
+ field public static final deprecated java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/phone";
+ field public static final deprecated android.net.Uri CONTENT_URI;
+ field public static final deprecated java.lang.String DEFAULT_SORT_ORDER = "name ASC";
+ field public static final deprecated java.lang.String PERSON_ID = "person";
+ }
+
+ public static abstract deprecated interface Contacts.PhonesColumns {
+ field public static final deprecated java.lang.String ISPRIMARY = "isprimary";
+ field public static final deprecated java.lang.String LABEL = "label";
+ field public static final deprecated java.lang.String NUMBER = "number";
+ field public static final deprecated java.lang.String NUMBER_KEY = "number_key";
+ field public static final deprecated java.lang.String TYPE = "type";
+ field public static final deprecated int TYPE_CUSTOM = 0; // 0x0
+ field public static final deprecated int TYPE_FAX_HOME = 5; // 0x5
+ field public static final deprecated int TYPE_FAX_WORK = 4; // 0x4
+ field public static final deprecated int TYPE_HOME = 1; // 0x1
+ field public static final deprecated int TYPE_MOBILE = 2; // 0x2
+ field public static final deprecated int TYPE_OTHER = 7; // 0x7
+ field public static final deprecated int TYPE_PAGER = 6; // 0x6
+ field public static final deprecated int TYPE_WORK = 3; // 0x3
+ }
+
+ public static final deprecated class Contacts.Photos implements android.provider.BaseColumns android.provider.Contacts.PhotosColumns {
+ field public static final deprecated java.lang.String CONTENT_DIRECTORY = "photo";
+ field public static final deprecated android.net.Uri CONTENT_URI;
+ field public static final deprecated java.lang.String DEFAULT_SORT_ORDER = "person ASC";
+ }
+
+ public static abstract deprecated interface Contacts.PhotosColumns {
+ field public static final deprecated java.lang.String DATA = "data";
+ field public static final deprecated java.lang.String DOWNLOAD_REQUIRED = "download_required";
+ field public static final deprecated java.lang.String EXISTS_ON_SERVER = "exists_on_server";
+ field public static final deprecated java.lang.String LOCAL_VERSION = "local_version";
+ field public static final deprecated java.lang.String PERSON_ID = "person";
+ field public static final deprecated java.lang.String SYNC_ERROR = "sync_error";
+ }
+
+ public static abstract deprecated interface Contacts.PresenceColumns {
+ field public static final int AVAILABLE = 5; // 0x5
+ field public static final int AWAY = 2; // 0x2
+ field public static final int DO_NOT_DISTURB = 4; // 0x4
+ field public static final int IDLE = 3; // 0x3
+ field public static final deprecated java.lang.String IM_ACCOUNT = "im_account";
+ field public static final deprecated java.lang.String IM_HANDLE = "im_handle";
+ field public static final deprecated java.lang.String IM_PROTOCOL = "im_protocol";
+ field public static final int INVISIBLE = 1; // 0x1
+ field public static final int OFFLINE = 0; // 0x0
+ field public static final java.lang.String PRESENCE_CUSTOM_STATUS = "status";
+ field public static final java.lang.String PRESENCE_STATUS = "mode";
+ field public static final java.lang.String PRIORITY = "priority";
+ }
+
+ public static final deprecated class Contacts.Settings implements android.provider.BaseColumns android.provider.Contacts.SettingsColumns {
+ method public static deprecated java.lang.String getSetting(android.content.ContentResolver, java.lang.String, java.lang.String);
+ method public static deprecated void setSetting(android.content.ContentResolver, java.lang.String, java.lang.String, java.lang.String);
+ field public static final deprecated java.lang.String CONTENT_DIRECTORY = "settings";
+ field public static final deprecated android.net.Uri CONTENT_URI;
+ field public static final deprecated java.lang.String DEFAULT_SORT_ORDER = "key ASC";
+ field public static final deprecated java.lang.String SYNC_EVERYTHING = "syncEverything";
+ }
+
+ public static abstract deprecated interface Contacts.SettingsColumns {
+ field public static final deprecated java.lang.String KEY = "key";
+ field public static final deprecated java.lang.String VALUE = "value";
+ field public static final deprecated java.lang.String _SYNC_ACCOUNT = "_sync_account";
+ field public static final deprecated java.lang.String _SYNC_ACCOUNT_TYPE = "_sync_account_type";
+ }
+
+ public final class ContactsContract {
+ ctor public ContactsContract();
+ method public static boolean isProfileId(long);
+ field public static final java.lang.String AUTHORITY = "com.android.contacts";
+ field public static final android.net.Uri AUTHORITY_URI;
+ field public static final java.lang.String CALLER_IS_SYNCADAPTER = "caller_is_syncadapter";
+ field public static final java.lang.String DIRECTORY_PARAM_KEY = "directory";
+ field public static final java.lang.String LIMIT_PARAM_KEY = "limit";
+ field public static final java.lang.String PRIMARY_ACCOUNT_NAME = "name_for_primary_account";
+ field public static final java.lang.String PRIMARY_ACCOUNT_TYPE = "type_for_primary_account";
+ }
+
+ public static final class ContactsContract.AggregationExceptions implements android.provider.BaseColumns {
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/aggregation_exception";
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/aggregation_exception";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String RAW_CONTACT_ID1 = "raw_contact_id1";
+ field public static final java.lang.String RAW_CONTACT_ID2 = "raw_contact_id2";
+ field public static final java.lang.String TYPE = "type";
+ field public static final int TYPE_AUTOMATIC = 0; // 0x0
+ field public static final int TYPE_KEEP_SEPARATE = 2; // 0x2
+ field public static final int TYPE_KEEP_TOGETHER = 1; // 0x1
+ }
+
+ protected static abstract interface ContactsContract.BaseSyncColumns {
+ field public static final java.lang.String SYNC1 = "sync1";
+ field public static final java.lang.String SYNC2 = "sync2";
+ field public static final java.lang.String SYNC3 = "sync3";
+ field public static final java.lang.String SYNC4 = "sync4";
+ }
+
+ public static final class ContactsContract.CommonDataKinds {
+ }
+
+ public static abstract interface ContactsContract.CommonDataKinds.BaseTypes {
+ field public static final int TYPE_CUSTOM = 0; // 0x0
+ }
+
+ protected static abstract interface ContactsContract.CommonDataKinds.CommonColumns implements android.provider.ContactsContract.CommonDataKinds.BaseTypes {
+ field public static final java.lang.String DATA = "data1";
+ field public static final java.lang.String LABEL = "data3";
+ field public static final java.lang.String TYPE = "data2";
+ }
+
+ public static final class ContactsContract.CommonDataKinds.Email implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+ method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
+ method public static final int getTypeLabelResource(int);
+ field public static final java.lang.String ADDRESS = "data1";
+ field public static final android.net.Uri CONTENT_FILTER_URI;
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/email_v2";
+ field public static final android.net.Uri CONTENT_LOOKUP_URI;
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/email_v2";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String DISPLAY_NAME = "data4";
+ field public static final int TYPE_HOME = 1; // 0x1
+ field public static final int TYPE_MOBILE = 4; // 0x4
+ field public static final int TYPE_OTHER = 3; // 0x3
+ field public static final int TYPE_WORK = 2; // 0x2
+ }
+
+ public static final class ContactsContract.CommonDataKinds.Event implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+ method public static int getTypeResource(java.lang.Integer);
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_event";
+ field public static final java.lang.String START_DATE = "data1";
+ field public static final int TYPE_ANNIVERSARY = 1; // 0x1
+ field public static final int TYPE_BIRTHDAY = 3; // 0x3
+ field public static final int TYPE_OTHER = 2; // 0x2
+ }
+
+ public static final class ContactsContract.CommonDataKinds.GroupMembership implements android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/group_membership";
+ field public static final java.lang.String GROUP_ROW_ID = "data1";
+ field public static final java.lang.String GROUP_SOURCE_ID = "group_sourceid";
+ }
+
+ public static final class ContactsContract.CommonDataKinds.Identity implements android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/identity";
+ field public static final java.lang.String IDENTITY = "data1";
+ field public static final java.lang.String NAMESPACE = "data2";
+ }
+
+ public static final class ContactsContract.CommonDataKinds.Im implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+ method public static final java.lang.CharSequence getProtocolLabel(android.content.res.Resources, int, java.lang.CharSequence);
+ method public static final int getProtocolLabelResource(int);
+ method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
+ method public static final int getTypeLabelResource(int);
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/im";
+ field public static final java.lang.String CUSTOM_PROTOCOL = "data6";
+ field public static final java.lang.String PROTOCOL = "data5";
+ field public static final int PROTOCOL_AIM = 0; // 0x0
+ field public static final int PROTOCOL_CUSTOM = -1; // 0xffffffff
+ field public static final int PROTOCOL_GOOGLE_TALK = 5; // 0x5
+ field public static final int PROTOCOL_ICQ = 6; // 0x6
+ field public static final int PROTOCOL_JABBER = 7; // 0x7
+ field public static final int PROTOCOL_MSN = 1; // 0x1
+ field public static final int PROTOCOL_NETMEETING = 8; // 0x8
+ field public static final int PROTOCOL_QQ = 4; // 0x4
+ field public static final int PROTOCOL_SKYPE = 3; // 0x3
+ field public static final int PROTOCOL_YAHOO = 2; // 0x2
+ field public static final int TYPE_HOME = 1; // 0x1
+ field public static final int TYPE_OTHER = 3; // 0x3
+ field public static final int TYPE_WORK = 2; // 0x2
+ }
+
+ public static final class ContactsContract.CommonDataKinds.Nickname implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/nickname";
+ field public static final java.lang.String NAME = "data1";
+ field public static final int TYPE_DEFAULT = 1; // 0x1
+ field public static final int TYPE_INITIALS = 5; // 0x5
+ field public static final int TYPE_MAIDEN_NAME = 3; // 0x3
+ field public static final deprecated int TYPE_MAINDEN_NAME = 3; // 0x3
+ field public static final int TYPE_OTHER_NAME = 2; // 0x2
+ field public static final int TYPE_SHORT_NAME = 4; // 0x4
+ }
+
+ public static final class ContactsContract.CommonDataKinds.Note implements android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/note";
+ field public static final java.lang.String NOTE = "data1";
+ }
+
+ public static final class ContactsContract.CommonDataKinds.Organization implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+ method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
+ method public static final int getTypeLabelResource(int);
+ field public static final java.lang.String COMPANY = "data1";
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/organization";
+ field public static final java.lang.String DEPARTMENT = "data5";
+ field public static final java.lang.String JOB_DESCRIPTION = "data6";
+ field public static final java.lang.String OFFICE_LOCATION = "data9";
+ field public static final java.lang.String PHONETIC_NAME = "data8";
+ field public static final java.lang.String SYMBOL = "data7";
+ field public static final java.lang.String TITLE = "data4";
+ field public static final int TYPE_OTHER = 2; // 0x2
+ field public static final int TYPE_WORK = 1; // 0x1
+ }
+
+ public static final class ContactsContract.CommonDataKinds.Phone implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+ method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
+ method public static final int getTypeLabelResource(int);
+ field public static final android.net.Uri CONTENT_FILTER_URI;
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/phone_v2";
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/phone_v2";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String NUMBER = "data1";
+ field public static final int TYPE_ASSISTANT = 19; // 0x13
+ field public static final int TYPE_CALLBACK = 8; // 0x8
+ field public static final int TYPE_CAR = 9; // 0x9
+ field public static final int TYPE_COMPANY_MAIN = 10; // 0xa
+ field public static final int TYPE_FAX_HOME = 5; // 0x5
+ field public static final int TYPE_FAX_WORK = 4; // 0x4
+ field public static final int TYPE_HOME = 1; // 0x1
+ field public static final int TYPE_ISDN = 11; // 0xb
+ field public static final int TYPE_MAIN = 12; // 0xc
+ field public static final int TYPE_MMS = 20; // 0x14
+ field public static final int TYPE_MOBILE = 2; // 0x2
+ field public static final int TYPE_OTHER = 7; // 0x7
+ field public static final int TYPE_OTHER_FAX = 13; // 0xd
+ field public static final int TYPE_PAGER = 6; // 0x6
+ field public static final int TYPE_RADIO = 14; // 0xe
+ field public static final int TYPE_TELEX = 15; // 0xf
+ field public static final int TYPE_TTY_TDD = 16; // 0x10
+ field public static final int TYPE_WORK = 3; // 0x3
+ field public static final int TYPE_WORK_MOBILE = 17; // 0x11
+ field public static final int TYPE_WORK_PAGER = 18; // 0x12
+ }
+
+ public static final class ContactsContract.CommonDataKinds.Photo implements android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/photo";
+ field public static final java.lang.String PHOTO = "data15";
+ field public static final java.lang.String PHOTO_FILE_ID = "data14";
+ }
+
+ public static final class ContactsContract.CommonDataKinds.Relation implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+ method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
+ method public static final int getTypeLabelResource(int);
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/relation";
+ field public static final java.lang.String NAME = "data1";
+ field public static final int TYPE_ASSISTANT = 1; // 0x1
+ field public static final int TYPE_BROTHER = 2; // 0x2
+ field public static final int TYPE_CHILD = 3; // 0x3
+ field public static final int TYPE_DOMESTIC_PARTNER = 4; // 0x4
+ field public static final int TYPE_FATHER = 5; // 0x5
+ field public static final int TYPE_FRIEND = 6; // 0x6
+ field public static final int TYPE_MANAGER = 7; // 0x7
+ field public static final int TYPE_MOTHER = 8; // 0x8
+ field public static final int TYPE_PARENT = 9; // 0x9
+ field public static final int TYPE_PARTNER = 10; // 0xa
+ field public static final int TYPE_REFERRED_BY = 11; // 0xb
+ field public static final int TYPE_RELATIVE = 12; // 0xc
+ field public static final int TYPE_SISTER = 13; // 0xd
+ field public static final int TYPE_SPOUSE = 14; // 0xe
+ }
+
+ public static final class ContactsContract.CommonDataKinds.SipAddress implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+ method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
+ method public static final int getTypeLabelResource(int);
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/sip_address";
+ field public static final java.lang.String SIP_ADDRESS = "data1";
+ field public static final int TYPE_HOME = 1; // 0x1
+ field public static final int TYPE_OTHER = 3; // 0x3
+ field public static final int TYPE_WORK = 2; // 0x2
+ }
+
+ public static final class ContactsContract.CommonDataKinds.StructuredName implements android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/name";
+ field public static final java.lang.String DISPLAY_NAME = "data1";
+ field public static final java.lang.String FAMILY_NAME = "data3";
+ field public static final java.lang.String GIVEN_NAME = "data2";
+ field public static final java.lang.String MIDDLE_NAME = "data5";
+ field public static final java.lang.String PHONETIC_FAMILY_NAME = "data9";
+ field public static final java.lang.String PHONETIC_GIVEN_NAME = "data7";
+ field public static final java.lang.String PHONETIC_MIDDLE_NAME = "data8";
+ field public static final java.lang.String PREFIX = "data4";
+ field public static final java.lang.String SUFFIX = "data6";
+ }
+
+ public static final class ContactsContract.CommonDataKinds.StructuredPostal implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+ method public static final java.lang.CharSequence getTypeLabel(android.content.res.Resources, int, java.lang.CharSequence);
+ method public static final int getTypeLabelResource(int);
+ field public static final java.lang.String CITY = "data7";
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/postal-address_v2";
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/postal-address_v2";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String COUNTRY = "data10";
+ field public static final java.lang.String FORMATTED_ADDRESS = "data1";
+ field public static final java.lang.String NEIGHBORHOOD = "data6";
+ field public static final java.lang.String POBOX = "data5";
+ field public static final java.lang.String POSTCODE = "data9";
+ field public static final java.lang.String REGION = "data8";
+ field public static final java.lang.String STREET = "data4";
+ field public static final int TYPE_HOME = 1; // 0x1
+ field public static final int TYPE_OTHER = 3; // 0x3
+ field public static final int TYPE_WORK = 2; // 0x2
+ }
+
+ public static final class ContactsContract.CommonDataKinds.Website implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/website";
+ field public static final int TYPE_BLOG = 2; // 0x2
+ field public static final int TYPE_FTP = 6; // 0x6
+ field public static final int TYPE_HOME = 4; // 0x4
+ field public static final int TYPE_HOMEPAGE = 1; // 0x1
+ field public static final int TYPE_OTHER = 7; // 0x7
+ field public static final int TYPE_PROFILE = 3; // 0x3
+ field public static final int TYPE_WORK = 5; // 0x5
+ field public static final java.lang.String URL = "data1";
+ }
+
+ protected static abstract interface ContactsContract.ContactNameColumns {
+ field public static final java.lang.String DISPLAY_NAME_ALTERNATIVE = "display_name_alt";
+ field public static final java.lang.String DISPLAY_NAME_PRIMARY = "display_name";
+ field public static final java.lang.String DISPLAY_NAME_SOURCE = "display_name_source";
+ field public static final java.lang.String PHONETIC_NAME = "phonetic_name";
+ field public static final java.lang.String PHONETIC_NAME_STYLE = "phonetic_name_style";
+ field public static final java.lang.String SORT_KEY_ALTERNATIVE = "sort_key_alt";
+ field public static final java.lang.String SORT_KEY_PRIMARY = "sort_key";
+ }
+
+ protected static abstract interface ContactsContract.ContactOptionsColumns {
+ field public static final java.lang.String CUSTOM_RINGTONE = "custom_ringtone";
+ field public static final java.lang.String LAST_TIME_CONTACTED = "last_time_contacted";
+ field public static final java.lang.String SEND_TO_VOICEMAIL = "send_to_voicemail";
+ field public static final java.lang.String STARRED = "starred";
+ field public static final java.lang.String TIMES_CONTACTED = "times_contacted";
+ }
+
+ protected static abstract interface ContactsContract.ContactStatusColumns {
+ field public static final java.lang.String CONTACT_CHAT_CAPABILITY = "contact_chat_capability";
+ field public static final java.lang.String CONTACT_PRESENCE = "contact_presence";
+ field public static final java.lang.String CONTACT_STATUS = "contact_status";
+ field public static final java.lang.String CONTACT_STATUS_ICON = "contact_status_icon";
+ field public static final java.lang.String CONTACT_STATUS_LABEL = "contact_status_label";
+ field public static final java.lang.String CONTACT_STATUS_RES_PACKAGE = "contact_status_res_package";
+ field public static final java.lang.String CONTACT_STATUS_TIMESTAMP = "contact_status_ts";
+ }
+
+ public static class ContactsContract.Contacts implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns {
+ method public static android.net.Uri getLookupUri(android.content.ContentResolver, android.net.Uri);
+ method public static android.net.Uri getLookupUri(long, java.lang.String);
+ method public static android.net.Uri lookupContact(android.content.ContentResolver, android.net.Uri);
+ method public static void markAsContacted(android.content.ContentResolver, long);
+ method public static java.io.InputStream openContactPhotoInputStream(android.content.ContentResolver, android.net.Uri, boolean);
+ method public static java.io.InputStream openContactPhotoInputStream(android.content.ContentResolver, android.net.Uri);
+ field public static final android.net.Uri CONTENT_FILTER_URI;
+ field public static final android.net.Uri CONTENT_GROUP_URI;
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact";
+ field public static final android.net.Uri CONTENT_LOOKUP_URI;
+ field public static final android.net.Uri CONTENT_STREQUENT_FILTER_URI;
+ field public static final android.net.Uri CONTENT_STREQUENT_URI;
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/contact";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String CONTENT_VCARD_TYPE = "text/x-vcard";
+ field public static final android.net.Uri CONTENT_VCARD_URI;
+ }
+
+ public static final class ContactsContract.Contacts.AggregationSuggestions implements android.provider.BaseColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns {
+ field public static final java.lang.String CONTENT_DIRECTORY = "suggestions";
+ }
+
+ public static final class ContactsContract.Contacts.Data implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns {
+ field public static final java.lang.String CONTENT_DIRECTORY = "data";
+ }
+
+ public static final class ContactsContract.Contacts.Entity implements android.provider.BaseColumns android.provider.ContactsContract.BaseSyncColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns android.provider.ContactsContract.DataColumns android.provider.ContactsContract.RawContactsColumns android.provider.ContactsContract.StatusColumns android.provider.ContactsContract.SyncColumns {
+ field public static final java.lang.String CONTENT_DIRECTORY = "entities";
+ field public static final java.lang.String DATA_ID = "data_id";
+ field public static final java.lang.String RAW_CONTACT_ID = "raw_contact_id";
+ }
+
+ public static final class ContactsContract.Contacts.Photo implements android.provider.BaseColumns android.provider.ContactsContract.DataColumnsWithJoins {
+ field public static final java.lang.String CONTENT_DIRECTORY = "photo";
+ field public static final java.lang.String DISPLAY_PHOTO = "display_photo";
+ field public static final java.lang.String PHOTO = "data15";
+ field public static final java.lang.String PHOTO_FILE_ID = "data14";
+ }
+
+ protected static abstract interface ContactsContract.ContactsColumns {
+ field public static final java.lang.String DISPLAY_NAME = "display_name";
+ field public static final java.lang.String HAS_PHONE_NUMBER = "has_phone_number";
+ field public static final java.lang.String IN_VISIBLE_GROUP = "in_visible_group";
+ field public static final java.lang.String IS_USER_PROFILE = "is_user_profile";
+ field public static final java.lang.String LOOKUP_KEY = "lookup";
+ field public static final java.lang.String PHOTO_FILE_ID = "photo_file_id";
+ field public static final java.lang.String PHOTO_ID = "photo_id";
+ field public static final java.lang.String PHOTO_THUMBNAIL_URI = "photo_thumb_uri";
+ field public static final java.lang.String PHOTO_URI = "photo_uri";
+ }
+
+ public static final class ContactsContract.Data implements android.provider.ContactsContract.DataColumnsWithJoins {
+ method public static android.net.Uri getContactLookupUri(android.content.ContentResolver, android.net.Uri);
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/data";
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ protected static abstract interface ContactsContract.DataColumns {
+ field public static final java.lang.String DATA1 = "data1";
+ field public static final java.lang.String DATA10 = "data10";
+ field public static final java.lang.String DATA11 = "data11";
+ field public static final java.lang.String DATA12 = "data12";
+ field public static final java.lang.String DATA13 = "data13";
+ field public static final java.lang.String DATA14 = "data14";
+ field public static final java.lang.String DATA15 = "data15";
+ field public static final java.lang.String DATA2 = "data2";
+ field public static final java.lang.String DATA3 = "data3";
+ field public static final java.lang.String DATA4 = "data4";
+ field public static final java.lang.String DATA5 = "data5";
+ field public static final java.lang.String DATA6 = "data6";
+ field public static final java.lang.String DATA7 = "data7";
+ field public static final java.lang.String DATA8 = "data8";
+ field public static final java.lang.String DATA9 = "data9";
+ field public static final java.lang.String DATA_VERSION = "data_version";
+ field public static final java.lang.String IS_PRIMARY = "is_primary";
+ field public static final java.lang.String IS_READ_ONLY = "is_read_only";
+ field public static final java.lang.String IS_SUPER_PRIMARY = "is_super_primary";
+ field public static final java.lang.String MIMETYPE = "mimetype";
+ field public static final java.lang.String RAW_CONTACT_ID = "raw_contact_id";
+ field public static final java.lang.String SYNC1 = "data_sync1";
+ field public static final java.lang.String SYNC2 = "data_sync2";
+ field public static final java.lang.String SYNC3 = "data_sync3";
+ field public static final java.lang.String SYNC4 = "data_sync4";
+ }
+
+ protected static abstract interface ContactsContract.DataColumnsWithJoins implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns android.provider.ContactsContract.DataColumns android.provider.ContactsContract.RawContactsColumns android.provider.ContactsContract.StatusColumns {
+ }
+
+ public static final class ContactsContract.DataUsageFeedback {
+ ctor public ContactsContract.DataUsageFeedback();
+ field public static final android.net.Uri FEEDBACK_URI;
+ field public static final java.lang.String USAGE_TYPE = "type";
+ field public static final java.lang.String USAGE_TYPE_CALL = "call";
+ field public static final java.lang.String USAGE_TYPE_LONG_TEXT = "long_text";
+ field public static final java.lang.String USAGE_TYPE_SHORT_TEXT = "short_text";
+ }
+
+ public static final class ContactsContract.Directory implements android.provider.BaseColumns {
+ method public static void notifyDirectoryChange(android.content.ContentResolver);
+ field public static final java.lang.String ACCOUNT_NAME = "accountName";
+ field public static final java.lang.String ACCOUNT_TYPE = "accountType";
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_directory";
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/contact_directories";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final long DEFAULT = 0L; // 0x0L
+ field public static final java.lang.String DIRECTORY_AUTHORITY = "authority";
+ field public static final java.lang.String DISPLAY_NAME = "displayName";
+ field public static final java.lang.String EXPORT_SUPPORT = "exportSupport";
+ field public static final int EXPORT_SUPPORT_ANY_ACCOUNT = 2; // 0x2
+ field public static final int EXPORT_SUPPORT_NONE = 0; // 0x0
+ field public static final int EXPORT_SUPPORT_SAME_ACCOUNT_ONLY = 1; // 0x1
+ field public static final long LOCAL_INVISIBLE = 1L; // 0x1L
+ field public static final java.lang.String PACKAGE_NAME = "packageName";
+ field public static final java.lang.String PHOTO_SUPPORT = "photoSupport";
+ field public static final int PHOTO_SUPPORT_FULL = 3; // 0x3
+ field public static final int PHOTO_SUPPORT_FULL_SIZE_ONLY = 2; // 0x2
+ field public static final int PHOTO_SUPPORT_NONE = 0; // 0x0
+ field public static final int PHOTO_SUPPORT_THUMBNAIL_ONLY = 1; // 0x1
+ field public static final java.lang.String SHORTCUT_SUPPORT = "shortcutSupport";
+ field public static final int SHORTCUT_SUPPORT_DATA_ITEMS_ONLY = 1; // 0x1
+ field public static final int SHORTCUT_SUPPORT_FULL = 2; // 0x2
+ field public static final int SHORTCUT_SUPPORT_NONE = 0; // 0x0
+ field public static final java.lang.String TYPE_RESOURCE_ID = "typeResourceId";
+ }
+
+ public static abstract interface ContactsContract.DisplayNameSources {
+ field public static final int EMAIL = 10; // 0xa
+ field public static final int NICKNAME = 35; // 0x23
+ field public static final int ORGANIZATION = 30; // 0x1e
+ field public static final int PHONE = 20; // 0x14
+ field public static final int STRUCTURED_NAME = 40; // 0x28
+ field public static final int UNDEFINED = 0; // 0x0
+ }
+
+ public static final class ContactsContract.DisplayPhoto {
+ field public static final android.net.Uri CONTENT_MAX_DIMENSIONS_URI;
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String DISPLAY_MAX_DIM = "display_max_dim";
+ field public static final java.lang.String THUMBNAIL_MAX_DIM = "thumbnail_max_dim";
+ }
+
+ public static abstract interface ContactsContract.FullNameStyle {
+ field public static final int CHINESE = 3; // 0x3
+ field public static final int CJK = 2; // 0x2
+ field public static final int JAPANESE = 4; // 0x4
+ field public static final int KOREAN = 5; // 0x5
+ field public static final int UNDEFINED = 0; // 0x0
+ field public static final int WESTERN = 1; // 0x1
+ }
+
+ public static final class ContactsContract.Groups implements android.provider.BaseColumns android.provider.ContactsContract.GroupsColumns android.provider.ContactsContract.SyncColumns {
+ method public static android.content.EntityIterator newEntityIterator(android.database.Cursor);
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/group";
+ field public static final android.net.Uri CONTENT_SUMMARY_URI;
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/group";
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ protected static abstract interface ContactsContract.GroupsColumns {
+ field public static final java.lang.String AUTO_ADD = "auto_add";
+ field public static final java.lang.String DATA_SET = "data_set";
+ field public static final java.lang.String DELETED = "deleted";
+ field public static final java.lang.String FAVORITES = "favorites";
+ field public static final java.lang.String GROUP_IS_READ_ONLY = "group_is_read_only";
+ field public static final java.lang.String GROUP_VISIBLE = "group_visible";
+ field public static final java.lang.String NOTES = "notes";
+ field public static final java.lang.String SHOULD_SYNC = "should_sync";
+ field public static final java.lang.String SUMMARY_COUNT = "summ_count";
+ field public static final java.lang.String SUMMARY_WITH_PHONES = "summ_phones";
+ field public static final java.lang.String SYSTEM_ID = "system_id";
+ field public static final java.lang.String TITLE = "title";
+ }
+
+ public static final class ContactsContract.Intents {
+ ctor public ContactsContract.Intents();
+ field public static final java.lang.String ATTACH_IMAGE = "com.android.contacts.action.ATTACH_IMAGE";
+ field public static final java.lang.String EXTRA_CREATE_DESCRIPTION = "com.android.contacts.action.CREATE_DESCRIPTION";
+ field public static final java.lang.String EXTRA_FORCE_CREATE = "com.android.contacts.action.FORCE_CREATE";
+ field public static final java.lang.String INVITE_CONTACT = "com.android.contacts.action.INVITE_CONTACT";
+ field public static final java.lang.String SEARCH_SUGGESTION_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_CLICKED";
+ field public static final java.lang.String SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED";
+ field public static final java.lang.String SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED";
+ field public static final java.lang.String SHOW_OR_CREATE_CONTACT = "com.android.contacts.action.SHOW_OR_CREATE_CONTACT";
+ }
+
+ public static final class ContactsContract.Intents.Insert {
+ ctor public ContactsContract.Intents.Insert();
+ field public static final java.lang.String ACTION = "android.intent.action.INSERT";
+ field public static final java.lang.String COMPANY = "company";
+ field public static final java.lang.String DATA = "data";
+ field public static final java.lang.String EMAIL = "email";
+ field public static final java.lang.String EMAIL_ISPRIMARY = "email_isprimary";
+ field public static final java.lang.String EMAIL_TYPE = "email_type";
+ field public static final java.lang.String FULL_MODE = "full_mode";
+ field public static final java.lang.String IM_HANDLE = "im_handle";
+ field public static final java.lang.String IM_ISPRIMARY = "im_isprimary";
+ field public static final java.lang.String IM_PROTOCOL = "im_protocol";
+ field public static final java.lang.String JOB_TITLE = "job_title";
+ field public static final java.lang.String NAME = "name";
+ field public static final java.lang.String NOTES = "notes";
+ field public static final java.lang.String PHONE = "phone";
+ field public static final java.lang.String PHONETIC_NAME = "phonetic_name";
+ field public static final java.lang.String PHONE_ISPRIMARY = "phone_isprimary";
+ field public static final java.lang.String PHONE_TYPE = "phone_type";
+ field public static final java.lang.String POSTAL = "postal";
+ field public static final java.lang.String POSTAL_ISPRIMARY = "postal_isprimary";
+ field public static final java.lang.String POSTAL_TYPE = "postal_type";
+ field public static final java.lang.String SECONDARY_EMAIL = "secondary_email";
+ field public static final java.lang.String SECONDARY_EMAIL_TYPE = "secondary_email_type";
+ field public static final java.lang.String SECONDARY_PHONE = "secondary_phone";
+ field public static final java.lang.String SECONDARY_PHONE_TYPE = "secondary_phone_type";
+ field public static final java.lang.String TERTIARY_EMAIL = "tertiary_email";
+ field public static final java.lang.String TERTIARY_EMAIL_TYPE = "tertiary_email_type";
+ field public static final java.lang.String TERTIARY_PHONE = "tertiary_phone";
+ field public static final java.lang.String TERTIARY_PHONE_TYPE = "tertiary_phone_type";
+ }
+
+ public static final class ContactsContract.PhoneLookup implements android.provider.BaseColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactsColumns android.provider.ContactsContract.PhoneLookupColumns {
+ field public static final android.net.Uri CONTENT_FILTER_URI;
+ }
+
+ protected static abstract interface ContactsContract.PhoneLookupColumns {
+ field public static final java.lang.String LABEL = "label";
+ field public static final java.lang.String NUMBER = "number";
+ field public static final java.lang.String TYPE = "type";
+ }
+
+ public static abstract interface ContactsContract.PhoneticNameStyle {
+ field public static final int JAPANESE = 4; // 0x4
+ field public static final int KOREAN = 5; // 0x5
+ field public static final int PINYIN = 3; // 0x3
+ field public static final int UNDEFINED = 0; // 0x0
+ }
+
+ public static final deprecated class ContactsContract.Presence extends android.provider.ContactsContract.StatusUpdates {
+ ctor public ContactsContract.Presence();
+ }
+
+ protected static abstract interface ContactsContract.PresenceColumns {
+ field public static final java.lang.String CUSTOM_PROTOCOL = "custom_protocol";
+ field public static final java.lang.String DATA_ID = "presence_data_id";
+ field public static final java.lang.String IM_ACCOUNT = "im_account";
+ field public static final java.lang.String IM_HANDLE = "im_handle";
+ field public static final java.lang.String PROTOCOL = "protocol";
+ }
+
+ public static final class ContactsContract.Profile implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns {
+ field public static final android.net.Uri CONTENT_RAW_CONTACTS_URI;
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final android.net.Uri CONTENT_VCARD_URI;
+ field public static final long MIN_ID = 9223372034707292160L; // 0x7fffffff80000000L
+ }
+
+ public static final class ContactsContract.ProfileSyncState implements android.provider.SyncStateContract.Columns {
+ method public static byte[] get(android.content.ContentProviderClient, android.accounts.Account) throws android.os.RemoteException;
+ method public static android.util.Pair<android.net.Uri, byte[]> getWithUri(android.content.ContentProviderClient, android.accounts.Account) throws android.os.RemoteException;
+ method public static android.content.ContentProviderOperation newSetOperation(android.accounts.Account, byte[]);
+ method public static void set(android.content.ContentProviderClient, android.accounts.Account, byte[]) throws android.os.RemoteException;
+ field public static final java.lang.String CONTENT_DIRECTORY = "syncstate";
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ public static final class ContactsContract.QuickContact {
+ ctor public ContactsContract.QuickContact();
+ method public static void showQuickContact(android.content.Context, android.view.View, android.net.Uri, int, java.lang.String[]);
+ method public static void showQuickContact(android.content.Context, android.graphics.Rect, android.net.Uri, int, java.lang.String[]);
+ field public static final int MODE_LARGE = 3; // 0x3
+ field public static final int MODE_MEDIUM = 2; // 0x2
+ field public static final int MODE_SMALL = 1; // 0x1
+ }
+
+ public static final class ContactsContract.RawContacts implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.RawContactsColumns android.provider.ContactsContract.SyncColumns {
+ method public static android.net.Uri getContactLookupUri(android.content.ContentResolver, android.net.Uri);
+ method public static android.content.EntityIterator newEntityIterator(android.database.Cursor);
+ field public static final int AGGREGATION_MODE_DEFAULT = 0; // 0x0
+ field public static final int AGGREGATION_MODE_DISABLED = 3; // 0x3
+ field public static final deprecated int AGGREGATION_MODE_IMMEDIATE = 1; // 0x1
+ field public static final int AGGREGATION_MODE_SUSPENDED = 2; // 0x2
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/raw_contact";
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/raw_contact";
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ public static final class ContactsContract.RawContacts.Data implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns {
+ field public static final java.lang.String CONTENT_DIRECTORY = "data";
+ }
+
+ public static final class ContactsContract.RawContacts.DisplayPhoto {
+ field public static final java.lang.String CONTENT_DIRECTORY = "display_photo";
+ }
+
+ public static final class ContactsContract.RawContacts.Entity implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns {
+ field public static final java.lang.String CONTENT_DIRECTORY = "entity";
+ field public static final java.lang.String DATA_ID = "data_id";
+ }
+
+ protected static abstract interface ContactsContract.RawContactsColumns {
+ field public static final java.lang.String AGGREGATION_MODE = "aggregation_mode";
+ field public static final java.lang.String CONTACT_ID = "contact_id";
+ field public static final java.lang.String DATA_SET = "data_set";
+ field public static final java.lang.String DELETED = "deleted";
+ field public static final java.lang.String RAW_CONTACT_IS_READ_ONLY = "raw_contact_is_read_only";
+ field public static final java.lang.String RAW_CONTACT_IS_USER_PROFILE = "raw_contact_is_user_profile";
+ }
+
+ public static final class ContactsContract.RawContactsEntity implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns android.provider.ContactsContract.RawContactsColumns {
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/raw_contact_entity";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String DATA_ID = "data_id";
+ field public static final android.net.Uri PROFILE_CONTENT_URI;
+ }
+
+ public static final class ContactsContract.Settings implements android.provider.ContactsContract.SettingsColumns {
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/setting";
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/setting";
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ protected static abstract interface ContactsContract.SettingsColumns {
+ field public static final java.lang.String ACCOUNT_NAME = "account_name";
+ field public static final java.lang.String ACCOUNT_TYPE = "account_type";
+ field public static final java.lang.String ANY_UNSYNCED = "any_unsynced";
+ field public static final java.lang.String DATA_SET = "data_set";
+ field public static final java.lang.String SHOULD_SYNC = "should_sync";
+ field public static final java.lang.String UNGROUPED_COUNT = "summ_count";
+ field public static final java.lang.String UNGROUPED_VISIBLE = "ungrouped_visible";
+ field public static final java.lang.String UNGROUPED_WITH_PHONES = "summ_phones";
+ }
+
+ protected static abstract interface ContactsContract.StatusColumns {
+ field public static final int AVAILABLE = 5; // 0x5
+ field public static final int AWAY = 2; // 0x2
+ field public static final int CAPABILITY_HAS_CAMERA = 4; // 0x4
+ field public static final int CAPABILITY_HAS_VIDEO = 2; // 0x2
+ field public static final int CAPABILITY_HAS_VOICE = 1; // 0x1
+ field public static final java.lang.String CHAT_CAPABILITY = "chat_capability";
+ field public static final int DO_NOT_DISTURB = 4; // 0x4
+ field public static final int IDLE = 3; // 0x3
+ field public static final int INVISIBLE = 1; // 0x1
+ field public static final int OFFLINE = 0; // 0x0
+ field public static final java.lang.String PRESENCE = "mode";
+ field public static final deprecated java.lang.String PRESENCE_CUSTOM_STATUS = "status";
+ field public static final deprecated java.lang.String PRESENCE_STATUS = "mode";
+ field public static final java.lang.String STATUS = "status";
+ field public static final java.lang.String STATUS_ICON = "status_icon";
+ field public static final java.lang.String STATUS_LABEL = "status_label";
+ field public static final java.lang.String STATUS_RES_PACKAGE = "status_res_package";
+ field public static final java.lang.String STATUS_TIMESTAMP = "status_ts";
+ }
+
+ public static class ContactsContract.StatusUpdates implements android.provider.ContactsContract.PresenceColumns android.provider.ContactsContract.StatusColumns {
+ method public static final int getPresenceIconResourceId(int);
+ method public static final int getPresencePrecedence(int);
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/status-update";
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/status-update";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final android.net.Uri PROFILE_CONTENT_URI;
+ }
+
+ protected static abstract interface ContactsContract.SyncColumns implements android.provider.ContactsContract.BaseSyncColumns {
+ field public static final java.lang.String ACCOUNT_NAME = "account_name";
+ field public static final java.lang.String ACCOUNT_TYPE = "account_type";
+ field public static final java.lang.String DIRTY = "dirty";
+ field public static final java.lang.String SOURCE_ID = "sourceid";
+ field public static final java.lang.String VERSION = "version";
+ }
+
+ public static final class ContactsContract.SyncState implements android.provider.SyncStateContract.Columns {
+ method public static byte[] get(android.content.ContentProviderClient, android.accounts.Account) throws android.os.RemoteException;
+ method public static android.util.Pair<android.net.Uri, byte[]> getWithUri(android.content.ContentProviderClient, android.accounts.Account) throws android.os.RemoteException;
+ method public static android.content.ContentProviderOperation newSetOperation(android.accounts.Account, byte[]);
+ method public static void set(android.content.ContentProviderClient, android.accounts.Account, byte[]) throws android.os.RemoteException;
+ field public static final java.lang.String CONTENT_DIRECTORY = "syncstate";
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ public final deprecated class LiveFolders implements android.provider.BaseColumns {
+ field public static final java.lang.String ACTION_CREATE_LIVE_FOLDER = "android.intent.action.CREATE_LIVE_FOLDER";
+ field public static final java.lang.String DESCRIPTION = "description";
+ field public static final int DISPLAY_MODE_GRID = 1; // 0x1
+ field public static final int DISPLAY_MODE_LIST = 2; // 0x2
+ field public static final java.lang.String EXTRA_LIVE_FOLDER_BASE_INTENT = "android.intent.extra.livefolder.BASE_INTENT";
+ field public static final java.lang.String EXTRA_LIVE_FOLDER_DISPLAY_MODE = "android.intent.extra.livefolder.DISPLAY_MODE";
+ field public static final java.lang.String EXTRA_LIVE_FOLDER_ICON = "android.intent.extra.livefolder.ICON";
+ field public static final java.lang.String EXTRA_LIVE_FOLDER_NAME = "android.intent.extra.livefolder.NAME";
+ field public static final java.lang.String ICON_BITMAP = "icon_bitmap";
+ field public static final java.lang.String ICON_PACKAGE = "icon_package";
+ field public static final java.lang.String ICON_RESOURCE = "icon_resource";
+ field public static final java.lang.String INTENT = "intent";
+ field public static final java.lang.String NAME = "name";
+ }
+
+ public final class MediaStore {
+ ctor public MediaStore();
+ method public static android.net.Uri getMediaScannerUri();
+ method public static java.lang.String getVersion(android.content.Context);
+ field public static final java.lang.String ACTION_IMAGE_CAPTURE = "android.media.action.IMAGE_CAPTURE";
+ field public static final java.lang.String ACTION_VIDEO_CAPTURE = "android.media.action.VIDEO_CAPTURE";
+ field public static final java.lang.String AUTHORITY = "media";
+ field public static final java.lang.String EXTRA_DURATION_LIMIT = "android.intent.extra.durationLimit";
+ field public static final java.lang.String EXTRA_FINISH_ON_COMPLETION = "android.intent.extra.finishOnCompletion";
+ field public static final java.lang.String EXTRA_FULL_SCREEN = "android.intent.extra.fullScreen";
+ field public static final java.lang.String EXTRA_MEDIA_ALBUM = "android.intent.extra.album";
+ field public static final java.lang.String EXTRA_MEDIA_ARTIST = "android.intent.extra.artist";
+ field public static final java.lang.String EXTRA_MEDIA_FOCUS = "android.intent.extra.focus";
+ field public static final java.lang.String EXTRA_MEDIA_TITLE = "android.intent.extra.title";
+ field public static final java.lang.String EXTRA_OUTPUT = "output";
+ field public static final java.lang.String EXTRA_SCREEN_ORIENTATION = "android.intent.extra.screenOrientation";
+ field public static final java.lang.String EXTRA_SHOW_ACTION_ICONS = "android.intent.extra.showActionIcons";
+ field public static final java.lang.String EXTRA_SIZE_LIMIT = "android.intent.extra.sizeLimit";
+ field public static final java.lang.String EXTRA_VIDEO_QUALITY = "android.intent.extra.videoQuality";
+ field public static final java.lang.String INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH = "android.media.action.MEDIA_PLAY_FROM_SEARCH";
+ field public static final java.lang.String INTENT_ACTION_MEDIA_SEARCH = "android.intent.action.MEDIA_SEARCH";
+ field public static final java.lang.String INTENT_ACTION_MUSIC_PLAYER = "android.intent.action.MUSIC_PLAYER";
+ field public static final java.lang.String INTENT_ACTION_STILL_IMAGE_CAMERA = "android.media.action.STILL_IMAGE_CAMERA";
+ field public static final java.lang.String INTENT_ACTION_VIDEO_CAMERA = "android.media.action.VIDEO_CAMERA";
+ field public static final java.lang.String MEDIA_IGNORE_FILENAME = ".nomedia";
+ field public static final java.lang.String MEDIA_SCANNER_VOLUME = "volume";
+ field public static final java.lang.String UNKNOWN_STRING = "<unknown>";
+ }
+
+ public static final class MediaStore.Audio {
+ ctor public MediaStore.Audio();
+ method public static java.lang.String keyFor(java.lang.String);
+ }
+
+ public static abstract interface MediaStore.Audio.AlbumColumns {
+ field public static final java.lang.String ALBUM = "album";
+ field public static final java.lang.String ALBUM_ART = "album_art";
+ field public static final java.lang.String ALBUM_ID = "album_id";
+ field public static final java.lang.String ALBUM_KEY = "album_key";
+ field public static final java.lang.String ARTIST = "artist";
+ field public static final java.lang.String FIRST_YEAR = "minyear";
+ field public static final java.lang.String LAST_YEAR = "maxyear";
+ field public static final java.lang.String NUMBER_OF_SONGS = "numsongs";
+ field public static final java.lang.String NUMBER_OF_SONGS_FOR_ARTIST = "numsongs_by_artist";
+ }
+
+ public static final class MediaStore.Audio.Albums implements android.provider.BaseColumns android.provider.MediaStore.Audio.AlbumColumns {
+ ctor public MediaStore.Audio.Albums();
+ method public static android.net.Uri getContentUri(java.lang.String);
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/albums";
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "album_key";
+ field public static final java.lang.String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/album";
+ field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+ field public static final android.net.Uri INTERNAL_CONTENT_URI;
+ }
+
+ public static abstract interface MediaStore.Audio.ArtistColumns {
+ field public static final java.lang.String ARTIST = "artist";
+ field public static final java.lang.String ARTIST_KEY = "artist_key";
+ field public static final java.lang.String NUMBER_OF_ALBUMS = "number_of_albums";
+ field public static final java.lang.String NUMBER_OF_TRACKS = "number_of_tracks";
+ }
+
+ public static final class MediaStore.Audio.Artists implements android.provider.BaseColumns android.provider.MediaStore.Audio.ArtistColumns {
+ ctor public MediaStore.Audio.Artists();
+ method public static android.net.Uri getContentUri(java.lang.String);
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/artists";
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "artist_key";
+ field public static final java.lang.String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/artist";
+ field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+ field public static final android.net.Uri INTERNAL_CONTENT_URI;
+ }
+
+ public static final class MediaStore.Audio.Artists.Albums implements android.provider.MediaStore.Audio.AlbumColumns {
+ ctor public MediaStore.Audio.Artists.Albums();
+ method public static final android.net.Uri getContentUri(java.lang.String, long);
+ }
+
+ public static abstract interface MediaStore.Audio.AudioColumns implements android.provider.MediaStore.MediaColumns {
+ field public static final java.lang.String ALBUM = "album";
+ field public static final java.lang.String ALBUM_ID = "album_id";
+ field public static final java.lang.String ALBUM_KEY = "album_key";
+ field public static final java.lang.String ARTIST = "artist";
+ field public static final java.lang.String ARTIST_ID = "artist_id";
+ field public static final java.lang.String ARTIST_KEY = "artist_key";
+ field public static final java.lang.String BOOKMARK = "bookmark";
+ field public static final java.lang.String COMPOSER = "composer";
+ field public static final java.lang.String DURATION = "duration";
+ field public static final java.lang.String IS_ALARM = "is_alarm";
+ field public static final java.lang.String IS_MUSIC = "is_music";
+ field public static final java.lang.String IS_NOTIFICATION = "is_notification";
+ field public static final java.lang.String IS_PODCAST = "is_podcast";
+ field public static final java.lang.String IS_RINGTONE = "is_ringtone";
+ field public static final java.lang.String TITLE_KEY = "title_key";
+ field public static final java.lang.String TRACK = "track";
+ field public static final java.lang.String YEAR = "year";
+ }
+
+ public static final class MediaStore.Audio.Genres implements android.provider.BaseColumns android.provider.MediaStore.Audio.GenresColumns {
+ ctor public MediaStore.Audio.Genres();
+ method public static android.net.Uri getContentUri(java.lang.String);
+ method public static android.net.Uri getContentUriForAudioId(java.lang.String, int);
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/genre";
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "name";
+ field public static final java.lang.String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/genre";
+ field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+ field public static final android.net.Uri INTERNAL_CONTENT_URI;
+ }
+
+ public static final class MediaStore.Audio.Genres.Members implements android.provider.MediaStore.Audio.AudioColumns {
+ ctor public MediaStore.Audio.Genres.Members();
+ method public static final android.net.Uri getContentUri(java.lang.String, long);
+ field public static final java.lang.String AUDIO_ID = "audio_id";
+ field public static final java.lang.String CONTENT_DIRECTORY = "members";
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "title_key";
+ field public static final java.lang.String GENRE_ID = "genre_id";
+ }
+
+ public static abstract interface MediaStore.Audio.GenresColumns {
+ field public static final java.lang.String NAME = "name";
+ }
+
+ public static final class MediaStore.Audio.Media implements android.provider.MediaStore.Audio.AudioColumns {
+ ctor public MediaStore.Audio.Media();
+ method public static android.net.Uri getContentUri(java.lang.String);
+ method public static android.net.Uri getContentUriForPath(java.lang.String);
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/audio";
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "title_key";
+ field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+ field public static final java.lang.String EXTRA_MAX_BYTES = "android.provider.MediaStore.extra.MAX_BYTES";
+ field public static final android.net.Uri INTERNAL_CONTENT_URI;
+ field public static final java.lang.String RECORD_SOUND_ACTION = "android.provider.MediaStore.RECORD_SOUND";
+ }
+
+ public static final class MediaStore.Audio.Playlists implements android.provider.BaseColumns android.provider.MediaStore.Audio.PlaylistsColumns {
+ ctor public MediaStore.Audio.Playlists();
+ method public static android.net.Uri getContentUri(java.lang.String);
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/playlist";
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "name";
+ field public static final java.lang.String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/playlist";
+ field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+ field public static final android.net.Uri INTERNAL_CONTENT_URI;
+ }
+
+ public static final class MediaStore.Audio.Playlists.Members implements android.provider.MediaStore.Audio.AudioColumns {
+ ctor public MediaStore.Audio.Playlists.Members();
+ method public static final android.net.Uri getContentUri(java.lang.String, long);
+ method public static final boolean moveItem(android.content.ContentResolver, long, int, int);
+ field public static final java.lang.String AUDIO_ID = "audio_id";
+ field public static final java.lang.String CONTENT_DIRECTORY = "members";
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "play_order";
+ field public static final java.lang.String PLAYLIST_ID = "playlist_id";
+ field public static final java.lang.String PLAY_ORDER = "play_order";
+ field public static final java.lang.String _ID = "_id";
+ }
+
+ public static abstract interface MediaStore.Audio.PlaylistsColumns {
+ field public static final java.lang.String DATA = "_data";
+ field public static final java.lang.String DATE_ADDED = "date_added";
+ field public static final java.lang.String DATE_MODIFIED = "date_modified";
+ field public static final java.lang.String NAME = "name";
+ }
+
+ public static final class MediaStore.Files {
+ ctor public MediaStore.Files();
+ method public static android.net.Uri getContentUri(java.lang.String);
+ method public static final android.net.Uri getContentUri(java.lang.String, long);
+ }
+
+ public static abstract interface MediaStore.Files.FileColumns implements android.provider.MediaStore.MediaColumns {
+ field public static final java.lang.String MEDIA_TYPE = "media_type";
+ field public static final int MEDIA_TYPE_AUDIO = 2; // 0x2
+ field public static final int MEDIA_TYPE_IMAGE = 1; // 0x1
+ field public static final int MEDIA_TYPE_NONE = 0; // 0x0
+ field public static final int MEDIA_TYPE_PLAYLIST = 4; // 0x4
+ field public static final int MEDIA_TYPE_VIDEO = 3; // 0x3
+ field public static final java.lang.String MIME_TYPE = "mime_type";
+ field public static final java.lang.String PARENT = "parent";
+ field public static final java.lang.String TITLE = "title";
+ }
+
+ public static final class MediaStore.Images {
+ ctor public MediaStore.Images();
+ }
+
+ public static abstract interface MediaStore.Images.ImageColumns implements android.provider.MediaStore.MediaColumns {
+ field public static final java.lang.String BUCKET_DISPLAY_NAME = "bucket_display_name";
+ field public static final java.lang.String BUCKET_ID = "bucket_id";
+ field public static final java.lang.String DATE_TAKEN = "datetaken";
+ field public static final java.lang.String DESCRIPTION = "description";
+ field public static final java.lang.String IS_PRIVATE = "isprivate";
+ field public static final java.lang.String LATITUDE = "latitude";
+ field public static final java.lang.String LONGITUDE = "longitude";
+ field public static final java.lang.String MINI_THUMB_MAGIC = "mini_thumb_magic";
+ field public static final java.lang.String ORIENTATION = "orientation";
+ field public static final java.lang.String PICASA_ID = "picasa_id";
+ }
+
+ public static final class MediaStore.Images.Media implements android.provider.MediaStore.Images.ImageColumns {
+ ctor public MediaStore.Images.Media();
+ method public static final android.graphics.Bitmap getBitmap(android.content.ContentResolver, android.net.Uri) throws java.io.FileNotFoundException, java.io.IOException;
+ method public static android.net.Uri getContentUri(java.lang.String);
+ method public static final java.lang.String insertImage(android.content.ContentResolver, java.lang.String, java.lang.String, java.lang.String) throws java.io.FileNotFoundException;
+ method public static final java.lang.String insertImage(android.content.ContentResolver, android.graphics.Bitmap, java.lang.String, java.lang.String);
+ method public static final android.database.Cursor query(android.content.ContentResolver, android.net.Uri, java.lang.String[]);
+ method public static final android.database.Cursor query(android.content.ContentResolver, android.net.Uri, java.lang.String[], java.lang.String, java.lang.String);
+ method public static final android.database.Cursor query(android.content.ContentResolver, android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/image";
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "bucket_display_name";
+ field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+ field public static final android.net.Uri INTERNAL_CONTENT_URI;
+ }
+
+ public static class MediaStore.Images.Thumbnails implements android.provider.BaseColumns {
+ ctor public MediaStore.Images.Thumbnails();
+ method public static void cancelThumbnailRequest(android.content.ContentResolver, long);
+ method public static void cancelThumbnailRequest(android.content.ContentResolver, long, long);
+ method public static android.net.Uri getContentUri(java.lang.String);
+ method public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, int, android.graphics.BitmapFactory.Options);
+ method public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options);
+ method public static final android.database.Cursor query(android.content.ContentResolver, android.net.Uri, java.lang.String[]);
+ method public static final android.database.Cursor queryMiniThumbnail(android.content.ContentResolver, long, int, java.lang.String[]);
+ method public static final android.database.Cursor queryMiniThumbnails(android.content.ContentResolver, android.net.Uri, int, java.lang.String[]);
+ field public static final java.lang.String DATA = "_data";
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "image_id ASC";
+ field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+ field public static final int FULL_SCREEN_KIND = 2; // 0x2
+ field public static final java.lang.String HEIGHT = "height";
+ field public static final java.lang.String IMAGE_ID = "image_id";
+ field public static final android.net.Uri INTERNAL_CONTENT_URI;
+ field public static final java.lang.String KIND = "kind";
+ field public static final int MICRO_KIND = 3; // 0x3
+ field public static final int MINI_KIND = 1; // 0x1
+ field public static final java.lang.String THUMB_DATA = "thumb_data";
+ field public static final java.lang.String WIDTH = "width";
+ }
+
+ public static abstract interface MediaStore.MediaColumns implements android.provider.BaseColumns {
+ field public static final java.lang.String DATA = "_data";
+ field public static final java.lang.String DATE_ADDED = "date_added";
+ field public static final java.lang.String DATE_MODIFIED = "date_modified";
+ field public static final java.lang.String DISPLAY_NAME = "_display_name";
+ field public static final java.lang.String MIME_TYPE = "mime_type";
+ field public static final java.lang.String SIZE = "_size";
+ field public static final java.lang.String TITLE = "title";
+ }
+
+ public static final class MediaStore.Video {
+ ctor public MediaStore.Video();
+ method public static final android.database.Cursor query(android.content.ContentResolver, android.net.Uri, java.lang.String[]);
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "_display_name";
+ }
+
+ public static final class MediaStore.Video.Media implements android.provider.MediaStore.Video.VideoColumns {
+ ctor public MediaStore.Video.Media();
+ method public static android.net.Uri getContentUri(java.lang.String);
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/video";
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "title";
+ field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+ field public static final android.net.Uri INTERNAL_CONTENT_URI;
+ }
+
+ public static class MediaStore.Video.Thumbnails implements android.provider.BaseColumns {
+ ctor public MediaStore.Video.Thumbnails();
+ method public static void cancelThumbnailRequest(android.content.ContentResolver, long);
+ method public static void cancelThumbnailRequest(android.content.ContentResolver, long, long);
+ method public static android.net.Uri getContentUri(java.lang.String);
+ method public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, int, android.graphics.BitmapFactory.Options);
+ method public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options);
+ field public static final java.lang.String DATA = "_data";
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "video_id ASC";
+ field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+ field public static final int FULL_SCREEN_KIND = 2; // 0x2
+ field public static final java.lang.String HEIGHT = "height";
+ field public static final android.net.Uri INTERNAL_CONTENT_URI;
+ field public static final java.lang.String KIND = "kind";
+ field public static final int MICRO_KIND = 3; // 0x3
+ field public static final int MINI_KIND = 1; // 0x1
+ field public static final java.lang.String VIDEO_ID = "video_id";
+ field public static final java.lang.String WIDTH = "width";
+ }
+
+ public static abstract interface MediaStore.Video.VideoColumns implements android.provider.MediaStore.MediaColumns {
+ field public static final java.lang.String ALBUM = "album";
+ field public static final java.lang.String ARTIST = "artist";
+ field public static final java.lang.String BOOKMARK = "bookmark";
+ field public static final java.lang.String BUCKET_DISPLAY_NAME = "bucket_display_name";
+ field public static final java.lang.String BUCKET_ID = "bucket_id";
+ field public static final java.lang.String CATEGORY = "category";
+ field public static final java.lang.String DATE_TAKEN = "datetaken";
+ field public static final java.lang.String DESCRIPTION = "description";
+ field public static final java.lang.String DURATION = "duration";
+ field public static final java.lang.String IS_PRIVATE = "isprivate";
+ field public static final java.lang.String LANGUAGE = "language";
+ field public static final java.lang.String LATITUDE = "latitude";
+ field public static final java.lang.String LONGITUDE = "longitude";
+ field public static final java.lang.String MINI_THUMB_MAGIC = "mini_thumb_magic";
+ field public static final java.lang.String RESOLUTION = "resolution";
+ field public static final java.lang.String TAGS = "tags";
+ }
+
+ public abstract interface OpenableColumns {
+ field public static final java.lang.String DISPLAY_NAME = "_display_name";
+ field public static final java.lang.String SIZE = "_size";
+ }
+
+ public class SearchRecentSuggestions {
+ ctor public SearchRecentSuggestions(android.content.Context, java.lang.String, int);
+ method public void clearHistory();
+ method public void saveRecentQuery(java.lang.String, java.lang.String);
+ method protected void truncateHistory(android.content.ContentResolver, int);
+ field public static final java.lang.String[] QUERIES_PROJECTION_1LINE;
+ field public static final java.lang.String[] QUERIES_PROJECTION_2LINE;
+ field public static final int QUERIES_PROJECTION_DATE_INDEX = 1; // 0x1
+ field public static final int QUERIES_PROJECTION_DISPLAY1_INDEX = 3; // 0x3
+ field public static final int QUERIES_PROJECTION_DISPLAY2_INDEX = 4; // 0x4
+ field public static final int QUERIES_PROJECTION_QUERY_INDEX = 2; // 0x2
+ }
+
+ public final class Settings {
+ ctor public Settings();
+ field public static final java.lang.String ACTION_ACCESSIBILITY_SETTINGS = "android.settings.ACCESSIBILITY_SETTINGS";
+ field public static final java.lang.String ACTION_ADD_ACCOUNT = "android.settings.ADD_ACCOUNT_SETTINGS";
+ field public static final java.lang.String ACTION_AIRPLANE_MODE_SETTINGS = "android.settings.AIRPLANE_MODE_SETTINGS";
+ field public static final java.lang.String ACTION_APN_SETTINGS = "android.settings.APN_SETTINGS";
+ field public static final java.lang.String ACTION_APPLICATION_DETAILS_SETTINGS = "android.settings.APPLICATION_DETAILS_SETTINGS";
+ field public static final java.lang.String ACTION_APPLICATION_DEVELOPMENT_SETTINGS = "android.settings.APPLICATION_DEVELOPMENT_SETTINGS";
+ field public static final java.lang.String ACTION_APPLICATION_SETTINGS = "android.settings.APPLICATION_SETTINGS";
+ field public static final java.lang.String ACTION_BLUETOOTH_SETTINGS = "android.settings.BLUETOOTH_SETTINGS";
+ field public static final java.lang.String ACTION_DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS";
+ field public static final java.lang.String ACTION_DATE_SETTINGS = "android.settings.DATE_SETTINGS";
+ field public static final java.lang.String ACTION_DEVICE_INFO_SETTINGS = "android.settings.DEVICE_INFO_SETTINGS";
+ field public static final java.lang.String ACTION_DISPLAY_SETTINGS = "android.settings.DISPLAY_SETTINGS";
+ field public static final java.lang.String ACTION_INPUT_METHOD_SETTINGS = "android.settings.INPUT_METHOD_SETTINGS";
+ field public static final java.lang.String ACTION_INPUT_METHOD_SUBTYPE_SETTINGS = "android.settings.INPUT_METHOD_SUBTYPE_SETTINGS";
+ field public static final java.lang.String ACTION_INTERNAL_STORAGE_SETTINGS = "android.settings.INTERNAL_STORAGE_SETTINGS";
+ field public static final java.lang.String ACTION_LOCALE_SETTINGS = "android.settings.LOCALE_SETTINGS";
+ field public static final java.lang.String ACTION_LOCATION_SOURCE_SETTINGS = "android.settings.LOCATION_SOURCE_SETTINGS";
+ field public static final java.lang.String ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS = "android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS";
+ field public static final java.lang.String ACTION_MANAGE_APPLICATIONS_SETTINGS = "android.settings.MANAGE_APPLICATIONS_SETTINGS";
+ field public static final java.lang.String ACTION_MEMORY_CARD_SETTINGS = "android.settings.MEMORY_CARD_SETTINGS";
+ field public static final java.lang.String ACTION_NETWORK_OPERATOR_SETTINGS = "android.settings.NETWORK_OPERATOR_SETTINGS";
+ field public static final java.lang.String ACTION_NFCSHARING_SETTINGS = "android.settings.NFCSHARING_SETTINGS";
+ field public static final java.lang.String ACTION_PRIVACY_SETTINGS = "android.settings.PRIVACY_SETTINGS";
+ field public static final java.lang.String ACTION_QUICK_LAUNCH_SETTINGS = "android.settings.QUICK_LAUNCH_SETTINGS";
+ field public static final java.lang.String ACTION_SEARCH_SETTINGS = "android.search.action.SEARCH_SETTINGS";
+ field public static final java.lang.String ACTION_SECURITY_SETTINGS = "android.settings.SECURITY_SETTINGS";
+ field public static final java.lang.String ACTION_SETTINGS = "android.settings.SETTINGS";
+ field public static final java.lang.String ACTION_SOUND_SETTINGS = "android.settings.SOUND_SETTINGS";
+ field public static final java.lang.String ACTION_SYNC_SETTINGS = "android.settings.SYNC_SETTINGS";
+ field public static final java.lang.String ACTION_USER_DICTIONARY_SETTINGS = "android.settings.USER_DICTIONARY_SETTINGS";
+ field public static final java.lang.String ACTION_WIFI_IP_SETTINGS = "android.settings.WIFI_IP_SETTINGS";
+ field public static final java.lang.String ACTION_WIFI_SETTINGS = "android.settings.WIFI_SETTINGS";
+ field public static final java.lang.String ACTION_WIRELESS_SETTINGS = "android.settings.WIRELESS_SETTINGS";
+ field public static final java.lang.String AUTHORITY = "settings";
+ field public static final java.lang.String EXTRA_AUTHORITIES = "authorities";
+ field public static final java.lang.String EXTRA_INPUT_METHOD_ID = "input_method_id";
+ }
+
+ public static class Settings.NameValueTable implements android.provider.BaseColumns {
+ ctor public Settings.NameValueTable();
+ method public static android.net.Uri getUriFor(android.net.Uri, java.lang.String);
+ method protected static boolean putString(android.content.ContentResolver, android.net.Uri, java.lang.String, java.lang.String);
+ field public static final java.lang.String NAME = "name";
+ field public static final java.lang.String VALUE = "value";
+ }
+
+ public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
+ ctor public Settings.Secure();
+ method public static float getFloat(android.content.ContentResolver, java.lang.String, float);
+ method public static float getFloat(android.content.ContentResolver, java.lang.String) throws android.provider.Settings.SettingNotFoundException;
+ method public static int getInt(android.content.ContentResolver, java.lang.String, int);
+ method public static int getInt(android.content.ContentResolver, java.lang.String) throws android.provider.Settings.SettingNotFoundException;
+ method public static long getLong(android.content.ContentResolver, java.lang.String, long);
+ method public static long getLong(android.content.ContentResolver, java.lang.String) throws android.provider.Settings.SettingNotFoundException;
+ method public static synchronized java.lang.String getString(android.content.ContentResolver, java.lang.String);
+ method public static android.net.Uri getUriFor(java.lang.String);
+ method public static final boolean isLocationProviderEnabled(android.content.ContentResolver, java.lang.String);
+ method public static boolean putFloat(android.content.ContentResolver, java.lang.String, float);
+ method public static boolean putInt(android.content.ContentResolver, java.lang.String, int);
+ method public static boolean putLong(android.content.ContentResolver, java.lang.String, long);
+ method public static boolean putString(android.content.ContentResolver, java.lang.String, java.lang.String);
+ method public static final void setLocationProviderEnabled(android.content.ContentResolver, java.lang.String, boolean);
+ field public static final java.lang.String ACCESSIBILITY_ENABLED = "accessibility_enabled";
+ field public static final java.lang.String ADB_ENABLED = "adb_enabled";
+ field public static final java.lang.String ALLOWED_GEOLOCATION_ORIGINS = "allowed_geolocation_origins";
+ field public static final java.lang.String ALLOW_MOCK_LOCATION = "mock_location";
+ field public static final java.lang.String ANDROID_ID = "android_id";
+ field public static final deprecated java.lang.String BACKGROUND_DATA = "background_data";
+ field public static final java.lang.String BLUETOOTH_ON = "bluetooth_on";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String DATA_ROAMING = "data_roaming";
+ field public static final java.lang.String DEFAULT_INPUT_METHOD = "default_input_method";
+ field public static final java.lang.String DEVICE_PROVISIONED = "device_provisioned";
+ field public static final java.lang.String ENABLED_ACCESSIBILITY_SERVICES = "enabled_accessibility_services";
+ field public static final java.lang.String ENABLED_INPUT_METHODS = "enabled_input_methods";
+ field public static final java.lang.String HTTP_PROXY = "http_proxy";
+ field public static final java.lang.String INPUT_METHOD_SELECTOR_VISIBILITY = "input_method_selector_visibility";
+ field public static final java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps";
+ field public static final java.lang.String LOCATION_PROVIDERS_ALLOWED = "location_providers_allowed";
+ field public static final java.lang.String LOCK_PATTERN_ENABLED = "lock_pattern_autolock";
+ field public static final java.lang.String LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED = "lock_pattern_tactile_feedback_enabled";
+ field public static final java.lang.String LOCK_PATTERN_VISIBLE = "lock_pattern_visible_pattern";
+ field public static final deprecated java.lang.String LOGGING_ID = "logging_id";
+ field public static final java.lang.String NETWORK_PREFERENCE = "network_preference";
+ field public static final java.lang.String PARENTAL_CONTROL_ENABLED = "parental_control_enabled";
+ field public static final java.lang.String PARENTAL_CONTROL_LAST_UPDATE = "parental_control_last_update";
+ field public static final java.lang.String PARENTAL_CONTROL_REDIRECT_URL = "parental_control_redirect_url";
+ field public static final java.lang.String SELECTED_INPUT_METHOD_SUBTYPE = "selected_input_method_subtype";
+ field public static final java.lang.String SETTINGS_CLASSNAME = "settings_classname";
+ field public static final java.lang.String SYS_PROP_SETTING_VERSION = "sys.settings_secure_version";
+ field public static final java.lang.String TOUCH_EXPLORATION_ENABLED = "touch_exploration_enabled";
+ field public static final deprecated java.lang.String TTS_DEFAULT_COUNTRY = "tts_default_country";
+ field public static final deprecated java.lang.String TTS_DEFAULT_LANG = "tts_default_lang";
+ field public static final java.lang.String TTS_DEFAULT_PITCH = "tts_default_pitch";
+ field public static final java.lang.String TTS_DEFAULT_RATE = "tts_default_rate";
+ field public static final java.lang.String TTS_DEFAULT_SYNTH = "tts_default_synth";
+ field public static final deprecated java.lang.String TTS_DEFAULT_VARIANT = "tts_default_variant";
+ field public static final java.lang.String TTS_ENABLED_PLUGINS = "tts_enabled_plugins";
+ field public static final deprecated java.lang.String TTS_USE_DEFAULTS = "tts_use_defaults";
+ field public static final java.lang.String USB_MASS_STORAGE_ENABLED = "usb_mass_storage_enabled";
+ field public static final java.lang.String USE_GOOGLE_MAIL = "use_google_mail";
+ field public static final java.lang.String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count";
+ field public static final java.lang.String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS = "wifi_mobile_data_transition_wakelock_timeout_ms";
+ field public static final java.lang.String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on";
+ field public static final java.lang.String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay";
+ field public static final java.lang.String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept";
+ field public static final java.lang.String WIFI_ON = "wifi_on";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE = "wifi_watchdog_acceptable_packet_loss_percentage";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_AP_COUNT = "wifi_watchdog_ap_count";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS = "wifi_watchdog_background_check_delay_ms";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED = "wifi_watchdog_background_check_enabled";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS = "wifi_watchdog_background_check_timeout_ms";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT = "wifi_watchdog_initial_ignored_ping_count";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_MAX_AP_CHECKS = "wifi_watchdog_max_ap_checks";
+ field public static final java.lang.String WIFI_WATCHDOG_ON = "wifi_watchdog_on";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_PING_COUNT = "wifi_watchdog_ping_count";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_PING_DELAY_MS = "wifi_watchdog_ping_delay_ms";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_PING_TIMEOUT_MS = "wifi_watchdog_ping_timeout_ms";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_WATCH_LIST = "wifi_watchdog_watch_list";
+ }
+
+ public static class Settings.SettingNotFoundException extends android.util.AndroidException {
+ ctor public Settings.SettingNotFoundException(java.lang.String);
+ }
+
+ public static final class Settings.System extends android.provider.Settings.NameValueTable {
+ ctor public Settings.System();
+ method public static void getConfiguration(android.content.ContentResolver, android.content.res.Configuration);
+ method public static float getFloat(android.content.ContentResolver, java.lang.String, float);
+ method public static float getFloat(android.content.ContentResolver, java.lang.String) throws android.provider.Settings.SettingNotFoundException;
+ method public static int getInt(android.content.ContentResolver, java.lang.String, int);
+ method public static int getInt(android.content.ContentResolver, java.lang.String) throws android.provider.Settings.SettingNotFoundException;
+ method public static long getLong(android.content.ContentResolver, java.lang.String, long);
+ method public static long getLong(android.content.ContentResolver, java.lang.String) throws android.provider.Settings.SettingNotFoundException;
+ method public static boolean getShowGTalkServiceStatus(android.content.ContentResolver);
+ method public static synchronized java.lang.String getString(android.content.ContentResolver, java.lang.String);
+ method public static android.net.Uri getUriFor(java.lang.String);
+ method public static boolean putConfiguration(android.content.ContentResolver, android.content.res.Configuration);
+ method public static boolean putFloat(android.content.ContentResolver, java.lang.String, float);
+ method public static boolean putInt(android.content.ContentResolver, java.lang.String, int);
+ method public static boolean putLong(android.content.ContentResolver, java.lang.String, long);
+ method public static boolean putString(android.content.ContentResolver, java.lang.String, java.lang.String);
+ method public static void setShowGTalkServiceStatus(android.content.ContentResolver, boolean);
+ field public static final java.lang.String ACCELEROMETER_ROTATION = "accelerometer_rotation";
+ field public static final deprecated java.lang.String ADB_ENABLED = "adb_enabled";
+ field public static final java.lang.String AIRPLANE_MODE_ON = "airplane_mode_on";
+ field public static final java.lang.String AIRPLANE_MODE_RADIOS = "airplane_mode_radios";
+ field public static final java.lang.String ALARM_ALERT = "alarm_alert";
+ field public static final java.lang.String ALWAYS_FINISH_ACTIVITIES = "always_finish_activities";
+ field public static final deprecated java.lang.String ANDROID_ID = "android_id";
+ field public static final java.lang.String APPEND_FOR_LAST_AUDIBLE = "_last_audible";
+ field public static final java.lang.String AUTO_TIME = "auto_time";
+ field public static final java.lang.String AUTO_TIME_ZONE = "auto_time_zone";
+ field public static final java.lang.String BLUETOOTH_DISCOVERABILITY = "bluetooth_discoverability";
+ field public static final java.lang.String BLUETOOTH_DISCOVERABILITY_TIMEOUT = "bluetooth_discoverability_timeout";
+ field public static final deprecated java.lang.String BLUETOOTH_ON = "bluetooth_on";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final deprecated java.lang.String DATA_ROAMING = "data_roaming";
+ field public static final java.lang.String DATE_FORMAT = "date_format";
+ field public static final java.lang.String DEBUG_APP = "debug_app";
+ field public static final android.net.Uri DEFAULT_ALARM_ALERT_URI;
+ field public static final android.net.Uri DEFAULT_NOTIFICATION_URI;
+ field public static final android.net.Uri DEFAULT_RINGTONE_URI;
+ field public static final deprecated java.lang.String DEVICE_PROVISIONED = "device_provisioned";
+ field public static final java.lang.String DIM_SCREEN = "dim_screen";
+ field public static final java.lang.String DTMF_TONE_WHEN_DIALING = "dtmf_tone";
+ field public static final java.lang.String END_BUTTON_BEHAVIOR = "end_button_behavior";
+ field public static final java.lang.String FONT_SCALE = "font_scale";
+ field public static final java.lang.String HAPTIC_FEEDBACK_ENABLED = "haptic_feedback_enabled";
+ field public static final deprecated java.lang.String HTTP_PROXY = "http_proxy";
+ field public static final deprecated java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps";
+ field public static final deprecated java.lang.String LOCATION_PROVIDERS_ALLOWED = "location_providers_allowed";
+ field public static final deprecated java.lang.String LOCK_PATTERN_ENABLED = "lock_pattern_autolock";
+ field public static final deprecated java.lang.String LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED = "lock_pattern_tactile_feedback_enabled";
+ field public static final deprecated java.lang.String LOCK_PATTERN_VISIBLE = "lock_pattern_visible_pattern";
+ field public static final deprecated java.lang.String LOGGING_ID = "logging_id";
+ field public static final java.lang.String MODE_RINGER = "mode_ringer";
+ field public static final java.lang.String MODE_RINGER_STREAMS_AFFECTED = "mode_ringer_streams_affected";
+ field public static final java.lang.String MUTE_STREAMS_AFFECTED = "mute_streams_affected";
+ field public static final deprecated java.lang.String NETWORK_PREFERENCE = "network_preference";
+ field public static final java.lang.String NEXT_ALARM_FORMATTED = "next_alarm_formatted";
+ field public static final java.lang.String NOTIFICATION_SOUND = "notification_sound";
+ field public static final deprecated java.lang.String PARENTAL_CONTROL_ENABLED = "parental_control_enabled";
+ field public static final deprecated java.lang.String PARENTAL_CONTROL_LAST_UPDATE = "parental_control_last_update";
+ field public static final deprecated java.lang.String PARENTAL_CONTROL_REDIRECT_URL = "parental_control_redirect_url";
+ field public static final java.lang.String RADIO_BLUETOOTH = "bluetooth";
+ field public static final java.lang.String RADIO_CELL = "cell";
+ field public static final java.lang.String RADIO_NFC = "nfc";
+ field public static final java.lang.String RADIO_WIFI = "wifi";
+ field public static final java.lang.String RINGTONE = "ringtone";
+ field public static final java.lang.String SCREEN_BRIGHTNESS = "screen_brightness";
+ field public static final java.lang.String SCREEN_BRIGHTNESS_MODE = "screen_brightness_mode";
+ field public static final int SCREEN_BRIGHTNESS_MODE_AUTOMATIC = 1; // 0x1
+ field public static final int SCREEN_BRIGHTNESS_MODE_MANUAL = 0; // 0x0
+ field public static final java.lang.String SCREEN_OFF_TIMEOUT = "screen_off_timeout";
+ field public static final deprecated java.lang.String SETTINGS_CLASSNAME = "settings_classname";
+ field public static final java.lang.String SETUP_WIZARD_HAS_RUN = "setup_wizard_has_run";
+ field public static final java.lang.String SHOW_GTALK_SERVICE_STATUS = "SHOW_GTALK_SERVICE_STATUS";
+ field public static final java.lang.String SHOW_PROCESSES = "show_processes";
+ field public static final deprecated java.lang.String SHOW_WEB_SUGGESTIONS = "show_web_suggestions";
+ field public static final java.lang.String SOUND_EFFECTS_ENABLED = "sound_effects_enabled";
+ field public static final java.lang.String STAY_ON_WHILE_PLUGGED_IN = "stay_on_while_plugged_in";
+ field public static final java.lang.String SYS_PROP_SETTING_VERSION = "sys.settings_system_version";
+ field public static final java.lang.String TEXT_AUTO_CAPS = "auto_caps";
+ field public static final java.lang.String TEXT_AUTO_PUNCTUATE = "auto_punctuate";
+ field public static final java.lang.String TEXT_AUTO_REPLACE = "auto_replace";
+ field public static final java.lang.String TEXT_SHOW_PASSWORD = "show_password";
+ field public static final java.lang.String TIME_12_24 = "time_12_24";
+ field public static final java.lang.String TRANSITION_ANIMATION_SCALE = "transition_animation_scale";
+ field public static final deprecated java.lang.String USB_MASS_STORAGE_ENABLED = "usb_mass_storage_enabled";
+ field public static final java.lang.String USER_ROTATION = "user_rotation";
+ field public static final deprecated java.lang.String USE_GOOGLE_MAIL = "use_google_mail";
+ field public static final java.lang.String VIBRATE_ON = "vibrate_on";
+ field public static final java.lang.String VOLUME_ALARM = "volume_alarm";
+ field public static final java.lang.String VOLUME_BLUETOOTH_SCO = "volume_bluetooth_sco";
+ field public static final java.lang.String VOLUME_MUSIC = "volume_music";
+ field public static final java.lang.String VOLUME_NOTIFICATION = "volume_notification";
+ field public static final java.lang.String VOLUME_RING = "volume_ring";
+ field public static final java.lang.String[] VOLUME_SETTINGS;
+ field public static final java.lang.String VOLUME_SYSTEM = "volume_system";
+ field public static final java.lang.String VOLUME_VOICE = "volume_voice";
+ field public static final java.lang.String WAIT_FOR_DEBUGGER = "wait_for_debugger";
+ field public static final java.lang.String WALLPAPER_ACTIVITY = "wallpaper_activity";
+ field public static final deprecated java.lang.String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count";
+ field public static final deprecated java.lang.String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS = "wifi_mobile_data_transition_wakelock_timeout_ms";
+ field public static final deprecated java.lang.String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on";
+ field public static final deprecated java.lang.String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay";
+ field public static final deprecated java.lang.String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept";
+ field public static final deprecated java.lang.String WIFI_ON = "wifi_on";
+ field public static final java.lang.String WIFI_SLEEP_POLICY = "wifi_sleep_policy";
+ field public static final int WIFI_SLEEP_POLICY_DEFAULT = 0; // 0x0
+ field public static final int WIFI_SLEEP_POLICY_NEVER = 2; // 0x2
+ field public static final int WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED = 1; // 0x1
+ field public static final java.lang.String WIFI_STATIC_DNS1 = "wifi_static_dns1";
+ field public static final java.lang.String WIFI_STATIC_DNS2 = "wifi_static_dns2";
+ field public static final java.lang.String WIFI_STATIC_GATEWAY = "wifi_static_gateway";
+ field public static final java.lang.String WIFI_STATIC_IP = "wifi_static_ip";
+ field public static final java.lang.String WIFI_STATIC_NETMASK = "wifi_static_netmask";
+ field public static final java.lang.String WIFI_USE_STATIC_IP = "wifi_use_static_ip";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE = "wifi_watchdog_acceptable_packet_loss_percentage";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_AP_COUNT = "wifi_watchdog_ap_count";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS = "wifi_watchdog_background_check_delay_ms";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED = "wifi_watchdog_background_check_enabled";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS = "wifi_watchdog_background_check_timeout_ms";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT = "wifi_watchdog_initial_ignored_ping_count";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_MAX_AP_CHECKS = "wifi_watchdog_max_ap_checks";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_ON = "wifi_watchdog_on";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_PING_COUNT = "wifi_watchdog_ping_count";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_PING_DELAY_MS = "wifi_watchdog_ping_delay_ms";
+ field public static final deprecated java.lang.String WIFI_WATCHDOG_PING_TIMEOUT_MS = "wifi_watchdog_ping_timeout_ms";
+ field public static final java.lang.String WINDOW_ANIMATION_SCALE = "window_animation_scale";
+ }
+
+ public class SyncStateContract {
+ ctor public SyncStateContract();
+ }
+
+ public static abstract interface SyncStateContract.Columns implements android.provider.BaseColumns {
+ field public static final java.lang.String ACCOUNT_NAME = "account_name";
+ field public static final java.lang.String ACCOUNT_TYPE = "account_type";
+ field public static final java.lang.String DATA = "data";
+ }
+
+ public static class SyncStateContract.Constants implements android.provider.SyncStateContract.Columns {
+ ctor public SyncStateContract.Constants();
+ field public static final java.lang.String CONTENT_DIRECTORY = "syncstate";
+ }
+
+ public static final class SyncStateContract.Helpers {
+ ctor public SyncStateContract.Helpers();
+ method public static byte[] get(android.content.ContentProviderClient, android.net.Uri, android.accounts.Account) throws android.os.RemoteException;
+ method public static android.util.Pair<android.net.Uri, byte[]> getWithUri(android.content.ContentProviderClient, android.net.Uri, android.accounts.Account) throws android.os.RemoteException;
+ method public static android.net.Uri insert(android.content.ContentProviderClient, android.net.Uri, android.accounts.Account, byte[]) throws android.os.RemoteException;
+ method public static android.content.ContentProviderOperation newSetOperation(android.net.Uri, android.accounts.Account, byte[]);
+ method public static android.content.ContentProviderOperation newUpdateOperation(android.net.Uri, byte[]);
+ method public static void set(android.content.ContentProviderClient, android.net.Uri, android.accounts.Account, byte[]) throws android.os.RemoteException;
+ method public static void update(android.content.ContentProviderClient, android.net.Uri, byte[]) throws android.os.RemoteException;
+ }
+
+ public class UserDictionary {
+ ctor public UserDictionary();
+ field public static final java.lang.String AUTHORITY = "user_dictionary";
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ public static class UserDictionary.Words implements android.provider.BaseColumns {
+ ctor public UserDictionary.Words();
+ method public static void addWord(android.content.Context, java.lang.String, int, int);
+ field public static final java.lang.String APP_ID = "appid";
+ field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.google.userword";
+ field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.google.userword";
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String DEFAULT_SORT_ORDER = "frequency DESC";
+ field public static final java.lang.String FREQUENCY = "frequency";
+ field public static final java.lang.String LOCALE = "locale";
+ field public static final int LOCALE_TYPE_ALL = 0; // 0x0
+ field public static final int LOCALE_TYPE_CURRENT = 1; // 0x1
+ field public static final java.lang.String WORD = "word";
+ field public static final java.lang.String _ID = "_id";
+ }
+
+ public class VoicemailContract {
+ field public static final java.lang.String ACTION_FETCH_VOICEMAIL = "android.intent.action.FETCH_VOICEMAIL";
+ field public static final java.lang.String ACTION_NEW_VOICEMAIL = "android.intent.action.NEW_VOICEMAIL";
+ field public static final java.lang.String AUTHORITY = "com.android.voicemail";
+ field public static final java.lang.String EXTRA_SELF_CHANGE = "com.android.voicemail.extra.SELF_CHANGE";
+ field public static final java.lang.String PARAM_KEY_SOURCE_PACKAGE = "source_package";
+ }
+
+ public static final class VoicemailContract.Status implements android.provider.BaseColumns {
+ method public static android.net.Uri buildSourceUri(java.lang.String);
+ field public static final java.lang.String CONFIGURATION_STATE = "configuration_state";
+ field public static final int CONFIGURATION_STATE_CAN_BE_CONFIGURED = 2; // 0x2
+ field public static final int CONFIGURATION_STATE_NOT_CONFIGURED = 1; // 0x1
+ field public static final int CONFIGURATION_STATE_OK = 0; // 0x0
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String DATA_CHANNEL_STATE = "data_channel_state";
+ field public static final int DATA_CHANNEL_STATE_NO_CONNECTION = 1; // 0x1
+ field public static final int DATA_CHANNEL_STATE_OK = 0; // 0x0
+ field public static final java.lang.String DIR_TYPE = "vnd.android.cursor.dir/voicemail.source.status";
+ field public static final java.lang.String ITEM_TYPE = "vnd.android.cursor.item/voicemail.source.status";
+ field public static final java.lang.String NOTIFICATION_CHANNEL_STATE = "notification_channel_state";
+ field public static final int NOTIFICATION_CHANNEL_STATE_MESSAGE_WAITING = 2; // 0x2
+ field public static final int NOTIFICATION_CHANNEL_STATE_NO_CONNECTION = 1; // 0x1
+ field public static final int NOTIFICATION_CHANNEL_STATE_OK = 0; // 0x0
+ field public static final java.lang.String SETTINGS_URI = "settings_uri";
+ field public static final java.lang.String SOURCE_PACKAGE = "source_package";
+ field public static final java.lang.String VOICEMAIL_ACCESS_URI = "voicemail_access_uri";
+ }
+
+ public static final class VoicemailContract.Voicemails implements android.provider.BaseColumns android.provider.OpenableColumns {
+ method public static android.net.Uri buildSourceUri(java.lang.String);
+ field public static final android.net.Uri CONTENT_URI;
+ field public static final java.lang.String DATE = "date";
+ field public static final java.lang.String DIR_TYPE = "vnd.android.cursor.dir/voicemails";
+ field public static final java.lang.String DURATION = "duration";
+ field public static final java.lang.String HAS_CONTENT = "has_content";
+ field public static final java.lang.String IS_READ = "is_read";
+ field public static final java.lang.String ITEM_TYPE = "vnd.android.cursor.item/voicemail";
+ field public static final java.lang.String MIME_TYPE = "mime_type";
+ field public static final java.lang.String NUMBER = "number";
+ field public static final java.lang.String SOURCE_DATA = "source_data";
+ field public static final java.lang.String SOURCE_PACKAGE = "source_package";
+ }
+
+}
+
+package android.renderscript {
+
+ public class Allocation extends android.renderscript.BaseObj {
+ method public void copy1DRangeFrom(int, int, int[]);
+ method public void copy1DRangeFrom(int, int, short[]);
+ method public void copy1DRangeFrom(int, int, byte[]);
+ method public void copy1DRangeFrom(int, int, float[]);
+ method public void copy1DRangeFrom(int, int, android.renderscript.Allocation, int);
+ method public void copy1DRangeFromUnchecked(int, int, int[]);
+ method public void copy1DRangeFromUnchecked(int, int, short[]);
+ method public void copy1DRangeFromUnchecked(int, int, byte[]);
+ method public void copy1DRangeFromUnchecked(int, int, float[]);
+ method public void copy2DRangeFrom(int, int, int, int, byte[]);
+ method public void copy2DRangeFrom(int, int, int, int, short[]);
+ method public void copy2DRangeFrom(int, int, int, int, int[]);
+ method public void copy2DRangeFrom(int, int, int, int, float[]);
+ method public void copy2DRangeFrom(int, int, int, int, android.renderscript.Allocation, int, int);
+ method public void copy2DRangeFrom(int, int, android.graphics.Bitmap);
+ method public void copyFrom(android.renderscript.BaseObj[]);
+ method public void copyFrom(int[]);
+ method public void copyFrom(short[]);
+ method public void copyFrom(byte[]);
+ method public void copyFrom(float[]);
+ method public void copyFrom(android.graphics.Bitmap);
+ method public void copyFromUnchecked(int[]);
+ method public void copyFromUnchecked(short[]);
+ method public void copyFromUnchecked(byte[]);
+ method public void copyFromUnchecked(float[]);
+ method public void copyTo(android.graphics.Bitmap);
+ method public void copyTo(byte[]);
+ method public void copyTo(short[]);
+ method public void copyTo(int[]);
+ method public void copyTo(float[]);
+ method public static android.renderscript.Allocation createCubemapFromBitmap(android.renderscript.RenderScript, android.graphics.Bitmap, android.renderscript.Allocation.MipmapControl, int);
+ method public static android.renderscript.Allocation createCubemapFromBitmap(android.renderscript.RenderScript, android.graphics.Bitmap);
+ method public static android.renderscript.Allocation createCubemapFromCubeFaces(android.renderscript.RenderScript, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.renderscript.Allocation.MipmapControl, int);
+ method public static android.renderscript.Allocation createCubemapFromCubeFaces(android.renderscript.RenderScript, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap);
+ method public static android.renderscript.Allocation createFromBitmap(android.renderscript.RenderScript, android.graphics.Bitmap, android.renderscript.Allocation.MipmapControl, int);
+ method public static android.renderscript.Allocation createFromBitmap(android.renderscript.RenderScript, android.graphics.Bitmap);
+ method public static android.renderscript.Allocation createFromBitmapResource(android.renderscript.RenderScript, android.content.res.Resources, int, android.renderscript.Allocation.MipmapControl, int);
+ method public static android.renderscript.Allocation createFromBitmapResource(android.renderscript.RenderScript, android.content.res.Resources, int);
+ method public static android.renderscript.Allocation createFromString(android.renderscript.RenderScript, java.lang.String, int);
+ method public static android.renderscript.Allocation createSized(android.renderscript.RenderScript, android.renderscript.Element, int, int);
+ method public static android.renderscript.Allocation createSized(android.renderscript.RenderScript, android.renderscript.Element, int);
+ method public static android.renderscript.Allocation createTyped(android.renderscript.RenderScript, android.renderscript.Type, android.renderscript.Allocation.MipmapControl, int);
+ method public static android.renderscript.Allocation createTyped(android.renderscript.RenderScript, android.renderscript.Type, int);
+ method public static android.renderscript.Allocation createTyped(android.renderscript.RenderScript, android.renderscript.Type);
+ method public void generateMipmaps();
+ method public android.renderscript.Type getType();
+ method public synchronized void resize(int);
+ method public void setFromFieldPacker(int, android.renderscript.FieldPacker);
+ method public void setFromFieldPacker(int, int, android.renderscript.FieldPacker);
+ method public void syncAll(int);
+ field public static final int USAGE_GRAPHICS_CONSTANTS = 8; // 0x8
+ field public static final int USAGE_GRAPHICS_RENDER_TARGET = 16; // 0x10
+ field public static final int USAGE_GRAPHICS_TEXTURE = 2; // 0x2
+ field public static final int USAGE_GRAPHICS_VERTEX = 4; // 0x4
+ field public static final int USAGE_SCRIPT = 1; // 0x1
+ }
+
+ public static final class Allocation.MipmapControl extends java.lang.Enum {
+ method public static android.renderscript.Allocation.MipmapControl valueOf(java.lang.String);
+ method public static final android.renderscript.Allocation.MipmapControl[] values();
+ enum_constant public static final android.renderscript.Allocation.MipmapControl MIPMAP_FULL;
+ enum_constant public static final android.renderscript.Allocation.MipmapControl MIPMAP_NONE;
+ enum_constant public static final android.renderscript.Allocation.MipmapControl MIPMAP_ON_SYNC_TO_TEXTURE;
+ }
+
+ public class AllocationAdapter extends android.renderscript.Allocation {
+ method public static android.renderscript.AllocationAdapter create1D(android.renderscript.RenderScript, android.renderscript.Allocation);
+ method public static android.renderscript.AllocationAdapter create2D(android.renderscript.RenderScript, android.renderscript.Allocation);
+ method public void setFace(android.renderscript.Type.CubemapFace);
+ method public void setLOD(int);
+ method public void setY(int);
+ method public void setZ(int);
+ }
+
+ public class BaseObj {
+ method public synchronized void destroy();
+ method public java.lang.String getName();
+ method public void setName(java.lang.String);
+ }
+
+ public class Byte2 {
+ ctor public Byte2();
+ ctor public Byte2(byte, byte);
+ field public byte x;
+ field public byte y;
+ }
+
+ public class Byte3 {
+ ctor public Byte3();
+ ctor public Byte3(byte, byte, byte);
+ field public byte x;
+ field public byte y;
+ field public byte z;
+ }
+
+ public class Byte4 {
+ ctor public Byte4();
+ ctor public Byte4(byte, byte, byte, byte);
+ field public byte w;
+ field public byte x;
+ field public byte y;
+ field public byte z;
+ }
+
+ public class Double2 {
+ ctor public Double2();
+ ctor public Double2(double, double);
+ field public double x;
+ field public double y;
+ }
+
+ public class Double3 {
+ ctor public Double3();
+ ctor public Double3(double, double, double);
+ field public double x;
+ field public double y;
+ field public double z;
+ }
+
+ public class Double4 {
+ ctor public Double4();
+ ctor public Double4(double, double, double, double);
+ field public double w;
+ field public double x;
+ field public double y;
+ field public double z;
+ }
+
+ public class Element extends android.renderscript.BaseObj {
+ method public static android.renderscript.Element ALLOCATION(android.renderscript.RenderScript);
+ method public static android.renderscript.Element A_8(android.renderscript.RenderScript);
+ method public static android.renderscript.Element BOOLEAN(android.renderscript.RenderScript);
+ method public static android.renderscript.Element ELEMENT(android.renderscript.RenderScript);
+ method public static android.renderscript.Element F32(android.renderscript.RenderScript);
+ method public static android.renderscript.Element F32_2(android.renderscript.RenderScript);
+ method public static android.renderscript.Element F32_3(android.renderscript.RenderScript);
+ method public static android.renderscript.Element F32_4(android.renderscript.RenderScript);
+ method public static android.renderscript.Element F64(android.renderscript.RenderScript);
+ method public static android.renderscript.Element F64_2(android.renderscript.RenderScript);
+ method public static android.renderscript.Element F64_3(android.renderscript.RenderScript);
+ method public static android.renderscript.Element F64_4(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I16(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I16_2(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I16_3(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I16_4(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I32(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I32_2(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I32_3(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I32_4(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I64(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I64_2(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I64_3(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I64_4(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I8(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I8_2(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I8_3(android.renderscript.RenderScript);
+ method public static android.renderscript.Element I8_4(android.renderscript.RenderScript);
+ method public static android.renderscript.Element MATRIX4X4(android.renderscript.RenderScript);
+ method public static android.renderscript.Element MATRIX_2X2(android.renderscript.RenderScript);
+ method public static android.renderscript.Element MATRIX_3X3(android.renderscript.RenderScript);
+ method public static android.renderscript.Element MATRIX_4X4(android.renderscript.RenderScript);
+ method public static android.renderscript.Element MESH(android.renderscript.RenderScript);
+ method public static android.renderscript.Element PROGRAM_FRAGMENT(android.renderscript.RenderScript);
+ method public static android.renderscript.Element PROGRAM_RASTER(android.renderscript.RenderScript);
+ method public static android.renderscript.Element PROGRAM_STORE(android.renderscript.RenderScript);
+ method public static android.renderscript.Element PROGRAM_VERTEX(android.renderscript.RenderScript);
+ method public static android.renderscript.Element RGBA_4444(android.renderscript.RenderScript);
+ method public static android.renderscript.Element RGBA_5551(android.renderscript.RenderScript);
+ method public static android.renderscript.Element RGBA_8888(android.renderscript.RenderScript);
+ method public static android.renderscript.Element RGB_565(android.renderscript.RenderScript);
+ method public static android.renderscript.Element RGB_888(android.renderscript.RenderScript);
+ method public static android.renderscript.Element SAMPLER(android.renderscript.RenderScript);
+ method public static android.renderscript.Element SCRIPT(android.renderscript.RenderScript);
+ method public static android.renderscript.Element TYPE(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U16(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U16_2(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U16_3(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U16_4(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U32(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U32_2(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U32_3(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U32_4(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U64(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U64_2(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U64_3(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U64_4(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U8(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U8_2(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U8_3(android.renderscript.RenderScript);
+ method public static android.renderscript.Element U8_4(android.renderscript.RenderScript);
+ method public static android.renderscript.Element createPixel(android.renderscript.RenderScript, android.renderscript.Element.DataType, android.renderscript.Element.DataKind);
+ method public static android.renderscript.Element createVector(android.renderscript.RenderScript, android.renderscript.Element.DataType, int);
+ method public boolean isCompatible(android.renderscript.Element);
+ method public boolean isComplex();
+ }
+
+ public static class Element.Builder {
+ ctor public Element.Builder(android.renderscript.RenderScript);
+ method public android.renderscript.Element.Builder add(android.renderscript.Element, java.lang.String, int);
+ method public android.renderscript.Element.Builder add(android.renderscript.Element, java.lang.String);
+ method public android.renderscript.Element create();
+ }
+
+ public static final class Element.DataKind extends java.lang.Enum {
+ method public static android.renderscript.Element.DataKind valueOf(java.lang.String);
+ method public static final android.renderscript.Element.DataKind[] values();
+ enum_constant public static final android.renderscript.Element.DataKind PIXEL_A;
+ enum_constant public static final android.renderscript.Element.DataKind PIXEL_DEPTH;
+ enum_constant public static final android.renderscript.Element.DataKind PIXEL_L;
+ enum_constant public static final android.renderscript.Element.DataKind PIXEL_LA;
+ enum_constant public static final android.renderscript.Element.DataKind PIXEL_RGB;
+ enum_constant public static final android.renderscript.Element.DataKind PIXEL_RGBA;
+ enum_constant public static final android.renderscript.Element.DataKind USER;
+ }
+
+ public static final class Element.DataType extends java.lang.Enum {
+ method public static android.renderscript.Element.DataType valueOf(java.lang.String);
+ method public static final android.renderscript.Element.DataType[] values();
+ enum_constant public static final android.renderscript.Element.DataType BOOLEAN;
+ enum_constant public static final android.renderscript.Element.DataType FLOAT_32;
+ enum_constant public static final android.renderscript.Element.DataType FLOAT_64;
+ enum_constant public static final android.renderscript.Element.DataType MATRIX_2X2;
+ enum_constant public static final android.renderscript.Element.DataType MATRIX_3X3;
+ enum_constant public static final android.renderscript.Element.DataType MATRIX_4X4;
+ enum_constant public static final android.renderscript.Element.DataType RS_ALLOCATION;
+ enum_constant public static final android.renderscript.Element.DataType RS_ELEMENT;
+ enum_constant public static final android.renderscript.Element.DataType RS_MESH;
+ enum_constant public static final android.renderscript.Element.DataType RS_PROGRAM_FRAGMENT;
+ enum_constant public static final android.renderscript.Element.DataType RS_PROGRAM_RASTER;
+ enum_constant public static final android.renderscript.Element.DataType RS_PROGRAM_STORE;
+ enum_constant public static final android.renderscript.Element.DataType RS_PROGRAM_VERTEX;
+ enum_constant public static final android.renderscript.Element.DataType RS_SAMPLER;
+ enum_constant public static final android.renderscript.Element.DataType RS_SCRIPT;
+ enum_constant public static final android.renderscript.Element.DataType RS_TYPE;
+ enum_constant public static final android.renderscript.Element.DataType SIGNED_16;
+ enum_constant public static final android.renderscript.Element.DataType SIGNED_32;
+ enum_constant public static final android.renderscript.Element.DataType SIGNED_64;
+ enum_constant public static final android.renderscript.Element.DataType SIGNED_8;
+ enum_constant public static final android.renderscript.Element.DataType UNSIGNED_16;
+ enum_constant public static final android.renderscript.Element.DataType UNSIGNED_32;
+ enum_constant public static final android.renderscript.Element.DataType UNSIGNED_4_4_4_4;
+ enum_constant public static final android.renderscript.Element.DataType UNSIGNED_5_5_5_1;
+ enum_constant public static final android.renderscript.Element.DataType UNSIGNED_5_6_5;
+ enum_constant public static final android.renderscript.Element.DataType UNSIGNED_64;
+ enum_constant public static final android.renderscript.Element.DataType UNSIGNED_8;
+ }
+
+ public class FieldPacker {
+ ctor public FieldPacker(int);
+ method public void addBoolean(boolean);
+ method public void addF32(float);
+ method public void addF32(android.renderscript.Float2);
+ method public void addF32(android.renderscript.Float3);
+ method public void addF32(android.renderscript.Float4);
+ method public void addF64(double);
+ method public void addF64(android.renderscript.Double2);
+ method public void addF64(android.renderscript.Double3);
+ method public void addF64(android.renderscript.Double4);
+ method public void addI16(short);
+ method public void addI16(android.renderscript.Short2);
+ method public void addI16(android.renderscript.Short3);
+ method public void addI16(android.renderscript.Short4);
+ method public void addI32(int);
+ method public void addI32(android.renderscript.Int2);
+ method public void addI32(android.renderscript.Int3);
+ method public void addI32(android.renderscript.Int4);
+ method public void addI64(long);
+ method public void addI64(android.renderscript.Long2);
+ method public void addI64(android.renderscript.Long3);
+ method public void addI64(android.renderscript.Long4);
+ method public void addI8(byte);
+ method public void addI8(android.renderscript.Byte2);
+ method public void addI8(android.renderscript.Byte3);
+ method public void addI8(android.renderscript.Byte4);
+ method public void addMatrix(android.renderscript.Matrix4f);
+ method public void addMatrix(android.renderscript.Matrix3f);
+ method public void addMatrix(android.renderscript.Matrix2f);
+ method public void addObj(android.renderscript.BaseObj);
+ method public void addU16(int);
+ method public void addU16(android.renderscript.Int2);
+ method public void addU16(android.renderscript.Int3);
+ method public void addU16(android.renderscript.Int4);
+ method public void addU32(long);
+ method public void addU32(android.renderscript.Long2);
+ method public void addU32(android.renderscript.Long3);
+ method public void addU32(android.renderscript.Long4);
+ method public void addU64(long);
+ method public void addU64(android.renderscript.Long2);
+ method public void addU64(android.renderscript.Long3);
+ method public void addU64(android.renderscript.Long4);
+ method public void addU8(short);
+ method public void addU8(android.renderscript.Short2);
+ method public void addU8(android.renderscript.Short3);
+ method public void addU8(android.renderscript.Short4);
+ method public void align(int);
+ method public final byte[] getData();
+ method public void reset();
+ method public void reset(int);
+ method public void skip(int);
+ }
+
+ public class FileA3D extends android.renderscript.BaseObj {
+ method public static android.renderscript.FileA3D createFromAsset(android.renderscript.RenderScript, android.content.res.AssetManager, java.lang.String);
+ method public static android.renderscript.FileA3D createFromFile(android.renderscript.RenderScript, java.lang.String);
+ method public static android.renderscript.FileA3D createFromFile(android.renderscript.RenderScript, java.io.File);
+ method public static android.renderscript.FileA3D createFromResource(android.renderscript.RenderScript, android.content.res.Resources, int);
+ method public android.renderscript.FileA3D.IndexEntry getIndexEntry(int);
+ method public int getIndexEntryCount();
+ }
+
+ public static final class FileA3D.EntryType extends java.lang.Enum {
+ method public static android.renderscript.FileA3D.EntryType valueOf(java.lang.String);
+ method public static final android.renderscript.FileA3D.EntryType[] values();
+ enum_constant public static final android.renderscript.FileA3D.EntryType MESH;
+ enum_constant public static final android.renderscript.FileA3D.EntryType UNKNOWN;
+ }
+
+ public static class FileA3D.IndexEntry {
+ method public android.renderscript.FileA3D.EntryType getEntryType();
+ method public android.renderscript.Mesh getMesh();
+ method public java.lang.String getName();
+ method public android.renderscript.BaseObj getObject();
+ }
+
+ public class Float2 {
+ ctor public Float2();
+ ctor public Float2(float, float);
+ field public float x;
+ field public float y;
+ }
+
+ public class Float3 {
+ ctor public Float3();
+ ctor public Float3(float, float, float);
+ field public float x;
+ field public float y;
+ field public float z;
+ }
+
+ public class Float4 {
+ ctor public Float4();
+ ctor public Float4(float, float, float, float);
+ field public float w;
+ field public float x;
+ field public float y;
+ field public float z;
+ }
+
+ public class Font extends android.renderscript.BaseObj {
+ method public static android.renderscript.Font create(android.renderscript.RenderScript, android.content.res.Resources, java.lang.String, android.renderscript.Font.Style, float);
+ method public static android.renderscript.Font createFromAsset(android.renderscript.RenderScript, android.content.res.Resources, java.lang.String, float);
+ method public static android.renderscript.Font createFromFile(android.renderscript.RenderScript, android.content.res.Resources, java.lang.String, float);
+ method public static android.renderscript.Font createFromFile(android.renderscript.RenderScript, android.content.res.Resources, java.io.File, float);
+ method public static android.renderscript.Font createFromResource(android.renderscript.RenderScript, android.content.res.Resources, int, float);
+ }
+
+ public static final class Font.Style extends java.lang.Enum {
+ method public static android.renderscript.Font.Style valueOf(java.lang.String);
+ method public static final android.renderscript.Font.Style[] values();
+ enum_constant public static final android.renderscript.Font.Style BOLD;
+ enum_constant public static final android.renderscript.Font.Style BOLD_ITALIC;
+ enum_constant public static final android.renderscript.Font.Style ITALIC;
+ enum_constant public static final android.renderscript.Font.Style NORMAL;
+ }
+
+ public class Int2 {
+ ctor public Int2();
+ ctor public Int2(int, int);
+ field public int x;
+ field public int y;
+ }
+
+ public class Int3 {
+ ctor public Int3();
+ ctor public Int3(int, int, int);
+ field public int x;
+ field public int y;
+ field public int z;
+ }
+
+ public class Int4 {
+ ctor public Int4();
+ ctor public Int4(int, int, int, int);
+ field public int w;
+ field public int x;
+ field public int y;
+ field public int z;
+ }
+
+ public class Long2 {
+ ctor public Long2();
+ ctor public Long2(long, long);
+ field public long x;
+ field public long y;
+ }
+
+ public class Long3 {
+ ctor public Long3();
+ ctor public Long3(long, long, long);
+ field public long x;
+ field public long y;
+ field public long z;
+ }
+
+ public class Long4 {
+ ctor public Long4();
+ ctor public Long4(long, long, long, long);
+ field public long w;
+ field public long x;
+ field public long y;
+ field public long z;
+ }
+
+ public class Matrix2f {
+ ctor public Matrix2f();
+ ctor public Matrix2f(float[]);
+ method public float get(int, int);
+ method public float[] getArray();
+ method public void load(android.renderscript.Matrix2f);
+ method public void loadIdentity();
+ method public void loadMultiply(android.renderscript.Matrix2f, android.renderscript.Matrix2f);
+ method public void loadRotate(float);
+ method public void loadScale(float, float);
+ method public void multiply(android.renderscript.Matrix2f);
+ method public void rotate(float);
+ method public void scale(float, float);
+ method public void set(int, int, float);
+ method public void transpose();
+ }
+
+ public class Matrix3f {
+ ctor public Matrix3f();
+ ctor public Matrix3f(float[]);
+ method public float get(int, int);
+ method public float[] getArray();
+ method public void load(android.renderscript.Matrix3f);
+ method public void loadIdentity();
+ method public void loadMultiply(android.renderscript.Matrix3f, android.renderscript.Matrix3f);
+ method public void loadRotate(float, float, float, float);
+ method public void loadRotate(float);
+ method public void loadScale(float, float);
+ method public void loadScale(float, float, float);
+ method public void loadTranslate(float, float);
+ method public void multiply(android.renderscript.Matrix3f);
+ method public void rotate(float, float, float, float);
+ method public void rotate(float);
+ method public void scale(float, float);
+ method public void scale(float, float, float);
+ method public void set(int, int, float);
+ method public void translate(float, float);
+ method public void transpose();
+ }
+
+ public class Matrix4f {
+ ctor public Matrix4f();
+ ctor public Matrix4f(float[]);
+ method public float get(int, int);
+ method public float[] getArray();
+ method public boolean inverse();
+ method public boolean inverseTranspose();
+ method public void load(android.renderscript.Matrix4f);
+ method public void loadFrustum(float, float, float, float, float, float);
+ method public void loadIdentity();
+ method public void loadMultiply(android.renderscript.Matrix4f, android.renderscript.Matrix4f);
+ method public void loadOrtho(float, float, float, float, float, float);
+ method public void loadOrthoWindow(int, int);
+ method public void loadPerspective(float, float, float, float);
+ method public void loadProjectionNormalized(int, int);
+ method public void loadRotate(float, float, float, float);
+ method public void loadScale(float, float, float);
+ method public void loadTranslate(float, float, float);
+ method public void multiply(android.renderscript.Matrix4f);
+ method public void rotate(float, float, float, float);
+ method public void scale(float, float, float);
+ method public void set(int, int, float);
+ method public void translate(float, float, float);
+ method public void transpose();
+ }
+
+ public class Mesh extends android.renderscript.BaseObj {
+ method public android.renderscript.Allocation getIndexSetAllocation(int);
+ method public android.renderscript.Mesh.Primitive getPrimitive(int);
+ method public int getPrimitiveCount();
+ method public android.renderscript.Allocation getVertexAllocation(int);
+ method public int getVertexAllocationCount();
+ }
+
+ public static class Mesh.AllocationBuilder {
+ ctor public Mesh.AllocationBuilder(android.renderscript.RenderScript);
+ method public android.renderscript.Mesh.AllocationBuilder addIndexSetAllocation(android.renderscript.Allocation, android.renderscript.Mesh.Primitive);
+ method public android.renderscript.Mesh.AllocationBuilder addIndexSetType(android.renderscript.Mesh.Primitive);
+ method public android.renderscript.Mesh.AllocationBuilder addVertexAllocation(android.renderscript.Allocation) throws java.lang.IllegalStateException;
+ method public android.renderscript.Mesh create();
+ method public int getCurrentIndexSetIndex();
+ method public int getCurrentVertexTypeIndex();
+ }
+
+ public static class Mesh.Builder {
+ ctor public Mesh.Builder(android.renderscript.RenderScript, int);
+ method public android.renderscript.Mesh.Builder addIndexSetType(android.renderscript.Type, android.renderscript.Mesh.Primitive);
+ method public android.renderscript.Mesh.Builder addIndexSetType(android.renderscript.Mesh.Primitive);
+ method public android.renderscript.Mesh.Builder addIndexSetType(android.renderscript.Element, int, android.renderscript.Mesh.Primitive);
+ method public android.renderscript.Mesh.Builder addVertexType(android.renderscript.Type) throws java.lang.IllegalStateException;
+ method public android.renderscript.Mesh.Builder addVertexType(android.renderscript.Element, int) throws java.lang.IllegalStateException;
+ method public android.renderscript.Mesh create();
+ method public int getCurrentIndexSetIndex();
+ method public int getCurrentVertexTypeIndex();
+ }
+
+ public static final class Mesh.Primitive extends java.lang.Enum {
+ method public static android.renderscript.Mesh.Primitive valueOf(java.lang.String);
+ method public static final android.renderscript.Mesh.Primitive[] values();
+ enum_constant public static final android.renderscript.Mesh.Primitive LINE;
+ enum_constant public static final android.renderscript.Mesh.Primitive LINE_STRIP;
+ enum_constant public static final android.renderscript.Mesh.Primitive POINT;
+ enum_constant public static final android.renderscript.Mesh.Primitive TRIANGLE;
+ enum_constant public static final android.renderscript.Mesh.Primitive TRIANGLE_FAN;
+ enum_constant public static final android.renderscript.Mesh.Primitive TRIANGLE_STRIP;
+ }
+
+ public static class Mesh.TriangleMeshBuilder {
+ ctor public Mesh.TriangleMeshBuilder(android.renderscript.RenderScript, int, int);
+ method public android.renderscript.Mesh.TriangleMeshBuilder addTriangle(int, int, int);
+ method public android.renderscript.Mesh.TriangleMeshBuilder addVertex(float, float);
+ method public android.renderscript.Mesh.TriangleMeshBuilder addVertex(float, float, float);
+ method public android.renderscript.Mesh create(boolean);
+ method public android.renderscript.Mesh.TriangleMeshBuilder setColor(float, float, float, float);
+ method public android.renderscript.Mesh.TriangleMeshBuilder setNormal(float, float, float);
+ method public android.renderscript.Mesh.TriangleMeshBuilder setTexture(float, float);
+ field public static final int COLOR = 1; // 0x1
+ field public static final int NORMAL = 2; // 0x2
+ field public static final int TEXTURE_0 = 256; // 0x100
+ }
+
+ public class Program extends android.renderscript.BaseObj {
+ method public void bindConstants(android.renderscript.Allocation, int);
+ method public void bindSampler(android.renderscript.Sampler, int) throws java.lang.IllegalArgumentException;
+ method public void bindTexture(android.renderscript.Allocation, int) throws java.lang.IllegalArgumentException;
+ }
+
+ public static class Program.BaseProgramBuilder {
+ ctor protected Program.BaseProgramBuilder(android.renderscript.RenderScript);
+ method public android.renderscript.Program.BaseProgramBuilder addConstant(android.renderscript.Type) throws java.lang.IllegalStateException;
+ method public android.renderscript.Program.BaseProgramBuilder addTexture(android.renderscript.Program.TextureType) throws java.lang.IllegalArgumentException;
+ method public int getCurrentConstantIndex();
+ method public int getCurrentTextureIndex();
+ method protected void initProgram(android.renderscript.Program);
+ method public android.renderscript.Program.BaseProgramBuilder setShader(java.lang.String);
+ method public android.renderscript.Program.BaseProgramBuilder setShader(android.content.res.Resources, int);
+ }
+
+ public static final class Program.TextureType extends java.lang.Enum {
+ method public static android.renderscript.Program.TextureType valueOf(java.lang.String);
+ method public static final android.renderscript.Program.TextureType[] values();
+ enum_constant public static final android.renderscript.Program.TextureType TEXTURE_2D;
+ enum_constant public static final android.renderscript.Program.TextureType TEXTURE_CUBE;
+ }
+
+ public class ProgramFragment extends android.renderscript.Program {
+ }
+
+ public static class ProgramFragment.Builder extends android.renderscript.Program.BaseProgramBuilder {
+ ctor public ProgramFragment.Builder(android.renderscript.RenderScript);
+ method public android.renderscript.ProgramFragment create();
+ }
+
+ public class ProgramFragmentFixedFunction extends android.renderscript.ProgramFragment {
+ }
+
+ public static class ProgramFragmentFixedFunction.Builder {
+ ctor public ProgramFragmentFixedFunction.Builder(android.renderscript.RenderScript);
+ method public android.renderscript.ProgramFragmentFixedFunction create();
+ method public android.renderscript.ProgramFragmentFixedFunction.Builder setPointSpriteTexCoordinateReplacement(boolean);
+ method public android.renderscript.ProgramFragmentFixedFunction.Builder setTexture(android.renderscript.ProgramFragmentFixedFunction.Builder.EnvMode, android.renderscript.ProgramFragmentFixedFunction.Builder.Format, int) throws java.lang.IllegalArgumentException;
+ method public android.renderscript.ProgramFragmentFixedFunction.Builder setVaryingColor(boolean);
+ field public static final int MAX_TEXTURE = 2; // 0x2
+ }
+
+ public static final class ProgramFragmentFixedFunction.Builder.EnvMode extends java.lang.Enum {
+ method public static android.renderscript.ProgramFragmentFixedFunction.Builder.EnvMode valueOf(java.lang.String);
+ method public static final android.renderscript.ProgramFragmentFixedFunction.Builder.EnvMode[] values();
+ enum_constant public static final android.renderscript.ProgramFragmentFixedFunction.Builder.EnvMode DECAL;
+ enum_constant public static final android.renderscript.ProgramFragmentFixedFunction.Builder.EnvMode MODULATE;
+ enum_constant public static final android.renderscript.ProgramFragmentFixedFunction.Builder.EnvMode REPLACE;
+ }
+
+ public static final class ProgramFragmentFixedFunction.Builder.Format extends java.lang.Enum {
+ method public static android.renderscript.ProgramFragmentFixedFunction.Builder.Format valueOf(java.lang.String);
+ method public static final android.renderscript.ProgramFragmentFixedFunction.Builder.Format[] values();
+ enum_constant public static final android.renderscript.ProgramFragmentFixedFunction.Builder.Format ALPHA;
+ enum_constant public static final android.renderscript.ProgramFragmentFixedFunction.Builder.Format LUMINANCE_ALPHA;
+ enum_constant public static final android.renderscript.ProgramFragmentFixedFunction.Builder.Format RGB;
+ enum_constant public static final android.renderscript.ProgramFragmentFixedFunction.Builder.Format RGBA;
+ }
+
+ public class ProgramRaster extends android.renderscript.BaseObj {
+ method public static android.renderscript.ProgramRaster CULL_BACK(android.renderscript.RenderScript);
+ method public static android.renderscript.ProgramRaster CULL_FRONT(android.renderscript.RenderScript);
+ method public static android.renderscript.ProgramRaster CULL_NONE(android.renderscript.RenderScript);
+ }
+
+ public static class ProgramRaster.Builder {
+ ctor public ProgramRaster.Builder(android.renderscript.RenderScript);
+ method public android.renderscript.ProgramRaster create();
+ method public android.renderscript.ProgramRaster.Builder setCullMode(android.renderscript.ProgramRaster.CullMode);
+ method public android.renderscript.ProgramRaster.Builder setPointSpriteEnabled(boolean);
+ }
+
+ public static final class ProgramRaster.CullMode extends java.lang.Enum {
+ method public static android.renderscript.ProgramRaster.CullMode valueOf(java.lang.String);
+ method public static final android.renderscript.ProgramRaster.CullMode[] values();
+ enum_constant public static final android.renderscript.ProgramRaster.CullMode BACK;
+ enum_constant public static final android.renderscript.ProgramRaster.CullMode FRONT;
+ enum_constant public static final android.renderscript.ProgramRaster.CullMode NONE;
+ }
+
+ public class ProgramStore extends android.renderscript.BaseObj {
+ method public static android.renderscript.ProgramStore BLEND_ALPHA_DEPTH_NONE(android.renderscript.RenderScript);
+ method public static android.renderscript.ProgramStore BLEND_ALPHA_DEPTH_TEST(android.renderscript.RenderScript);
+ method public static android.renderscript.ProgramStore BLEND_NONE_DEPTH_NONE(android.renderscript.RenderScript);
+ method public static android.renderscript.ProgramStore BLEND_NONE_DEPTH_TEST(android.renderscript.RenderScript);
+ }
+
+ public static final class ProgramStore.BlendDstFunc extends java.lang.Enum {
+ method public static android.renderscript.ProgramStore.BlendDstFunc valueOf(java.lang.String);
+ method public static final android.renderscript.ProgramStore.BlendDstFunc[] values();
+ enum_constant public static final android.renderscript.ProgramStore.BlendDstFunc DST_ALPHA;
+ enum_constant public static final android.renderscript.ProgramStore.BlendDstFunc ONE;
+ enum_constant public static final android.renderscript.ProgramStore.BlendDstFunc ONE_MINUS_DST_ALPHA;
+ enum_constant public static final android.renderscript.ProgramStore.BlendDstFunc ONE_MINUS_SRC_ALPHA;
+ enum_constant public static final android.renderscript.ProgramStore.BlendDstFunc ONE_MINUS_SRC_COLOR;
+ enum_constant public static final android.renderscript.ProgramStore.BlendDstFunc SRC_ALPHA;
+ enum_constant public static final android.renderscript.ProgramStore.BlendDstFunc SRC_COLOR;
+ enum_constant public static final android.renderscript.ProgramStore.BlendDstFunc ZERO;
+ }
+
+ public static final class ProgramStore.BlendSrcFunc extends java.lang.Enum {
+ method public static android.renderscript.ProgramStore.BlendSrcFunc valueOf(java.lang.String);
+ method public static final android.renderscript.ProgramStore.BlendSrcFunc[] values();
+ enum_constant public static final android.renderscript.ProgramStore.BlendSrcFunc DST_ALPHA;
+ enum_constant public static final android.renderscript.ProgramStore.BlendSrcFunc DST_COLOR;
+ enum_constant public static final android.renderscript.ProgramStore.BlendSrcFunc ONE;
+ enum_constant public static final android.renderscript.ProgramStore.BlendSrcFunc ONE_MINUS_DST_ALPHA;
+ enum_constant public static final android.renderscript.ProgramStore.BlendSrcFunc ONE_MINUS_DST_COLOR;
+ enum_constant public static final android.renderscript.ProgramStore.BlendSrcFunc ONE_MINUS_SRC_ALPHA;
+ enum_constant public static final android.renderscript.ProgramStore.BlendSrcFunc SRC_ALPHA;
+ enum_constant public static final android.renderscript.ProgramStore.BlendSrcFunc SRC_ALPHA_SATURATE;
+ enum_constant public static final android.renderscript.ProgramStore.BlendSrcFunc ZERO;
+ }
+
+ public static class ProgramStore.Builder {
+ ctor public ProgramStore.Builder(android.renderscript.RenderScript);
+ method public android.renderscript.ProgramStore create();
+ method public android.renderscript.ProgramStore.Builder setBlendFunc(android.renderscript.ProgramStore.BlendSrcFunc, android.renderscript.ProgramStore.BlendDstFunc);
+ method public android.renderscript.ProgramStore.Builder setColorMaskEnabled(boolean, boolean, boolean, boolean);
+ method public android.renderscript.ProgramStore.Builder setDepthFunc(android.renderscript.ProgramStore.DepthFunc);
+ method public android.renderscript.ProgramStore.Builder setDepthMaskEnabled(boolean);
+ method public android.renderscript.ProgramStore.Builder setDitherEnabled(boolean);
+ }
+
+ public static final class ProgramStore.DepthFunc extends java.lang.Enum {
+ method public static android.renderscript.ProgramStore.DepthFunc valueOf(java.lang.String);
+ method public static final android.renderscript.ProgramStore.DepthFunc[] values();
+ enum_constant public static final android.renderscript.ProgramStore.DepthFunc ALWAYS;
+ enum_constant public static final android.renderscript.ProgramStore.DepthFunc EQUAL;
+ enum_constant public static final android.renderscript.ProgramStore.DepthFunc GREATER;
+ enum_constant public static final android.renderscript.ProgramStore.DepthFunc GREATER_OR_EQUAL;
+ enum_constant public static final android.renderscript.ProgramStore.DepthFunc LESS;
+ enum_constant public static final android.renderscript.ProgramStore.DepthFunc LESS_OR_EQUAL;
+ enum_constant public static final android.renderscript.ProgramStore.DepthFunc NOT_EQUAL;
+ }
+
+ public class ProgramVertex extends android.renderscript.Program {
+ }
+
+ public static class ProgramVertex.Builder extends android.renderscript.Program.BaseProgramBuilder {
+ ctor public ProgramVertex.Builder(android.renderscript.RenderScript);
+ method public android.renderscript.ProgramVertex.Builder addInput(android.renderscript.Element) throws java.lang.IllegalStateException;
+ method public android.renderscript.ProgramVertex create();
+ }
+
+ public class ProgramVertexFixedFunction extends android.renderscript.ProgramVertex {
+ method public void bindConstants(android.renderscript.ProgramVertexFixedFunction.Constants);
+ }
+
+ public static class ProgramVertexFixedFunction.Builder {
+ ctor public ProgramVertexFixedFunction.Builder(android.renderscript.RenderScript);
+ method public android.renderscript.ProgramVertexFixedFunction create();
+ method public android.renderscript.ProgramVertexFixedFunction.Builder setTextureMatrixEnable(boolean);
+ }
+
+ public static class ProgramVertexFixedFunction.Constants {
+ ctor public ProgramVertexFixedFunction.Constants(android.renderscript.RenderScript);
+ method public void destroy();
+ method public void setModelview(android.renderscript.Matrix4f);
+ method public void setProjection(android.renderscript.Matrix4f);
+ method public void setTexture(android.renderscript.Matrix4f);
+ }
+
+ public class RSDriverException extends android.renderscript.RSRuntimeException {
+ ctor public RSDriverException(java.lang.String);
+ }
+
+ public class RSIllegalArgumentException extends android.renderscript.RSRuntimeException {
+ ctor public RSIllegalArgumentException(java.lang.String);
+ }
+
+ public class RSInvalidStateException extends android.renderscript.RSRuntimeException {
+ ctor public RSInvalidStateException(java.lang.String);
+ }
+
+ public class RSRuntimeException extends java.lang.RuntimeException {
+ ctor public RSRuntimeException(java.lang.String);
+ }
+
+ public class RSSurfaceView extends android.view.SurfaceView implements android.view.SurfaceHolder.Callback {
+ ctor public RSSurfaceView(android.content.Context);
+ ctor public RSSurfaceView(android.content.Context, android.util.AttributeSet);
+ method public android.renderscript.RenderScriptGL createRenderScriptGL(android.renderscript.RenderScriptGL.SurfaceConfig);
+ method public void destroyRenderScriptGL();
+ method public android.renderscript.RenderScriptGL getRenderScriptGL();
+ method public void pause();
+ method public void resume();
+ method public void setRenderScriptGL(android.renderscript.RenderScriptGL);
+ method public void surfaceChanged(android.view.SurfaceHolder, int, int, int);
+ method public void surfaceCreated(android.view.SurfaceHolder);
+ method public void surfaceDestroyed(android.view.SurfaceHolder);
+ }
+
+ public class RSTextureView extends android.view.TextureView implements android.view.TextureView.SurfaceTextureListener {
+ ctor public RSTextureView(android.content.Context);
+ ctor public RSTextureView(android.content.Context, android.util.AttributeSet);
+ method public android.renderscript.RenderScriptGL createRenderScriptGL(android.renderscript.RenderScriptGL.SurfaceConfig);
+ method public void destroyRenderScriptGL();
+ method public android.renderscript.RenderScriptGL getRenderScriptGL();
+ method public void onSurfaceTextureAvailable(android.graphics.SurfaceTexture, int, int);
+ method public boolean onSurfaceTextureDestroyed(android.graphics.SurfaceTexture);
+ method public void onSurfaceTextureSizeChanged(android.graphics.SurfaceTexture, int, int);
+ method public void onSurfaceTextureUpdated(android.graphics.SurfaceTexture);
+ method public void pause();
+ method public void resume();
+ method public void setRenderScriptGL(android.renderscript.RenderScriptGL);
+ }
+
+ public class RenderScript {
+ method public void contextDump();
+ method public static android.renderscript.RenderScript create(android.content.Context);
+ method public void destroy();
+ method public void finish();
+ method public final android.content.Context getApplicationContext();
+ method public android.renderscript.RenderScript.RSErrorHandler getErrorHandler();
+ method public android.renderscript.RenderScript.RSMessageHandler getMessageHandler();
+ method public void setErrorHandler(android.renderscript.RenderScript.RSErrorHandler);
+ method public void setMessageHandler(android.renderscript.RenderScript.RSMessageHandler);
+ method public void setPriority(android.renderscript.RenderScript.Priority);
+ }
+
+ public static final class RenderScript.Priority extends java.lang.Enum {
+ method public static android.renderscript.RenderScript.Priority valueOf(java.lang.String);
+ method public static final android.renderscript.RenderScript.Priority[] values();
+ enum_constant public static final android.renderscript.RenderScript.Priority LOW;
+ enum_constant public static final android.renderscript.RenderScript.Priority NORMAL;
+ }
+
+ public static class RenderScript.RSErrorHandler implements java.lang.Runnable {
+ ctor public RenderScript.RSErrorHandler();
+ method public void run();
+ field protected java.lang.String mErrorMessage;
+ field protected int mErrorNum;
+ }
+
+ public static class RenderScript.RSMessageHandler implements java.lang.Runnable {
+ ctor public RenderScript.RSMessageHandler();
+ method public void run();
+ field protected int[] mData;
+ field protected int mID;
+ field protected int mLength;
+ }
+
+ public class RenderScriptGL extends android.renderscript.RenderScript {
+ ctor public RenderScriptGL(android.content.Context, android.renderscript.RenderScriptGL.SurfaceConfig);
+ method public void bindProgramFragment(android.renderscript.ProgramFragment);
+ method public void bindProgramRaster(android.renderscript.ProgramRaster);
+ method public void bindProgramStore(android.renderscript.ProgramStore);
+ method public void bindProgramVertex(android.renderscript.ProgramVertex);
+ method public void bindRootScript(android.renderscript.Script);
+ method public int getHeight();
+ method public int getWidth();
+ method public void pause();
+ method public void resume();
+ method public void setSurface(android.view.SurfaceHolder, int, int);
+ method public void setSurfaceTexture(android.graphics.SurfaceTexture, int, int);
+ }
+
+ public static class RenderScriptGL.SurfaceConfig {
+ ctor public RenderScriptGL.SurfaceConfig();
+ ctor public RenderScriptGL.SurfaceConfig(android.renderscript.RenderScriptGL.SurfaceConfig);
+ method public void setAlpha(int, int);
+ method public void setColor(int, int);
+ method public void setDepth(int, int);
+ method public void setSamples(int, int, float);
+ }
+
+ public class Sampler extends android.renderscript.BaseObj {
+ method public static android.renderscript.Sampler CLAMP_LINEAR(android.renderscript.RenderScript);
+ method public static android.renderscript.Sampler CLAMP_LINEAR_MIP_LINEAR(android.renderscript.RenderScript);
+ method public static android.renderscript.Sampler CLAMP_NEAREST(android.renderscript.RenderScript);
+ method public static android.renderscript.Sampler WRAP_LINEAR(android.renderscript.RenderScript);
+ method public static android.renderscript.Sampler WRAP_LINEAR_MIP_LINEAR(android.renderscript.RenderScript);
+ method public static android.renderscript.Sampler WRAP_NEAREST(android.renderscript.RenderScript);
+ }
+
+ public static class Sampler.Builder {
+ ctor public Sampler.Builder(android.renderscript.RenderScript);
+ method public android.renderscript.Sampler create();
+ method public void setAnisotropy(float);
+ method public void setMagnification(android.renderscript.Sampler.Value);
+ method public void setMinification(android.renderscript.Sampler.Value);
+ method public void setWrapS(android.renderscript.Sampler.Value);
+ method public void setWrapT(android.renderscript.Sampler.Value);
+ }
+
+ public static final class Sampler.Value extends java.lang.Enum {
+ method public static android.renderscript.Sampler.Value valueOf(java.lang.String);
+ method public static final android.renderscript.Sampler.Value[] values();
+ enum_constant public static final android.renderscript.Sampler.Value CLAMP;
+ enum_constant public static final android.renderscript.Sampler.Value LINEAR;
+ enum_constant public static final android.renderscript.Sampler.Value LINEAR_MIP_LINEAR;
+ enum_constant public static final android.renderscript.Sampler.Value LINEAR_MIP_NEAREST;
+ enum_constant public static final android.renderscript.Sampler.Value NEAREST;
+ enum_constant public static final android.renderscript.Sampler.Value WRAP;
+ }
+
+ public class Script extends android.renderscript.BaseObj {
+ method public void bindAllocation(android.renderscript.Allocation, int);
+ method protected void forEach(int, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.FieldPacker);
+ method protected void invoke(int);
+ method protected void invoke(int, android.renderscript.FieldPacker);
+ method public void setTimeZone(java.lang.String);
+ method public void setVar(int, float);
+ method public void setVar(int, double);
+ method public void setVar(int, int);
+ method public void setVar(int, long);
+ method public void setVar(int, boolean);
+ method public void setVar(int, android.renderscript.BaseObj);
+ method public void setVar(int, android.renderscript.FieldPacker);
+ }
+
+ public static class Script.Builder {
+ }
+
+ public static class Script.FieldBase {
+ ctor protected Script.FieldBase();
+ method public android.renderscript.Allocation getAllocation();
+ method public android.renderscript.Element getElement();
+ method public android.renderscript.Type getType();
+ method protected void init(android.renderscript.RenderScript, int);
+ method protected void init(android.renderscript.RenderScript, int, int);
+ method public void updateAllocation();
+ field protected android.renderscript.Allocation mAllocation;
+ field protected android.renderscript.Element mElement;
+ }
+
+ public class ScriptC extends android.renderscript.Script {
+ ctor protected ScriptC(int, android.renderscript.RenderScript);
+ ctor protected ScriptC(android.renderscript.RenderScript, android.content.res.Resources, int);
+ }
+
+ public class Short2 {
+ ctor public Short2();
+ ctor public Short2(short, short);
+ field public short x;
+ field public short y;
+ }
+
+ public class Short3 {
+ ctor public Short3();
+ ctor public Short3(short, short, short);
+ field public short x;
+ field public short y;
+ field public short z;
+ }
+
+ public class Short4 {
+ ctor public Short4();
+ ctor public Short4(short, short, short, short);
+ field public short w;
+ field public short x;
+ field public short y;
+ field public short z;
+ }
+
+ public class Type extends android.renderscript.BaseObj {
+ method public int getCount();
+ method public android.renderscript.Element getElement();
+ method public int getX();
+ method public int getY();
+ method public int getZ();
+ method public boolean hasFaces();
+ method public boolean hasMipmaps();
+ }
+
+ public static class Type.Builder {
+ ctor public Type.Builder(android.renderscript.RenderScript, android.renderscript.Element);
+ method public android.renderscript.Type create();
+ method public android.renderscript.Type.Builder setFaces(boolean);
+ method public android.renderscript.Type.Builder setMipmaps(boolean);
+ method public android.renderscript.Type.Builder setX(int);
+ method public android.renderscript.Type.Builder setY(int);
+ }
+
+ public static final class Type.CubemapFace extends java.lang.Enum {
+ method public static android.renderscript.Type.CubemapFace valueOf(java.lang.String);
+ method public static final android.renderscript.Type.CubemapFace[] values();
+ enum_constant public static final android.renderscript.Type.CubemapFace NEGATIVE_X;
+ enum_constant public static final android.renderscript.Type.CubemapFace NEGATIVE_Y;
+ enum_constant public static final android.renderscript.Type.CubemapFace NEGATIVE_Z;
+ enum_constant public static final android.renderscript.Type.CubemapFace POSITIVE_X;
+ enum_constant public static final android.renderscript.Type.CubemapFace POSITIVE_Y;
+ enum_constant public static final android.renderscript.Type.CubemapFace POSITIVE_Z;
+ enum_constant public static final deprecated android.renderscript.Type.CubemapFace POSITVE_X;
+ enum_constant public static final deprecated android.renderscript.Type.CubemapFace POSITVE_Y;
+ enum_constant public static final deprecated android.renderscript.Type.CubemapFace POSITVE_Z;
+ }
+
+}
+
+package android.sax {
+
+ public class Element {
+ method public android.sax.Element getChild(java.lang.String);
+ method public android.sax.Element getChild(java.lang.String, java.lang.String);
+ method public android.sax.Element requireChild(java.lang.String);
+ method public android.sax.Element requireChild(java.lang.String, java.lang.String);
+ method public void setElementListener(android.sax.ElementListener);
+ method public void setEndElementListener(android.sax.EndElementListener);
+ method public void setEndTextElementListener(android.sax.EndTextElementListener);
+ method public void setStartElementListener(android.sax.StartElementListener);
+ method public void setTextElementListener(android.sax.TextElementListener);
+ }
+
+ public abstract interface ElementListener implements android.sax.EndElementListener android.sax.StartElementListener {
+ }
+
+ public abstract interface EndElementListener {
+ method public abstract void end();
+ }
+
+ public abstract interface EndTextElementListener {
+ method public abstract void end(java.lang.String);
+ }
+
+ public class RootElement extends android.sax.Element {
+ ctor public RootElement(java.lang.String, java.lang.String);
+ ctor public RootElement(java.lang.String);
+ method public org.xml.sax.ContentHandler getContentHandler();
+ }
+
+ public abstract interface StartElementListener {
+ method public abstract void start(org.xml.sax.Attributes);
+ }
+
+ public abstract interface TextElementListener implements android.sax.EndTextElementListener android.sax.StartElementListener {
+ }
+
+}
+
+package android.security {
+
+ public final class KeyChain {
+ ctor public KeyChain();
+ method public static void choosePrivateKeyAlias(android.app.Activity, android.security.KeyChainAliasCallback, java.lang.String[], java.security.Principal[], java.lang.String, int, java.lang.String);
+ method public static android.content.Intent createInstallIntent();
+ method public static java.security.cert.X509Certificate[] getCertificateChain(android.content.Context, java.lang.String) throws java.lang.InterruptedException, android.security.KeyChainException;
+ method public static java.security.PrivateKey getPrivateKey(android.content.Context, java.lang.String) throws java.lang.InterruptedException, android.security.KeyChainException;
+ field public static final java.lang.String EXTRA_CERTIFICATE = "CERT";
+ field public static final java.lang.String EXTRA_NAME = "name";
+ field public static final java.lang.String EXTRA_PKCS12 = "PKCS12";
+ }
+
+ public abstract interface KeyChainAliasCallback {
+ method public abstract void alias(java.lang.String);
+ }
+
+ public class KeyChainException extends java.lang.Exception {
+ ctor public KeyChainException();
+ ctor public KeyChainException(java.lang.String);
+ ctor public KeyChainException(java.lang.String, java.lang.Throwable);
+ ctor public KeyChainException(java.lang.Throwable);
+ }
+
+}
+
+package android.service.textservice {
+
+ public abstract class SpellCheckerService extends android.app.Service {
+ ctor public SpellCheckerService();
+ method public abstract android.service.textservice.SpellCheckerService.Session createSession();
+ method public final android.os.IBinder onBind(android.content.Intent);
+ field public static final java.lang.String SERVICE_INTERFACE = "android.service.textservice.SpellCheckerService";
+ }
+
+ public static abstract class SpellCheckerService.Session {
+ ctor public SpellCheckerService.Session();
+ method public android.os.Bundle getBundle();
+ method public java.lang.String getLocale();
+ method public void onCancel();
+ method public abstract void onCreate();
+ method public abstract android.view.textservice.SuggestionsInfo onGetSuggestions(android.view.textservice.TextInfo, int);
+ method public android.view.textservice.SuggestionsInfo[] onGetSuggestionsMultiple(android.view.textservice.TextInfo[], int, boolean);
+ }
+
+}
+
+package android.service.wallpaper {
+
+ public abstract class WallpaperService extends android.app.Service {
+ ctor public WallpaperService();
+ method public final android.os.IBinder onBind(android.content.Intent);
+ method public abstract android.service.wallpaper.WallpaperService.Engine onCreateEngine();
+ field public static final java.lang.String SERVICE_INTERFACE = "android.service.wallpaper.WallpaperService";
+ field public static final java.lang.String SERVICE_META_DATA = "android.service.wallpaper";
+ }
+
+ public class WallpaperService.Engine {
+ ctor public WallpaperService.Engine();
+ method protected void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
+ method public int getDesiredMinimumHeight();
+ method public int getDesiredMinimumWidth();
+ method public android.view.SurfaceHolder getSurfaceHolder();
+ method public boolean isPreview();
+ method public boolean isVisible();
+ method public android.os.Bundle onCommand(java.lang.String, int, int, int, android.os.Bundle, boolean);
+ method public void onCreate(android.view.SurfaceHolder);
+ method public void onDesiredSizeChanged(int, int);
+ method public void onDestroy();
+ method public void onOffsetsChanged(float, float, float, float, int, int);
+ method public void onSurfaceChanged(android.view.SurfaceHolder, int, int, int);
+ method public void onSurfaceCreated(android.view.SurfaceHolder);
+ method public void onSurfaceDestroyed(android.view.SurfaceHolder);
+ method public void onSurfaceRedrawNeeded(android.view.SurfaceHolder);
+ method public void onTouchEvent(android.view.MotionEvent);
+ method public void onVisibilityChanged(boolean);
+ method public void setTouchEventsEnabled(boolean);
+ }
+
+}
+
+package android.speech {
+
+ public abstract interface RecognitionListener {
+ method public abstract void onBeginningOfSpeech();
+ method public abstract void onBufferReceived(byte[]);
+ method public abstract void onEndOfSpeech();
+ method public abstract void onError(int);
+ method public abstract void onEvent(int, android.os.Bundle);
+ method public abstract void onPartialResults(android.os.Bundle);
+ method public abstract void onReadyForSpeech(android.os.Bundle);
+ method public abstract void onResults(android.os.Bundle);
+ method public abstract void onRmsChanged(float);
+ }
+
+ public abstract class RecognitionService extends android.app.Service {
+ ctor public RecognitionService();
+ method public final android.os.IBinder onBind(android.content.Intent);
+ method protected abstract void onCancel(android.speech.RecognitionService.Callback);
+ method protected abstract void onStartListening(android.content.Intent, android.speech.RecognitionService.Callback);
+ method protected abstract void onStopListening(android.speech.RecognitionService.Callback);
+ field public static final java.lang.String SERVICE_INTERFACE = "android.speech.RecognitionService";
+ field public static final java.lang.String SERVICE_META_DATA = "android.speech";
+ }
+
+ public class RecognitionService.Callback {
+ method public void beginningOfSpeech() throws android.os.RemoteException;
+ method public void bufferReceived(byte[]) throws android.os.RemoteException;
+ method public void endOfSpeech() throws android.os.RemoteException;
+ method public void error(int) throws android.os.RemoteException;
+ method public void partialResults(android.os.Bundle) throws android.os.RemoteException;
+ method public void readyForSpeech(android.os.Bundle) throws android.os.RemoteException;
+ method public void results(android.os.Bundle) throws android.os.RemoteException;
+ method public void rmsChanged(float) throws android.os.RemoteException;
+ }
+
+ public class RecognizerIntent {
+ method public static final android.content.Intent getVoiceDetailsIntent(android.content.Context);
+ field public static final java.lang.String ACTION_GET_LANGUAGE_DETAILS = "android.speech.action.GET_LANGUAGE_DETAILS";
+ field public static final java.lang.String ACTION_RECOGNIZE_SPEECH = "android.speech.action.RECOGNIZE_SPEECH";
+ field public static final java.lang.String ACTION_WEB_SEARCH = "android.speech.action.WEB_SEARCH";
+ field public static final java.lang.String DETAILS_META_DATA = "android.speech.DETAILS";
+ field public static final java.lang.String EXTRA_CALLING_PACKAGE = "calling_package";
+ field public static final java.lang.String EXTRA_CONFIDENCE_SCORES = "android.speech.extra.CONFIDENCE_SCORES";
+ field public static final java.lang.String EXTRA_LANGUAGE = "android.speech.extra.LANGUAGE";
+ field public static final java.lang.String EXTRA_LANGUAGE_MODEL = "android.speech.extra.LANGUAGE_MODEL";
+ field public static final java.lang.String EXTRA_LANGUAGE_PREFERENCE = "android.speech.extra.LANGUAGE_PREFERENCE";
+ field public static final java.lang.String EXTRA_MAX_RESULTS = "android.speech.extra.MAX_RESULTS";
+ field public static final java.lang.String EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE = "android.speech.extra.ONLY_RETURN_LANGUAGE_PREFERENCE";
+ field public static final java.lang.String EXTRA_ORIGIN = "android.speech.extra.ORIGIN";
+ field public static final java.lang.String EXTRA_PARTIAL_RESULTS = "android.speech.extra.PARTIAL_RESULTS";
+ field public static final java.lang.String EXTRA_PROMPT = "android.speech.extra.PROMPT";
+ field public static final java.lang.String EXTRA_RESULTS = "android.speech.extra.RESULTS";
+ field public static final java.lang.String EXTRA_RESULTS_PENDINGINTENT = "android.speech.extra.RESULTS_PENDINGINTENT";
+ field public static final java.lang.String EXTRA_RESULTS_PENDINGINTENT_BUNDLE = "android.speech.extra.RESULTS_PENDINGINTENT_BUNDLE";
+ field public static final java.lang.String EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS = "android.speech.extras.SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS";
+ field public static final java.lang.String EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS = "android.speech.extras.SPEECH_INPUT_MINIMUM_LENGTH_MILLIS";
+ field public static final java.lang.String EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS = "android.speech.extras.SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS";
+ field public static final java.lang.String EXTRA_SUPPORTED_LANGUAGES = "android.speech.extra.SUPPORTED_LANGUAGES";
+ field public static final java.lang.String EXTRA_WEB_SEARCH_ONLY = "android.speech.extra.WEB_SEARCH_ONLY";
+ field public static final java.lang.String LANGUAGE_MODEL_FREE_FORM = "free_form";
+ field public static final java.lang.String LANGUAGE_MODEL_WEB_SEARCH = "web_search";
+ field public static final int RESULT_AUDIO_ERROR = 5; // 0x5
+ field public static final int RESULT_CLIENT_ERROR = 2; // 0x2
+ field public static final int RESULT_NETWORK_ERROR = 4; // 0x4
+ field public static final int RESULT_NO_MATCH = 1; // 0x1
+ field public static final int RESULT_SERVER_ERROR = 3; // 0x3
+ }
+
+ public class RecognizerResultsIntent {
+ field public static final java.lang.String ACTION_VOICE_SEARCH_RESULTS = "android.speech.action.VOICE_SEARCH_RESULTS";
+ field public static final java.lang.String EXTRA_VOICE_SEARCH_RESULT_HTML = "android.speech.extras.VOICE_SEARCH_RESULT_HTML";
+ field public static final java.lang.String EXTRA_VOICE_SEARCH_RESULT_HTML_BASE_URLS = "android.speech.extras.VOICE_SEARCH_RESULT_HTML_BASE_URLS";
+ field public static final java.lang.String EXTRA_VOICE_SEARCH_RESULT_HTTP_HEADERS = "android.speech.extras.EXTRA_VOICE_SEARCH_RESULT_HTTP_HEADERS";
+ field public static final java.lang.String EXTRA_VOICE_SEARCH_RESULT_STRINGS = "android.speech.extras.VOICE_SEARCH_RESULT_STRINGS";
+ field public static final java.lang.String EXTRA_VOICE_SEARCH_RESULT_URLS = "android.speech.extras.VOICE_SEARCH_RESULT_URLS";
+ field public static final java.lang.String URI_SCHEME_INLINE = "inline";
+ }
+
+ public class SpeechRecognizer {
+ method public void cancel();
+ method public static android.speech.SpeechRecognizer createSpeechRecognizer(android.content.Context);
+ method public static android.speech.SpeechRecognizer createSpeechRecognizer(android.content.Context, android.content.ComponentName);
+ method public void destroy();
+ method public static boolean isRecognitionAvailable(android.content.Context);
+ method public void setRecognitionListener(android.speech.RecognitionListener);
+ method public void startListening(android.content.Intent);
+ method public void stopListening();
+ field public static final java.lang.String CONFIDENCE_SCORES = "confidence_scores";
+ field public static final int ERROR_AUDIO = 3; // 0x3
+ field public static final int ERROR_CLIENT = 5; // 0x5
+ field public static final int ERROR_INSUFFICIENT_PERMISSIONS = 9; // 0x9
+ field public static final int ERROR_NETWORK = 2; // 0x2
+ field public static final int ERROR_NETWORK_TIMEOUT = 1; // 0x1
+ field public static final int ERROR_NO_MATCH = 7; // 0x7
+ field public static final int ERROR_RECOGNIZER_BUSY = 8; // 0x8
+ field public static final int ERROR_SERVER = 4; // 0x4
+ field public static final int ERROR_SPEECH_TIMEOUT = 6; // 0x6
+ field public static final java.lang.String RESULTS_RECOGNITION = "results_recognition";
+ }
+
+}
+
+package android.speech.tts {
+
+ public abstract interface SynthesisCallback {
+ method public abstract int audioAvailable(byte[], int, int);
+ method public abstract int done();
+ method public abstract void error();
+ method public abstract int getMaxBufferSize();
+ method public abstract int start(int, int, int);
+ }
+
+ public final class SynthesisRequest {
+ ctor public SynthesisRequest(java.lang.String, android.os.Bundle);
+ method public java.lang.String getCountry();
+ method public java.lang.String getLanguage();
+ method public android.os.Bundle getParams();
+ method public int getPitch();
+ method public int getSpeechRate();
+ method public java.lang.String getText();
+ method public java.lang.String getVariant();
+ }
+
+ public class TextToSpeech {
+ ctor public TextToSpeech(android.content.Context, android.speech.tts.TextToSpeech.OnInitListener);
+ ctor public TextToSpeech(android.content.Context, android.speech.tts.TextToSpeech.OnInitListener, java.lang.String);
+ method public int addEarcon(java.lang.String, java.lang.String, int);
+ method public int addEarcon(java.lang.String, java.lang.String);
+ method public int addSpeech(java.lang.String, java.lang.String, int);
+ method public int addSpeech(java.lang.String, java.lang.String);
+ method public boolean areDefaultsEnforced();
+ method public java.lang.String getDefaultEngine();
+ method public java.util.List<android.speech.tts.TextToSpeech.EngineInfo> getEngines();
+ method public java.util.Locale getLanguage();
+ method public int isLanguageAvailable(java.util.Locale);
+ method public boolean isSpeaking();
+ method public int playEarcon(java.lang.String, int, java.util.HashMap<java.lang.String, java.lang.String>);
+ method public int playSilence(long, int, java.util.HashMap<java.lang.String, java.lang.String>);
+ method public deprecated int setEngineByPackageName(java.lang.String);
+ method public int setLanguage(java.util.Locale);
+ method public int setOnUtteranceCompletedListener(android.speech.tts.TextToSpeech.OnUtteranceCompletedListener);
+ method public int setPitch(float);
+ method public int setSpeechRate(float);
+ method public void shutdown();
+ method public int speak(java.lang.String, int, java.util.HashMap<java.lang.String, java.lang.String>);
+ method public int stop();
+ method public int synthesizeToFile(java.lang.String, java.util.HashMap<java.lang.String, java.lang.String>, java.lang.String);
+ field public static final java.lang.String ACTION_TTS_QUEUE_PROCESSING_COMPLETED = "android.speech.tts.TTS_QUEUE_PROCESSING_COMPLETED";
+ field public static final int ERROR = -1; // 0xffffffff
+ field public static final int LANG_AVAILABLE = 0; // 0x0
+ field public static final int LANG_COUNTRY_AVAILABLE = 1; // 0x1
+ field public static final int LANG_COUNTRY_VAR_AVAILABLE = 2; // 0x2
+ field public static final int LANG_MISSING_DATA = -1; // 0xffffffff
+ field public static final int LANG_NOT_SUPPORTED = -2; // 0xfffffffe
+ field public static final int QUEUE_ADD = 1; // 0x1
+ field public static final int QUEUE_FLUSH = 0; // 0x0
+ field public static final int SUCCESS = 0; // 0x0
+ }
+
+ public class TextToSpeech.Engine {
+ ctor public TextToSpeech.Engine();
+ field public static final java.lang.String ACTION_CHECK_TTS_DATA = "android.speech.tts.engine.CHECK_TTS_DATA";
+ field public static final java.lang.String ACTION_INSTALL_TTS_DATA = "android.speech.tts.engine.INSTALL_TTS_DATA";
+ field public static final java.lang.String ACTION_TTS_DATA_INSTALLED = "android.speech.tts.engine.TTS_DATA_INSTALLED";
+ field public static final int CHECK_VOICE_DATA_BAD_DATA = -1; // 0xffffffff
+ field public static final int CHECK_VOICE_DATA_FAIL = 0; // 0x0
+ field public static final int CHECK_VOICE_DATA_MISSING_DATA = -2; // 0xfffffffe
+ field public static final int CHECK_VOICE_DATA_MISSING_VOLUME = -3; // 0xfffffffd
+ field public static final int CHECK_VOICE_DATA_PASS = 1; // 0x1
+ field public static final int DEFAULT_STREAM = 3; // 0x3
+ field public static final java.lang.String EXTRA_AVAILABLE_VOICES = "availableVoices";
+ field public static final java.lang.String EXTRA_CHECK_VOICE_DATA_FOR = "checkVoiceDataFor";
+ field public static final java.lang.String EXTRA_TTS_DATA_INSTALLED = "dataInstalled";
+ field public static final java.lang.String EXTRA_UNAVAILABLE_VOICES = "unavailableVoices";
+ field public static final java.lang.String EXTRA_VOICE_DATA_FILES = "dataFiles";
+ field public static final java.lang.String EXTRA_VOICE_DATA_FILES_INFO = "dataFilesInfo";
+ field public static final java.lang.String EXTRA_VOICE_DATA_ROOT_DIRECTORY = "dataRoot";
+ field public static final java.lang.String INTENT_ACTION_TTS_SERVICE = "android.intent.action.TTS_SERVICE";
+ field public static final java.lang.String KEY_PARAM_PAN = "pan";
+ field public static final java.lang.String KEY_PARAM_STREAM = "streamType";
+ field public static final java.lang.String KEY_PARAM_UTTERANCE_ID = "utteranceId";
+ field public static final java.lang.String KEY_PARAM_VOLUME = "volume";
+ field public static final java.lang.String SERVICE_META_DATA = "android.speech.tts";
+ }
+
+ public static class TextToSpeech.EngineInfo {
+ ctor public TextToSpeech.EngineInfo();
+ field public int icon;
+ field public java.lang.String label;
+ field public java.lang.String name;
+ }
+
+ public static abstract interface TextToSpeech.OnInitListener {
+ method public abstract void onInit(int);
+ }
+
+ public static abstract interface TextToSpeech.OnUtteranceCompletedListener {
+ method public abstract void onUtteranceCompleted(java.lang.String);
+ }
+
+ public abstract class TextToSpeechService extends android.app.Service {
+ ctor public TextToSpeechService();
+ method public android.os.IBinder onBind(android.content.Intent);
+ method protected abstract java.lang.String[] onGetLanguage();
+ method protected abstract int onIsLanguageAvailable(java.lang.String, java.lang.String, java.lang.String);
+ method protected abstract int onLoadLanguage(java.lang.String, java.lang.String, java.lang.String);
+ method protected abstract void onStop();
+ method protected abstract void onSynthesizeText(android.speech.tts.SynthesisRequest, android.speech.tts.SynthesisCallback);
+ }
+
+}
+
+package android.telephony {
+
+ public abstract class CellLocation {
+ ctor public CellLocation();
+ method public static android.telephony.CellLocation getEmpty();
+ method public static void requestLocationUpdate();
+ }
+
+ public class NeighboringCellInfo implements android.os.Parcelable {
+ ctor public deprecated NeighboringCellInfo();
+ ctor public deprecated NeighboringCellInfo(int, int);
+ ctor public NeighboringCellInfo(int, java.lang.String, int);
+ ctor public NeighboringCellInfo(android.os.Parcel);
+ method public int describeContents();
+ method public int getCid();
+ method public int getLac();
+ method public int getNetworkType();
+ method public int getPsc();
+ method public int getRssi();
+ method public deprecated void setCid(int);
+ method public deprecated void setRssi(int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int UNKNOWN_CID = -1; // 0xffffffff
+ field public static final int UNKNOWN_RSSI = 99; // 0x63
+ }
+
+ public class PhoneNumberFormattingTextWatcher implements android.text.TextWatcher {
+ ctor public PhoneNumberFormattingTextWatcher();
+ method public synchronized void afterTextChanged(android.text.Editable);
+ method public void beforeTextChanged(java.lang.CharSequence, int, int, int);
+ method public void onTextChanged(java.lang.CharSequence, int, int, int);
+ }
+
+ public class PhoneNumberUtils {
+ ctor public PhoneNumberUtils();
+ method public static java.lang.String calledPartyBCDFragmentToString(byte[], int, int);
+ method public static java.lang.String calledPartyBCDToString(byte[], int, int);
+ method public static boolean compare(java.lang.String, java.lang.String);
+ method public static boolean compare(android.content.Context, java.lang.String, java.lang.String);
+ method public static java.lang.String convertKeypadLettersToDigits(java.lang.String);
+ method public static java.lang.String extractNetworkPortion(java.lang.String);
+ method public static java.lang.String extractPostDialPortion(java.lang.String);
+ method public static void formatJapaneseNumber(android.text.Editable);
+ method public static void formatNanpNumber(android.text.Editable);
+ method public static java.lang.String formatNumber(java.lang.String);
+ method public static void formatNumber(android.text.Editable, int);
+ method public static int getFormatTypeForLocale(java.util.Locale);
+ method public static java.lang.String getNumberFromIntent(android.content.Intent, android.content.Context);
+ method public static java.lang.String getStrippedReversed(java.lang.String);
+ method public static final boolean is12Key(char);
+ method public static final boolean isDialable(char);
+ method public static boolean isEmergencyNumber(java.lang.String);
+ method public static boolean isGlobalPhoneNumber(java.lang.String);
+ method public static boolean isISODigit(char);
+ method public static final boolean isNonSeparator(char);
+ method public static final boolean isReallyDialable(char);
+ method public static final boolean isStartsPostDial(char);
+ method public static boolean isWellFormedSmsAddress(java.lang.String);
+ method public static byte[] networkPortionToCalledPartyBCD(java.lang.String);
+ method public static byte[] networkPortionToCalledPartyBCDWithLength(java.lang.String);
+ method public static byte[] numberToCalledPartyBCD(java.lang.String);
+ method public static java.lang.String stringFromStringAndTOA(java.lang.String, int);
+ method public static java.lang.String stripSeparators(java.lang.String);
+ method public static java.lang.String toCallerIDMinMatch(java.lang.String);
+ method public static int toaFromString(java.lang.String);
+ field public static final int FORMAT_JAPAN = 2; // 0x2
+ field public static final int FORMAT_NANP = 1; // 0x1
+ field public static final int FORMAT_UNKNOWN = 0; // 0x0
+ field public static final char PAUSE = 44; // 0x002c ','
+ field public static final int TOA_International = 145; // 0x91
+ field public static final int TOA_Unknown = 129; // 0x81
+ field public static final char WAIT = 59; // 0x003b ';'
+ field public static final char WILD = 78; // 0x004e 'N'
+ }
+
+ public class PhoneStateListener {
+ ctor public PhoneStateListener();
+ method public void onCallForwardingIndicatorChanged(boolean);
+ method public void onCallStateChanged(int, java.lang.String);
+ method public void onCellLocationChanged(android.telephony.CellLocation);
+ method public void onDataActivity(int);
+ method public void onDataConnectionStateChanged(int);
+ method public void onDataConnectionStateChanged(int, int);
+ method public void onMessageWaitingIndicatorChanged(boolean);
+ method public void onServiceStateChanged(android.telephony.ServiceState);
+ method public deprecated void onSignalStrengthChanged(int);
+ method public void onSignalStrengthsChanged(android.telephony.SignalStrength);
+ field public static final int LISTEN_CALL_FORWARDING_INDICATOR = 8; // 0x8
+ field public static final int LISTEN_CALL_STATE = 32; // 0x20
+ field public static final int LISTEN_CELL_LOCATION = 16; // 0x10
+ field public static final int LISTEN_DATA_ACTIVITY = 128; // 0x80
+ field public static final int LISTEN_DATA_CONNECTION_STATE = 64; // 0x40
+ field public static final int LISTEN_MESSAGE_WAITING_INDICATOR = 4; // 0x4
+ field public static final int LISTEN_NONE = 0; // 0x0
+ field public static final int LISTEN_SERVICE_STATE = 1; // 0x1
+ field public static final deprecated int LISTEN_SIGNAL_STRENGTH = 2; // 0x2
+ field public static final int LISTEN_SIGNAL_STRENGTHS = 256; // 0x100
+ }
+
+ public class ServiceState implements android.os.Parcelable {
+ ctor public ServiceState();
+ ctor public ServiceState(android.telephony.ServiceState);
+ ctor public ServiceState(android.os.Parcel);
+ method protected void copyFrom(android.telephony.ServiceState);
+ method public int describeContents();
+ method public boolean getIsManualSelection();
+ method public java.lang.String getOperatorAlphaLong();
+ method public java.lang.String getOperatorAlphaShort();
+ method public java.lang.String getOperatorNumeric();
+ method public boolean getRoaming();
+ method public int getState();
+ method public void setIsManualSelection(boolean);
+ method public void setOperatorName(java.lang.String, java.lang.String, java.lang.String);
+ method public void setRoaming(boolean);
+ method public void setState(int);
+ method public void setStateOff();
+ method public void setStateOutOfService();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int STATE_EMERGENCY_ONLY = 2; // 0x2
+ field public static final int STATE_IN_SERVICE = 0; // 0x0
+ field public static final int STATE_OUT_OF_SERVICE = 1; // 0x1
+ field public static final int STATE_POWER_OFF = 3; // 0x3
+ }
+
+ public class SignalStrength implements android.os.Parcelable {
+ method public int describeContents();
+ method public int getCdmaDbm();
+ method public int getCdmaEcio();
+ method public int getEvdoDbm();
+ method public int getEvdoEcio();
+ method public int getEvdoSnr();
+ method public int getGsmBitErrorRate();
+ method public int getGsmSignalStrength();
+ method public boolean isGsm();
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public final class SmsManager {
+ method public java.util.ArrayList<java.lang.String> divideMessage(java.lang.String);
+ method public static android.telephony.SmsManager getDefault();
+ method public void sendDataMessage(java.lang.String, java.lang.String, short, byte[], android.app.PendingIntent, android.app.PendingIntent);
+ method public void sendMultipartTextMessage(java.lang.String, java.lang.String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>);
+ method public void sendTextMessage(java.lang.String, java.lang.String, java.lang.String, android.app.PendingIntent, android.app.PendingIntent);
+ field public static final int RESULT_ERROR_GENERIC_FAILURE = 1; // 0x1
+ field public static final int RESULT_ERROR_NO_SERVICE = 4; // 0x4
+ field public static final int RESULT_ERROR_NULL_PDU = 3; // 0x3
+ field public static final int RESULT_ERROR_RADIO_OFF = 2; // 0x2
+ field public static final int STATUS_ON_ICC_FREE = 0; // 0x0
+ field public static final int STATUS_ON_ICC_READ = 1; // 0x1
+ field public static final int STATUS_ON_ICC_SENT = 5; // 0x5
+ field public static final int STATUS_ON_ICC_UNREAD = 3; // 0x3
+ field public static final int STATUS_ON_ICC_UNSENT = 7; // 0x7
+ }
+
+ public class SmsMessage {
+ method public static int[] calculateLength(java.lang.CharSequence, boolean);
+ method public static int[] calculateLength(java.lang.String, boolean);
+ method public static android.telephony.SmsMessage createFromPdu(byte[]);
+ method public java.lang.String getDisplayMessageBody();
+ method public java.lang.String getDisplayOriginatingAddress();
+ method public java.lang.String getEmailBody();
+ method public java.lang.String getEmailFrom();
+ method public int getIndexOnIcc();
+ method public deprecated int getIndexOnSim();
+ method public java.lang.String getMessageBody();
+ method public android.telephony.SmsMessage.MessageClass getMessageClass();
+ method public java.lang.String getOriginatingAddress();
+ method public byte[] getPdu();
+ method public int getProtocolIdentifier();
+ method public java.lang.String getPseudoSubject();
+ method public java.lang.String getServiceCenterAddress();
+ method public int getStatus();
+ method public int getStatusOnIcc();
+ method public deprecated int getStatusOnSim();
+ method public static android.telephony.SmsMessage.SubmitPdu getSubmitPdu(java.lang.String, java.lang.String, java.lang.String, boolean);
+ method public static android.telephony.SmsMessage.SubmitPdu getSubmitPdu(java.lang.String, java.lang.String, short, byte[], boolean);
+ method public static int getTPLayerLengthForPDU(java.lang.String);
+ method public long getTimestampMillis();
+ method public byte[] getUserData();
+ method public boolean isCphsMwiMessage();
+ method public boolean isEmail();
+ method public boolean isMWIClearMessage();
+ method public boolean isMWISetMessage();
+ method public boolean isMwiDontStore();
+ method public boolean isReplace();
+ method public boolean isReplyPathPresent();
+ method public boolean isStatusReportMessage();
+ field public static final int ENCODING_16BIT = 3; // 0x3
+ field public static final int ENCODING_7BIT = 1; // 0x1
+ field public static final int ENCODING_8BIT = 2; // 0x2
+ field public static final int ENCODING_UNKNOWN = 0; // 0x0
+ field public static final int MAX_USER_DATA_BYTES = 140; // 0x8c
+ field public static final int MAX_USER_DATA_BYTES_WITH_HEADER = 134; // 0x86
+ field public static final int MAX_USER_DATA_SEPTETS = 160; // 0xa0
+ field public static final int MAX_USER_DATA_SEPTETS_WITH_HEADER = 153; // 0x99
+ }
+
+ public static final class SmsMessage.MessageClass extends java.lang.Enum {
+ method public static android.telephony.SmsMessage.MessageClass valueOf(java.lang.String);
+ method public static final android.telephony.SmsMessage.MessageClass[] values();
+ enum_constant public static final android.telephony.SmsMessage.MessageClass CLASS_0;
+ enum_constant public static final android.telephony.SmsMessage.MessageClass CLASS_1;
+ enum_constant public static final android.telephony.SmsMessage.MessageClass CLASS_2;
+ enum_constant public static final android.telephony.SmsMessage.MessageClass CLASS_3;
+ enum_constant public static final android.telephony.SmsMessage.MessageClass UNKNOWN;
+ }
+
+ public static class SmsMessage.SubmitPdu {
+ field public byte[] encodedMessage;
+ field public byte[] encodedScAddress;
+ }
+
+ public class TelephonyManager {
+ method public int getCallState();
+ method public android.telephony.CellLocation getCellLocation();
+ method public int getDataActivity();
+ method public int getDataState();
+ method public java.lang.String getDeviceId();
+ method public java.lang.String getDeviceSoftwareVersion();
+ method public java.lang.String getLine1Number();
+ method public java.util.List<android.telephony.NeighboringCellInfo> getNeighboringCellInfo();
+ method public java.lang.String getNetworkCountryIso();
+ method public java.lang.String getNetworkOperator();
+ method public java.lang.String getNetworkOperatorName();
+ method public int getNetworkType();
+ method public int getPhoneType();
+ method public java.lang.String getSimCountryIso();
+ method public java.lang.String getSimOperator();
+ method public java.lang.String getSimOperatorName();
+ method public java.lang.String getSimSerialNumber();
+ method public int getSimState();
+ method public java.lang.String getSubscriberId();
+ method public java.lang.String getVoiceMailAlphaTag();
+ method public java.lang.String getVoiceMailNumber();
+ method public boolean hasIccCard();
+ method public boolean isNetworkRoaming();
+ method public void listen(android.telephony.PhoneStateListener, int);
+ field public static final java.lang.String ACTION_PHONE_STATE_CHANGED = "android.intent.action.PHONE_STATE";
+ field public static final int CALL_STATE_IDLE = 0; // 0x0
+ field public static final int CALL_STATE_OFFHOOK = 2; // 0x2
+ field public static final int CALL_STATE_RINGING = 1; // 0x1
+ field public static final int DATA_ACTIVITY_DORMANT = 4; // 0x4
+ field public static final int DATA_ACTIVITY_IN = 1; // 0x1
+ field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3
+ field public static final int DATA_ACTIVITY_NONE = 0; // 0x0
+ field public static final int DATA_ACTIVITY_OUT = 2; // 0x2
+ field public static final int DATA_CONNECTED = 2; // 0x2
+ field public static final int DATA_CONNECTING = 1; // 0x1
+ field public static final int DATA_DISCONNECTED = 0; // 0x0
+ field public static final int DATA_SUSPENDED = 3; // 0x3
+ field public static final java.lang.String EXTRA_INCOMING_NUMBER = "incoming_number";
+ field public static final java.lang.String EXTRA_STATE = "state";
+ field public static final java.lang.String EXTRA_STATE_IDLE;
+ field public static final java.lang.String EXTRA_STATE_OFFHOOK;
+ field public static final java.lang.String EXTRA_STATE_RINGING;
+ field public static final int NETWORK_TYPE_1xRTT = 7; // 0x7
+ field public static final int NETWORK_TYPE_CDMA = 4; // 0x4
+ field public static final int NETWORK_TYPE_EDGE = 2; // 0x2
+ field public static final int NETWORK_TYPE_EHRPD = 14; // 0xe
+ field public static final int NETWORK_TYPE_EVDO_0 = 5; // 0x5
+ field public static final int NETWORK_TYPE_EVDO_A = 6; // 0x6
+ field public static final int NETWORK_TYPE_EVDO_B = 12; // 0xc
+ field public static final int NETWORK_TYPE_GPRS = 1; // 0x1
+ field public static final int NETWORK_TYPE_HSDPA = 8; // 0x8
+ field public static final int NETWORK_TYPE_HSPA = 10; // 0xa
+ field public static final int NETWORK_TYPE_HSPAP = 15; // 0xf
+ field public static final int NETWORK_TYPE_HSUPA = 9; // 0x9
+ field public static final int NETWORK_TYPE_IDEN = 11; // 0xb
+ field public static final int NETWORK_TYPE_LTE = 13; // 0xd
+ field public static final int NETWORK_TYPE_UMTS = 3; // 0x3
+ field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0
+ field public static final int PHONE_TYPE_CDMA = 2; // 0x2
+ field public static final int PHONE_TYPE_GSM = 1; // 0x1
+ field public static final int PHONE_TYPE_NONE = 0; // 0x0
+ field public static final int PHONE_TYPE_SIP = 3; // 0x3
+ field public static final int SIM_STATE_ABSENT = 1; // 0x1
+ field public static final int SIM_STATE_NETWORK_LOCKED = 4; // 0x4
+ field public static final int SIM_STATE_PIN_REQUIRED = 2; // 0x2
+ field public static final int SIM_STATE_PUK_REQUIRED = 3; // 0x3
+ field public static final int SIM_STATE_READY = 5; // 0x5
+ field public static final int SIM_STATE_UNKNOWN = 0; // 0x0
+ }
+
+}
+
+package android.telephony.cdma {
+
+ public class CdmaCellLocation extends android.telephony.CellLocation {
+ ctor public CdmaCellLocation();
+ ctor public CdmaCellLocation(android.os.Bundle);
+ method public void fillInNotifierBundle(android.os.Bundle);
+ method public int getBaseStationId();
+ method public int getBaseStationLatitude();
+ method public int getBaseStationLongitude();
+ method public int getNetworkId();
+ method public int getSystemId();
+ method public void setCellLocationData(int, int, int);
+ method public void setCellLocationData(int, int, int, int, int);
+ method public void setStateInvalid();
+ }
+
+}
+
+package android.telephony.gsm {
+
+ public class GsmCellLocation extends android.telephony.CellLocation {
+ ctor public GsmCellLocation();
+ ctor public GsmCellLocation(android.os.Bundle);
+ method public void fillInNotifierBundle(android.os.Bundle);
+ method public int getCid();
+ method public int getLac();
+ method public int getPsc();
+ method public void setLacAndCid(int, int);
+ method public void setStateInvalid();
+ }
+
+ public final deprecated class SmsManager {
+ method public final deprecated java.util.ArrayList<java.lang.String> divideMessage(java.lang.String);
+ method public static final deprecated android.telephony.gsm.SmsManager getDefault();
+ method public final deprecated void sendDataMessage(java.lang.String, java.lang.String, short, byte[], android.app.PendingIntent, android.app.PendingIntent);
+ method public final deprecated void sendMultipartTextMessage(java.lang.String, java.lang.String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>);
+ method public final deprecated void sendTextMessage(java.lang.String, java.lang.String, java.lang.String, android.app.PendingIntent, android.app.PendingIntent);
+ field public static final deprecated int RESULT_ERROR_GENERIC_FAILURE = 1; // 0x1
+ field public static final deprecated int RESULT_ERROR_NO_SERVICE = 4; // 0x4
+ field public static final deprecated int RESULT_ERROR_NULL_PDU = 3; // 0x3
+ field public static final deprecated int RESULT_ERROR_RADIO_OFF = 2; // 0x2
+ field public static final deprecated int STATUS_ON_SIM_FREE = 0; // 0x0
+ field public static final deprecated int STATUS_ON_SIM_READ = 1; // 0x1
+ field public static final deprecated int STATUS_ON_SIM_SENT = 5; // 0x5
+ field public static final deprecated int STATUS_ON_SIM_UNREAD = 3; // 0x3
+ field public static final deprecated int STATUS_ON_SIM_UNSENT = 7; // 0x7
+ }
+
+ public deprecated class SmsMessage {
+ ctor public deprecated SmsMessage();
+ method public static deprecated int[] calculateLength(java.lang.CharSequence, boolean);
+ method public static deprecated int[] calculateLength(java.lang.String, boolean);
+ method public static deprecated android.telephony.gsm.SmsMessage createFromPdu(byte[]);
+ method public deprecated java.lang.String getDisplayMessageBody();
+ method public deprecated java.lang.String getDisplayOriginatingAddress();
+ method public deprecated java.lang.String getEmailBody();
+ method public deprecated java.lang.String getEmailFrom();
+ method public deprecated int getIndexOnSim();
+ method public deprecated java.lang.String getMessageBody();
+ method public deprecated android.telephony.gsm.SmsMessage.MessageClass getMessageClass();
+ method public deprecated java.lang.String getOriginatingAddress();
+ method public deprecated byte[] getPdu();
+ method public deprecated int getProtocolIdentifier();
+ method public deprecated java.lang.String getPseudoSubject();
+ method public deprecated java.lang.String getServiceCenterAddress();
+ method public deprecated int getStatus();
+ method public deprecated int getStatusOnSim();
+ method public static deprecated android.telephony.gsm.SmsMessage.SubmitPdu getSubmitPdu(java.lang.String, java.lang.String, java.lang.String, boolean);
+ method public static deprecated android.telephony.gsm.SmsMessage.SubmitPdu getSubmitPdu(java.lang.String, java.lang.String, short, byte[], boolean);
+ method public static deprecated int getTPLayerLengthForPDU(java.lang.String);
+ method public deprecated long getTimestampMillis();
+ method public deprecated byte[] getUserData();
+ method public deprecated boolean isCphsMwiMessage();
+ method public deprecated boolean isEmail();
+ method public deprecated boolean isMWIClearMessage();
+ method public deprecated boolean isMWISetMessage();
+ method public deprecated boolean isMwiDontStore();
+ method public deprecated boolean isReplace();
+ method public deprecated boolean isReplyPathPresent();
+ method public deprecated boolean isStatusReportMessage();
+ field public static final deprecated int ENCODING_16BIT = 3; // 0x3
+ field public static final deprecated int ENCODING_7BIT = 1; // 0x1
+ field public static final deprecated int ENCODING_8BIT = 2; // 0x2
+ field public static final deprecated int ENCODING_UNKNOWN = 0; // 0x0
+ field public static final deprecated int MAX_USER_DATA_BYTES = 140; // 0x8c
+ field public static final deprecated int MAX_USER_DATA_SEPTETS = 160; // 0xa0
+ field public static final deprecated int MAX_USER_DATA_SEPTETS_WITH_HEADER = 153; // 0x99
+ }
+
+ public static final deprecated class SmsMessage.MessageClass extends java.lang.Enum {
+ method public static android.telephony.gsm.SmsMessage.MessageClass valueOf(java.lang.String);
+ method public static final android.telephony.gsm.SmsMessage.MessageClass[] values();
+ enum_constant public static final android.telephony.gsm.SmsMessage.MessageClass CLASS_0;
+ enum_constant public static final android.telephony.gsm.SmsMessage.MessageClass CLASS_1;
+ enum_constant public static final android.telephony.gsm.SmsMessage.MessageClass CLASS_2;
+ enum_constant public static final android.telephony.gsm.SmsMessage.MessageClass CLASS_3;
+ enum_constant public static final android.telephony.gsm.SmsMessage.MessageClass UNKNOWN;
+ }
+
+ public static deprecated class SmsMessage.SubmitPdu {
+ ctor public deprecated SmsMessage.SubmitPdu();
+ field public deprecated byte[] encodedMessage;
+ field public deprecated byte[] encodedScAddress;
+ }
+
+}
+
+package android.test {
+
+ public abstract deprecated class ActivityInstrumentationTestCase extends android.test.ActivityTestCase {
+ ctor public ActivityInstrumentationTestCase(java.lang.String, java.lang.Class<T>);
+ ctor public ActivityInstrumentationTestCase(java.lang.String, java.lang.Class<T>, boolean);
+ method public T getActivity();
+ method public void testActivityTestCaseSetUpProperly() throws java.lang.Exception;
+ }
+
+ public abstract class ActivityInstrumentationTestCase2 extends android.test.ActivityTestCase {
+ ctor public deprecated ActivityInstrumentationTestCase2(java.lang.String, java.lang.Class<T>);
+ ctor public ActivityInstrumentationTestCase2(java.lang.Class<T>);
+ method public T getActivity();
+ method public void setActivityInitialTouchMode(boolean);
+ method public void setActivityIntent(android.content.Intent);
+ }
+
+ public abstract class ActivityTestCase extends android.test.InstrumentationTestCase {
+ ctor public ActivityTestCase();
+ method protected android.app.Activity getActivity();
+ method protected void scrubClass(java.lang.Class<?>) throws java.lang.IllegalAccessException;
+ method protected void setActivity(android.app.Activity);
+ }
+
+ public abstract class ActivityUnitTestCase extends android.test.ActivityTestCase {
+ ctor public ActivityUnitTestCase(java.lang.Class<T>);
+ method public T getActivity();
+ method public int getFinishedActivityRequest();
+ method public int getRequestedOrientation();
+ method public android.content.Intent getStartedActivityIntent();
+ method public int getStartedActivityRequest();
+ method public boolean isFinishCalled();
+ method public void setActivityContext(android.content.Context);
+ method public void setApplication(android.app.Application);
+ method protected T startActivity(android.content.Intent, android.os.Bundle, java.lang.Object);
+ }
+
+ public class AndroidTestCase extends junit.framework.TestCase {
+ ctor public AndroidTestCase();
+ method public void assertActivityRequiresPermission(java.lang.String, java.lang.String, java.lang.String);
+ method public void assertReadingContentUriRequiresPermission(android.net.Uri, java.lang.String);
+ method public void assertWritingContentUriRequiresPermission(android.net.Uri, java.lang.String);
+ method public android.content.Context getContext();
+ method protected void scrubClass(java.lang.Class<?>) throws java.lang.IllegalAccessException;
+ method public void setContext(android.content.Context);
+ method public void testAndroidTestCaseSetupProperly();
+ field protected android.content.Context mContext;
+ }
+
+ public class AndroidTestRunner extends junit.runner.BaseTestRunner {
+ ctor public AndroidTestRunner();
+ method public void addTestListener(junit.framework.TestListener);
+ method public void clearTestListeners();
+ method protected junit.framework.TestResult createTestResult();
+ method public java.util.List<junit.framework.TestCase> getTestCases();
+ method public java.lang.String getTestClassName();
+ method public junit.framework.TestResult getTestResult();
+ method protected void runFailed(java.lang.String);
+ method public void runTest();
+ method public void runTest(junit.framework.TestResult);
+ method public void setContext(android.content.Context);
+ method public deprecated void setInstrumentaiton(android.app.Instrumentation);
+ method public void setInstrumentation(android.app.Instrumentation);
+ method public void setTest(junit.framework.Test);
+ method public void setTestClassName(java.lang.String, java.lang.String);
+ method public void testEnded(java.lang.String);
+ method public void testFailed(int, junit.framework.Test, java.lang.Throwable);
+ method public void testStarted(java.lang.String);
+ }
+
+ public abstract class ApplicationTestCase extends android.test.AndroidTestCase {
+ ctor public ApplicationTestCase(java.lang.Class<T>);
+ method protected final void createApplication();
+ method public T getApplication();
+ method public android.content.Context getSystemContext();
+ method protected final void terminateApplication();
+ method public final void testApplicationTestCaseSetUpProperly() throws java.lang.Exception;
+ }
+
+ public class AssertionFailedError extends java.lang.Error {
+ ctor public AssertionFailedError();
+ ctor public AssertionFailedError(java.lang.String);
+ }
+
+ public class ComparisonFailure extends android.test.AssertionFailedError {
+ ctor public ComparisonFailure(java.lang.String, java.lang.String, java.lang.String);
+ }
+
+ public abstract class FlakyTest implements java.lang.annotation.Annotation {
+ }
+
+ public class InstrumentationTestCase extends junit.framework.TestCase {
+ ctor public InstrumentationTestCase();
+ method public android.app.Instrumentation getInstrumentation();
+ method public deprecated void injectInsrumentation(android.app.Instrumentation);
+ method public void injectInstrumentation(android.app.Instrumentation);
+ method public final T launchActivity(java.lang.String, java.lang.Class<T>, android.os.Bundle);
+ method public final T launchActivityWithIntent(java.lang.String, java.lang.Class<T>, android.content.Intent);
+ method public void runTestOnUiThread(java.lang.Runnable) throws java.lang.Throwable;
+ method public void sendKeys(java.lang.String);
+ method public void sendKeys(int...);
+ method public void sendRepeatedKeys(int...);
+ }
+
+ public class InstrumentationTestRunner extends android.app.Instrumentation implements android.test.TestSuiteProvider {
+ ctor public InstrumentationTestRunner();
+ method public junit.framework.TestSuite getAllTests();
+ method protected android.test.AndroidTestRunner getAndroidTestRunner();
+ method public java.lang.ClassLoader getLoader();
+ method public junit.framework.TestSuite getTestSuite();
+ field public static final java.lang.String REPORT_KEY_NAME_CLASS = "class";
+ field public static final java.lang.String REPORT_KEY_NAME_TEST = "test";
+ field public static final java.lang.String REPORT_KEY_NUM_CURRENT = "current";
+ field public static final java.lang.String REPORT_KEY_NUM_TOTAL = "numtests";
+ field public static final java.lang.String REPORT_KEY_STACK = "stack";
+ field public static final java.lang.String REPORT_VALUE_ID = "InstrumentationTestRunner";
+ field public static final int REPORT_VALUE_RESULT_ERROR = -1; // 0xffffffff
+ field public static final int REPORT_VALUE_RESULT_FAILURE = -2; // 0xfffffffe
+ field public static final int REPORT_VALUE_RESULT_OK = 0; // 0x0
+ field public static final int REPORT_VALUE_RESULT_START = 1; // 0x1
+ }
+
+ public class InstrumentationTestSuite extends junit.framework.TestSuite {
+ ctor public InstrumentationTestSuite(android.app.Instrumentation);
+ ctor public InstrumentationTestSuite(java.lang.String, android.app.Instrumentation);
+ ctor public InstrumentationTestSuite(java.lang.Class, android.app.Instrumentation);
+ }
+
+ public class IsolatedContext extends android.content.ContextWrapper {
+ ctor public IsolatedContext(android.content.ContentResolver, android.content.Context);
+ method public java.util.List<android.content.Intent> getAndClearBroadcastIntents();
+ }
+
+ public class LoaderTestCase extends android.test.AndroidTestCase {
+ ctor public LoaderTestCase();
+ method public T getLoaderResultSynchronously(android.content.Loader<T>);
+ }
+
+ public final class MoreAsserts {
+ method public static void assertAssignableFrom(java.lang.Class<?>, java.lang.Object);
+ method public static void assertAssignableFrom(java.lang.Class<?>, java.lang.Class<?>);
+ method public static java.util.regex.MatchResult assertContainsRegex(java.lang.String, java.lang.String, java.lang.String);
+ method public static java.util.regex.MatchResult assertContainsRegex(java.lang.String, java.lang.String);
+ method public static void assertContentsInAnyOrder(java.lang.String, java.lang.Iterable<?>, java.lang.Object...);
+ method public static void assertContentsInAnyOrder(java.lang.Iterable<?>, java.lang.Object...);
+ method public static void assertContentsInOrder(java.lang.String, java.lang.Iterable<?>, java.lang.Object...);
+ method public static void assertContentsInOrder(java.lang.Iterable<?>, java.lang.Object...);
+ method public static void assertEmpty(java.lang.String, java.lang.Iterable<?>);
+ method public static void assertEmpty(java.lang.Iterable<?>);
+ method public static void assertEmpty(java.lang.String, java.util.Map<?, ?>);
+ method public static void assertEmpty(java.util.Map<?, ?>);
+ method public static void assertEquals(java.lang.String, byte[], byte[]);
+ method public static void assertEquals(byte[], byte[]);
+ method public static void assertEquals(java.lang.String, int[], int[]);
+ method public static void assertEquals(int[], int[]);
+ method public static void assertEquals(java.lang.String, double[], double[]);
+ method public static void assertEquals(double[], double[]);
+ method public static void assertEquals(java.lang.String, java.lang.Object[], java.lang.Object[]);
+ method public static void assertEquals(java.lang.Object[], java.lang.Object[]);
+ method public static void assertEquals(java.lang.String, java.util.Set<? extends java.lang.Object>, java.util.Set<? extends java.lang.Object>);
+ method public static void assertEquals(java.util.Set<? extends java.lang.Object>, java.util.Set<? extends java.lang.Object>);
+ method public static java.util.regex.MatchResult assertMatchesRegex(java.lang.String, java.lang.String, java.lang.String);
+ method public static java.util.regex.MatchResult assertMatchesRegex(java.lang.String, java.lang.String);
+ method public static void assertNotContainsRegex(java.lang.String, java.lang.String, java.lang.String);
+ method public static void assertNotContainsRegex(java.lang.String, java.lang.String);
+ method public static void assertNotEmpty(java.lang.String, java.lang.Iterable<?>);
+ method public static void assertNotEmpty(java.lang.Iterable<?>);
+ method public static void assertNotEmpty(java.lang.String, java.util.Map<?, ?>);
+ method public static void assertNotEmpty(java.util.Map<?, ?>);
+ method public static void assertNotEqual(java.lang.String, java.lang.Object, java.lang.Object);
+ method public static void assertNotEqual(java.lang.Object, java.lang.Object);
+ method public static void assertNotMatchesRegex(java.lang.String, java.lang.String, java.lang.String);
+ method public static void assertNotMatchesRegex(java.lang.String, java.lang.String);
+ method public static void checkEqualsAndHashCodeMethods(java.lang.String, java.lang.Object, java.lang.Object, boolean);
+ method public static void checkEqualsAndHashCodeMethods(java.lang.Object, java.lang.Object, boolean);
+ }
+
+ public abstract interface PerformanceTestCase {
+ method public abstract boolean isPerformanceOnly();
+ method public abstract int startPerformance(android.test.PerformanceTestCase.Intermediates);
+ }
+
+ public static abstract interface PerformanceTestCase.Intermediates {
+ method public abstract void addIntermediate(java.lang.String);
+ method public abstract void addIntermediate(java.lang.String, long);
+ method public abstract void finishTiming(boolean);
+ method public abstract void setInternalIterations(int);
+ method public abstract void startTiming(boolean);
+ }
+
+ public abstract deprecated class ProviderTestCase extends android.test.InstrumentationTestCase {
+ ctor public ProviderTestCase(java.lang.Class<T>, java.lang.String);
+ method public android.test.mock.MockContentResolver getMockContentResolver();
+ method public android.test.IsolatedContext getMockContext();
+ method public T getProvider();
+ method public static android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ }
+
+ public abstract class ProviderTestCase2 extends android.test.AndroidTestCase {
+ ctor public ProviderTestCase2(java.lang.Class<T>, java.lang.String);
+ method public android.test.mock.MockContentResolver getMockContentResolver();
+ method public android.test.IsolatedContext getMockContext();
+ method public T getProvider();
+ method public static android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, java.lang.String, java.lang.Class<T>, java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ }
+
+ public class RenamingDelegatingContext extends android.content.ContextWrapper {
+ ctor public RenamingDelegatingContext(android.content.Context, java.lang.String);
+ ctor public RenamingDelegatingContext(android.content.Context, android.content.Context, java.lang.String);
+ method public java.lang.String getDatabasePrefix();
+ method public void makeExistingFilesAndDbsAccessible();
+ method public static T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public static T providerWithRenamedContext(java.lang.Class<T>, android.content.Context, java.lang.String, boolean) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ }
+
+ public abstract class ServiceTestCase extends android.test.AndroidTestCase {
+ ctor public ServiceTestCase(java.lang.Class<T>);
+ method protected android.os.IBinder bindService(android.content.Intent);
+ method public android.app.Application getApplication();
+ method public T getService();
+ method public android.content.Context getSystemContext();
+ method public void setApplication(android.app.Application);
+ method protected void setupService();
+ method protected void shutdownService();
+ method protected void startService(android.content.Intent);
+ method public void testServiceTestCaseSetUpProperly() throws java.lang.Exception;
+ }
+
+ public abstract class SingleLaunchActivityTestCase extends android.test.InstrumentationTestCase {
+ ctor public SingleLaunchActivityTestCase(java.lang.String, java.lang.Class<T>);
+ method public T getActivity();
+ method public void testActivityTestCaseSetUpProperly() throws java.lang.Exception;
+ }
+
+ public class SyncBaseInstrumentation extends android.test.InstrumentationTestCase {
+ ctor public SyncBaseInstrumentation();
+ method protected void cancelSyncsandDisableAutoSync();
+ method protected void syncProvider(android.net.Uri, java.lang.String, java.lang.String) throws java.lang.Exception;
+ }
+
+ public abstract interface TestSuiteProvider {
+ method public abstract junit.framework.TestSuite getTestSuite();
+ }
+
+ public class TouchUtils {
+ ctor public TouchUtils();
+ method public static void clickView(android.test.InstrumentationTestCase, android.view.View);
+ method public static deprecated void drag(android.test.ActivityInstrumentationTestCase, float, float, float, float, int);
+ method public static void drag(android.test.InstrumentationTestCase, float, float, float, float, int);
+ method public static deprecated void dragQuarterScreenDown(android.test.ActivityInstrumentationTestCase);
+ method public static void dragQuarterScreenDown(android.test.InstrumentationTestCase, android.app.Activity);
+ method public static deprecated void dragQuarterScreenUp(android.test.ActivityInstrumentationTestCase);
+ method public static void dragQuarterScreenUp(android.test.InstrumentationTestCase, android.app.Activity);
+ method public static deprecated int dragViewBy(android.test.ActivityInstrumentationTestCase, android.view.View, int, int, int);
+ method public static deprecated int dragViewBy(android.test.InstrumentationTestCase, android.view.View, int, int, int);
+ method public static deprecated int dragViewTo(android.test.ActivityInstrumentationTestCase, android.view.View, int, int, int);
+ method public static int dragViewTo(android.test.InstrumentationTestCase, android.view.View, int, int, int);
+ method public static deprecated void dragViewToBottom(android.test.ActivityInstrumentationTestCase, android.view.View);
+ method public static void dragViewToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.View);
+ method public static deprecated void dragViewToBottom(android.test.ActivityInstrumentationTestCase, android.view.View, int);
+ method public static void dragViewToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.View, int);
+ method public static deprecated void dragViewToTop(android.test.ActivityInstrumentationTestCase, android.view.View);
+ method public static deprecated void dragViewToTop(android.test.ActivityInstrumentationTestCase, android.view.View, int);
+ method public static void dragViewToTop(android.test.InstrumentationTestCase, android.view.View);
+ method public static void dragViewToTop(android.test.InstrumentationTestCase, android.view.View, int);
+ method public static deprecated int dragViewToX(android.test.ActivityInstrumentationTestCase, android.view.View, int, int);
+ method public static int dragViewToX(android.test.InstrumentationTestCase, android.view.View, int, int);
+ method public static deprecated int dragViewToY(android.test.ActivityInstrumentationTestCase, android.view.View, int, int);
+ method public static int dragViewToY(android.test.InstrumentationTestCase, android.view.View, int, int);
+ method public static deprecated void longClickView(android.test.ActivityInstrumentationTestCase, android.view.View);
+ method public static void longClickView(android.test.InstrumentationTestCase, android.view.View);
+ method public static deprecated void scrollToBottom(android.test.ActivityInstrumentationTestCase, android.view.ViewGroup);
+ method public static void scrollToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.ViewGroup);
+ method public static deprecated void scrollToTop(android.test.ActivityInstrumentationTestCase, android.view.ViewGroup);
+ method public static void scrollToTop(android.test.InstrumentationTestCase, android.app.Activity, android.view.ViewGroup);
+ method public static void tapView(android.test.InstrumentationTestCase, android.view.View);
+ method public static void touchAndCancelView(android.test.InstrumentationTestCase, android.view.View);
+ }
+
+ public abstract class UiThreadTest implements java.lang.annotation.Annotation {
+ }
+
+ public class ViewAsserts {
+ method public static void assertBaselineAligned(android.view.View, android.view.View);
+ method public static void assertBottomAligned(android.view.View, android.view.View);
+ method public static void assertBottomAligned(android.view.View, android.view.View, int);
+ method public static void assertGroupContains(android.view.ViewGroup, android.view.View);
+ method public static void assertGroupIntegrity(android.view.ViewGroup);
+ method public static void assertGroupNotContains(android.view.ViewGroup, android.view.View);
+ method public static void assertHasScreenCoordinates(android.view.View, android.view.View, int, int);
+ method public static void assertHorizontalCenterAligned(android.view.View, android.view.View);
+ method public static void assertLeftAligned(android.view.View, android.view.View);
+ method public static void assertLeftAligned(android.view.View, android.view.View, int);
+ method public static void assertOffScreenAbove(android.view.View, android.view.View);
+ method public static void assertOffScreenBelow(android.view.View, android.view.View);
+ method public static void assertOnScreen(android.view.View, android.view.View);
+ method public static void assertRightAligned(android.view.View, android.view.View);
+ method public static void assertRightAligned(android.view.View, android.view.View, int);
+ method public static void assertTopAligned(android.view.View, android.view.View);
+ method public static void assertTopAligned(android.view.View, android.view.View, int);
+ method public static void assertVerticalCenterAligned(android.view.View, android.view.View);
+ }
+
+}
+
+package android.test.mock {
+
+ public class MockApplication extends android.app.Application {
+ ctor public MockApplication();
+ }
+
+ public class MockContentProvider extends android.content.ContentProvider {
+ ctor protected MockContentProvider();
+ ctor public MockContentProvider(android.content.Context);
+ ctor public MockContentProvider(android.content.Context, java.lang.String, java.lang.String, android.content.pm.PathPermission[]);
+ method public int delete(android.net.Uri, java.lang.String, java.lang.String[]);
+ method public java.lang.String getType(android.net.Uri);
+ method public android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+ method public boolean onCreate();
+ method public android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
+ method public int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
+ }
+
+ public class MockContentResolver extends android.content.ContentResolver {
+ ctor public MockContentResolver();
+ method public void addProvider(java.lang.String, android.content.ContentProvider);
+ }
+
+ public class MockContext extends android.content.Context {
+ ctor public MockContext();
+ method public boolean bindService(android.content.Intent, android.content.ServiceConnection, int);
+ method public int checkCallingOrSelfPermission(java.lang.String);
+ method public int checkCallingOrSelfUriPermission(android.net.Uri, int);
+ method public int checkCallingPermission(java.lang.String);
+ method public int checkCallingUriPermission(android.net.Uri, int);
+ method public int checkPermission(java.lang.String, int, int);
+ method public int checkUriPermission(android.net.Uri, int, int, int);
+ method public int checkUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int);
+ method public void clearWallpaper();
+ method public android.content.Context createPackageContext(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public java.lang.String[] databaseList();
+ method public boolean deleteDatabase(java.lang.String);
+ method public boolean deleteFile(java.lang.String);
+ method public void enforceCallingOrSelfPermission(java.lang.String, java.lang.String);
+ method public void enforceCallingOrSelfUriPermission(android.net.Uri, int, java.lang.String);
+ method public void enforceCallingPermission(java.lang.String, java.lang.String);
+ method public void enforceCallingUriPermission(android.net.Uri, int, java.lang.String);
+ method public void enforcePermission(java.lang.String, int, int, java.lang.String);
+ method public void enforceUriPermission(android.net.Uri, int, int, int, java.lang.String);
+ method public void enforceUriPermission(android.net.Uri, java.lang.String, java.lang.String, int, int, int, java.lang.String);
+ method public java.lang.String[] fileList();
+ method public android.content.Context getApplicationContext();
+ method public android.content.pm.ApplicationInfo getApplicationInfo();
+ method public android.content.res.AssetManager getAssets();
+ method public java.io.File getCacheDir();
+ method public java.lang.ClassLoader getClassLoader();
+ method public android.content.ContentResolver getContentResolver();
+ method public java.io.File getDatabasePath(java.lang.String);
+ method public java.io.File getDir(java.lang.String, int);
+ method public java.io.File getExternalCacheDir();
+ method public java.io.File getExternalFilesDir(java.lang.String);
+ method public java.io.File getFileStreamPath(java.lang.String);
+ method public java.io.File getFilesDir();
+ method public android.os.Looper getMainLooper();
+ method public java.io.File getObbDir();
+ method public java.lang.String getPackageCodePath();
+ method public android.content.pm.PackageManager getPackageManager();
+ method public java.lang.String getPackageName();
+ method public java.lang.String getPackageResourcePath();
+ method public android.content.res.Resources getResources();
+ method public android.content.SharedPreferences getSharedPreferences(java.lang.String, int);
+ method public java.lang.Object getSystemService(java.lang.String);
+ method public android.content.res.Resources.Theme getTheme();
+ method public android.graphics.drawable.Drawable getWallpaper();
+ method public int getWallpaperDesiredMinimumHeight();
+ method public int getWallpaperDesiredMinimumWidth();
+ method public void grantUriPermission(java.lang.String, android.net.Uri, int);
+ method public java.io.FileInputStream openFileInput(java.lang.String) throws java.io.FileNotFoundException;
+ method public java.io.FileOutputStream openFileOutput(java.lang.String, int) throws java.io.FileNotFoundException;
+ method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory);
+ method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, android.database.DatabaseErrorHandler);
+ method public android.graphics.drawable.Drawable peekWallpaper();
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
+ method public void removeStickyBroadcast(android.content.Intent);
+ method public void revokeUriPermission(android.net.Uri, int);
+ method public void sendBroadcast(android.content.Intent);
+ method public void sendBroadcast(android.content.Intent, java.lang.String);
+ method public void sendOrderedBroadcast(android.content.Intent, java.lang.String);
+ method public void sendOrderedBroadcast(android.content.Intent, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public void sendStickyBroadcast(android.content.Intent);
+ method public void sendStickyOrderedBroadcast(android.content.Intent, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle);
+ method public void setTheme(int);
+ method public void setWallpaper(android.graphics.Bitmap) throws java.io.IOException;
+ method public void setWallpaper(java.io.InputStream) throws java.io.IOException;
+ method public void startActivities(android.content.Intent[]);
+ method public void startActivity(android.content.Intent);
+ method public boolean startInstrumentation(android.content.ComponentName, java.lang.String, android.os.Bundle);
+ method public void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+ method public android.content.ComponentName startService(android.content.Intent);
+ method public boolean stopService(android.content.Intent);
+ method public void unbindService(android.content.ServiceConnection);
+ method public void unregisterReceiver(android.content.BroadcastReceiver);
+ }
+
+ public class MockCursor implements android.database.Cursor {
+ ctor public MockCursor();
+ method public void close();
+ method public void copyStringToBuffer(int, android.database.CharArrayBuffer);
+ method public void deactivate();
+ method public byte[] getBlob(int);
+ method public int getColumnCount();
+ method public int getColumnIndex(java.lang.String);
+ method public int getColumnIndexOrThrow(java.lang.String);
+ method public java.lang.String getColumnName(int);
+ method public java.lang.String[] getColumnNames();
+ method public int getCount();
+ method public double getDouble(int);
+ method public android.os.Bundle getExtras();
+ method public float getFloat(int);
+ method public int getInt(int);
+ method public long getLong(int);
+ method public int getPosition();
+ method public short getShort(int);
+ method public java.lang.String getString(int);
+ method public int getType(int);
+ method public boolean getWantsAllOnMoveCalls();
+ method public boolean isAfterLast();
+ method public boolean isBeforeFirst();
+ method public boolean isClosed();
+ method public boolean isFirst();
+ method public boolean isLast();
+ method public boolean isNull(int);
+ method public boolean move(int);
+ method public boolean moveToFirst();
+ method public boolean moveToLast();
+ method public boolean moveToNext();
+ method public boolean moveToPosition(int);
+ method public boolean moveToPrevious();
+ method public void registerContentObserver(android.database.ContentObserver);
+ method public void registerDataSetObserver(android.database.DataSetObserver);
+ method public boolean requery();
+ method public android.os.Bundle respond(android.os.Bundle);
+ method public void setNotificationUri(android.content.ContentResolver, android.net.Uri);
+ method public void unregisterContentObserver(android.database.ContentObserver);
+ method public void unregisterDataSetObserver(android.database.DataSetObserver);
+ }
+
+ public class MockDialogInterface implements android.content.DialogInterface {
+ ctor public MockDialogInterface();
+ method public void cancel();
+ method public void dismiss();
+ }
+
+ public class MockPackageManager extends android.content.pm.PackageManager {
+ ctor public MockPackageManager();
+ method public void addPackageToPreferred(java.lang.String);
+ method public boolean addPermission(android.content.pm.PermissionInfo);
+ method public boolean addPermissionAsync(android.content.pm.PermissionInfo);
+ method public void addPreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName);
+ method public java.lang.String[] canonicalToCurrentPackageNames(java.lang.String[]);
+ method public int checkPermission(java.lang.String, java.lang.String);
+ method public int checkSignatures(java.lang.String, java.lang.String);
+ method public int checkSignatures(int, int);
+ method public void clearPackagePreferredActivities(java.lang.String);
+ method public java.lang.String[] currentToCanonicalPackageNames(java.lang.String[]);
+ method public android.graphics.drawable.Drawable getActivityIcon(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.graphics.drawable.Drawable getActivityIcon(android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.ActivityInfo getActivityInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.graphics.drawable.Drawable getActivityLogo(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.graphics.drawable.Drawable getActivityLogo(android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public java.util.List<android.content.pm.PermissionGroupInfo> getAllPermissionGroups(int);
+ method public int getApplicationEnabledSetting(java.lang.String);
+ method public android.graphics.drawable.Drawable getApplicationIcon(android.content.pm.ApplicationInfo);
+ method public android.graphics.drawable.Drawable getApplicationIcon(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public java.lang.CharSequence getApplicationLabel(android.content.pm.ApplicationInfo);
+ method public android.graphics.drawable.Drawable getApplicationLogo(android.content.pm.ApplicationInfo);
+ method public android.graphics.drawable.Drawable getApplicationLogo(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public int getComponentEnabledSetting(android.content.ComponentName);
+ method public android.graphics.drawable.Drawable getDefaultActivityIcon();
+ method public android.graphics.drawable.Drawable getDrawable(java.lang.String, int, android.content.pm.ApplicationInfo);
+ method public java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int);
+ method public java.util.List<android.content.pm.PackageInfo> getInstalledPackages(int);
+ method public java.lang.String getInstallerPackageName(java.lang.String);
+ method public android.content.pm.InstrumentationInfo getInstrumentationInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.Intent getLaunchIntentForPackage(java.lang.String);
+ method public java.lang.String getNameForUid(int);
+ method public int[] getPackageGids(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.PackageInfo getPackageInfo(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public java.lang.String[] getPackagesForUid(int);
+ method public android.content.pm.PermissionGroupInfo getPermissionGroupInfo(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.PermissionInfo getPermissionInfo(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public int getPreferredActivities(java.util.List<android.content.IntentFilter>, java.util.List<android.content.ComponentName>, java.lang.String);
+ method public java.util.List<android.content.pm.PackageInfo> getPreferredPackages(int);
+ method public android.content.pm.ProviderInfo getProviderInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.ActivityInfo getReceiverInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.res.Resources getResourcesForActivity(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.res.Resources getResourcesForApplication(android.content.pm.ApplicationInfo);
+ method public android.content.res.Resources getResourcesForApplication(java.lang.String) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.ServiceInfo getServiceInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public android.content.pm.FeatureInfo[] getSystemAvailableFeatures();
+ method public java.lang.String[] getSystemSharedLibraryNames();
+ method public java.lang.CharSequence getText(java.lang.String, int, android.content.pm.ApplicationInfo);
+ method public android.content.res.XmlResourceParser getXml(java.lang.String, int, android.content.pm.ApplicationInfo);
+ method public boolean hasSystemFeature(java.lang.String);
+ method public boolean isSafeMode();
+ method public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int);
+ method public java.util.List<android.content.pm.ProviderInfo> queryContentProviders(java.lang.String, int, int);
+ method public java.util.List<android.content.pm.InstrumentationInfo> queryInstrumentation(java.lang.String, int);
+ method public java.util.List<android.content.pm.ResolveInfo> queryIntentActivities(android.content.Intent, int);
+ method public java.util.List<android.content.pm.ResolveInfo> queryIntentActivityOptions(android.content.ComponentName, android.content.Intent[], android.content.Intent, int);
+ method public java.util.List<android.content.pm.ResolveInfo> queryIntentServices(android.content.Intent, int);
+ method public java.util.List<android.content.pm.PermissionInfo> queryPermissionsByGroup(java.lang.String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public void removePackageFromPreferred(java.lang.String);
+ method public void removePermission(java.lang.String);
+ method public android.content.pm.ResolveInfo resolveActivity(android.content.Intent, int);
+ method public android.content.pm.ProviderInfo resolveContentProvider(java.lang.String, int);
+ method public android.content.pm.ResolveInfo resolveService(android.content.Intent, int);
+ method public void setApplicationEnabledSetting(java.lang.String, int, int);
+ method public void setComponentEnabledSetting(android.content.ComponentName, int, int);
+ method public void setInstallerPackageName(java.lang.String, java.lang.String);
+ method public void verifyPendingInstall(int, int);
+ }
+
+ public class MockResources extends android.content.res.Resources {
+ ctor public MockResources();
+ }
+
+}
+
+package android.test.suitebuilder {
+
+ public class TestMethod {
+ ctor public TestMethod(java.lang.reflect.Method, java.lang.Class<? extends junit.framework.TestCase>);
+ ctor public TestMethod(java.lang.String, java.lang.Class<? extends junit.framework.TestCase>);
+ ctor public TestMethod(junit.framework.TestCase);
+ method public junit.framework.TestCase createTest() throws java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException;
+ method public T getAnnotation(java.lang.Class<T>);
+ method public java.lang.Class<? extends junit.framework.TestCase> getEnclosingClass();
+ method public java.lang.String getEnclosingClassname();
+ method public java.lang.String getName();
+ }
+
+ public class TestSuiteBuilder {
+ ctor public TestSuiteBuilder(java.lang.Class);
+ ctor public TestSuiteBuilder(java.lang.String, java.lang.ClassLoader);
+ method public android.test.suitebuilder.TestSuiteBuilder addRequirements(java.util.List<com.android.internal.util.Predicate<android.test.suitebuilder.TestMethod>>);
+ method public final android.test.suitebuilder.TestSuiteBuilder addRequirements(com.android.internal.util.Predicate<android.test.suitebuilder.TestMethod>...);
+ method public final junit.framework.TestSuite build();
+ method public android.test.suitebuilder.TestSuiteBuilder excludePackages(java.lang.String...);
+ method protected java.lang.String getSuiteName();
+ method public final android.test.suitebuilder.TestSuiteBuilder includeAllPackagesUnderHere();
+ method public android.test.suitebuilder.TestSuiteBuilder includePackages(java.lang.String...);
+ method public android.test.suitebuilder.TestSuiteBuilder named(java.lang.String);
+ }
+
+ public static class TestSuiteBuilder.FailedToCreateTests extends junit.framework.TestCase {
+ ctor public TestSuiteBuilder.FailedToCreateTests(java.lang.Exception);
+ method public void testSuiteConstructionFailed();
+ }
+
+}
+
+package android.test.suitebuilder.annotation {
+
+ public abstract class LargeTest implements java.lang.annotation.Annotation {
+ }
+
+ public abstract class MediumTest implements java.lang.annotation.Annotation {
+ }
+
+ public abstract class SmallTest implements java.lang.annotation.Annotation {
+ }
+
+ public abstract class Smoke implements java.lang.annotation.Annotation {
+ }
+
+ public abstract class Suppress implements java.lang.annotation.Annotation {
+ }
+
+}
+
+package android.text {
+
+ public class AlteredCharSequence implements java.lang.CharSequence android.text.GetChars {
+ method public char charAt(int);
+ method public void getChars(int, int, char[], int);
+ method public int length();
+ method public static android.text.AlteredCharSequence make(java.lang.CharSequence, char[], int, int);
+ method public java.lang.CharSequence subSequence(int, int);
+ }
+
+ public class AndroidCharacter {
+ ctor public AndroidCharacter();
+ method public static void getDirectionalities(char[], byte[], int);
+ method public static int getEastAsianWidth(char);
+ method public static void getEastAsianWidths(char[], int, int, byte[]);
+ method public static char getMirror(char);
+ method public static boolean mirror(char[], int, int);
+ field public static final int EAST_ASIAN_WIDTH_AMBIGUOUS = 1; // 0x1
+ field public static final int EAST_ASIAN_WIDTH_FULL_WIDTH = 3; // 0x3
+ field public static final int EAST_ASIAN_WIDTH_HALF_WIDTH = 2; // 0x2
+ field public static final int EAST_ASIAN_WIDTH_NARROW = 4; // 0x4
+ field public static final int EAST_ASIAN_WIDTH_NEUTRAL = 0; // 0x0
+ field public static final int EAST_ASIAN_WIDTH_WIDE = 5; // 0x5
+ }
+
+ public class Annotation implements android.text.ParcelableSpan {
+ ctor public Annotation(java.lang.String, java.lang.String);
+ ctor public Annotation(android.os.Parcel);
+ method public int describeContents();
+ method public java.lang.String getKey();
+ method public int getSpanTypeId();
+ method public java.lang.String getValue();
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public class AutoText {
+ method public static java.lang.String get(java.lang.CharSequence, int, int, android.view.View);
+ method public static int getSize(android.view.View);
+ }
+
+ public class BoringLayout extends android.text.Layout implements android.text.TextUtils.EllipsizeCallback {
+ ctor public BoringLayout(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean);
+ ctor public BoringLayout(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean, android.text.TextUtils.TruncateAt, int);
+ method public void ellipsized(int, int);
+ method public int getBottomPadding();
+ method public int getEllipsisCount(int);
+ method public int getEllipsisStart(int);
+ method public boolean getLineContainsTab(int);
+ method public int getLineCount();
+ method public int getLineDescent(int);
+ method public final android.text.Layout.Directions getLineDirections(int);
+ method public int getLineStart(int);
+ method public int getLineTop(int);
+ method public int getParagraphDirection(int);
+ method public int getTopPadding();
+ method public static android.text.BoringLayout.Metrics isBoring(java.lang.CharSequence, android.text.TextPaint);
+ method public static android.text.BoringLayout.Metrics isBoring(java.lang.CharSequence, android.text.TextPaint, android.text.BoringLayout.Metrics);
+ method public static android.text.BoringLayout make(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean);
+ method public static android.text.BoringLayout make(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean, android.text.TextUtils.TruncateAt, int);
+ method public android.text.BoringLayout replaceOrMake(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean);
+ method public android.text.BoringLayout replaceOrMake(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean, android.text.TextUtils.TruncateAt, int);
+ }
+
+ public static class BoringLayout.Metrics extends android.graphics.Paint.FontMetricsInt {
+ ctor public BoringLayout.Metrics();
+ field public int width;
+ }
+
+ public abstract deprecated class ClipboardManager {
+ ctor public ClipboardManager();
+ method public abstract java.lang.CharSequence getText();
+ method public abstract boolean hasText();
+ method public abstract void setText(java.lang.CharSequence);
+ }
+
+ public class DynamicLayout extends android.text.Layout {
+ ctor public DynamicLayout(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, boolean);
+ ctor public DynamicLayout(java.lang.CharSequence, java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, boolean);
+ ctor public DynamicLayout(java.lang.CharSequence, java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, boolean, android.text.TextUtils.TruncateAt, int);
+ method public int getBottomPadding();
+ method public int getEllipsisCount(int);
+ method public int getEllipsisStart(int);
+ method public boolean getLineContainsTab(int);
+ method public int getLineCount();
+ method public int getLineDescent(int);
+ method public final android.text.Layout.Directions getLineDirections(int);
+ method public int getLineStart(int);
+ method public int getLineTop(int);
+ method public int getParagraphDirection(int);
+ method public int getTopPadding();
+ }
+
+ public abstract interface Editable implements java.lang.Appendable java.lang.CharSequence android.text.GetChars android.text.Spannable {
+ method public abstract android.text.Editable append(java.lang.CharSequence);
+ method public abstract android.text.Editable append(java.lang.CharSequence, int, int);
+ method public abstract android.text.Editable append(char);
+ method public abstract void clear();
+ method public abstract void clearSpans();
+ method public abstract android.text.Editable delete(int, int);
+ method public abstract android.text.InputFilter[] getFilters();
+ method public abstract android.text.Editable insert(int, java.lang.CharSequence, int, int);
+ method public abstract android.text.Editable insert(int, java.lang.CharSequence);
+ method public abstract android.text.Editable replace(int, int, java.lang.CharSequence, int, int);
+ method public abstract android.text.Editable replace(int, int, java.lang.CharSequence);
+ method public abstract void setFilters(android.text.InputFilter[]);
+ }
+
+ public static class Editable.Factory {
+ ctor public Editable.Factory();
+ method public static android.text.Editable.Factory getInstance();
+ method public android.text.Editable newEditable(java.lang.CharSequence);
+ }
+
+ public abstract interface GetChars implements java.lang.CharSequence {
+ method public abstract void getChars(int, int, char[], int);
+ }
+
+ public class Html {
+ method public static android.text.Spanned fromHtml(java.lang.String);
+ method public static android.text.Spanned fromHtml(java.lang.String, android.text.Html.ImageGetter, android.text.Html.TagHandler);
+ method public static java.lang.String toHtml(android.text.Spanned);
+ }
+
+ public static abstract interface Html.ImageGetter {
+ method public abstract android.graphics.drawable.Drawable getDrawable(java.lang.String);
+ }
+
+ public static abstract interface Html.TagHandler {
+ method public abstract void handleTag(boolean, java.lang.String, android.text.Editable, org.xml.sax.XMLReader);
+ }
+
+ public abstract interface InputFilter {
+ method public abstract java.lang.CharSequence filter(java.lang.CharSequence, int, int, android.text.Spanned, int, int);
+ }
+
+ public static class InputFilter.AllCaps implements android.text.InputFilter {
+ ctor public InputFilter.AllCaps();
+ method public java.lang.CharSequence filter(java.lang.CharSequence, int, int, android.text.Spanned, int, int);
+ }
+
+ public static class InputFilter.LengthFilter implements android.text.InputFilter {
+ ctor public InputFilter.LengthFilter(int);
+ method public java.lang.CharSequence filter(java.lang.CharSequence, int, int, android.text.Spanned, int, int);
+ }
+
+ public abstract interface InputType {
+ field public static final int TYPE_CLASS_DATETIME = 4; // 0x4
+ field public static final int TYPE_CLASS_NUMBER = 2; // 0x2
+ field public static final int TYPE_CLASS_PHONE = 3; // 0x3
+ field public static final int TYPE_CLASS_TEXT = 1; // 0x1
+ field public static final int TYPE_DATETIME_VARIATION_DATE = 16; // 0x10
+ field public static final int TYPE_DATETIME_VARIATION_NORMAL = 0; // 0x0
+ field public static final int TYPE_DATETIME_VARIATION_TIME = 32; // 0x20
+ field public static final int TYPE_MASK_CLASS = 15; // 0xf
+ field public static final int TYPE_MASK_FLAGS = 16773120; // 0xfff000
+ field public static final int TYPE_MASK_VARIATION = 4080; // 0xff0
+ field public static final int TYPE_NULL = 0; // 0x0
+ field public static final int TYPE_NUMBER_FLAG_DECIMAL = 8192; // 0x2000
+ field public static final int TYPE_NUMBER_FLAG_SIGNED = 4096; // 0x1000
+ field public static final int TYPE_NUMBER_VARIATION_NORMAL = 0; // 0x0
+ field public static final int TYPE_NUMBER_VARIATION_PASSWORD = 16; // 0x10
+ field public static final int TYPE_TEXT_FLAG_AUTO_COMPLETE = 65536; // 0x10000
+ field public static final int TYPE_TEXT_FLAG_AUTO_CORRECT = 32768; // 0x8000
+ field public static final int TYPE_TEXT_FLAG_CAP_CHARACTERS = 4096; // 0x1000
+ field public static final int TYPE_TEXT_FLAG_CAP_SENTENCES = 16384; // 0x4000
+ field public static final int TYPE_TEXT_FLAG_CAP_WORDS = 8192; // 0x2000
+ field public static final int TYPE_TEXT_FLAG_IME_MULTI_LINE = 262144; // 0x40000
+ field public static final int TYPE_TEXT_FLAG_MULTI_LINE = 131072; // 0x20000
+ field public static final int TYPE_TEXT_FLAG_NO_SUGGESTIONS = 524288; // 0x80000
+ field public static final int TYPE_TEXT_VARIATION_EMAIL_ADDRESS = 32; // 0x20
+ field public static final int TYPE_TEXT_VARIATION_EMAIL_SUBJECT = 48; // 0x30
+ field public static final int TYPE_TEXT_VARIATION_FILTER = 176; // 0xb0
+ field public static final int TYPE_TEXT_VARIATION_LONG_MESSAGE = 80; // 0x50
+ field public static final int TYPE_TEXT_VARIATION_NORMAL = 0; // 0x0
+ field public static final int TYPE_TEXT_VARIATION_PASSWORD = 128; // 0x80
+ field public static final int TYPE_TEXT_VARIATION_PERSON_NAME = 96; // 0x60
+ field public static final int TYPE_TEXT_VARIATION_PHONETIC = 192; // 0xc0
+ field public static final int TYPE_TEXT_VARIATION_POSTAL_ADDRESS = 112; // 0x70
+ field public static final int TYPE_TEXT_VARIATION_SHORT_MESSAGE = 64; // 0x40
+ field public static final int TYPE_TEXT_VARIATION_URI = 16; // 0x10
+ field public static final int TYPE_TEXT_VARIATION_VISIBLE_PASSWORD = 144; // 0x90
+ field public static final int TYPE_TEXT_VARIATION_WEB_EDIT_TEXT = 160; // 0xa0
+ field public static final int TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS = 208; // 0xd0
+ field public static final int TYPE_TEXT_VARIATION_WEB_PASSWORD = 224; // 0xe0
+ }
+
+ public abstract class Layout {
+ ctor protected Layout(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float);
+ method public void draw(android.graphics.Canvas);
+ method public void draw(android.graphics.Canvas, android.graphics.Path, android.graphics.Paint, int);
+ method public final android.text.Layout.Alignment getAlignment();
+ method public abstract int getBottomPadding();
+ method public void getCursorPath(int, android.graphics.Path, java.lang.CharSequence);
+ method public static float getDesiredWidth(java.lang.CharSequence, android.text.TextPaint);
+ method public static float getDesiredWidth(java.lang.CharSequence, int, int, android.text.TextPaint);
+ method public abstract int getEllipsisCount(int);
+ method public abstract int getEllipsisStart(int);
+ method public int getEllipsizedWidth();
+ method public int getHeight();
+ method public final int getLineAscent(int);
+ method public final int getLineBaseline(int);
+ method public final int getLineBottom(int);
+ method public int getLineBounds(int, android.graphics.Rect);
+ method public abstract boolean getLineContainsTab(int);
+ method public abstract int getLineCount();
+ method public abstract int getLineDescent(int);
+ method public abstract android.text.Layout.Directions getLineDirections(int);
+ method public final int getLineEnd(int);
+ method public int getLineForOffset(int);
+ method public int getLineForVertical(int);
+ method public float getLineLeft(int);
+ method public float getLineMax(int);
+ method public float getLineRight(int);
+ method public abstract int getLineStart(int);
+ method public abstract int getLineTop(int);
+ method public int getLineVisibleEnd(int);
+ method public float getLineWidth(int);
+ method public int getOffsetForHorizontal(int, float);
+ method public int getOffsetToLeftOf(int);
+ method public int getOffsetToRightOf(int);
+ method public final android.text.TextPaint getPaint();
+ method public final android.text.Layout.Alignment getParagraphAlignment(int);
+ method public abstract int getParagraphDirection(int);
+ method public final int getParagraphLeft(int);
+ method public final int getParagraphRight(int);
+ method public float getPrimaryHorizontal(int);
+ method public float getSecondaryHorizontal(int);
+ method public void getSelectionPath(int, int, android.graphics.Path);
+ method public final float getSpacingAdd();
+ method public final float getSpacingMultiplier();
+ method public final java.lang.CharSequence getText();
+ method public abstract int getTopPadding();
+ method public final int getWidth();
+ method public final void increaseWidthTo(int);
+ method public boolean isRtlCharAt(int);
+ method protected final boolean isSpanned();
+ field public static final int DIR_LEFT_TO_RIGHT = 1; // 0x1
+ field public static final int DIR_RIGHT_TO_LEFT = -1; // 0xffffffff
+ }
+
+ public static final class Layout.Alignment extends java.lang.Enum {
+ method public static android.text.Layout.Alignment valueOf(java.lang.String);
+ method public static final android.text.Layout.Alignment[] values();
+ enum_constant public static final android.text.Layout.Alignment ALIGN_CENTER;
+ enum_constant public static final android.text.Layout.Alignment ALIGN_NORMAL;
+ enum_constant public static final android.text.Layout.Alignment ALIGN_OPPOSITE;
+ }
+
+ public static class Layout.Directions {
+ }
+
+ public abstract class LoginFilter implements android.text.InputFilter {
+ method public java.lang.CharSequence filter(java.lang.CharSequence, int, int, android.text.Spanned, int, int);
+ method public abstract boolean isAllowed(char);
+ method public void onInvalidCharacter(char);
+ method public void onStart();
+ method public void onStop();
+ }
+
+ public static class LoginFilter.PasswordFilterGMail extends android.text.LoginFilter {
+ ctor public LoginFilter.PasswordFilterGMail();
+ ctor public LoginFilter.PasswordFilterGMail(boolean);
+ method public boolean isAllowed(char);
+ }
+
+ public static class LoginFilter.UsernameFilterGMail extends android.text.LoginFilter {
+ ctor public LoginFilter.UsernameFilterGMail();
+ ctor public LoginFilter.UsernameFilterGMail(boolean);
+ method public boolean isAllowed(char);
+ }
+
+ public static class LoginFilter.UsernameFilterGeneric extends android.text.LoginFilter {
+ ctor public LoginFilter.UsernameFilterGeneric();
+ ctor public LoginFilter.UsernameFilterGeneric(boolean);
+ method public boolean isAllowed(char);
+ }
+
+ public abstract interface NoCopySpan {
+ }
+
+ public static class NoCopySpan.Concrete implements android.text.NoCopySpan {
+ ctor public NoCopySpan.Concrete();
+ }
+
+ public abstract interface ParcelableSpan implements android.os.Parcelable {
+ method public abstract int getSpanTypeId();
+ }
+
+ public class Selection {
+ method public static boolean extendDown(android.text.Spannable, android.text.Layout);
+ method public static boolean extendLeft(android.text.Spannable, android.text.Layout);
+ method public static boolean extendRight(android.text.Spannable, android.text.Layout);
+ method public static final void extendSelection(android.text.Spannable, int);
+ method public static boolean extendToLeftEdge(android.text.Spannable, android.text.Layout);
+ method public static boolean extendToRightEdge(android.text.Spannable, android.text.Layout);
+ method public static boolean extendUp(android.text.Spannable, android.text.Layout);
+ method public static final int getSelectionEnd(java.lang.CharSequence);
+ method public static final int getSelectionStart(java.lang.CharSequence);
+ method public static boolean moveDown(android.text.Spannable, android.text.Layout);
+ method public static boolean moveLeft(android.text.Spannable, android.text.Layout);
+ method public static boolean moveRight(android.text.Spannable, android.text.Layout);
+ method public static boolean moveToLeftEdge(android.text.Spannable, android.text.Layout);
+ method public static boolean moveToRightEdge(android.text.Spannable, android.text.Layout);
+ method public static boolean moveUp(android.text.Spannable, android.text.Layout);
+ method public static final void removeSelection(android.text.Spannable);
+ method public static final void selectAll(android.text.Spannable);
+ method public static void setSelection(android.text.Spannable, int, int);
+ method public static final void setSelection(android.text.Spannable, int);
+ field public static final java.lang.Object SELECTION_END;
+ field public static final java.lang.Object SELECTION_START;
+ }
+
+ public abstract interface SpanWatcher implements android.text.NoCopySpan {
+ method public abstract void onSpanAdded(android.text.Spannable, java.lang.Object, int, int);
+ method public abstract void onSpanChanged(android.text.Spannable, java.lang.Object, int, int, int, int);
+ method public abstract void onSpanRemoved(android.text.Spannable, java.lang.Object, int, int);
+ }
+
+ public abstract interface Spannable implements android.text.Spanned {
+ method public abstract void removeSpan(java.lang.Object);
+ method public abstract void setSpan(java.lang.Object, int, int, int);
+ }
+
+ public static class Spannable.Factory {
+ ctor public Spannable.Factory();
+ method public static android.text.Spannable.Factory getInstance();
+ method public android.text.Spannable newSpannable(java.lang.CharSequence);
+ }
+
+ public class SpannableString extends android.text.SpannableStringInternal implements java.lang.CharSequence android.text.GetChars android.text.Spannable {
+ ctor public SpannableString(java.lang.CharSequence);
+ method public void removeSpan(java.lang.Object);
+ method public void setSpan(java.lang.Object, int, int, int);
+ method public final java.lang.CharSequence subSequence(int, int);
+ method public static android.text.SpannableString valueOf(java.lang.CharSequence);
+ }
+
+ public class SpannableStringBuilder implements java.lang.Appendable java.lang.CharSequence android.text.Editable android.text.GetChars android.text.Spannable {
+ ctor public SpannableStringBuilder();
+ ctor public SpannableStringBuilder(java.lang.CharSequence);
+ ctor public SpannableStringBuilder(java.lang.CharSequence, int, int);
+ method public android.text.SpannableStringBuilder append(java.lang.CharSequence);
+ method public android.text.SpannableStringBuilder append(java.lang.CharSequence, int, int);
+ method public android.text.SpannableStringBuilder append(char);
+ method public char charAt(int);
+ method public void clear();
+ method public void clearSpans();
+ method public android.text.SpannableStringBuilder delete(int, int);
+ method public void getChars(int, int, char[], int);
+ method public android.text.InputFilter[] getFilters();
+ method public int getSpanEnd(java.lang.Object);
+ method public int getSpanFlags(java.lang.Object);
+ method public int getSpanStart(java.lang.Object);
+ method public T[] getSpans(int, int, java.lang.Class<T>);
+ method public deprecated int getTextRunCursor(int, int, int, int, int, android.graphics.Paint);
+ method public android.text.SpannableStringBuilder insert(int, java.lang.CharSequence, int, int);
+ method public android.text.SpannableStringBuilder insert(int, java.lang.CharSequence);
+ method public int length();
+ method public int nextSpanTransition(int, int, java.lang.Class);
+ method public void removeSpan(java.lang.Object);
+ method public android.text.SpannableStringBuilder replace(int, int, java.lang.CharSequence);
+ method public android.text.SpannableStringBuilder replace(int, int, java.lang.CharSequence, int, int);
+ method public void setFilters(android.text.InputFilter[]);
+ method public void setSpan(java.lang.Object, int, int, int);
+ method public java.lang.CharSequence subSequence(int, int);
+ method public static android.text.SpannableStringBuilder valueOf(java.lang.CharSequence);
+ }
+
+ abstract class SpannableStringInternal {
+ method public final char charAt(int);
+ method public final void getChars(int, int, char[], int);
+ method public int getSpanEnd(java.lang.Object);
+ method public int getSpanFlags(java.lang.Object);
+ method public int getSpanStart(java.lang.Object);
+ method public T[] getSpans(int, int, java.lang.Class<T>);
+ method public final int length();
+ method public int nextSpanTransition(int, int, java.lang.Class);
+ method public final java.lang.String toString();
+ }
+
+ public abstract interface Spanned implements java.lang.CharSequence {
+ method public abstract int getSpanEnd(java.lang.Object);
+ method public abstract int getSpanFlags(java.lang.Object);
+ method public abstract int getSpanStart(java.lang.Object);
+ method public abstract T[] getSpans(int, int, java.lang.Class<T>);
+ method public abstract int nextSpanTransition(int, int, java.lang.Class);
+ field public static final int SPAN_COMPOSING = 256; // 0x100
+ field public static final int SPAN_EXCLUSIVE_EXCLUSIVE = 33; // 0x21
+ field public static final int SPAN_EXCLUSIVE_INCLUSIVE = 34; // 0x22
+ field public static final int SPAN_INCLUSIVE_EXCLUSIVE = 17; // 0x11
+ field public static final int SPAN_INCLUSIVE_INCLUSIVE = 18; // 0x12
+ field public static final int SPAN_INTERMEDIATE = 512; // 0x200
+ field public static final int SPAN_MARK_MARK = 17; // 0x11
+ field public static final int SPAN_MARK_POINT = 18; // 0x12
+ field public static final int SPAN_PARAGRAPH = 51; // 0x33
+ field public static final int SPAN_POINT_MARK = 33; // 0x21
+ field public static final int SPAN_POINT_MARK_MASK = 51; // 0x33
+ field public static final int SPAN_POINT_POINT = 34; // 0x22
+ field public static final int SPAN_PRIORITY = 16711680; // 0xff0000
+ field public static final int SPAN_PRIORITY_SHIFT = 16; // 0x10
+ field public static final int SPAN_USER = -16777216; // 0xff000000
+ field public static final int SPAN_USER_SHIFT = 24; // 0x18
+ }
+
+ public final class SpannedString extends android.text.SpannableStringInternal implements java.lang.CharSequence android.text.GetChars android.text.Spanned {
+ ctor public SpannedString(java.lang.CharSequence);
+ method public java.lang.CharSequence subSequence(int, int);
+ method public static android.text.SpannedString valueOf(java.lang.CharSequence);
+ }
+
+ public class StaticLayout extends android.text.Layout {
+ ctor public StaticLayout(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, boolean);
+ ctor public StaticLayout(java.lang.CharSequence, int, int, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, boolean);
+ ctor public StaticLayout(java.lang.CharSequence, int, int, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, boolean, android.text.TextUtils.TruncateAt, int);
+ method public int getBottomPadding();
+ method public int getEllipsisCount(int);
+ method public int getEllipsisStart(int);
+ method public boolean getLineContainsTab(int);
+ method public int getLineCount();
+ method public int getLineDescent(int);
+ method public final android.text.Layout.Directions getLineDirections(int);
+ method public int getLineStart(int);
+ method public int getLineTop(int);
+ method public int getParagraphDirection(int);
+ method public int getTopPadding();
+ }
+
+ public class TextPaint extends android.graphics.Paint {
+ ctor public TextPaint();
+ ctor public TextPaint(int);
+ ctor public TextPaint(android.graphics.Paint);
+ method public void set(android.text.TextPaint);
+ field public int baselineShift;
+ field public int bgColor;
+ field public float density;
+ field public int[] drawableState;
+ field public int linkColor;
+ }
+
+ public class TextUtils {
+ method public static java.lang.CharSequence commaEllipsize(java.lang.CharSequence, android.text.TextPaint, float, java.lang.String, java.lang.String);
+ method public static java.lang.CharSequence concat(java.lang.CharSequence...);
+ method public static void copySpansFrom(android.text.Spanned, int, int, java.lang.Class, android.text.Spannable, int);
+ method public static void dumpSpans(java.lang.CharSequence, android.util.Printer, java.lang.String);
+ method public static java.lang.CharSequence ellipsize(java.lang.CharSequence, android.text.TextPaint, float, android.text.TextUtils.TruncateAt);
+ method public static java.lang.CharSequence ellipsize(java.lang.CharSequence, android.text.TextPaint, float, android.text.TextUtils.TruncateAt, boolean, android.text.TextUtils.EllipsizeCallback);
+ method public static boolean equals(java.lang.CharSequence, java.lang.CharSequence);
+ method public static java.lang.CharSequence expandTemplate(java.lang.CharSequence, java.lang.CharSequence...);
+ method public static int getCapsMode(java.lang.CharSequence, int, int);
+ method public static void getChars(java.lang.CharSequence, int, int, char[], int);
+ method public static int getOffsetAfter(java.lang.CharSequence, int);
+ method public static int getOffsetBefore(java.lang.CharSequence, int);
+ method public static java.lang.CharSequence getReverse(java.lang.CharSequence, int, int);
+ method public static int getTrimmedLength(java.lang.CharSequence);
+ method public static java.lang.String htmlEncode(java.lang.String);
+ method public static int indexOf(java.lang.CharSequence, char);
+ method public static int indexOf(java.lang.CharSequence, char, int);
+ method public static int indexOf(java.lang.CharSequence, char, int, int);
+ method public static int indexOf(java.lang.CharSequence, java.lang.CharSequence);
+ method public static int indexOf(java.lang.CharSequence, java.lang.CharSequence, int);
+ method public static int indexOf(java.lang.CharSequence, java.lang.CharSequence, int, int);
+ method public static boolean isDigitsOnly(java.lang.CharSequence);
+ method public static boolean isEmpty(java.lang.CharSequence);
+ method public static boolean isGraphic(java.lang.CharSequence);
+ method public static boolean isGraphic(char);
+ method public static java.lang.String join(java.lang.CharSequence, java.lang.Object[]);
+ method public static java.lang.String join(java.lang.CharSequence, java.lang.Iterable);
+ method public static int lastIndexOf(java.lang.CharSequence, char);
+ method public static int lastIndexOf(java.lang.CharSequence, char, int);
+ method public static int lastIndexOf(java.lang.CharSequence, char, int, int);
+ method public static boolean regionMatches(java.lang.CharSequence, int, java.lang.CharSequence, int, int);
+ method public static java.lang.CharSequence replace(java.lang.CharSequence, java.lang.String[], java.lang.CharSequence[]);
+ method public static java.lang.String[] split(java.lang.String, java.lang.String);
+ method public static java.lang.String[] split(java.lang.String, java.util.regex.Pattern);
+ method public static java.lang.CharSequence stringOrSpannedString(java.lang.CharSequence);
+ method public static java.lang.String substring(java.lang.CharSequence, int, int);
+ method public static void writeToParcel(java.lang.CharSequence, android.os.Parcel, int);
+ field public static final int CAP_MODE_CHARACTERS = 4096; // 0x1000
+ field public static final int CAP_MODE_SENTENCES = 16384; // 0x4000
+ field public static final int CAP_MODE_WORDS = 8192; // 0x2000
+ field public static final android.os.Parcelable.Creator CHAR_SEQUENCE_CREATOR;
+ }
+
+ public static abstract interface TextUtils.EllipsizeCallback {
+ method public abstract void ellipsized(int, int);
+ }
+
+ public static class TextUtils.SimpleStringSplitter implements java.util.Iterator android.text.TextUtils.StringSplitter {
+ ctor public TextUtils.SimpleStringSplitter(char);
+ method public boolean hasNext();
+ method public java.util.Iterator<java.lang.String> iterator();
+ method public java.lang.String next();
+ method public void remove();
+ method public void setString(java.lang.String);
+ }
+
+ public static abstract interface TextUtils.StringSplitter implements java.lang.Iterable {
+ method public abstract void setString(java.lang.String);
+ }
+
+ public static final class TextUtils.TruncateAt extends java.lang.Enum {
+ method public static android.text.TextUtils.TruncateAt valueOf(java.lang.String);
+ method public static final android.text.TextUtils.TruncateAt[] values();
+ enum_constant public static final android.text.TextUtils.TruncateAt END;
+ enum_constant public static final android.text.TextUtils.TruncateAt MARQUEE;
+ enum_constant public static final android.text.TextUtils.TruncateAt MIDDLE;
+ enum_constant public static final android.text.TextUtils.TruncateAt START;
+ }
+
+ public abstract interface TextWatcher implements android.text.NoCopySpan {
+ method public abstract void afterTextChanged(android.text.Editable);
+ method public abstract void beforeTextChanged(java.lang.CharSequence, int, int, int);
+ method public abstract void onTextChanged(java.lang.CharSequence, int, int, int);
+ }
+
+}
+
+package android.text.format {
+
+ public class DateFormat {
+ ctor public DateFormat();
+ method public static final java.lang.CharSequence format(java.lang.CharSequence, long);
+ method public static final java.lang.CharSequence format(java.lang.CharSequence, java.util.Date);
+ method public static final java.lang.CharSequence format(java.lang.CharSequence, java.util.Calendar);
+ method public static final java.text.DateFormat getDateFormat(android.content.Context);
+ method public static final char[] getDateFormatOrder(android.content.Context);
+ method public static final java.text.DateFormat getLongDateFormat(android.content.Context);
+ method public static final java.text.DateFormat getMediumDateFormat(android.content.Context);
+ method public static final java.text.DateFormat getTimeFormat(android.content.Context);
+ method public static boolean is24HourFormat(android.content.Context);
+ field public static final char AM_PM = 97; // 0x0061 'a'
+ field public static final char CAPITAL_AM_PM = 65; // 0x0041 'A'
+ field public static final char DATE = 100; // 0x0064 'd'
+ field public static final char DAY = 69; // 0x0045 'E'
+ field public static final char HOUR = 104; // 0x0068 'h'
+ field public static final char HOUR_OF_DAY = 107; // 0x006b 'k'
+ field public static final char MINUTE = 109; // 0x006d 'm'
+ field public static final char MONTH = 77; // 0x004d 'M'
+ field public static final char QUOTE = 39; // 0x0027 '\''
+ field public static final char SECONDS = 115; // 0x0073 's'
+ field public static final char TIME_ZONE = 122; // 0x007a 'z'
+ field public static final char YEAR = 121; // 0x0079 'y'
+ }
+
+ public class DateUtils {
+ ctor public DateUtils();
+ method public static java.lang.String formatDateRange(android.content.Context, long, long, int);
+ method public static java.util.Formatter formatDateRange(android.content.Context, java.util.Formatter, long, long, int);
+ method public static java.util.Formatter formatDateRange(android.content.Context, java.util.Formatter, long, long, int, java.lang.String);
+ method public static java.lang.String formatDateTime(android.content.Context, long, int);
+ method public static java.lang.String formatElapsedTime(long);
+ method public static java.lang.String formatElapsedTime(java.lang.StringBuilder, long);
+ method public static final java.lang.CharSequence formatSameDayTime(long, long, int, int);
+ method public static java.lang.String getAMPMString(int);
+ method public static java.lang.String getDayOfWeekString(int, int);
+ method public static java.lang.String getMonthString(int, int);
+ method public static java.lang.CharSequence getRelativeDateTimeString(android.content.Context, long, long, long, int);
+ method public static java.lang.CharSequence getRelativeTimeSpanString(long);
+ method public static java.lang.CharSequence getRelativeTimeSpanString(long, long, long);
+ method public static java.lang.CharSequence getRelativeTimeSpanString(long, long, long, int);
+ method public static java.lang.CharSequence getRelativeTimeSpanString(android.content.Context, long, boolean);
+ method public static java.lang.CharSequence getRelativeTimeSpanString(android.content.Context, long);
+ method public static boolean isToday(long);
+ field public static final java.lang.String ABBREV_MONTH_FORMAT = "%b";
+ field public static final java.lang.String ABBREV_WEEKDAY_FORMAT = "%a";
+ field public static final long DAY_IN_MILLIS = 86400000L; // 0x5265c00L
+ field public static final int FORMAT_12HOUR = 64; // 0x40
+ field public static final int FORMAT_24HOUR = 128; // 0x80
+ field public static final int FORMAT_ABBREV_ALL = 524288; // 0x80000
+ field public static final int FORMAT_ABBREV_MONTH = 65536; // 0x10000
+ field public static final int FORMAT_ABBREV_RELATIVE = 262144; // 0x40000
+ field public static final int FORMAT_ABBREV_TIME = 16384; // 0x4000
+ field public static final int FORMAT_ABBREV_WEEKDAY = 32768; // 0x8000
+ field public static final int FORMAT_CAP_AMPM = 256; // 0x100
+ field public static final int FORMAT_CAP_MIDNIGHT = 4096; // 0x1000
+ field public static final int FORMAT_CAP_NOON = 1024; // 0x400
+ field public static final int FORMAT_CAP_NOON_MIDNIGHT = 5120; // 0x1400
+ field public static final int FORMAT_NO_MIDNIGHT = 2048; // 0x800
+ field public static final int FORMAT_NO_MONTH_DAY = 32; // 0x20
+ field public static final int FORMAT_NO_NOON = 512; // 0x200
+ field public static final int FORMAT_NO_NOON_MIDNIGHT = 2560; // 0xa00
+ field public static final int FORMAT_NO_YEAR = 8; // 0x8
+ field public static final int FORMAT_NUMERIC_DATE = 131072; // 0x20000
+ field public static final int FORMAT_SHOW_DATE = 16; // 0x10
+ field public static final int FORMAT_SHOW_TIME = 1; // 0x1
+ field public static final int FORMAT_SHOW_WEEKDAY = 2; // 0x2
+ field public static final int FORMAT_SHOW_YEAR = 4; // 0x4
+ field public static final deprecated int FORMAT_UTC = 8192; // 0x2000
+ field public static final long HOUR_IN_MILLIS = 3600000L; // 0x36ee80L
+ field public static final java.lang.String HOUR_MINUTE_24 = "%H:%M";
+ field public static final int LENGTH_LONG = 10; // 0xa
+ field public static final int LENGTH_MEDIUM = 20; // 0x14
+ field public static final int LENGTH_SHORT = 30; // 0x1e
+ field public static final int LENGTH_SHORTER = 40; // 0x28
+ field public static final int LENGTH_SHORTEST = 50; // 0x32
+ field public static final long MINUTE_IN_MILLIS = 60000L; // 0xea60L
+ field public static final java.lang.String MONTH_DAY_FORMAT = "%-d";
+ field public static final java.lang.String MONTH_FORMAT = "%B";
+ field public static final java.lang.String NUMERIC_MONTH_FORMAT = "%m";
+ field public static final long SECOND_IN_MILLIS = 1000L; // 0x3e8L
+ field public static final java.lang.String WEEKDAY_FORMAT = "%A";
+ field public static final long WEEK_IN_MILLIS = 604800000L; // 0x240c8400L
+ field public static final java.lang.String YEAR_FORMAT = "%Y";
+ field public static final java.lang.String YEAR_FORMAT_TWO_DIGITS = "%g";
+ field public static final long YEAR_IN_MILLIS = 31449600000L; // 0x7528ad000L
+ field public static final int[] sameMonthTable;
+ field public static final int[] sameYearTable;
+ }
+
+ public final class Formatter {
+ ctor public Formatter();
+ method public static java.lang.String formatFileSize(android.content.Context, long);
+ method public static deprecated java.lang.String formatIpAddress(int);
+ method public static java.lang.String formatShortFileSize(android.content.Context, long);
+ }
+
+ public class Time {
+ ctor public Time(java.lang.String);
+ ctor public Time();
+ ctor public Time(android.text.format.Time);
+ method public boolean after(android.text.format.Time);
+ method public boolean before(android.text.format.Time);
+ method public void clear(java.lang.String);
+ method public static int compare(android.text.format.Time, android.text.format.Time);
+ method public java.lang.String format(java.lang.String);
+ method public java.lang.String format2445();
+ method public java.lang.String format3339(boolean);
+ method public int getActualMaximum(int);
+ method public static java.lang.String getCurrentTimezone();
+ method public static int getJulianDay(long, long);
+ method public static int getJulianMondayFromWeeksSinceEpoch(int);
+ method public int getWeekNumber();
+ method public static int getWeeksSinceEpochFromJulianDay(int, int);
+ method public static boolean isEpoch(android.text.format.Time);
+ method public long normalize(boolean);
+ method public boolean parse(java.lang.String);
+ method public boolean parse3339(java.lang.String);
+ method public void set(long);
+ method public void set(android.text.format.Time);
+ method public void set(int, int, int, int, int, int);
+ method public void set(int, int, int);
+ method public long setJulianDay(int);
+ method public void setToNow();
+ method public void switchTimezone(java.lang.String);
+ method public long toMillis(boolean);
+ field public static final int EPOCH_JULIAN_DAY = 2440588; // 0x253d8c
+ field public static final int FRIDAY = 5; // 0x5
+ field public static final int HOUR = 3; // 0x3
+ field public static final int MINUTE = 2; // 0x2
+ field public static final int MONDAY = 1; // 0x1
+ field public static final int MONDAY_BEFORE_JULIAN_EPOCH = 2440585; // 0x253d89
+ field public static final int MONTH = 5; // 0x5
+ field public static final int MONTH_DAY = 4; // 0x4
+ field public static final int SATURDAY = 6; // 0x6
+ field public static final int SECOND = 1; // 0x1
+ field public static final int SUNDAY = 0; // 0x0
+ field public static final int THURSDAY = 4; // 0x4
+ field public static final java.lang.String TIMEZONE_UTC = "UTC";
+ field public static final int TUESDAY = 2; // 0x2
+ field public static final int WEDNESDAY = 3; // 0x3
+ field public static final int WEEK_DAY = 7; // 0x7
+ field public static final int WEEK_NUM = 9; // 0x9
+ field public static final int YEAR = 6; // 0x6
+ field public static final int YEAR_DAY = 8; // 0x8
+ field public boolean allDay;
+ field public long gmtoff;
+ field public int hour;
+ field public int isDst;
+ field public int minute;
+ field public int month;
+ field public int monthDay;
+ field public int second;
+ field public java.lang.String timezone;
+ field public int weekDay;
+ field public int year;
+ field public int yearDay;
+ }
+
+}
+
+package android.text.method {
+
+ public class ArrowKeyMovementMethod extends android.text.method.BaseMovementMethod implements android.text.method.MovementMethod {
+ ctor public ArrowKeyMovementMethod();
+ method public static android.text.method.MovementMethod getInstance();
+ }
+
+ public abstract class BaseKeyListener extends android.text.method.MetaKeyKeyListener implements android.text.method.KeyListener {
+ ctor public BaseKeyListener();
+ method public boolean backspace(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+ method public boolean forwardDelete(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+ method public boolean onKeyOther(android.view.View, android.text.Editable, android.view.KeyEvent);
+ }
+
+ public class BaseMovementMethod implements android.text.method.MovementMethod {
+ ctor public BaseMovementMethod();
+ method protected boolean bottom(android.widget.TextView, android.text.Spannable);
+ method public boolean canSelectArbitrarily();
+ method protected boolean down(android.widget.TextView, android.text.Spannable);
+ method protected boolean end(android.widget.TextView, android.text.Spannable);
+ method protected int getMovementMetaState(android.text.Spannable, android.view.KeyEvent);
+ method protected boolean handleMovementKey(android.widget.TextView, android.text.Spannable, int, int, android.view.KeyEvent);
+ method protected boolean home(android.widget.TextView, android.text.Spannable);
+ method public void initialize(android.widget.TextView, android.text.Spannable);
+ method protected boolean left(android.widget.TextView, android.text.Spannable);
+ method protected boolean lineEnd(android.widget.TextView, android.text.Spannable);
+ method protected boolean lineStart(android.widget.TextView, android.text.Spannable);
+ method public boolean onGenericMotionEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+ method public boolean onKeyDown(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
+ method public boolean onKeyOther(android.widget.TextView, android.text.Spannable, android.view.KeyEvent);
+ method public boolean onKeyUp(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
+ method public void onTakeFocus(android.widget.TextView, android.text.Spannable, int);
+ method public boolean onTouchEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+ method public boolean onTrackballEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+ method protected boolean pageDown(android.widget.TextView, android.text.Spannable);
+ method protected boolean pageUp(android.widget.TextView, android.text.Spannable);
+ method protected boolean right(android.widget.TextView, android.text.Spannable);
+ method protected boolean top(android.widget.TextView, android.text.Spannable);
+ method protected boolean up(android.widget.TextView, android.text.Spannable);
+ }
+
+ public class CharacterPickerDialog extends android.app.Dialog implements android.widget.AdapterView.OnItemClickListener android.view.View.OnClickListener {
+ ctor public CharacterPickerDialog(android.content.Context, android.view.View, android.text.Editable, java.lang.String, boolean);
+ method public void onClick(android.view.View);
+ method public void onItemClick(android.widget.AdapterView, android.view.View, int, long);
+ }
+
+ public class DateKeyListener extends android.text.method.NumberKeyListener {
+ ctor public DateKeyListener();
+ method protected char[] getAcceptedChars();
+ method public int getInputType();
+ method public static android.text.method.DateKeyListener getInstance();
+ field public static final char[] CHARACTERS;
+ }
+
+ public class DateTimeKeyListener extends android.text.method.NumberKeyListener {
+ ctor public DateTimeKeyListener();
+ method protected char[] getAcceptedChars();
+ method public int getInputType();
+ method public static android.text.method.DateTimeKeyListener getInstance();
+ field public static final char[] CHARACTERS;
+ }
+
+ public class DialerKeyListener extends android.text.method.NumberKeyListener {
+ ctor public DialerKeyListener();
+ method protected char[] getAcceptedChars();
+ method public int getInputType();
+ method public static android.text.method.DialerKeyListener getInstance();
+ field public static final char[] CHARACTERS;
+ }
+
+ public class DigitsKeyListener extends android.text.method.NumberKeyListener {
+ ctor public DigitsKeyListener();
+ ctor public DigitsKeyListener(boolean, boolean);
+ method protected char[] getAcceptedChars();
+ method public int getInputType();
+ method public static android.text.method.DigitsKeyListener getInstance();
+ method public static android.text.method.DigitsKeyListener getInstance(boolean, boolean);
+ method public static android.text.method.DigitsKeyListener getInstance(java.lang.String);
+ }
+
+ public class HideReturnsTransformationMethod extends android.text.method.ReplacementTransformationMethod {
+ ctor public HideReturnsTransformationMethod();
+ method public static android.text.method.HideReturnsTransformationMethod getInstance();
+ method protected char[] getOriginal();
+ method protected char[] getReplacement();
+ }
+
+ public abstract interface KeyListener {
+ method public abstract void clearMetaKeyState(android.view.View, android.text.Editable, int);
+ method public abstract int getInputType();
+ method public abstract boolean onKeyDown(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+ method public abstract boolean onKeyOther(android.view.View, android.text.Editable, android.view.KeyEvent);
+ method public abstract boolean onKeyUp(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+ }
+
+ public class LinkMovementMethod extends android.text.method.ScrollingMovementMethod {
+ ctor public LinkMovementMethod();
+ method public static android.text.method.MovementMethod getInstance();
+ }
+
+ public abstract class MetaKeyKeyListener {
+ ctor public MetaKeyKeyListener();
+ method public static void adjustMetaAfterKeypress(android.text.Spannable);
+ method public static long adjustMetaAfterKeypress(long);
+ method public void clearMetaKeyState(android.view.View, android.text.Editable, int);
+ method public static void clearMetaKeyState(android.text.Editable, int);
+ method public long clearMetaKeyState(long, int);
+ method public static final int getMetaState(java.lang.CharSequence);
+ method public static final int getMetaState(java.lang.CharSequence, int);
+ method public static final int getMetaState(long);
+ method public static final int getMetaState(long, int);
+ method public static long handleKeyDown(long, int, android.view.KeyEvent);
+ method public static long handleKeyUp(long, int, android.view.KeyEvent);
+ method public static boolean isMetaTracker(java.lang.CharSequence, java.lang.Object);
+ method public static boolean isSelectingMetaTracker(java.lang.CharSequence, java.lang.Object);
+ method public boolean onKeyDown(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+ method public boolean onKeyUp(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+ method protected static void resetLockedMeta(android.text.Spannable);
+ method public static long resetLockedMeta(long);
+ method public static void resetMetaState(android.text.Spannable);
+ field public static final int META_ALT_LOCKED = 512; // 0x200
+ field public static final int META_ALT_ON = 2; // 0x2
+ field public static final int META_CAP_LOCKED = 256; // 0x100
+ field public static final int META_SHIFT_ON = 1; // 0x1
+ field public static final int META_SYM_LOCKED = 1024; // 0x400
+ field public static final int META_SYM_ON = 4; // 0x4
+ }
+
+ public abstract interface MovementMethod {
+ method public abstract boolean canSelectArbitrarily();
+ method public abstract void initialize(android.widget.TextView, android.text.Spannable);
+ method public abstract boolean onGenericMotionEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+ method public abstract boolean onKeyDown(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
+ method public abstract boolean onKeyOther(android.widget.TextView, android.text.Spannable, android.view.KeyEvent);
+ method public abstract boolean onKeyUp(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
+ method public abstract void onTakeFocus(android.widget.TextView, android.text.Spannable, int);
+ method public abstract boolean onTouchEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+ method public abstract boolean onTrackballEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+ }
+
+ public class MultiTapKeyListener extends android.text.method.BaseKeyListener implements android.text.SpanWatcher {
+ ctor public MultiTapKeyListener(android.text.method.TextKeyListener.Capitalize, boolean);
+ method public int getInputType();
+ method public static android.text.method.MultiTapKeyListener getInstance(boolean, android.text.method.TextKeyListener.Capitalize);
+ method public void onSpanAdded(android.text.Spannable, java.lang.Object, int, int);
+ method public void onSpanChanged(android.text.Spannable, java.lang.Object, int, int, int, int);
+ method public void onSpanRemoved(android.text.Spannable, java.lang.Object, int, int);
+ }
+
+ public abstract class NumberKeyListener extends android.text.method.BaseKeyListener implements android.text.InputFilter {
+ ctor public NumberKeyListener();
+ method public java.lang.CharSequence filter(java.lang.CharSequence, int, int, android.text.Spanned, int, int);
+ method protected abstract char[] getAcceptedChars();
+ method protected int lookup(android.view.KeyEvent, android.text.Spannable);
+ method protected static boolean ok(char[], char);
+ }
+
+ public class PasswordTransformationMethod implements android.text.TextWatcher android.text.method.TransformationMethod {
+ ctor public PasswordTransformationMethod();
+ method public void afterTextChanged(android.text.Editable);
+ method public void beforeTextChanged(java.lang.CharSequence, int, int, int);
+ method public static android.text.method.PasswordTransformationMethod getInstance();
+ method public java.lang.CharSequence getTransformation(java.lang.CharSequence, android.view.View);
+ method public void onFocusChanged(android.view.View, java.lang.CharSequence, boolean, int, android.graphics.Rect);
+ method public void onTextChanged(java.lang.CharSequence, int, int, int);
+ }
+
+ public class QwertyKeyListener extends android.text.method.BaseKeyListener {
+ ctor public QwertyKeyListener(android.text.method.TextKeyListener.Capitalize, boolean);
+ method public int getInputType();
+ method public static android.text.method.QwertyKeyListener getInstance(boolean, android.text.method.TextKeyListener.Capitalize);
+ method public static android.text.method.QwertyKeyListener getInstanceForFullKeyboard();
+ method public static void markAsReplaced(android.text.Spannable, int, int, java.lang.String);
+ }
+
+ public abstract class ReplacementTransformationMethod implements android.text.method.TransformationMethod {
+ ctor public ReplacementTransformationMethod();
+ method protected abstract char[] getOriginal();
+ method protected abstract char[] getReplacement();
+ method public java.lang.CharSequence getTransformation(java.lang.CharSequence, android.view.View);
+ method public void onFocusChanged(android.view.View, java.lang.CharSequence, boolean, int, android.graphics.Rect);
+ }
+
+ public class ScrollingMovementMethod extends android.text.method.BaseMovementMethod implements android.text.method.MovementMethod {
+ ctor public ScrollingMovementMethod();
+ method public static android.text.method.MovementMethod getInstance();
+ }
+
+ public class SingleLineTransformationMethod extends android.text.method.ReplacementTransformationMethod {
+ ctor public SingleLineTransformationMethod();
+ method public static android.text.method.SingleLineTransformationMethod getInstance();
+ method protected char[] getOriginal();
+ method protected char[] getReplacement();
+ }
+
+ public class TextKeyListener extends android.text.method.BaseKeyListener implements android.text.SpanWatcher {
+ ctor public TextKeyListener(android.text.method.TextKeyListener.Capitalize, boolean);
+ method public static void clear(android.text.Editable);
+ method public int getInputType();
+ method public static android.text.method.TextKeyListener getInstance(boolean, android.text.method.TextKeyListener.Capitalize);
+ method public static android.text.method.TextKeyListener getInstance();
+ method public void onSpanAdded(android.text.Spannable, java.lang.Object, int, int);
+ method public void onSpanChanged(android.text.Spannable, java.lang.Object, int, int, int, int);
+ method public void onSpanRemoved(android.text.Spannable, java.lang.Object, int, int);
+ method public void release();
+ method public static boolean shouldCap(android.text.method.TextKeyListener.Capitalize, java.lang.CharSequence, int);
+ }
+
+ public static final class TextKeyListener.Capitalize extends java.lang.Enum {
+ method public static android.text.method.TextKeyListener.Capitalize valueOf(java.lang.String);
+ method public static final android.text.method.TextKeyListener.Capitalize[] values();
+ enum_constant public static final android.text.method.TextKeyListener.Capitalize CHARACTERS;
+ enum_constant public static final android.text.method.TextKeyListener.Capitalize NONE;
+ enum_constant public static final android.text.method.TextKeyListener.Capitalize SENTENCES;
+ enum_constant public static final android.text.method.TextKeyListener.Capitalize WORDS;
+ }
+
+ public class TimeKeyListener extends android.text.method.NumberKeyListener {
+ ctor public TimeKeyListener();
+ method protected char[] getAcceptedChars();
+ method public int getInputType();
+ method public static android.text.method.TimeKeyListener getInstance();
+ field public static final char[] CHARACTERS;
+ }
+
+ public class Touch {
+ method public static int getInitialScrollX(android.widget.TextView, android.text.Spannable);
+ method public static int getInitialScrollY(android.widget.TextView, android.text.Spannable);
+ method public static boolean onTouchEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+ method public static void scrollTo(android.widget.TextView, android.text.Layout, int, int);
+ }
+
+ public abstract interface TransformationMethod {
+ method public abstract java.lang.CharSequence getTransformation(java.lang.CharSequence, android.view.View);
+ method public abstract void onFocusChanged(android.view.View, java.lang.CharSequence, boolean, int, android.graphics.Rect);
+ }
+
+}
+
+package android.text.style {
+
+ public class AbsoluteSizeSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+ ctor public AbsoluteSizeSpan(int);
+ ctor public AbsoluteSizeSpan(int, boolean);
+ ctor public AbsoluteSizeSpan(android.os.Parcel);
+ method public int describeContents();
+ method public boolean getDip();
+ method public int getSize();
+ method public int getSpanTypeId();
+ method public void updateDrawState(android.text.TextPaint);
+ method public void updateMeasureState(android.text.TextPaint);
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public abstract interface AlignmentSpan implements android.text.style.ParagraphStyle {
+ method public abstract android.text.Layout.Alignment getAlignment();
+ }
+
+ public static class AlignmentSpan.Standard implements android.text.style.AlignmentSpan android.text.ParcelableSpan {
+ ctor public AlignmentSpan.Standard(android.text.Layout.Alignment);
+ ctor public AlignmentSpan.Standard(android.os.Parcel);
+ method public int describeContents();
+ method public android.text.Layout.Alignment getAlignment();
+ method public int getSpanTypeId();
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public class BackgroundColorSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan android.text.style.UpdateAppearance {
+ ctor public BackgroundColorSpan(int);
+ ctor public BackgroundColorSpan(android.os.Parcel);
+ method public int describeContents();
+ method public int getBackgroundColor();
+ method public int getSpanTypeId();
+ method public void updateDrawState(android.text.TextPaint);
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public class BulletSpan implements android.text.style.LeadingMarginSpan android.text.ParcelableSpan {
+ ctor public BulletSpan();
+ ctor public BulletSpan(int);
+ ctor public BulletSpan(int, int);
+ ctor public BulletSpan(android.os.Parcel);
+ method public int describeContents();
+ method public void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, java.lang.CharSequence, int, int, boolean, android.text.Layout);
+ method public int getLeadingMargin(boolean);
+ method public int getSpanTypeId();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final int STANDARD_GAP_WIDTH = 2; // 0x2
+ }
+
+ public abstract class CharacterStyle {
+ ctor public CharacterStyle();
+ method public android.text.style.CharacterStyle getUnderlying();
+ method public abstract void updateDrawState(android.text.TextPaint);
+ method public static android.text.style.CharacterStyle wrap(android.text.style.CharacterStyle);
+ }
+
+ public abstract class ClickableSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance {
+ ctor public ClickableSpan();
+ method public abstract void onClick(android.view.View);
+ method public void updateDrawState(android.text.TextPaint);
+ }
+
+ public class DrawableMarginSpan implements android.text.style.LeadingMarginSpan android.text.style.LineHeightSpan {
+ ctor public DrawableMarginSpan(android.graphics.drawable.Drawable);
+ ctor public DrawableMarginSpan(android.graphics.drawable.Drawable, int);
+ method public void chooseHeight(java.lang.CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt);
+ method public void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, java.lang.CharSequence, int, int, boolean, android.text.Layout);
+ method public int getLeadingMargin(boolean);
+ }
+
+ public abstract class DynamicDrawableSpan extends android.text.style.ReplacementSpan {
+ ctor public DynamicDrawableSpan();
+ ctor protected DynamicDrawableSpan(int);
+ method public void draw(android.graphics.Canvas, java.lang.CharSequence, int, int, float, int, int, int, android.graphics.Paint);
+ method public abstract android.graphics.drawable.Drawable getDrawable();
+ method public int getSize(android.graphics.Paint, java.lang.CharSequence, int, int, android.graphics.Paint.FontMetricsInt);
+ method public int getVerticalAlignment();
+ field public static final int ALIGN_BASELINE = 1; // 0x1
+ field public static final int ALIGN_BOTTOM = 0; // 0x0
+ field protected final int mVerticalAlignment;
+ }
+
+ public class EasyEditSpan implements android.text.ParcelableSpan {
+ ctor public EasyEditSpan();
+ method public int describeContents();
+ method public int getSpanTypeId();
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public class ForegroundColorSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan android.text.style.UpdateAppearance {
+ ctor public ForegroundColorSpan(int);
+ ctor public ForegroundColorSpan(android.os.Parcel);
+ method public int describeContents();
+ method public int getForegroundColor();
+ method public int getSpanTypeId();
+ method public void updateDrawState(android.text.TextPaint);
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public class IconMarginSpan implements android.text.style.LeadingMarginSpan android.text.style.LineHeightSpan {
+ ctor public IconMarginSpan(android.graphics.Bitmap);
+ ctor public IconMarginSpan(android.graphics.Bitmap, int);
+ method public void chooseHeight(java.lang.CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt);
+ method public void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, java.lang.CharSequence, int, int, boolean, android.text.Layout);
+ method public int getLeadingMargin(boolean);
+ }
+
+ public class ImageSpan extends android.text.style.DynamicDrawableSpan {
+ ctor public deprecated ImageSpan(android.graphics.Bitmap);
+ ctor public deprecated ImageSpan(android.graphics.Bitmap, int);
+ ctor public ImageSpan(android.content.Context, android.graphics.Bitmap);
+ ctor public ImageSpan(android.content.Context, android.graphics.Bitmap, int);
+ ctor public ImageSpan(android.graphics.drawable.Drawable);
+ ctor public ImageSpan(android.graphics.drawable.Drawable, int);
+ ctor public ImageSpan(android.graphics.drawable.Drawable, java.lang.String);
+ ctor public ImageSpan(android.graphics.drawable.Drawable, java.lang.String, int);
+ ctor public ImageSpan(android.content.Context, android.net.Uri);
+ ctor public ImageSpan(android.content.Context, android.net.Uri, int);
+ ctor public ImageSpan(android.content.Context, int);
+ ctor public ImageSpan(android.content.Context, int, int);
+ method public android.graphics.drawable.Drawable getDrawable();
+ method public java.lang.String getSource();
+ }
+
+ public abstract interface LeadingMarginSpan implements android.text.style.ParagraphStyle {
+ method public abstract void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, java.lang.CharSequence, int, int, boolean, android.text.Layout);
+ method public abstract int getLeadingMargin(boolean);
+ }
+
+ public static abstract interface LeadingMarginSpan.LeadingMarginSpan2 implements android.text.style.LeadingMarginSpan android.text.style.WrapTogetherSpan {
+ method public abstract int getLeadingMarginLineCount();
+ }
+
+ public static class LeadingMarginSpan.Standard implements android.text.style.LeadingMarginSpan android.text.ParcelableSpan {
+ ctor public LeadingMarginSpan.Standard(int, int);
+ ctor public LeadingMarginSpan.Standard(int);
+ ctor public LeadingMarginSpan.Standard(android.os.Parcel);
+ method public int describeContents();
+ method public void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, java.lang.CharSequence, int, int, boolean, android.text.Layout);
+ method public int getLeadingMargin(boolean);
+ method public int getSpanTypeId();
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public abstract interface LineBackgroundSpan implements android.text.style.ParagraphStyle {
+ method public abstract void drawBackground(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, java.lang.CharSequence, int, int, int);
+ }
+
+ public abstract interface LineHeightSpan implements android.text.style.ParagraphStyle android.text.style.WrapTogetherSpan {
+ method public abstract void chooseHeight(java.lang.CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt);
+ }
+
+ public static abstract interface LineHeightSpan.WithDensity implements android.text.style.LineHeightSpan {
+ method public abstract void chooseHeight(java.lang.CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt, android.text.TextPaint);
+ }
+
+ public class MaskFilterSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance {
+ ctor public MaskFilterSpan(android.graphics.MaskFilter);
+ method public android.graphics.MaskFilter getMaskFilter();
+ method public void updateDrawState(android.text.TextPaint);
+ }
+
+ public abstract class MetricAffectingSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateLayout {
+ ctor public MetricAffectingSpan();
+ method public abstract void updateMeasureState(android.text.TextPaint);
+ }
+
+ public abstract interface ParagraphStyle {
+ }
+
+ public class QuoteSpan implements android.text.style.LeadingMarginSpan android.text.ParcelableSpan {
+ ctor public QuoteSpan();
+ ctor public QuoteSpan(int);
+ ctor public QuoteSpan(android.os.Parcel);
+ method public int describeContents();
+ method public void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, java.lang.CharSequence, int, int, boolean, android.text.Layout);
+ method public int getColor();
+ method public int getLeadingMargin(boolean);
+ method public int getSpanTypeId();
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public class RasterizerSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance {
+ ctor public RasterizerSpan(android.graphics.Rasterizer);
+ method public android.graphics.Rasterizer getRasterizer();
+ method public void updateDrawState(android.text.TextPaint);
+ }
+
+ public class RelativeSizeSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+ ctor public RelativeSizeSpan(float);
+ ctor public RelativeSizeSpan(android.os.Parcel);
+ method public int describeContents();
+ method public float getSizeChange();
+ method public int getSpanTypeId();
+ method public void updateDrawState(android.text.TextPaint);
+ method public void updateMeasureState(android.text.TextPaint);
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public abstract class ReplacementSpan extends android.text.style.MetricAffectingSpan {
+ ctor public ReplacementSpan();
+ method public abstract void draw(android.graphics.Canvas, java.lang.CharSequence, int, int, float, int, int, int, android.graphics.Paint);
+ method public abstract int getSize(android.graphics.Paint, java.lang.CharSequence, int, int, android.graphics.Paint.FontMetricsInt);
+ method public void updateDrawState(android.text.TextPaint);
+ method public void updateMeasureState(android.text.TextPaint);
+ }
+
+ public class ScaleXSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+ ctor public ScaleXSpan(float);
+ ctor public ScaleXSpan(android.os.Parcel);
+ method public int describeContents();
+ method public float getScaleX();
+ method public int getSpanTypeId();
+ method public void updateDrawState(android.text.TextPaint);
+ method public void updateMeasureState(android.text.TextPaint);
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public class StrikethroughSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan android.text.style.UpdateAppearance {
+ ctor public StrikethroughSpan();
+ ctor public StrikethroughSpan(android.os.Parcel);
+ method public int describeContents();
+ method public int getSpanTypeId();
+ method public void updateDrawState(android.text.TextPaint);
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public class StyleSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+ ctor public StyleSpan(int);
+ ctor public StyleSpan(android.os.Parcel);
+ method public int describeContents();
+ method public int getSpanTypeId();
+ method public int getStyle();
+ method public void updateDrawState(android.text.TextPaint);
+ method public void updateMeasureState(android.text.TextPaint);
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public class SubscriptSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+ ctor public SubscriptSpan();
+ ctor public SubscriptSpan(android.os.Parcel);
+ method public int describeContents();
+ method public int getSpanTypeId();
+ method public void updateDrawState(android.text.TextPaint);
+ method public void updateMeasureState(android.text.TextPaint);
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public class SuggestionSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan {
+ ctor public SuggestionSpan(android.content.Context, java.lang.String[], int);
+ ctor public SuggestionSpan(java.util.Locale, java.lang.String[], int);
+ ctor public SuggestionSpan(android.content.Context, java.util.Locale, java.lang.String[], int, java.lang.Class<?>);
+ ctor public SuggestionSpan(android.os.Parcel);
+ method public int describeContents();
+ method public int getFlags();
+ method public java.lang.String getLocale();
+ method public int getSpanTypeId();
+ method public java.lang.String[] getSuggestions();
+ method public void setFlags(int);
+ method public void updateDrawState(android.text.TextPaint);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final java.lang.String ACTION_SUGGESTION_PICKED = "android.text.style.SUGGESTION_PICKED";
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int FLAG_EASY_CORRECT = 1; // 0x1
+ field public static final int FLAG_MISSPELLED = 2; // 0x2
+ field public static final int SUGGESTIONS_MAX_SIZE = 5; // 0x5
+ field public static final java.lang.String SUGGESTION_SPAN_PICKED_AFTER = "after";
+ field public static final java.lang.String SUGGESTION_SPAN_PICKED_BEFORE = "before";
+ field public static final java.lang.String SUGGESTION_SPAN_PICKED_HASHCODE = "hashcode";
+ }
+
+ public class SuperscriptSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+ ctor public SuperscriptSpan();
+ ctor public SuperscriptSpan(android.os.Parcel);
+ method public int describeContents();
+ method public int getSpanTypeId();
+ method public void updateDrawState(android.text.TextPaint);
+ method public void updateMeasureState(android.text.TextPaint);
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public abstract interface TabStopSpan implements android.text.style.ParagraphStyle {
+ method public abstract int getTabStop();
+ }
+
+ public static class TabStopSpan.Standard implements android.text.style.TabStopSpan {
+ ctor public TabStopSpan.Standard(int);
+ method public int getTabStop();
+ }
+
+ public class TextAppearanceSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+ ctor public TextAppearanceSpan(android.content.Context, int);
+ ctor public TextAppearanceSpan(android.content.Context, int, int);
+ ctor public TextAppearanceSpan(java.lang.String, int, int, android.content.res.ColorStateList, android.content.res.ColorStateList);
+ ctor public TextAppearanceSpan(android.os.Parcel);
+ method public int describeContents();
+ method public java.lang.String getFamily();
+ method public android.content.res.ColorStateList getLinkTextColor();
+ method public int getSpanTypeId();
+ method public android.content.res.ColorStateList getTextColor();
+ method public int getTextSize();
+ method public int getTextStyle();
+ method public void updateDrawState(android.text.TextPaint);
+ method public void updateMeasureState(android.text.TextPaint);
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public class TypefaceSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+ ctor public TypefaceSpan(java.lang.String);
+ ctor public TypefaceSpan(android.os.Parcel);
+ method public int describeContents();
+ method public java.lang.String getFamily();
+ method public int getSpanTypeId();
+ method public void updateDrawState(android.text.TextPaint);
+ method public void updateMeasureState(android.text.TextPaint);
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public class URLSpan extends android.text.style.ClickableSpan implements android.text.ParcelableSpan {
+ ctor public URLSpan(java.lang.String);
+ ctor public URLSpan(android.os.Parcel);
+ method public int describeContents();
+ method public int getSpanTypeId();
+ method public java.lang.String getURL();
+ method public void onClick(android.view.View);
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public class UnderlineSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan android.text.style.UpdateAppearance {
+ ctor public UnderlineSpan();
+ ctor public UnderlineSpan(android.os.Parcel);
+ method public int describeContents();
+ method public int getSpanTypeId();
+ method public void updateDrawState(android.text.TextPaint);
+ method public void writeToParcel(android.os.Parcel, int);
+ }
+
+ public abstract interface UpdateAppearance {
+ }
+
+ public abstract interface UpdateLayout implements android.text.style.UpdateAppearance {
+ }
+
+ public abstract interface WrapTogetherSpan implements android.text.style.ParagraphStyle {
+ }
+
+}
+
+package android.text.util {
+
+ public class Linkify {
+ ctor public Linkify();
+ method public static final boolean addLinks(android.text.Spannable, int);
+ method public static final boolean addLinks(android.widget.TextView, int);
+ method public static final void addLinks(android.widget.TextView, java.util.regex.Pattern, java.lang.String);
+ method public static final void addLinks(android.widget.TextView, java.util.regex.Pattern, java.lang.String, android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter);
+ method public static final boolean addLinks(android.text.Spannable, java.util.regex.Pattern, java.lang.String);
+ method public static final boolean addLinks(android.text.Spannable, java.util.regex.Pattern, java.lang.String, android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter);
+ field public static final int ALL = 15; // 0xf
+ field public static final int EMAIL_ADDRESSES = 2; // 0x2
+ field public static final int MAP_ADDRESSES = 8; // 0x8
+ field public static final int PHONE_NUMBERS = 4; // 0x4
+ field public static final int WEB_URLS = 1; // 0x1
+ field public static final android.text.util.Linkify.MatchFilter sPhoneNumberMatchFilter;
+ field public static final android.text.util.Linkify.TransformFilter sPhoneNumberTransformFilter;
+ field public static final android.text.util.Linkify.MatchFilter sUrlMatchFilter;
+ }
+
+ public static abstract interface Linkify.MatchFilter {
+ method public abstract boolean acceptMatch(java.lang.CharSequence, int, int);
+ }
+
+ public static abstract interface Linkify.TransformFilter {
+ method public abstract java.lang.String transformUrl(java.util.regex.Matcher, java.lang.String);
+ }
+
+ public class Rfc822Token {
+ ctor public Rfc822Token(java.lang.String, java.lang.String, java.lang.String);
+ method public java.lang.String getAddress();
+ method public java.lang.String getComment();
+ method public java.lang.String getName();
+ method public static java.lang.String quoteComment(java.lang.String);
+ method public static java.lang.String quoteName(java.lang.String);
+ method public static java.lang.String quoteNameIfNecessary(java.lang.String);
+ method public void setAddress(java.lang.String);
+ method public void setComment(java.lang.String);
+ method public void setName(java.lang.String);
+ }
+
+ public class Rfc822Tokenizer implements android.widget.MultiAutoCompleteTextView.Tokenizer {
+ ctor public Rfc822Tokenizer();
+ method public int findTokenEnd(java.lang.CharSequence, int);
+ method public int findTokenStart(java.lang.CharSequence, int);
+ method public java.lang.CharSequence terminateToken(java.lang.CharSequence);
+ method public static void tokenize(java.lang.CharSequence, java.util.Collection<android.text.util.Rfc822Token>);
+ method public static android.text.util.Rfc822Token[] tokenize(java.lang.CharSequence);
+ }
+
+}
+
+package android.util {
+
+ public class AndroidException extends java.lang.Exception {
+ ctor public AndroidException();
+ ctor public AndroidException(java.lang.String);
+ ctor public AndroidException(java.lang.String, java.lang.Throwable);
+ ctor public AndroidException(java.lang.Exception);
+ }
+
+ public class AndroidRuntimeException extends java.lang.RuntimeException {
+ ctor public AndroidRuntimeException();
+ ctor public AndroidRuntimeException(java.lang.String);
+ ctor public AndroidRuntimeException(java.lang.String, java.lang.Throwable);
+ ctor public AndroidRuntimeException(java.lang.Exception);
+ }
+
+ public abstract interface AttributeSet {
+ method public abstract boolean getAttributeBooleanValue(java.lang.String, java.lang.String, boolean);
+ method public abstract boolean getAttributeBooleanValue(int, boolean);
+ method public abstract int getAttributeCount();
+ method public abstract float getAttributeFloatValue(java.lang.String, java.lang.String, float);
+ method public abstract float getAttributeFloatValue(int, float);
+ method public abstract int getAttributeIntValue(java.lang.String, java.lang.String, int);
+ method public abstract int getAttributeIntValue(int, int);
+ method public abstract int getAttributeListValue(java.lang.String, java.lang.String, java.lang.String[], int);
+ method public abstract int getAttributeListValue(int, java.lang.String[], int);
+ method public abstract java.lang.String getAttributeName(int);
+ method public abstract int getAttributeNameResource(int);
+ method public abstract int getAttributeResourceValue(java.lang.String, java.lang.String, int);
+ method public abstract int getAttributeResourceValue(int, int);
+ method public abstract int getAttributeUnsignedIntValue(java.lang.String, java.lang.String, int);
+ method public abstract int getAttributeUnsignedIntValue(int, int);
+ method public abstract java.lang.String getAttributeValue(int);
+ method public abstract java.lang.String getAttributeValue(java.lang.String, java.lang.String);
+ method public abstract java.lang.String getClassAttribute();
+ method public abstract java.lang.String getIdAttribute();
+ method public abstract int getIdAttributeResourceValue(int);
+ method public abstract java.lang.String getPositionDescription();
+ method public abstract int getStyleAttribute();
+ }
+
+ public class Base64 {
+ method public static byte[] decode(java.lang.String, int);
+ method public static byte[] decode(byte[], int);
+ method public static byte[] decode(byte[], int, int, int);
+ method public static byte[] encode(byte[], int);
+ method public static byte[] encode(byte[], int, int, int);
+ method public static java.lang.String encodeToString(byte[], int);
+ method public static java.lang.String encodeToString(byte[], int, int, int);
+ field public static final int CRLF = 4; // 0x4
+ field public static final int DEFAULT = 0; // 0x0
+ field public static final int NO_CLOSE = 16; // 0x10
+ field public static final int NO_PADDING = 1; // 0x1
+ field public static final int NO_WRAP = 2; // 0x2
+ field public static final int URL_SAFE = 8; // 0x8
+ }
+
+ public class Base64DataException extends java.io.IOException {
+ ctor public Base64DataException(java.lang.String);
+ }
+
+ public class Base64InputStream extends java.io.FilterInputStream {
+ ctor public Base64InputStream(java.io.InputStream, int);
+ }
+
+ public class Base64OutputStream extends java.io.FilterOutputStream {
+ ctor public Base64OutputStream(java.io.OutputStream, int);
+ }
+
+ public final deprecated class Config {
+ field public static final deprecated boolean DEBUG = false;
+ field public static final deprecated boolean LOGD = true;
+ field public static final deprecated boolean LOGV = false;
+ field public static final deprecated boolean PROFILE = false;
+ field public static final deprecated boolean RELEASE = true;
+ }
+
+ public class DebugUtils {
+ method public static boolean isObjectSelected(java.lang.Object);
+ }
+
+ public class DisplayMetrics {
+ ctor public DisplayMetrics();
+ method public void setTo(android.util.DisplayMetrics);
+ method public void setToDefaults();
+ field public static final int DENSITY_DEFAULT = 160; // 0xa0
+ field public static final int DENSITY_HIGH = 240; // 0xf0
+ field public static final int DENSITY_LOW = 120; // 0x78
+ field public static final int DENSITY_MEDIUM = 160; // 0xa0
+ field public static final int DENSITY_TV = 213; // 0xd5
+ field public static final int DENSITY_XHIGH = 320; // 0x140
+ field public float density;
+ field public int densityDpi;
+ field public int heightPixels;
+ field public float scaledDensity;
+ field public int widthPixels;
+ field public float xdpi;
+ field public float ydpi;
+ }
+
+ public class EventLog {
+ method public static int getTagCode(java.lang.String);
+ method public static java.lang.String getTagName(int);
+ method public static void readEvents(int[], java.util.Collection<android.util.EventLog.Event>) throws java.io.IOException;
+ method public static int writeEvent(int, int);
+ method public static int writeEvent(int, long);
+ method public static int writeEvent(int, java.lang.String);
+ method public static int writeEvent(int, java.lang.Object...);
+ }
+
+ public static final class EventLog.Event {
+ method public synchronized java.lang.Object getData();
+ method public int getProcessId();
+ method public int getTag();
+ method public int getThreadId();
+ method public long getTimeNanos();
+ }
+
+ public deprecated class EventLogTags {
+ ctor public EventLogTags() throws java.io.IOException;
+ ctor public EventLogTags(java.io.BufferedReader) throws java.io.IOException;
+ method public android.util.EventLogTags.Description get(java.lang.String);
+ method public android.util.EventLogTags.Description get(int);
+ }
+
+ public static class EventLogTags.Description {
+ field public final java.lang.String mName;
+ field public final int mTag;
+ }
+
+ public class FloatMath {
+ method public static float ceil(float);
+ method public static float cos(float);
+ method public static float floor(float);
+ method public static float sin(float);
+ method public static float sqrt(float);
+ }
+
+ public final class JsonReader implements java.io.Closeable {
+ ctor public JsonReader(java.io.Reader);
+ method public void beginArray() throws java.io.IOException;
+ method public void beginObject() throws java.io.IOException;
+ method public void close() throws java.io.IOException;
+ method public void endArray() throws java.io.IOException;
+ method public void endObject() throws java.io.IOException;
+ method public boolean hasNext() throws java.io.IOException;
+ method public boolean isLenient();
+ method public boolean nextBoolean() throws java.io.IOException;
+ method public double nextDouble() throws java.io.IOException;
+ method public int nextInt() throws java.io.IOException;
+ method public long nextLong() throws java.io.IOException;
+ method public java.lang.String nextName() throws java.io.IOException;
+ method public void nextNull() throws java.io.IOException;
+ method public java.lang.String nextString() throws java.io.IOException;
+ method public android.util.JsonToken peek() throws java.io.IOException;
+ method public void setLenient(boolean);
+ method public void skipValue() throws java.io.IOException;
+ }
+
+ public final class JsonToken extends java.lang.Enum {
+ method public static android.util.JsonToken valueOf(java.lang.String);
+ method public static final android.util.JsonToken[] values();
+ enum_constant public static final android.util.JsonToken BEGIN_ARRAY;
+ enum_constant public static final android.util.JsonToken BEGIN_OBJECT;
+ enum_constant public static final android.util.JsonToken BOOLEAN;
+ enum_constant public static final android.util.JsonToken END_ARRAY;
+ enum_constant public static final android.util.JsonToken END_DOCUMENT;
+ enum_constant public static final android.util.JsonToken END_OBJECT;
+ enum_constant public static final android.util.JsonToken NAME;
+ enum_constant public static final android.util.JsonToken NULL;
+ enum_constant public static final android.util.JsonToken NUMBER;
+ enum_constant public static final android.util.JsonToken STRING;
+ }
+
+ public final class JsonWriter implements java.io.Closeable {
+ ctor public JsonWriter(java.io.Writer);
+ method public android.util.JsonWriter beginArray() throws java.io.IOException;
+ method public android.util.JsonWriter beginObject() throws java.io.IOException;
+ method public void close() throws java.io.IOException;
+ method public android.util.JsonWriter endArray() throws java.io.IOException;
+ method public android.util.JsonWriter endObject() throws java.io.IOException;
+ method public void flush() throws java.io.IOException;
+ method public boolean isLenient();
+ method public android.util.JsonWriter name(java.lang.String) throws java.io.IOException;
+ method public android.util.JsonWriter nullValue() throws java.io.IOException;
+ method public void setIndent(java.lang.String);
+ method public void setLenient(boolean);
+ method public android.util.JsonWriter value(java.lang.String) throws java.io.IOException;
+ method public android.util.JsonWriter value(boolean) throws java.io.IOException;
+ method public android.util.JsonWriter value(double) throws java.io.IOException;
+ method public android.util.JsonWriter value(long) throws java.io.IOException;
+ method public android.util.JsonWriter value(java.lang.Number) throws java.io.IOException;
+ }
+
+ public final class Log {
+ method public static int d(java.lang.String, java.lang.String);
+ method public static int d(java.lang.String, java.lang.String, java.lang.Throwable);
+ method public static int e(java.lang.String, java.lang.String);
+ method public static int e(java.lang.String, java.lang.String, java.lang.Throwable);
+ method public static java.lang.String getStackTraceString(java.lang.Throwable);
+ method public static int i(java.lang.String, java.lang.String);
+ method public static int i(java.lang.String, java.lang.String, java.lang.Throwable);
+ method public static boolean isLoggable(java.lang.String, int);
+ method public static int println(int, java.lang.String, java.lang.String);
+ method public static int v(java.lang.String, java.lang.String);
+ method public static int v(java.lang.String, java.lang.String, java.lang.Throwable);
+ method public static int w(java.lang.String, java.lang.String);
+ method public static int w(java.lang.String, java.lang.String, java.lang.Throwable);
+ method public static int w(java.lang.String, java.lang.Throwable);
+ method public static int wtf(java.lang.String, java.lang.String);
+ method public static int wtf(java.lang.String, java.lang.Throwable);
+ method public static int wtf(java.lang.String, java.lang.String, java.lang.Throwable);
+ field public static final int ASSERT = 7; // 0x7
+ field public static final int DEBUG = 3; // 0x3
+ field public static final int ERROR = 6; // 0x6
+ field public static final int INFO = 4; // 0x4
+ field public static final int VERBOSE = 2; // 0x2
+ field public static final int WARN = 5; // 0x5
+ }
+
+ public class LogPrinter implements android.util.Printer {
+ ctor public LogPrinter(int, java.lang.String);
+ method public void println(java.lang.String);
+ }
+
+ public class LruCache {
+ ctor public LruCache(int);
+ method protected V create(K);
+ method public final synchronized int createCount();
+ method protected void entryRemoved(boolean, K, V, V);
+ method public final void evictAll();
+ method public final synchronized int evictionCount();
+ method public final V get(K);
+ method public final synchronized int hitCount();
+ method public final synchronized int maxSize();
+ method public final synchronized int missCount();
+ method public final V put(K, V);
+ method public final synchronized int putCount();
+ method public final V remove(K);
+ method public final synchronized int size();
+ method protected int sizeOf(K, V);
+ method public final synchronized java.util.Map<K, V> snapshot();
+ method public final synchronized java.lang.String toString();
+ }
+
+ public final class MalformedJsonException extends java.io.IOException {
+ ctor public MalformedJsonException(java.lang.String);
+ }
+
+ public class MonthDisplayHelper {
+ ctor public MonthDisplayHelper(int, int, int);
+ ctor public MonthDisplayHelper(int, int);
+ method public int getColumnOf(int);
+ method public int getDayAt(int, int);
+ method public int[] getDigitsForRow(int);
+ method public int getFirstDayOfMonth();
+ method public int getMonth();
+ method public int getNumberOfDaysInMonth();
+ method public int getOffset();
+ method public int getRowOf(int);
+ method public int getWeekStartDay();
+ method public int getYear();
+ method public boolean isWithinCurrentMonth(int, int);
+ method public void nextMonth();
+ method public void previousMonth();
+ }
+
+ public class NoSuchPropertyException extends java.lang.RuntimeException {
+ ctor public NoSuchPropertyException(java.lang.String);
+ }
+
+ public class Pair {
+ ctor public Pair(F, S);
+ method public static android.util.Pair<A, B> create(A, B);
+ field public final F first;
+ field public final S second;
+ }
+
+ public class Patterns {
+ method public static final java.lang.String concatGroups(java.util.regex.Matcher);
+ method public static final java.lang.String digitsAndPlusOnly(java.util.regex.Matcher);
+ field public static final java.util.regex.Pattern DOMAIN_NAME;
+ field public static final java.util.regex.Pattern EMAIL_ADDRESS;
+ field public static final java.lang.String GOOD_IRI_CHAR = "a-zA-Z0-9\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef";
+ field public static final java.util.regex.Pattern IP_ADDRESS;
+ field public static final java.util.regex.Pattern PHONE;
+ field public static final java.util.regex.Pattern TOP_LEVEL_DOMAIN;
+ field public static final java.lang.String TOP_LEVEL_DOMAIN_STR = "((aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(biz|b[abdefghijmnorstvwyz])|(cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(edu|e[cegrstu])|f[ijkmor]|(gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(info|int|i[delmnoqrst])|(jobs|j[emop])|k[eghimnprwyz]|l[abcikrstuvy]|(mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])|(name|net|n[acefgilopruz])|(org|om)|(pro|p[aefghklmnrstwy])|qa|r[eosuw]|s[abcdeghijklmnortuvyz]|(tel|travel|t[cdfghjklmnoprtvwz])|u[agksyz]|v[aceginu]|w[fs]|(\u03b4\u03bf\u03ba\u03b9\u03bc\u03ae|\u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435|\u0440\u0444|\u0441\u0440\u0431|\u05d8\u05e2\u05e1\u05d8|\u0622\u0632\u0645\u0627\u06cc\u0634\u06cc|\u0625\u062e\u062a\u0628\u0627\u0631|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0628\u06be\u0627\u0631\u062a|\u062a\u0648\u0646\u0633|\u0633\u0648\u0631\u064a\u0629|\u0641\u0644\u0633\u0637\u064a\u0646|\u0642\u0637\u0631|\u0645\u0635\u0631|\u092a\u0930\u0940\u0915\u094d\u0937\u093e|\u092d\u093e\u0930\u0924|\u09ad\u09be\u09b0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd|\u0baa\u0bb0\u0bbf\u0b9f\u0bcd\u0b9a\u0bc8|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0dbd\u0d82\u0d9a\u0dcf|\u0e44\u0e17\u0e22|\u30c6\u30b9\u30c8|\u4e2d\u56fd|\u4e2d\u570b|\u53f0\u6e7e|\u53f0\u7063|\u65b0\u52a0\u5761|\u6d4b\u8bd5|\u6e2c\u8a66|\u9999\u6e2f|\ud14c\uc2a4\ud2b8|\ud55c\uad6d|xn\\-\\-0zwm56d|xn\\-\\-11b5bs3a9aj6g|xn\\-\\-3e0b707e|xn\\-\\-45brj9c|xn\\-\\-80akhbyknj4f|xn\\-\\-90a3ac|xn\\-\\-9t4b11yi5a|xn\\-\\-clchc0ea0b2g2a9gcd|xn\\-\\-deba0ad|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-g6w251d|xn\\-\\-gecrj9c|xn\\-\\-h2brj9c|xn\\-\\-hgbk6aj7f53bba|xn\\-\\-hlcj6aya9esc7a|xn\\-\\-j6w193g|xn\\-\\-jxalpdlp|xn\\-\\-kgbechtv|xn\\-\\-kprw13d|xn\\-\\-kpry57d|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1ai|xn\\-\\-pgbs0dh|xn\\-\\-s9brj9c|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-yfro4i67o|xn\\-\\-ygbi2ammx|xn\\-\\-zckzah|xxx)|y[et]|z[amw])";
+ field public static final java.lang.String TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL = "(?:(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(?:biz|b[abdefghijmnorstvwyz])|(?:cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(?:edu|e[cegrstu])|f[ijkmor]|(?:gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(?:info|int|i[delmnoqrst])|(?:jobs|j[emop])|k[eghimnprwyz]|l[abcikrstuvy]|(?:mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])|(?:name|net|n[acefgilopruz])|(?:org|om)|(?:pro|p[aefghklmnrstwy])|qa|r[eosuw]|s[abcdeghijklmnortuvyz]|(?:tel|travel|t[cdfghjklmnoprtvwz])|u[agksyz]|v[aceginu]|w[fs]|(?:\u03b4\u03bf\u03ba\u03b9\u03bc\u03ae|\u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435|\u0440\u0444|\u0441\u0440\u0431|\u05d8\u05e2\u05e1\u05d8|\u0622\u0632\u0645\u0627\u06cc\u0634\u06cc|\u0625\u062e\u062a\u0628\u0627\u0631|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0628\u06be\u0627\u0631\u062a|\u062a\u0648\u0646\u0633|\u0633\u0648\u0631\u064a\u0629|\u0641\u0644\u0633\u0637\u064a\u0646|\u0642\u0637\u0631|\u0645\u0635\u0631|\u092a\u0930\u0940\u0915\u094d\u0937\u093e|\u092d\u093e\u0930\u0924|\u09ad\u09be\u09b0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd|\u0baa\u0bb0\u0bbf\u0b9f\u0bcd\u0b9a\u0bc8|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0dbd\u0d82\u0d9a\u0dcf|\u0e44\u0e17\u0e22|\u30c6\u30b9\u30c8|\u4e2d\u56fd|\u4e2d\u570b|\u53f0\u6e7e|\u53f0\u7063|\u65b0\u52a0\u5761|\u6d4b\u8bd5|\u6e2c\u8a66|\u9999\u6e2f|\ud14c\uc2a4\ud2b8|\ud55c\uad6d|xn\\-\\-0zwm56d|xn\\-\\-11b5bs3a9aj6g|xn\\-\\-3e0b707e|xn\\-\\-45brj9c|xn\\-\\-80akhbyknj4f|xn\\-\\-90a3ac|xn\\-\\-9t4b11yi5a|xn\\-\\-clchc0ea0b2g2a9gcd|xn\\-\\-deba0ad|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-g6w251d|xn\\-\\-gecrj9c|xn\\-\\-h2brj9c|xn\\-\\-hgbk6aj7f53bba|xn\\-\\-hlcj6aya9esc7a|xn\\-\\-j6w193g|xn\\-\\-jxalpdlp|xn\\-\\-kgbechtv|xn\\-\\-kprw13d|xn\\-\\-kpry57d|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1ai|xn\\-\\-pgbs0dh|xn\\-\\-s9brj9c|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-yfro4i67o|xn\\-\\-ygbi2ammx|xn\\-\\-zckzah|xxx)|y[et]|z[amw]))";
+ field public static final java.util.regex.Pattern WEB_URL;
+ }
+
+ public class PrintStreamPrinter implements android.util.Printer {
+ ctor public PrintStreamPrinter(java.io.PrintStream);
+ method public void println(java.lang.String);
+ }
+
+ public class PrintWriterPrinter implements android.util.Printer {
+ ctor public PrintWriterPrinter(java.io.PrintWriter);
+ method public void println(java.lang.String);
+ }
+
+ public abstract interface Printer {
+ method public abstract void println(java.lang.String);
+ }
+
+ public abstract class Property {
+ ctor public Property(java.lang.Class<V>, java.lang.String);
+ method public abstract V get(T);
+ method public java.lang.String getName();
+ method public java.lang.Class<V> getType();
+ method public boolean isReadOnly();
+ method public static android.util.Property<T, V> of(java.lang.Class<T>, java.lang.Class<V>, java.lang.String);
+ method public void set(T, V);
+ }
+
+ public class SparseArray implements java.lang.Cloneable {
+ ctor public SparseArray();
+ ctor public SparseArray(int);
+ method public void append(int, E);
+ method public void clear();
+ method public android.util.SparseArray<E> clone();
+ method public void delete(int);
+ method public E get(int);
+ method public E get(int, E);
+ method public int indexOfKey(int);
+ method public int indexOfValue(E);
+ method public int keyAt(int);
+ method public void put(int, E);
+ method public void remove(int);
+ method public void removeAt(int);
+ method public void setValueAt(int, E);
+ method public int size();
+ method public E valueAt(int);
+ }
+
+ public class SparseBooleanArray implements java.lang.Cloneable {
+ ctor public SparseBooleanArray();
+ ctor public SparseBooleanArray(int);
+ method public void append(int, boolean);
+ method public void clear();
+ method public android.util.SparseBooleanArray clone();
+ method public void delete(int);
+ method public boolean get(int);
+ method public boolean get(int, boolean);
+ method public int indexOfKey(int);
+ method public int indexOfValue(boolean);
+ method public int keyAt(int);
+ method public void put(int, boolean);
+ method public int size();
+ method public boolean valueAt(int);
+ }
+
+ public class SparseIntArray implements java.lang.Cloneable {
+ ctor public SparseIntArray();
+ ctor public SparseIntArray(int);
+ method public void append(int, int);
+ method public void clear();
+ method public android.util.SparseIntArray clone();
+ method public void delete(int);
+ method public int get(int);
+ method public int get(int, int);
+ method public int indexOfKey(int);
+ method public int indexOfValue(int);
+ method public int keyAt(int);
+ method public void put(int, int);
+ method public void removeAt(int);
+ method public int size();
+ method public int valueAt(int);
+ }
+
+ public class StateSet {
+ method public static java.lang.String dump(int[]);
+ method public static boolean isWildCard(int[]);
+ method public static boolean stateSetMatches(int[], int[]);
+ method public static boolean stateSetMatches(int[], int);
+ method public static int[] trimStateSet(int[], int);
+ field public static final int[] NOTHING;
+ field public static final int[] WILD_CARD;
+ }
+
+ public class StringBuilderPrinter implements android.util.Printer {
+ ctor public StringBuilderPrinter(java.lang.StringBuilder);
+ method public void println(java.lang.String);
+ }
+
+ public class TimeFormatException extends java.lang.RuntimeException {
+ }
+
+ public class TimeUtils {
+ method public static java.util.TimeZone getTimeZone(int, boolean, long, java.lang.String);
+ method public static java.lang.String getTimeZoneDatabaseVersion();
+ }
+
+ public class TimingLogger {
+ ctor public TimingLogger(java.lang.String, java.lang.String);
+ method public void addSplit(java.lang.String);
+ method public void dumpToLog();
+ method public void reset(java.lang.String, java.lang.String);
+ method public void reset();
+ }
+
+ public class TypedValue {
+ ctor public TypedValue();
+ method public static float applyDimension(int, float, android.util.DisplayMetrics);
+ method public final java.lang.CharSequence coerceToString();
+ method public static final java.lang.String coerceToString(int, int);
+ method public static float complexToDimension(int, android.util.DisplayMetrics);
+ method public static float complexToDimensionNoisy(int, android.util.DisplayMetrics);
+ method public static int complexToDimensionPixelOffset(int, android.util.DisplayMetrics);
+ method public static int complexToDimensionPixelSize(int, android.util.DisplayMetrics);
+ method public static float complexToFloat(int);
+ method public static float complexToFraction(int, float, float);
+ method public float getDimension(android.util.DisplayMetrics);
+ method public final float getFloat();
+ method public float getFraction(float, float);
+ method public void setTo(android.util.TypedValue);
+ field public static final int COMPLEX_MANTISSA_MASK = 16777215; // 0xffffff
+ field public static final int COMPLEX_MANTISSA_SHIFT = 8; // 0x8
+ field public static final int COMPLEX_RADIX_0p23 = 3; // 0x3
+ field public static final int COMPLEX_RADIX_16p7 = 1; // 0x1
+ field public static final int COMPLEX_RADIX_23p0 = 0; // 0x0
+ field public static final int COMPLEX_RADIX_8p15 = 2; // 0x2
+ field public static final int COMPLEX_RADIX_MASK = 3; // 0x3
+ field public static final int COMPLEX_RADIX_SHIFT = 4; // 0x4
+ field public static final int COMPLEX_UNIT_DIP = 1; // 0x1
+ field public static final int COMPLEX_UNIT_FRACTION = 0; // 0x0
+ field public static final int COMPLEX_UNIT_FRACTION_PARENT = 1; // 0x1
+ field public static final int COMPLEX_UNIT_IN = 4; // 0x4
+ field public static final int COMPLEX_UNIT_MASK = 15; // 0xf
+ field public static final int COMPLEX_UNIT_MM = 5; // 0x5
+ field public static final int COMPLEX_UNIT_PT = 3; // 0x3
+ field public static final int COMPLEX_UNIT_PX = 0; // 0x0
+ field public static final int COMPLEX_UNIT_SHIFT = 0; // 0x0
+ field public static final int COMPLEX_UNIT_SP = 2; // 0x2
+ field public static final int DENSITY_DEFAULT = 0; // 0x0
+ field public static final int DENSITY_NONE = 65535; // 0xffff
+ field public static final int TYPE_ATTRIBUTE = 2; // 0x2
+ field public static final int TYPE_DIMENSION = 5; // 0x5
+ field public static final int TYPE_FIRST_COLOR_INT = 28; // 0x1c
+ field public static final int TYPE_FIRST_INT = 16; // 0x10
+ field public static final int TYPE_FLOAT = 4; // 0x4
+ field public static final int TYPE_FRACTION = 6; // 0x6
+ field public static final int TYPE_INT_BOOLEAN = 18; // 0x12
+ field public static final int TYPE_INT_COLOR_ARGB4 = 30; // 0x1e
+ field public static final int TYPE_INT_COLOR_ARGB8 = 28; // 0x1c
+ field public static final int TYPE_INT_COLOR_RGB4 = 31; // 0x1f
+ field public static final int TYPE_INT_COLOR_RGB8 = 29; // 0x1d
+ field public static final int TYPE_INT_DEC = 16; // 0x10
+ field public static final int TYPE_INT_HEX = 17; // 0x11
+ field public static final int TYPE_LAST_COLOR_INT = 31; // 0x1f
+ field public static final int TYPE_LAST_INT = 31; // 0x1f
+ field public static final int TYPE_NULL = 0; // 0x0
+ field public static final int TYPE_REFERENCE = 1; // 0x1
+ field public static final int TYPE_STRING = 3; // 0x3
+ field public int assetCookie;
+ field public int changingConfigurations;
+ field public int data;
+ field public int density;
+ field public int resourceId;
+ field public java.lang.CharSequence string;
+ field public int type;
+ }
+
+ public class Xml {
+ method public static android.util.AttributeSet asAttributeSet(org.xmlpull.v1.XmlPullParser);
+ method public static android.util.Xml.Encoding findEncodingByName(java.lang.String) throws java.io.UnsupportedEncodingException;
+ method public static org.xmlpull.v1.XmlPullParser newPullParser();
+ method public static org.xmlpull.v1.XmlSerializer newSerializer();
+ method public static void parse(java.lang.String, org.xml.sax.ContentHandler) throws org.xml.sax.SAXException;
+ method public static void parse(java.io.Reader, org.xml.sax.ContentHandler) throws java.io.IOException, org.xml.sax.SAXException;
+ method public static void parse(java.io.InputStream, android.util.Xml.Encoding, org.xml.sax.ContentHandler) throws java.io.IOException, org.xml.sax.SAXException;
+ field public static java.lang.String FEATURE_RELAXED;
+ }
+
+ public static final class Xml.Encoding extends java.lang.Enum {
+ method public static android.util.Xml.Encoding valueOf(java.lang.String);
+ method public static final android.util.Xml.Encoding[] values();
+ enum_constant public static final android.util.Xml.Encoding ISO_8859_1;
+ enum_constant public static final android.util.Xml.Encoding US_ASCII;
+ enum_constant public static final android.util.Xml.Encoding UTF_16;
+ enum_constant public static final android.util.Xml.Encoding UTF_8;
+ }
+
+}
+
+package android.view {
+
+ public abstract class AbsSavedState implements android.os.Parcelable {
+ ctor protected AbsSavedState(android.os.Parcelable);
+ ctor protected AbsSavedState(android.os.Parcel);
+ method public int describeContents();
+ method public final android.os.Parcelable getSuperState();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final android.view.AbsSavedState EMPTY_STATE;
+ }
+
+ public abstract class ActionMode {
+ ctor public ActionMode();
+ method public abstract void finish();
+ method public abstract android.view.View getCustomView();
+ method public abstract android.view.Menu getMenu();
+ method public abstract android.view.MenuInflater getMenuInflater();
+ method public abstract java.lang.CharSequence getSubtitle();
+ method public java.lang.Object getTag();
+ method public abstract java.lang.CharSequence getTitle();
+ method public abstract void invalidate();
+ method public abstract void setCustomView(android.view.View);
+ method public abstract void setSubtitle(java.lang.CharSequence);
+ method public abstract void setSubtitle(int);
+ method public void setTag(java.lang.Object);
+ method public abstract void setTitle(java.lang.CharSequence);
+ method public abstract void setTitle(int);
+ }
+
+ public static abstract interface ActionMode.Callback {
+ method public abstract boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
+ method public abstract boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
+ method public abstract void onDestroyActionMode(android.view.ActionMode);
+ method public abstract boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
+ }
+
+ public abstract class ActionProvider {
+ ctor public ActionProvider(android.content.Context);
+ method public boolean hasSubMenu();
+ method public abstract android.view.View onCreateActionView();
+ method public boolean onPerformDefaultAction();
+ method public void onPrepareSubMenu(android.view.SubMenu);
+ }
+
+ public abstract interface CollapsibleActionView {
+ method public abstract void onActionViewCollapsed();
+ method public abstract void onActionViewExpanded();
+ }
+
+ public abstract interface ContextMenu implements android.view.Menu {
+ method public abstract void clearHeader();
+ method public abstract android.view.ContextMenu setHeaderIcon(int);
+ method public abstract android.view.ContextMenu setHeaderIcon(android.graphics.drawable.Drawable);
+ method public abstract android.view.ContextMenu setHeaderTitle(int);
+ method public abstract android.view.ContextMenu setHeaderTitle(java.lang.CharSequence);
+ method public abstract android.view.ContextMenu setHeaderView(android.view.View);
+ }
+
+ public static abstract interface ContextMenu.ContextMenuInfo {
+ }
+
+ public class ContextThemeWrapper extends android.content.ContextWrapper {
+ ctor public ContextThemeWrapper();
+ ctor public ContextThemeWrapper(android.content.Context, int);
+ method protected void onApplyThemeResource(android.content.res.Resources.Theme, int, boolean);
+ }
+
+ public class Display {
+ method public int getDisplayId();
+ method public deprecated int getHeight();
+ method public void getMetrics(android.util.DisplayMetrics);
+ method public deprecated int getOrientation();
+ method public int getPixelFormat();
+ method public void getRectSize(android.graphics.Rect);
+ method public float getRefreshRate();
+ method public int getRotation();
+ method public void getSize(android.graphics.Point);
+ method public deprecated int getWidth();
+ field public static final int DEFAULT_DISPLAY = 0; // 0x0
+ }
+
+ public class DragEvent implements android.os.Parcelable {
+ method public int describeContents();
+ method public int getAction();
+ method public android.content.ClipData getClipData();
+ method public android.content.ClipDescription getClipDescription();
+ method public java.lang.Object getLocalState();
+ method public boolean getResult();
+ method public float getX();
+ method public float getY();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final int ACTION_DRAG_ENDED = 4; // 0x4
+ field public static final int ACTION_DRAG_ENTERED = 5; // 0x5
+ field public static final int ACTION_DRAG_EXITED = 6; // 0x6
+ field public static final int ACTION_DRAG_LOCATION = 2; // 0x2
+ field public static final int ACTION_DRAG_STARTED = 1; // 0x1
+ field public static final int ACTION_DROP = 3; // 0x3
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class FocusFinder {
+ method public android.view.View findNearestTouchable(android.view.ViewGroup, int, int, int, int[]);
+ method public final android.view.View findNextFocus(android.view.ViewGroup, android.view.View, int);
+ method public android.view.View findNextFocusFromRect(android.view.ViewGroup, android.graphics.Rect, int);
+ method public static android.view.FocusFinder getInstance();
+ }
+
+ public class GestureDetector {
+ ctor public deprecated GestureDetector(android.view.GestureDetector.OnGestureListener, android.os.Handler);
+ ctor public deprecated GestureDetector(android.view.GestureDetector.OnGestureListener);
+ ctor public GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener);
+ ctor public GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler);
+ ctor public GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean);
+ method public boolean isLongpressEnabled();
+ method public boolean onTouchEvent(android.view.MotionEvent);
+ method public void setIsLongpressEnabled(boolean);
+ method public void setOnDoubleTapListener(android.view.GestureDetector.OnDoubleTapListener);
+ }
+
+ public static abstract interface GestureDetector.OnDoubleTapListener {
+ method public abstract boolean onDoubleTap(android.view.MotionEvent);
+ method public abstract boolean onDoubleTapEvent(android.view.MotionEvent);
+ method public abstract boolean onSingleTapConfirmed(android.view.MotionEvent);
+ }
+
+ public static abstract interface GestureDetector.OnGestureListener {
+ method public abstract boolean onDown(android.view.MotionEvent);
+ method public abstract boolean onFling(android.view.MotionEvent, android.view.MotionEvent, float, float);
+ method public abstract void onLongPress(android.view.MotionEvent);
+ method public abstract boolean onScroll(android.view.MotionEvent, android.view.MotionEvent, float, float);
+ method public abstract void onShowPress(android.view.MotionEvent);
+ method public abstract boolean onSingleTapUp(android.view.MotionEvent);
+ }
+
+ public static class GestureDetector.SimpleOnGestureListener implements android.view.GestureDetector.OnDoubleTapListener android.view.GestureDetector.OnGestureListener {
+ ctor public GestureDetector.SimpleOnGestureListener();
+ method public boolean onDoubleTap(android.view.MotionEvent);
+ method public boolean onDoubleTapEvent(android.view.MotionEvent);
+ method public boolean onDown(android.view.MotionEvent);
+ method public boolean onFling(android.view.MotionEvent, android.view.MotionEvent, float, float);
+ method public void onLongPress(android.view.MotionEvent);
+ method public boolean onScroll(android.view.MotionEvent, android.view.MotionEvent, float, float);
+ method public void onShowPress(android.view.MotionEvent);
+ method public boolean onSingleTapConfirmed(android.view.MotionEvent);
+ method public boolean onSingleTapUp(android.view.MotionEvent);
+ }
+
+ public class Gravity {
+ ctor public Gravity();
+ method public static void apply(int, int, int, android.graphics.Rect, android.graphics.Rect);
+ method public static void apply(int, int, int, android.graphics.Rect, int, int, android.graphics.Rect);
+ method public static void applyDisplay(int, android.graphics.Rect, android.graphics.Rect);
+ method public static int getAbsoluteGravity(int, int);
+ method public static boolean isHorizontal(int);
+ method public static boolean isVertical(int);
+ field public static final int AXIS_CLIP = 8; // 0x8
+ field public static final int AXIS_PULL_AFTER = 4; // 0x4
+ field public static final int AXIS_PULL_BEFORE = 2; // 0x2
+ field public static final int AXIS_SPECIFIED = 1; // 0x1
+ field public static final int AXIS_X_SHIFT = 0; // 0x0
+ field public static final int AXIS_Y_SHIFT = 4; // 0x4
+ field public static final int BOTTOM = 80; // 0x50
+ field public static final int CENTER = 17; // 0x11
+ field public static final int CENTER_HORIZONTAL = 1; // 0x1
+ field public static final int CENTER_VERTICAL = 16; // 0x10
+ field public static final int CLIP_HORIZONTAL = 8; // 0x8
+ field public static final int CLIP_VERTICAL = 128; // 0x80
+ field public static final int DISPLAY_CLIP_HORIZONTAL = 16777216; // 0x1000000
+ field public static final int DISPLAY_CLIP_VERTICAL = 268435456; // 0x10000000
+ field public static final int END = 8388613; // 0x800005
+ field public static final int FILL = 119; // 0x77
+ field public static final int FILL_HORIZONTAL = 7; // 0x7
+ field public static final int FILL_VERTICAL = 112; // 0x70
+ field public static final int HORIZONTAL_GRAVITY_MASK = 7; // 0x7
+ field public static final int LEFT = 3; // 0x3
+ field public static final int NO_GRAVITY = 0; // 0x0
+ field public static final int RELATIVE_HORIZONTAL_GRAVITY_MASK = 8388615; // 0x800007
+ field public static final int RELATIVE_LAYOUT_DIRECTION = 8388608; // 0x800000
+ field public static final int RIGHT = 5; // 0x5
+ field public static final int START = 8388611; // 0x800003
+ field public static final int TOP = 48; // 0x30
+ field public static final int VERTICAL_GRAVITY_MASK = 112; // 0x70
+ }
+
+ public class HapticFeedbackConstants {
+ field public static final int FLAG_IGNORE_GLOBAL_SETTING = 2; // 0x2
+ field public static final int FLAG_IGNORE_VIEW_SETTING = 1; // 0x1
+ field public static final int KEYBOARD_TAP = 3; // 0x3
+ field public static final int LONG_PRESS = 0; // 0x0
+ field public static final int VIRTUAL_KEY = 1; // 0x1
+ }
+
+ public class InflateException extends java.lang.RuntimeException {
+ ctor public InflateException();
+ ctor public InflateException(java.lang.String, java.lang.Throwable);
+ ctor public InflateException(java.lang.String);
+ ctor public InflateException(java.lang.Throwable);
+ }
+
+ public final class InputDevice implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.view.InputDevice getDevice(int);
+ method public static int[] getDeviceIds();
+ method public int getId();
+ method public android.view.KeyCharacterMap getKeyCharacterMap();
+ method public int getKeyboardType();
+ method public android.view.InputDevice.MotionRange getMotionRange(int);
+ method public android.view.InputDevice.MotionRange getMotionRange(int, int);
+ method public java.util.List<android.view.InputDevice.MotionRange> getMotionRanges();
+ method public java.lang.String getName();
+ method public int getSources();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int KEYBOARD_TYPE_ALPHABETIC = 2; // 0x2
+ field public static final int KEYBOARD_TYPE_NONE = 0; // 0x0
+ field public static final int KEYBOARD_TYPE_NON_ALPHABETIC = 1; // 0x1
+ field public static final deprecated int MOTION_RANGE_ORIENTATION = 8; // 0x8
+ field public static final deprecated int MOTION_RANGE_PRESSURE = 2; // 0x2
+ field public static final deprecated int MOTION_RANGE_SIZE = 3; // 0x3
+ field public static final deprecated int MOTION_RANGE_TOOL_MAJOR = 6; // 0x6
+ field public static final deprecated int MOTION_RANGE_TOOL_MINOR = 7; // 0x7
+ field public static final deprecated int MOTION_RANGE_TOUCH_MAJOR = 4; // 0x4
+ field public static final deprecated int MOTION_RANGE_TOUCH_MINOR = 5; // 0x5
+ field public static final deprecated int MOTION_RANGE_X = 0; // 0x0
+ field public static final deprecated int MOTION_RANGE_Y = 1; // 0x1
+ field public static final int SOURCE_ANY = -256; // 0xffffff00
+ field public static final int SOURCE_CLASS_BUTTON = 1; // 0x1
+ field public static final int SOURCE_CLASS_JOYSTICK = 16; // 0x10
+ field public static final int SOURCE_CLASS_MASK = 255; // 0xff
+ field public static final int SOURCE_CLASS_POINTER = 2; // 0x2
+ field public static final int SOURCE_CLASS_POSITION = 8; // 0x8
+ field public static final int SOURCE_CLASS_TRACKBALL = 4; // 0x4
+ field public static final int SOURCE_DPAD = 513; // 0x201
+ field public static final int SOURCE_GAMEPAD = 1025; // 0x401
+ field public static final int SOURCE_JOYSTICK = 16777232; // 0x1000010
+ field public static final int SOURCE_KEYBOARD = 257; // 0x101
+ field public static final int SOURCE_MOUSE = 8194; // 0x2002
+ field public static final int SOURCE_STYLUS = 16386; // 0x4002
+ field public static final int SOURCE_TOUCHPAD = 1048584; // 0x100008
+ field public static final int SOURCE_TOUCHSCREEN = 4098; // 0x1002
+ field public static final int SOURCE_TRACKBALL = 65540; // 0x10004
+ field public static final int SOURCE_UNKNOWN = 0; // 0x0
+ }
+
+ public static final class InputDevice.MotionRange {
+ method public int getAxis();
+ method public float getFlat();
+ method public float getFuzz();
+ method public float getMax();
+ method public float getMin();
+ method public float getRange();
+ method public int getSource();
+ }
+
+ public abstract class InputEvent implements android.os.Parcelable {
+ method public int describeContents();
+ method public final android.view.InputDevice getDevice();
+ method public abstract int getDeviceId();
+ method public abstract int getSource();
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public final class InputQueue {
+ }
+
+ public static abstract interface InputQueue.Callback {
+ method public abstract void onInputQueueCreated(android.view.InputQueue);
+ method public abstract void onInputQueueDestroyed(android.view.InputQueue);
+ }
+
+ public class KeyCharacterMap {
+ method public static boolean deviceHasKey(int);
+ method public static boolean[] deviceHasKeys(int[]);
+ method public int get(int, int);
+ method public static int getDeadChar(int, int);
+ method public char getDisplayLabel(int);
+ method public android.view.KeyEvent[] getEvents(char[]);
+ method public deprecated boolean getKeyData(int, android.view.KeyCharacterMap.KeyData);
+ method public int getKeyboardType();
+ method public char getMatch(int, char[]);
+ method public char getMatch(int, char[], int);
+ method public int getModifierBehavior();
+ method public char getNumber(int);
+ method public boolean isPrintingKey(int);
+ method public static android.view.KeyCharacterMap load(int);
+ field public static final int ALPHA = 3; // 0x3
+ field public static final deprecated int BUILT_IN_KEYBOARD = 0; // 0x0
+ field public static final int COMBINING_ACCENT = -2147483648; // 0x80000000
+ field public static final int COMBINING_ACCENT_MASK = 2147483647; // 0x7fffffff
+ field public static final int FULL = 4; // 0x4
+ field public static final char HEX_INPUT = 61184; // 0xef00 '\uef00'
+ field public static final int MODIFIER_BEHAVIOR_CHORDED = 0; // 0x0
+ field public static final int MODIFIER_BEHAVIOR_CHORDED_OR_TOGGLED = 1; // 0x1
+ field public static final int NUMERIC = 1; // 0x1
+ field public static final char PICKER_DIALOG_INPUT = 61185; // 0xef01 '\uef01'
+ field public static final int PREDICTIVE = 2; // 0x2
+ field public static final int SPECIAL_FUNCTION = 5; // 0x5
+ field public static final int VIRTUAL_KEYBOARD = -1; // 0xffffffff
+ }
+
+ public static deprecated class KeyCharacterMap.KeyData {
+ ctor public KeyCharacterMap.KeyData();
+ field public static final int META_LENGTH = 4; // 0x4
+ field public char displayLabel;
+ field public char[] meta;
+ field public char number;
+ }
+
+ public static class KeyCharacterMap.UnavailableException extends android.util.AndroidRuntimeException {
+ ctor public KeyCharacterMap.UnavailableException(java.lang.String);
+ }
+
+ public class KeyEvent extends android.view.InputEvent implements android.os.Parcelable {
+ ctor public KeyEvent(int, int);
+ ctor public KeyEvent(long, long, int, int, int);
+ ctor public KeyEvent(long, long, int, int, int, int);
+ ctor public KeyEvent(long, long, int, int, int, int, int, int);
+ ctor public KeyEvent(long, long, int, int, int, int, int, int, int);
+ ctor public KeyEvent(long, long, int, int, int, int, int, int, int, int);
+ ctor public KeyEvent(long, java.lang.String, int, int);
+ ctor public KeyEvent(android.view.KeyEvent);
+ ctor public deprecated KeyEvent(android.view.KeyEvent, long, int);
+ method public static android.view.KeyEvent changeAction(android.view.KeyEvent, int);
+ method public static android.view.KeyEvent changeFlags(android.view.KeyEvent, int);
+ method public static android.view.KeyEvent changeTimeRepeat(android.view.KeyEvent, long, int);
+ method public static android.view.KeyEvent changeTimeRepeat(android.view.KeyEvent, long, int, int);
+ method public final deprecated boolean dispatch(android.view.KeyEvent.Callback);
+ method public final boolean dispatch(android.view.KeyEvent.Callback, android.view.KeyEvent.DispatcherState, java.lang.Object);
+ method public final int getAction();
+ method public final java.lang.String getCharacters();
+ method public static int getDeadChar(int, int);
+ method public final int getDeviceId();
+ method public char getDisplayLabel();
+ method public final long getDownTime();
+ method public final long getEventTime();
+ method public final int getFlags();
+ method public final android.view.KeyCharacterMap getKeyCharacterMap();
+ method public final int getKeyCode();
+ method public deprecated boolean getKeyData(android.view.KeyCharacterMap.KeyData);
+ method public char getMatch(char[]);
+ method public char getMatch(char[], int);
+ method public static int getMaxKeyCode();
+ method public final int getMetaState();
+ method public static int getModifierMetaStateMask();
+ method public final int getModifiers();
+ method public char getNumber();
+ method public final int getRepeatCount();
+ method public final int getScanCode();
+ method public final int getSource();
+ method public int getUnicodeChar();
+ method public int getUnicodeChar(int);
+ method public final boolean hasModifiers(int);
+ method public final boolean hasNoModifiers();
+ method public final boolean isAltPressed();
+ method public final boolean isCanceled();
+ method public final boolean isCapsLockOn();
+ method public final boolean isCtrlPressed();
+ method public final boolean isFunctionPressed();
+ method public static final boolean isGamepadButton(int);
+ method public final boolean isLongPress();
+ method public final boolean isMetaPressed();
+ method public static boolean isModifierKey(int);
+ method public final boolean isNumLockOn();
+ method public boolean isPrintingKey();
+ method public final boolean isScrollLockOn();
+ method public final boolean isShiftPressed();
+ method public final boolean isSymPressed();
+ method public final boolean isSystem();
+ method public final boolean isTracking();
+ method public static int keyCodeFromString(java.lang.String);
+ method public static java.lang.String keyCodeToString(int);
+ method public static boolean metaStateHasModifiers(int, int);
+ method public static boolean metaStateHasNoModifiers(int);
+ method public static int normalizeMetaState(int);
+ method public final void setSource(int);
+ method public final void startTracking();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final int ACTION_DOWN = 0; // 0x0
+ field public static final int ACTION_MULTIPLE = 2; // 0x2
+ field public static final int ACTION_UP = 1; // 0x1
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int FLAG_CANCELED = 32; // 0x20
+ field public static final int FLAG_CANCELED_LONG_PRESS = 256; // 0x100
+ field public static final int FLAG_EDITOR_ACTION = 16; // 0x10
+ field public static final int FLAG_FALLBACK = 1024; // 0x400
+ field public static final int FLAG_FROM_SYSTEM = 8; // 0x8
+ field public static final int FLAG_KEEP_TOUCH_MODE = 4; // 0x4
+ field public static final int FLAG_LONG_PRESS = 128; // 0x80
+ field public static final int FLAG_SOFT_KEYBOARD = 2; // 0x2
+ field public static final int FLAG_TRACKING = 512; // 0x200
+ field public static final int FLAG_VIRTUAL_HARD_KEY = 64; // 0x40
+ field public static final int FLAG_WOKE_HERE = 1; // 0x1
+ field public static final int KEYCODE_0 = 7; // 0x7
+ field public static final int KEYCODE_1 = 8; // 0x8
+ field public static final int KEYCODE_2 = 9; // 0x9
+ field public static final int KEYCODE_3 = 10; // 0xa
+ field public static final int KEYCODE_3D_MODE = 206; // 0xce
+ field public static final int KEYCODE_4 = 11; // 0xb
+ field public static final int KEYCODE_5 = 12; // 0xc
+ field public static final int KEYCODE_6 = 13; // 0xd
+ field public static final int KEYCODE_7 = 14; // 0xe
+ field public static final int KEYCODE_8 = 15; // 0xf
+ field public static final int KEYCODE_9 = 16; // 0x10
+ field public static final int KEYCODE_A = 29; // 0x1d
+ field public static final int KEYCODE_ALT_LEFT = 57; // 0x39
+ field public static final int KEYCODE_ALT_RIGHT = 58; // 0x3a
+ field public static final int KEYCODE_APOSTROPHE = 75; // 0x4b
+ field public static final int KEYCODE_APP_SWITCH = 187; // 0xbb
+ field public static final int KEYCODE_AT = 77; // 0x4d
+ field public static final int KEYCODE_AVR_INPUT = 182; // 0xb6
+ field public static final int KEYCODE_AVR_POWER = 181; // 0xb5
+ field public static final int KEYCODE_B = 30; // 0x1e
+ field public static final int KEYCODE_BACK = 4; // 0x4
+ field public static final int KEYCODE_BACKSLASH = 73; // 0x49
+ field public static final int KEYCODE_BOOKMARK = 174; // 0xae
+ field public static final int KEYCODE_BREAK = 121; // 0x79
+ field public static final int KEYCODE_BUTTON_1 = 188; // 0xbc
+ field public static final int KEYCODE_BUTTON_10 = 197; // 0xc5
+ field public static final int KEYCODE_BUTTON_11 = 198; // 0xc6
+ field public static final int KEYCODE_BUTTON_12 = 199; // 0xc7
+ field public static final int KEYCODE_BUTTON_13 = 200; // 0xc8
+ field public static final int KEYCODE_BUTTON_14 = 201; // 0xc9
+ field public static final int KEYCODE_BUTTON_15 = 202; // 0xca
+ field public static final int KEYCODE_BUTTON_16 = 203; // 0xcb
+ field public static final int KEYCODE_BUTTON_2 = 189; // 0xbd
+ field public static final int KEYCODE_BUTTON_3 = 190; // 0xbe
+ field public static final int KEYCODE_BUTTON_4 = 191; // 0xbf
+ field public static final int KEYCODE_BUTTON_5 = 192; // 0xc0
+ field public static final int KEYCODE_BUTTON_6 = 193; // 0xc1
+ field public static final int KEYCODE_BUTTON_7 = 194; // 0xc2
+ field public static final int KEYCODE_BUTTON_8 = 195; // 0xc3
+ field public static final int KEYCODE_BUTTON_9 = 196; // 0xc4
+ field public static final int KEYCODE_BUTTON_A = 96; // 0x60
+ field public static final int KEYCODE_BUTTON_B = 97; // 0x61
+ field public static final int KEYCODE_BUTTON_C = 98; // 0x62
+ field public static final int KEYCODE_BUTTON_L1 = 102; // 0x66
+ field public static final int KEYCODE_BUTTON_L2 = 104; // 0x68
+ field public static final int KEYCODE_BUTTON_MODE = 110; // 0x6e
+ field public static final int KEYCODE_BUTTON_R1 = 103; // 0x67
+ field public static final int KEYCODE_BUTTON_R2 = 105; // 0x69
+ field public static final int KEYCODE_BUTTON_SELECT = 109; // 0x6d
+ field public static final int KEYCODE_BUTTON_START = 108; // 0x6c
+ field public static final int KEYCODE_BUTTON_THUMBL = 106; // 0x6a
+ field public static final int KEYCODE_BUTTON_THUMBR = 107; // 0x6b
+ field public static final int KEYCODE_BUTTON_X = 99; // 0x63
+ field public static final int KEYCODE_BUTTON_Y = 100; // 0x64
+ field public static final int KEYCODE_BUTTON_Z = 101; // 0x65
+ field public static final int KEYCODE_C = 31; // 0x1f
+ field public static final int KEYCODE_CALL = 5; // 0x5
+ field public static final int KEYCODE_CAMERA = 27; // 0x1b
+ field public static final int KEYCODE_CAPS_LOCK = 115; // 0x73
+ field public static final int KEYCODE_CAPTIONS = 175; // 0xaf
+ field public static final int KEYCODE_CHANNEL_DOWN = 167; // 0xa7
+ field public static final int KEYCODE_CHANNEL_UP = 166; // 0xa6
+ field public static final int KEYCODE_CLEAR = 28; // 0x1c
+ field public static final int KEYCODE_COMMA = 55; // 0x37
+ field public static final int KEYCODE_CTRL_LEFT = 113; // 0x71
+ field public static final int KEYCODE_CTRL_RIGHT = 114; // 0x72
+ field public static final int KEYCODE_D = 32; // 0x20
+ field public static final int KEYCODE_DEL = 67; // 0x43
+ field public static final int KEYCODE_DPAD_CENTER = 23; // 0x17
+ field public static final int KEYCODE_DPAD_DOWN = 20; // 0x14
+ field public static final int KEYCODE_DPAD_LEFT = 21; // 0x15
+ field public static final int KEYCODE_DPAD_RIGHT = 22; // 0x16
+ field public static final int KEYCODE_DPAD_UP = 19; // 0x13
+ field public static final int KEYCODE_DVR = 173; // 0xad
+ field public static final int KEYCODE_E = 33; // 0x21
+ field public static final int KEYCODE_ENDCALL = 6; // 0x6
+ field public static final int KEYCODE_ENTER = 66; // 0x42
+ field public static final int KEYCODE_ENVELOPE = 65; // 0x41
+ field public static final int KEYCODE_EQUALS = 70; // 0x46
+ field public static final int KEYCODE_ESCAPE = 111; // 0x6f
+ field public static final int KEYCODE_EXPLORER = 64; // 0x40
+ field public static final int KEYCODE_F = 34; // 0x22
+ field public static final int KEYCODE_F1 = 131; // 0x83
+ field public static final int KEYCODE_F10 = 140; // 0x8c
+ field public static final int KEYCODE_F11 = 141; // 0x8d
+ field public static final int KEYCODE_F12 = 142; // 0x8e
+ field public static final int KEYCODE_F2 = 132; // 0x84
+ field public static final int KEYCODE_F3 = 133; // 0x85
+ field public static final int KEYCODE_F4 = 134; // 0x86
+ field public static final int KEYCODE_F5 = 135; // 0x87
+ field public static final int KEYCODE_F6 = 136; // 0x88
+ field public static final int KEYCODE_F7 = 137; // 0x89
+ field public static final int KEYCODE_F8 = 138; // 0x8a
+ field public static final int KEYCODE_F9 = 139; // 0x8b
+ field public static final int KEYCODE_FOCUS = 80; // 0x50
+ field public static final int KEYCODE_FORWARD = 125; // 0x7d
+ field public static final int KEYCODE_FORWARD_DEL = 112; // 0x70
+ field public static final int KEYCODE_FUNCTION = 119; // 0x77
+ field public static final int KEYCODE_G = 35; // 0x23
+ field public static final int KEYCODE_GRAVE = 68; // 0x44
+ field public static final int KEYCODE_GUIDE = 172; // 0xac
+ field public static final int KEYCODE_H = 36; // 0x24
+ field public static final int KEYCODE_HEADSETHOOK = 79; // 0x4f
+ field public static final int KEYCODE_HOME = 3; // 0x3
+ field public static final int KEYCODE_I = 37; // 0x25
+ field public static final int KEYCODE_INFO = 165; // 0xa5
+ field public static final int KEYCODE_INSERT = 124; // 0x7c
+ field public static final int KEYCODE_J = 38; // 0x26
+ field public static final int KEYCODE_K = 39; // 0x27
+ field public static final int KEYCODE_L = 40; // 0x28
+ field public static final int KEYCODE_LANGUAGE_SWITCH = 204; // 0xcc
+ field public static final int KEYCODE_LEFT_BRACKET = 71; // 0x47
+ field public static final int KEYCODE_M = 41; // 0x29
+ field public static final int KEYCODE_MANNER_MODE = 205; // 0xcd
+ field public static final int KEYCODE_MEDIA_CLOSE = 128; // 0x80
+ field public static final int KEYCODE_MEDIA_EJECT = 129; // 0x81
+ field public static final int KEYCODE_MEDIA_FAST_FORWARD = 90; // 0x5a
+ field public static final int KEYCODE_MEDIA_NEXT = 87; // 0x57
+ field public static final int KEYCODE_MEDIA_PAUSE = 127; // 0x7f
+ field public static final int KEYCODE_MEDIA_PLAY = 126; // 0x7e
+ field public static final int KEYCODE_MEDIA_PLAY_PAUSE = 85; // 0x55
+ field public static final int KEYCODE_MEDIA_PREVIOUS = 88; // 0x58
+ field public static final int KEYCODE_MEDIA_RECORD = 130; // 0x82
+ field public static final int KEYCODE_MEDIA_REWIND = 89; // 0x59
+ field public static final int KEYCODE_MEDIA_STOP = 86; // 0x56
+ field public static final int KEYCODE_MENU = 82; // 0x52
+ field public static final int KEYCODE_META_LEFT = 117; // 0x75
+ field public static final int KEYCODE_META_RIGHT = 118; // 0x76
+ field public static final int KEYCODE_MINUS = 69; // 0x45
+ field public static final int KEYCODE_MOVE_END = 123; // 0x7b
+ field public static final int KEYCODE_MOVE_HOME = 122; // 0x7a
+ field public static final int KEYCODE_MUTE = 91; // 0x5b
+ field public static final int KEYCODE_N = 42; // 0x2a
+ field public static final int KEYCODE_NOTIFICATION = 83; // 0x53
+ field public static final int KEYCODE_NUM = 78; // 0x4e
+ field public static final int KEYCODE_NUMPAD_0 = 144; // 0x90
+ field public static final int KEYCODE_NUMPAD_1 = 145; // 0x91
+ field public static final int KEYCODE_NUMPAD_2 = 146; // 0x92
+ field public static final int KEYCODE_NUMPAD_3 = 147; // 0x93
+ field public static final int KEYCODE_NUMPAD_4 = 148; // 0x94
+ field public static final int KEYCODE_NUMPAD_5 = 149; // 0x95
+ field public static final int KEYCODE_NUMPAD_6 = 150; // 0x96
+ field public static final int KEYCODE_NUMPAD_7 = 151; // 0x97
+ field public static final int KEYCODE_NUMPAD_8 = 152; // 0x98
+ field public static final int KEYCODE_NUMPAD_9 = 153; // 0x99
+ field public static final int KEYCODE_NUMPAD_ADD = 157; // 0x9d
+ field public static final int KEYCODE_NUMPAD_COMMA = 159; // 0x9f
+ field public static final int KEYCODE_NUMPAD_DIVIDE = 154; // 0x9a
+ field public static final int KEYCODE_NUMPAD_DOT = 158; // 0x9e
+ field public static final int KEYCODE_NUMPAD_ENTER = 160; // 0xa0
+ field public static final int KEYCODE_NUMPAD_EQUALS = 161; // 0xa1
+ field public static final int KEYCODE_NUMPAD_LEFT_PAREN = 162; // 0xa2
+ field public static final int KEYCODE_NUMPAD_MULTIPLY = 155; // 0x9b
+ field public static final int KEYCODE_NUMPAD_RIGHT_PAREN = 163; // 0xa3
+ field public static final int KEYCODE_NUMPAD_SUBTRACT = 156; // 0x9c
+ field public static final int KEYCODE_NUM_LOCK = 143; // 0x8f
+ field public static final int KEYCODE_O = 43; // 0x2b
+ field public static final int KEYCODE_P = 44; // 0x2c
+ field public static final int KEYCODE_PAGE_DOWN = 93; // 0x5d
+ field public static final int KEYCODE_PAGE_UP = 92; // 0x5c
+ field public static final int KEYCODE_PERIOD = 56; // 0x38
+ field public static final int KEYCODE_PICTSYMBOLS = 94; // 0x5e
+ field public static final int KEYCODE_PLUS = 81; // 0x51
+ field public static final int KEYCODE_POUND = 18; // 0x12
+ field public static final int KEYCODE_POWER = 26; // 0x1a
+ field public static final int KEYCODE_PROG_BLUE = 186; // 0xba
+ field public static final int KEYCODE_PROG_GREEN = 184; // 0xb8
+ field public static final int KEYCODE_PROG_RED = 183; // 0xb7
+ field public static final int KEYCODE_PROG_YELLOW = 185; // 0xb9
+ field public static final int KEYCODE_Q = 45; // 0x2d
+ field public static final int KEYCODE_R = 46; // 0x2e
+ field public static final int KEYCODE_RIGHT_BRACKET = 72; // 0x48
+ field public static final int KEYCODE_S = 47; // 0x2f
+ field public static final int KEYCODE_SCROLL_LOCK = 116; // 0x74
+ field public static final int KEYCODE_SEARCH = 84; // 0x54
+ field public static final int KEYCODE_SEMICOLON = 74; // 0x4a
+ field public static final int KEYCODE_SETTINGS = 176; // 0xb0
+ field public static final int KEYCODE_SHIFT_LEFT = 59; // 0x3b
+ field public static final int KEYCODE_SHIFT_RIGHT = 60; // 0x3c
+ field public static final int KEYCODE_SLASH = 76; // 0x4c
+ field public static final int KEYCODE_SOFT_LEFT = 1; // 0x1
+ field public static final int KEYCODE_SOFT_RIGHT = 2; // 0x2
+ field public static final int KEYCODE_SPACE = 62; // 0x3e
+ field public static final int KEYCODE_STAR = 17; // 0x11
+ field public static final int KEYCODE_STB_INPUT = 180; // 0xb4
+ field public static final int KEYCODE_STB_POWER = 179; // 0xb3
+ field public static final int KEYCODE_SWITCH_CHARSET = 95; // 0x5f
+ field public static final int KEYCODE_SYM = 63; // 0x3f
+ field public static final int KEYCODE_SYSRQ = 120; // 0x78
+ field public static final int KEYCODE_T = 48; // 0x30
+ field public static final int KEYCODE_TAB = 61; // 0x3d
+ field public static final int KEYCODE_TV = 170; // 0xaa
+ field public static final int KEYCODE_TV_INPUT = 178; // 0xb2
+ field public static final int KEYCODE_TV_POWER = 177; // 0xb1
+ field public static final int KEYCODE_U = 49; // 0x31
+ field public static final int KEYCODE_UNKNOWN = 0; // 0x0
+ field public static final int KEYCODE_V = 50; // 0x32
+ field public static final int KEYCODE_VOLUME_DOWN = 25; // 0x19
+ field public static final int KEYCODE_VOLUME_MUTE = 164; // 0xa4
+ field public static final int KEYCODE_VOLUME_UP = 24; // 0x18
+ field public static final int KEYCODE_W = 51; // 0x33
+ field public static final int KEYCODE_WINDOW = 171; // 0xab
+ field public static final int KEYCODE_X = 52; // 0x34
+ field public static final int KEYCODE_Y = 53; // 0x35
+ field public static final int KEYCODE_Z = 54; // 0x36
+ field public static final int KEYCODE_ZOOM_IN = 168; // 0xa8
+ field public static final int KEYCODE_ZOOM_OUT = 169; // 0xa9
+ field public static final deprecated int MAX_KEYCODE = 84; // 0x54
+ field public static final int META_ALT_LEFT_ON = 16; // 0x10
+ field public static final int META_ALT_MASK = 50; // 0x32
+ field public static final int META_ALT_ON = 2; // 0x2
+ field public static final int META_ALT_RIGHT_ON = 32; // 0x20
+ field public static final int META_CAPS_LOCK_ON = 1048576; // 0x100000
+ field public static final int META_CTRL_LEFT_ON = 8192; // 0x2000
+ field public static final int META_CTRL_MASK = 28672; // 0x7000
+ field public static final int META_CTRL_ON = 4096; // 0x1000
+ field public static final int META_CTRL_RIGHT_ON = 16384; // 0x4000
+ field public static final int META_FUNCTION_ON = 8; // 0x8
+ field public static final int META_META_LEFT_ON = 131072; // 0x20000
+ field public static final int META_META_MASK = 458752; // 0x70000
+ field public static final int META_META_ON = 65536; // 0x10000
+ field public static final int META_META_RIGHT_ON = 262144; // 0x40000
+ field public static final int META_NUM_LOCK_ON = 2097152; // 0x200000
+ field public static final int META_SCROLL_LOCK_ON = 4194304; // 0x400000
+ field public static final int META_SHIFT_LEFT_ON = 64; // 0x40
+ field public static final int META_SHIFT_MASK = 193; // 0xc1
+ field public static final int META_SHIFT_ON = 1; // 0x1
+ field public static final int META_SHIFT_RIGHT_ON = 128; // 0x80
+ field public static final int META_SYM_ON = 4; // 0x4
+ }
+
+ public static abstract interface KeyEvent.Callback {
+ method public abstract boolean onKeyDown(int, android.view.KeyEvent);
+ method public abstract boolean onKeyLongPress(int, android.view.KeyEvent);
+ method public abstract boolean onKeyMultiple(int, int, android.view.KeyEvent);
+ method public abstract boolean onKeyUp(int, android.view.KeyEvent);
+ }
+
+ public static class KeyEvent.DispatcherState {
+ ctor public KeyEvent.DispatcherState();
+ method public void handleUpEvent(android.view.KeyEvent);
+ method public boolean isTracking(android.view.KeyEvent);
+ method public void performedLongPress(android.view.KeyEvent);
+ method public void reset();
+ method public void reset(java.lang.Object);
+ method public void startTracking(android.view.KeyEvent, java.lang.Object);
+ }
+
+ public abstract class LayoutInflater {
+ ctor protected LayoutInflater(android.content.Context);
+ ctor protected LayoutInflater(android.view.LayoutInflater, android.content.Context);
+ method public abstract android.view.LayoutInflater cloneInContext(android.content.Context);
+ method public final android.view.View createView(java.lang.String, java.lang.String, android.util.AttributeSet) throws java.lang.ClassNotFoundException, android.view.InflateException;
+ method public static android.view.LayoutInflater from(android.content.Context);
+ method public android.content.Context getContext();
+ method public final android.view.LayoutInflater.Factory getFactory();
+ method public final android.view.LayoutInflater.Factory2 getFactory2();
+ method public android.view.LayoutInflater.Filter getFilter();
+ method public android.view.View inflate(int, android.view.ViewGroup);
+ method public android.view.View inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup);
+ method public android.view.View inflate(int, android.view.ViewGroup, boolean);
+ method public android.view.View inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean);
+ method protected android.view.View onCreateView(java.lang.String, android.util.AttributeSet) throws java.lang.ClassNotFoundException;
+ method protected android.view.View onCreateView(android.view.View, java.lang.String, android.util.AttributeSet) throws java.lang.ClassNotFoundException;
+ method public void setFactory(android.view.LayoutInflater.Factory);
+ method public void setFactory2(android.view.LayoutInflater.Factory2);
+ method public void setFilter(android.view.LayoutInflater.Filter);
+ }
+
+ public static abstract interface LayoutInflater.Factory {
+ method public abstract android.view.View onCreateView(java.lang.String, android.content.Context, android.util.AttributeSet);
+ }
+
+ public static abstract interface LayoutInflater.Factory2 implements android.view.LayoutInflater.Factory {
+ method public abstract android.view.View onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet);
+ }
+
+ public static abstract interface LayoutInflater.Filter {
+ method public abstract boolean onLoadClass(java.lang.Class);
+ }
+
+ public abstract interface Menu {
+ method public abstract android.view.MenuItem add(java.lang.CharSequence);
+ method public abstract android.view.MenuItem add(int);
+ method public abstract android.view.MenuItem add(int, int, int, java.lang.CharSequence);
+ method public abstract android.view.MenuItem add(int, int, int, int);
+ method public abstract int addIntentOptions(int, int, int, android.content.ComponentName, android.content.Intent[], android.content.Intent, int, android.view.MenuItem[]);
+ method public abstract android.view.SubMenu addSubMenu(java.lang.CharSequence);
+ method public abstract android.view.SubMenu addSubMenu(int);
+ method public abstract android.view.SubMenu addSubMenu(int, int, int, java.lang.CharSequence);
+ method public abstract android.view.SubMenu addSubMenu(int, int, int, int);
+ method public abstract void clear();
+ method public abstract void close();
+ method public abstract android.view.MenuItem findItem(int);
+ method public abstract android.view.MenuItem getItem(int);
+ method public abstract boolean hasVisibleItems();
+ method public abstract boolean isShortcutKey(int, android.view.KeyEvent);
+ method public abstract boolean performIdentifierAction(int, int);
+ method public abstract boolean performShortcut(int, android.view.KeyEvent, int);
+ method public abstract void removeGroup(int);
+ method public abstract void removeItem(int);
+ method public abstract void setGroupCheckable(int, boolean, boolean);
+ method public abstract void setGroupEnabled(int, boolean);
+ method public abstract void setGroupVisible(int, boolean);
+ method public abstract void setQwertyMode(boolean);
+ method public abstract int size();
+ field public static final int CATEGORY_ALTERNATIVE = 262144; // 0x40000
+ field public static final int CATEGORY_CONTAINER = 65536; // 0x10000
+ field public static final int CATEGORY_SECONDARY = 196608; // 0x30000
+ field public static final int CATEGORY_SYSTEM = 131072; // 0x20000
+ field public static final int FIRST = 1; // 0x1
+ field public static final int FLAG_ALWAYS_PERFORM_CLOSE = 2; // 0x2
+ field public static final int FLAG_APPEND_TO_GROUP = 1; // 0x1
+ field public static final int FLAG_PERFORM_NO_CLOSE = 1; // 0x1
+ field public static final int NONE = 0; // 0x0
+ }
+
+ public class MenuInflater {
+ ctor public MenuInflater(android.content.Context);
+ method public void inflate(int, android.view.Menu);
+ }
+
+ public abstract interface MenuItem {
+ method public abstract boolean collapseActionView();
+ method public abstract boolean expandActionView();
+ method public abstract android.view.ActionProvider getActionProvider();
+ method public abstract android.view.View getActionView();
+ method public abstract char getAlphabeticShortcut();
+ method public abstract int getGroupId();
+ method public abstract android.graphics.drawable.Drawable getIcon();
+ method public abstract android.content.Intent getIntent();
+ method public abstract int getItemId();
+ method public abstract android.view.ContextMenu.ContextMenuInfo getMenuInfo();
+ method public abstract char getNumericShortcut();
+ method public abstract int getOrder();
+ method public abstract android.view.SubMenu getSubMenu();
+ method public abstract java.lang.CharSequence getTitle();
+ method public abstract java.lang.CharSequence getTitleCondensed();
+ method public abstract boolean hasSubMenu();
+ method public abstract boolean isActionViewExpanded();
+ method public abstract boolean isCheckable();
+ method public abstract boolean isChecked();
+ method public abstract boolean isEnabled();
+ method public abstract boolean isVisible();
+ method public abstract android.view.MenuItem setActionProvider(android.view.ActionProvider);
+ method public abstract android.view.MenuItem setActionView(android.view.View);
+ method public abstract android.view.MenuItem setActionView(int);
+ method public abstract android.view.MenuItem setAlphabeticShortcut(char);
+ method public abstract android.view.MenuItem setCheckable(boolean);
+ method public abstract android.view.MenuItem setChecked(boolean);
+ method public abstract android.view.MenuItem setEnabled(boolean);
+ method public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable);
+ method public abstract android.view.MenuItem setIcon(int);
+ method public abstract android.view.MenuItem setIntent(android.content.Intent);
+ method public abstract android.view.MenuItem setNumericShortcut(char);
+ method public abstract android.view.MenuItem setOnActionExpandListener(android.view.MenuItem.OnActionExpandListener);
+ method public abstract android.view.MenuItem setOnMenuItemClickListener(android.view.MenuItem.OnMenuItemClickListener);
+ method public abstract android.view.MenuItem setShortcut(char, char);
+ method public abstract void setShowAsAction(int);
+ method public abstract android.view.MenuItem setShowAsActionFlags(int);
+ method public abstract android.view.MenuItem setTitle(java.lang.CharSequence);
+ method public abstract android.view.MenuItem setTitle(int);
+ method public abstract android.view.MenuItem setTitleCondensed(java.lang.CharSequence);
+ method public abstract android.view.MenuItem setVisible(boolean);
+ field public static final int SHOW_AS_ACTION_ALWAYS = 2; // 0x2
+ field public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = 8; // 0x8
+ field public static final int SHOW_AS_ACTION_IF_ROOM = 1; // 0x1
+ field public static final int SHOW_AS_ACTION_NEVER = 0; // 0x0
+ field public static final int SHOW_AS_ACTION_WITH_TEXT = 4; // 0x4
+ }
+
+ public static abstract interface MenuItem.OnActionExpandListener {
+ method public abstract boolean onMenuItemActionCollapse(android.view.MenuItem);
+ method public abstract boolean onMenuItemActionExpand(android.view.MenuItem);
+ }
+
+ public static abstract interface MenuItem.OnMenuItemClickListener {
+ method public abstract boolean onMenuItemClick(android.view.MenuItem);
+ }
+
+ public final class MotionEvent extends android.view.InputEvent implements android.os.Parcelable {
+ method public final void addBatch(long, float, float, float, float, int);
+ method public final void addBatch(long, android.view.MotionEvent.PointerCoords[], int);
+ method public static int axisFromString(java.lang.String);
+ method public static java.lang.String axisToString(int);
+ method public final int findPointerIndex(int);
+ method public final int getAction();
+ method public final int getActionIndex();
+ method public final int getActionMasked();
+ method public final float getAxisValue(int);
+ method public final float getAxisValue(int, int);
+ method public final int getButtonState();
+ method public final int getDeviceId();
+ method public final long getDownTime();
+ method public final int getEdgeFlags();
+ method public final long getEventTime();
+ method public final int getFlags();
+ method public final float getHistoricalAxisValue(int, int);
+ method public final float getHistoricalAxisValue(int, int, int);
+ method public final long getHistoricalEventTime(int);
+ method public final float getHistoricalOrientation(int);
+ method public final float getHistoricalOrientation(int, int);
+ method public final void getHistoricalPointerCoords(int, int, android.view.MotionEvent.PointerCoords);
+ method public final float getHistoricalPressure(int);
+ method public final float getHistoricalPressure(int, int);
+ method public final float getHistoricalSize(int);
+ method public final float getHistoricalSize(int, int);
+ method public final float getHistoricalToolMajor(int);
+ method public final float getHistoricalToolMajor(int, int);
+ method public final float getHistoricalToolMinor(int);
+ method public final float getHistoricalToolMinor(int, int);
+ method public final float getHistoricalTouchMajor(int);
+ method public final float getHistoricalTouchMajor(int, int);
+ method public final float getHistoricalTouchMinor(int);
+ method public final float getHistoricalTouchMinor(int, int);
+ method public final float getHistoricalX(int);
+ method public final float getHistoricalX(int, int);
+ method public final float getHistoricalY(int);
+ method public final float getHistoricalY(int, int);
+ method public final int getHistorySize();
+ method public final int getMetaState();
+ method public final float getOrientation();
+ method public final float getOrientation(int);
+ method public final void getPointerCoords(int, android.view.MotionEvent.PointerCoords);
+ method public final int getPointerCount();
+ method public final int getPointerId(int);
+ method public final void getPointerProperties(int, android.view.MotionEvent.PointerProperties);
+ method public final float getPressure();
+ method public final float getPressure(int);
+ method public final float getRawX();
+ method public final float getRawY();
+ method public final float getSize();
+ method public final float getSize(int);
+ method public final int getSource();
+ method public final float getToolMajor();
+ method public final float getToolMajor(int);
+ method public final float getToolMinor();
+ method public final float getToolMinor(int);
+ method public final int getToolType(int);
+ method public final float getTouchMajor();
+ method public final float getTouchMajor(int);
+ method public final float getTouchMinor();
+ method public final float getTouchMinor(int);
+ method public final float getX();
+ method public final float getX(int);
+ method public final float getXPrecision();
+ method public final float getY();
+ method public final float getY(int);
+ method public final float getYPrecision();
+ method public static android.view.MotionEvent obtain(long, long, int, int, android.view.MotionEvent.PointerProperties[], android.view.MotionEvent.PointerCoords[], int, int, float, float, int, int, int, int);
+ method public static deprecated android.view.MotionEvent obtain(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int);
+ method public static android.view.MotionEvent obtain(long, long, int, float, float, float, float, int, float, float, int, int);
+ method public static deprecated android.view.MotionEvent obtain(long, long, int, int, float, float, float, float, int, float, float, int, int);
+ method public static android.view.MotionEvent obtain(long, long, int, float, float, int);
+ method public static android.view.MotionEvent obtain(android.view.MotionEvent);
+ method public static android.view.MotionEvent obtainNoHistory(android.view.MotionEvent);
+ method public final void offsetLocation(float, float);
+ method public final void recycle();
+ method public final void setAction(int);
+ method public final void setEdgeFlags(int);
+ method public final void setLocation(float, float);
+ method public final void setSource(int);
+ method public final void transform(android.graphics.Matrix);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final int ACTION_CANCEL = 3; // 0x3
+ field public static final int ACTION_DOWN = 0; // 0x0
+ field public static final int ACTION_HOVER_ENTER = 9; // 0x9
+ field public static final int ACTION_HOVER_EXIT = 10; // 0xa
+ field public static final int ACTION_HOVER_MOVE = 7; // 0x7
+ field public static final int ACTION_MASK = 255; // 0xff
+ field public static final int ACTION_MOVE = 2; // 0x2
+ field public static final int ACTION_OUTSIDE = 4; // 0x4
+ field public static final deprecated int ACTION_POINTER_1_DOWN = 5; // 0x5
+ field public static final deprecated int ACTION_POINTER_1_UP = 6; // 0x6
+ field public static final deprecated int ACTION_POINTER_2_DOWN = 261; // 0x105
+ field public static final deprecated int ACTION_POINTER_2_UP = 262; // 0x106
+ field public static final deprecated int ACTION_POINTER_3_DOWN = 517; // 0x205
+ field public static final deprecated int ACTION_POINTER_3_UP = 518; // 0x206
+ field public static final int ACTION_POINTER_DOWN = 5; // 0x5
+ field public static final deprecated int ACTION_POINTER_ID_MASK = 65280; // 0xff00
+ field public static final deprecated int ACTION_POINTER_ID_SHIFT = 8; // 0x8
+ field public static final int ACTION_POINTER_INDEX_MASK = 65280; // 0xff00
+ field public static final int ACTION_POINTER_INDEX_SHIFT = 8; // 0x8
+ field public static final int ACTION_POINTER_UP = 6; // 0x6
+ field public static final int ACTION_SCROLL = 8; // 0x8
+ field public static final int ACTION_UP = 1; // 0x1
+ field public static final int AXIS_BRAKE = 23; // 0x17
+ field public static final int AXIS_DISTANCE = 24; // 0x18
+ field public static final int AXIS_GAS = 22; // 0x16
+ field public static final int AXIS_GENERIC_1 = 32; // 0x20
+ field public static final int AXIS_GENERIC_10 = 41; // 0x29
+ field public static final int AXIS_GENERIC_11 = 42; // 0x2a
+ field public static final int AXIS_GENERIC_12 = 43; // 0x2b
+ field public static final int AXIS_GENERIC_13 = 44; // 0x2c
+ field public static final int AXIS_GENERIC_14 = 45; // 0x2d
+ field public static final int AXIS_GENERIC_15 = 46; // 0x2e
+ field public static final int AXIS_GENERIC_16 = 47; // 0x2f
+ field public static final int AXIS_GENERIC_2 = 33; // 0x21
+ field public static final int AXIS_GENERIC_3 = 34; // 0x22
+ field public static final int AXIS_GENERIC_4 = 35; // 0x23
+ field public static final int AXIS_GENERIC_5 = 36; // 0x24
+ field public static final int AXIS_GENERIC_6 = 37; // 0x25
+ field public static final int AXIS_GENERIC_7 = 38; // 0x26
+ field public static final int AXIS_GENERIC_8 = 39; // 0x27
+ field public static final int AXIS_GENERIC_9 = 40; // 0x28
+ field public static final int AXIS_HAT_X = 15; // 0xf
+ field public static final int AXIS_HAT_Y = 16; // 0x10
+ field public static final int AXIS_HSCROLL = 10; // 0xa
+ field public static final int AXIS_LTRIGGER = 17; // 0x11
+ field public static final int AXIS_ORIENTATION = 8; // 0x8
+ field public static final int AXIS_PRESSURE = 2; // 0x2
+ field public static final int AXIS_RTRIGGER = 18; // 0x12
+ field public static final int AXIS_RUDDER = 20; // 0x14
+ field public static final int AXIS_RX = 12; // 0xc
+ field public static final int AXIS_RY = 13; // 0xd
+ field public static final int AXIS_RZ = 14; // 0xe
+ field public static final int AXIS_SIZE = 3; // 0x3
+ field public static final int AXIS_THROTTLE = 19; // 0x13
+ field public static final int AXIS_TILT = 25; // 0x19
+ field public static final int AXIS_TOOL_MAJOR = 6; // 0x6
+ field public static final int AXIS_TOOL_MINOR = 7; // 0x7
+ field public static final int AXIS_TOUCH_MAJOR = 4; // 0x4
+ field public static final int AXIS_TOUCH_MINOR = 5; // 0x5
+ field public static final int AXIS_VSCROLL = 9; // 0x9
+ field public static final int AXIS_WHEEL = 21; // 0x15
+ field public static final int AXIS_X = 0; // 0x0
+ field public static final int AXIS_Y = 1; // 0x1
+ field public static final int AXIS_Z = 11; // 0xb
+ field public static final int BUTTON_BACK = 8; // 0x8
+ field public static final int BUTTON_FORWARD = 16; // 0x10
+ field public static final int BUTTON_PRIMARY = 1; // 0x1
+ field public static final int BUTTON_SECONDARY = 2; // 0x2
+ field public static final int BUTTON_TERTIARY = 4; // 0x4
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int EDGE_BOTTOM = 2; // 0x2
+ field public static final int EDGE_LEFT = 4; // 0x4
+ field public static final int EDGE_RIGHT = 8; // 0x8
+ field public static final int EDGE_TOP = 1; // 0x1
+ field public static final int FLAG_WINDOW_IS_OBSCURED = 1; // 0x1
+ field public static final int INVALID_POINTER_ID = -1; // 0xffffffff
+ field public static final int TOOL_TYPE_ERASER = 4; // 0x4
+ field public static final int TOOL_TYPE_FINGER = 1; // 0x1
+ field public static final int TOOL_TYPE_MOUSE = 3; // 0x3
+ field public static final int TOOL_TYPE_STYLUS = 2; // 0x2
+ field public static final int TOOL_TYPE_UNKNOWN = 0; // 0x0
+ }
+
+ public static final class MotionEvent.PointerCoords {
+ ctor public MotionEvent.PointerCoords();
+ ctor public MotionEvent.PointerCoords(android.view.MotionEvent.PointerCoords);
+ method public void clear();
+ method public void copyFrom(android.view.MotionEvent.PointerCoords);
+ method public float getAxisValue(int);
+ method public void setAxisValue(int, float);
+ field public float orientation;
+ field public float pressure;
+ field public float size;
+ field public float toolMajor;
+ field public float toolMinor;
+ field public float touchMajor;
+ field public float touchMinor;
+ field public float x;
+ field public float y;
+ }
+
+ public static final class MotionEvent.PointerProperties {
+ ctor public MotionEvent.PointerProperties();
+ ctor public MotionEvent.PointerProperties(android.view.MotionEvent.PointerProperties);
+ method public void clear();
+ method public void copyFrom(android.view.MotionEvent.PointerProperties);
+ field public int id;
+ field public int toolType;
+ }
+
+ public abstract class OrientationEventListener {
+ ctor public OrientationEventListener(android.content.Context);
+ ctor public OrientationEventListener(android.content.Context, int);
+ method public boolean canDetectOrientation();
+ method public void disable();
+ method public void enable();
+ method public abstract void onOrientationChanged(int);
+ field public static final int ORIENTATION_UNKNOWN = -1; // 0xffffffff
+ }
+
+ public abstract deprecated class OrientationListener implements android.hardware.SensorListener {
+ ctor public OrientationListener(android.content.Context);
+ ctor public OrientationListener(android.content.Context, int);
+ method public void disable();
+ method public void enable();
+ method public void onAccuracyChanged(int, int);
+ method public abstract void onOrientationChanged(int);
+ method public void onSensorChanged(int, float[]);
+ field public static final int ORIENTATION_UNKNOWN = -1; // 0xffffffff
+ }
+
+ public class ScaleGestureDetector {
+ ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener);
+ method public float getCurrentSpan();
+ method public float getCurrentSpanX();
+ method public float getCurrentSpanY();
+ method public long getEventTime();
+ method public float getFocusX();
+ method public float getFocusY();
+ method public float getPreviousSpan();
+ method public float getPreviousSpanX();
+ method public float getPreviousSpanY();
+ method public float getScaleFactor();
+ method public long getTimeDelta();
+ method public boolean isInProgress();
+ method public boolean onTouchEvent(android.view.MotionEvent);
+ }
+
+ public static abstract interface ScaleGestureDetector.OnScaleGestureListener {
+ method public abstract boolean onScale(android.view.ScaleGestureDetector);
+ method public abstract boolean onScaleBegin(android.view.ScaleGestureDetector);
+ method public abstract void onScaleEnd(android.view.ScaleGestureDetector);
+ }
+
+ public static class ScaleGestureDetector.SimpleOnScaleGestureListener implements android.view.ScaleGestureDetector.OnScaleGestureListener {
+ ctor public ScaleGestureDetector.SimpleOnScaleGestureListener();
+ method public boolean onScale(android.view.ScaleGestureDetector);
+ method public boolean onScaleBegin(android.view.ScaleGestureDetector);
+ method public void onScaleEnd(android.view.ScaleGestureDetector);
+ }
+
+ public class SoundEffectConstants {
+ method public static int getContantForFocusDirection(int);
+ field public static final int CLICK = 0; // 0x0
+ field public static final int NAVIGATION_DOWN = 4; // 0x4
+ field public static final int NAVIGATION_LEFT = 1; // 0x1
+ field public static final int NAVIGATION_RIGHT = 3; // 0x3
+ field public static final int NAVIGATION_UP = 2; // 0x2
+ }
+
+ public abstract interface SubMenu implements android.view.Menu {
+ method public abstract void clearHeader();
+ method public abstract android.view.MenuItem getItem();
+ method public abstract android.view.SubMenu setHeaderIcon(int);
+ method public abstract android.view.SubMenu setHeaderIcon(android.graphics.drawable.Drawable);
+ method public abstract android.view.SubMenu setHeaderTitle(int);
+ method public abstract android.view.SubMenu setHeaderTitle(java.lang.CharSequence);
+ method public abstract android.view.SubMenu setHeaderView(android.view.View);
+ method public abstract android.view.SubMenu setIcon(int);
+ method public abstract android.view.SubMenu setIcon(android.graphics.drawable.Drawable);
+ }
+
+ public class Surface implements android.os.Parcelable {
+ ctor public Surface(android.graphics.SurfaceTexture);
+ method public int describeContents();
+ method public boolean isValid();
+ method public android.graphics.Canvas lockCanvas(android.graphics.Rect) throws java.lang.IllegalArgumentException, android.view.Surface.OutOfResourcesException;
+ method public void readFromParcel(android.os.Parcel);
+ method public void release();
+ method public void unlockCanvas(android.graphics.Canvas);
+ method public void unlockCanvasAndPost(android.graphics.Canvas);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int ROTATION_0 = 0; // 0x0
+ field public static final int ROTATION_180 = 2; // 0x2
+ field public static final int ROTATION_270 = 3; // 0x3
+ field public static final int ROTATION_90 = 1; // 0x1
+ }
+
+ public static class Surface.OutOfResourcesException extends java.lang.Exception {
+ ctor public Surface.OutOfResourcesException();
+ ctor public Surface.OutOfResourcesException(java.lang.String);
+ }
+
+ public abstract interface SurfaceHolder {
+ method public abstract void addCallback(android.view.SurfaceHolder.Callback);
+ method public abstract android.view.Surface getSurface();
+ method public abstract android.graphics.Rect getSurfaceFrame();
+ method public abstract boolean isCreating();
+ method public abstract android.graphics.Canvas lockCanvas();
+ method public abstract android.graphics.Canvas lockCanvas(android.graphics.Rect);
+ method public abstract void removeCallback(android.view.SurfaceHolder.Callback);
+ method public abstract void setFixedSize(int, int);
+ method public abstract void setFormat(int);
+ method public abstract void setKeepScreenOn(boolean);
+ method public abstract void setSizeFromLayout();
+ method public abstract deprecated void setType(int);
+ method public abstract void unlockCanvasAndPost(android.graphics.Canvas);
+ field public static final deprecated int SURFACE_TYPE_GPU = 2; // 0x2
+ field public static final deprecated int SURFACE_TYPE_HARDWARE = 1; // 0x1
+ field public static final deprecated int SURFACE_TYPE_NORMAL = 0; // 0x0
+ field public static final deprecated int SURFACE_TYPE_PUSH_BUFFERS = 3; // 0x3
+ }
+
+ public static class SurfaceHolder.BadSurfaceTypeException extends java.lang.RuntimeException {
+ ctor public SurfaceHolder.BadSurfaceTypeException();
+ ctor public SurfaceHolder.BadSurfaceTypeException(java.lang.String);
+ }
+
+ public static abstract interface SurfaceHolder.Callback {
+ method public abstract void surfaceChanged(android.view.SurfaceHolder, int, int, int);
+ method public abstract void surfaceCreated(android.view.SurfaceHolder);
+ method public abstract void surfaceDestroyed(android.view.SurfaceHolder);
+ }
+
+ public static abstract interface SurfaceHolder.Callback2 implements android.view.SurfaceHolder.Callback {
+ method public abstract void surfaceRedrawNeeded(android.view.SurfaceHolder);
+ }
+
+ public class SurfaceView extends android.view.View {
+ ctor public SurfaceView(android.content.Context);
+ ctor public SurfaceView(android.content.Context, android.util.AttributeSet);
+ ctor public SurfaceView(android.content.Context, android.util.AttributeSet, int);
+ method public boolean gatherTransparentRegion(android.graphics.Region);
+ method public android.view.SurfaceHolder getHolder();
+ method public void setZOrderMediaOverlay(boolean);
+ method public void setZOrderOnTop(boolean);
+ }
+
+ public class TextureView extends android.view.View {
+ ctor public TextureView(android.content.Context);
+ ctor public TextureView(android.content.Context, android.util.AttributeSet);
+ ctor public TextureView(android.content.Context, android.util.AttributeSet, int);
+ method public final void draw(android.graphics.Canvas);
+ method public android.graphics.Bitmap getBitmap();
+ method public android.graphics.Bitmap getBitmap(int, int);
+ method public android.graphics.Bitmap getBitmap(android.graphics.Bitmap);
+ method public android.graphics.SurfaceTexture getSurfaceTexture();
+ method public android.view.TextureView.SurfaceTextureListener getSurfaceTextureListener();
+ method public android.graphics.Matrix getTransform(android.graphics.Matrix);
+ method public boolean isAvailable();
+ method public android.graphics.Canvas lockCanvas();
+ method public android.graphics.Canvas lockCanvas(android.graphics.Rect);
+ method protected final void onDraw(android.graphics.Canvas);
+ method public void setOpaque(boolean);
+ method public void setSurfaceTextureListener(android.view.TextureView.SurfaceTextureListener);
+ method public void setTransform(android.graphics.Matrix);
+ method public void unlockCanvasAndPost(android.graphics.Canvas);
+ }
+
+ public static abstract interface TextureView.SurfaceTextureListener {
+ method public abstract void onSurfaceTextureAvailable(android.graphics.SurfaceTexture, int, int);
+ method public abstract boolean onSurfaceTextureDestroyed(android.graphics.SurfaceTexture);
+ method public abstract void onSurfaceTextureSizeChanged(android.graphics.SurfaceTexture, int, int);
+ method public abstract void onSurfaceTextureUpdated(android.graphics.SurfaceTexture);
+ }
+
+ public class TouchDelegate {
+ ctor public TouchDelegate(android.graphics.Rect, android.view.View);
+ method public boolean onTouchEvent(android.view.MotionEvent);
+ field public static final int ABOVE = 1; // 0x1
+ field public static final int BELOW = 2; // 0x2
+ field public static final int TO_LEFT = 4; // 0x4
+ field public static final int TO_RIGHT = 8; // 0x8
+ }
+
+ public final class VelocityTracker {
+ method public void addMovement(android.view.MotionEvent);
+ method public void clear();
+ method public void computeCurrentVelocity(int);
+ method public void computeCurrentVelocity(int, float);
+ method public float getXVelocity();
+ method public float getXVelocity(int);
+ method public float getYVelocity();
+ method public float getYVelocity(int);
+ method public static android.view.VelocityTracker obtain();
+ method public void recycle();
+ }
+
+ public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback {
+ ctor public View(android.content.Context);
+ ctor public View(android.content.Context, android.util.AttributeSet);
+ ctor public View(android.content.Context, android.util.AttributeSet, int);
+ method public void addFocusables(java.util.ArrayList<android.view.View>, int);
+ method public void addFocusables(java.util.ArrayList<android.view.View>, int, int);
+ method public void addOnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener);
+ method public void addOnLayoutChangeListener(android.view.View.OnLayoutChangeListener);
+ method public void addTouchables(java.util.ArrayList<android.view.View>);
+ method public android.view.ViewPropertyAnimator animate();
+ method protected boolean awakenScrollBars();
+ method protected boolean awakenScrollBars(int);
+ method protected boolean awakenScrollBars(int, boolean);
+ method public void bringToFront();
+ method public void buildDrawingCache();
+ method public void buildDrawingCache(boolean);
+ method public void buildLayer();
+ method public boolean canScrollHorizontally(int);
+ method public boolean canScrollVertically(int);
+ method public void cancelLongPress();
+ method public boolean checkInputConnectionProxy(android.view.View);
+ method public void clearAnimation();
+ method public void clearFocus();
+ method public static int combineMeasuredStates(int, int);
+ method protected int computeHorizontalScrollExtent();
+ method protected int computeHorizontalScrollOffset();
+ method protected int computeHorizontalScrollRange();
+ method public void computeScroll();
+ method protected int computeVerticalScrollExtent();
+ method protected int computeVerticalScrollOffset();
+ method protected int computeVerticalScrollRange();
+ method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo();
+ method public void createContextMenu(android.view.ContextMenu);
+ method public void destroyDrawingCache();
+ method public void dispatchConfigurationChanged(android.content.res.Configuration);
+ method public void dispatchDisplayHint(int);
+ method public boolean dispatchDragEvent(android.view.DragEvent);
+ method protected void dispatchDraw(android.graphics.Canvas);
+ method protected boolean dispatchGenericFocusedEvent(android.view.MotionEvent);
+ method public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
+ method protected boolean dispatchGenericPointerEvent(android.view.MotionEvent);
+ method protected boolean dispatchHoverEvent(android.view.MotionEvent);
+ method public boolean dispatchKeyEvent(android.view.KeyEvent);
+ method public boolean dispatchKeyEventPreIme(android.view.KeyEvent);
+ method public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
+ method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+ method protected void dispatchRestoreInstanceState(android.util.SparseArray<android.os.Parcelable>);
+ method protected void dispatchSaveInstanceState(android.util.SparseArray<android.os.Parcelable>);
+ method protected void dispatchSetActivated(boolean);
+ method protected void dispatchSetPressed(boolean);
+ method protected void dispatchSetSelected(boolean);
+ method public void dispatchSystemUiVisibilityChanged(int);
+ method public boolean dispatchTouchEvent(android.view.MotionEvent);
+ method public boolean dispatchTrackballEvent(android.view.MotionEvent);
+ method public boolean dispatchUnhandledMove(android.view.View, int);
+ method protected void dispatchVisibilityChanged(android.view.View, int);
+ method public void dispatchWindowFocusChanged(boolean);
+ method public void dispatchWindowVisibilityChanged(int);
+ method public void draw(android.graphics.Canvas);
+ method protected void drawableStateChanged();
+ method public android.view.View findFocus();
+ method public final android.view.View findViewById(int);
+ method public final android.view.View findViewWithTag(java.lang.Object);
+ method public void findViewsWithText(java.util.ArrayList<android.view.View>, java.lang.CharSequence, int);
+ method protected boolean fitSystemWindows(android.graphics.Rect);
+ method public boolean fitsSystemWindows();
+ method public android.view.View focusSearch(int);
+ method public void forceLayout();
+ method public float getAlpha();
+ method public android.view.animation.Animation getAnimation();
+ method public android.os.IBinder getApplicationWindowToken();
+ method public android.graphics.drawable.Drawable getBackground();
+ method public int getBaseline();
+ method public final int getBottom();
+ method protected float getBottomFadingEdgeStrength();
+ method protected int getBottomPaddingOffset();
+ method public java.lang.CharSequence getContentDescription();
+ method public final android.content.Context getContext();
+ method protected android.view.ContextMenu.ContextMenuInfo getContextMenuInfo();
+ method public static int getDefaultSize(int, int);
+ method public final int[] getDrawableState();
+ method public android.graphics.Bitmap getDrawingCache();
+ method public android.graphics.Bitmap getDrawingCache(boolean);
+ method public int getDrawingCacheBackgroundColor();
+ method public int getDrawingCacheQuality();
+ method public void getDrawingRect(android.graphics.Rect);
+ method public long getDrawingTime();
+ method public boolean getFilterTouchesWhenObscured();
+ method public java.util.ArrayList<android.view.View> getFocusables(int);
+ method public void getFocusedRect(android.graphics.Rect);
+ method public boolean getGlobalVisibleRect(android.graphics.Rect, android.graphics.Point);
+ method public final boolean getGlobalVisibleRect(android.graphics.Rect);
+ method public android.os.Handler getHandler();
+ method public final int getHeight();
+ method public void getHitRect(android.graphics.Rect);
+ method public int getHorizontalFadingEdgeLength();
+ method protected int getHorizontalScrollbarHeight();
+ method public int getId();
+ method public boolean getKeepScreenOn();
+ method public android.view.KeyEvent.DispatcherState getKeyDispatcherState();
+ method public int getLayerType();
+ method public android.view.ViewGroup.LayoutParams getLayoutParams();
+ method public final int getLeft();
+ method protected float getLeftFadingEdgeStrength();
+ method protected int getLeftPaddingOffset();
+ method public final boolean getLocalVisibleRect(android.graphics.Rect);
+ method public void getLocationInWindow(int[]);
+ method public void getLocationOnScreen(int[]);
+ method public android.graphics.Matrix getMatrix();
+ method public final int getMeasuredHeight();
+ method public final int getMeasuredHeightAndState();
+ method public final int getMeasuredState();
+ method public final int getMeasuredWidth();
+ method public final int getMeasuredWidthAndState();
+ method public int getNextFocusDownId();
+ method public int getNextFocusForwardId();
+ method public int getNextFocusLeftId();
+ method public int getNextFocusRightId();
+ method public int getNextFocusUpId();
+ method public android.view.View.OnFocusChangeListener getOnFocusChangeListener();
+ method public int getOverScrollMode();
+ method public int getPaddingBottom();
+ method public int getPaddingLeft();
+ method public int getPaddingRight();
+ method public int getPaddingTop();
+ method public final android.view.ViewParent getParent();
+ method public float getPivotX();
+ method public float getPivotY();
+ method public android.content.res.Resources getResources();
+ method public final int getRight();
+ method protected float getRightFadingEdgeStrength();
+ method protected int getRightPaddingOffset();
+ method public android.view.View getRootView();
+ method public float getRotation();
+ method public float getRotationX();
+ method public float getRotationY();
+ method public float getScaleX();
+ method public float getScaleY();
+ method public int getScrollBarStyle();
+ method public final int getScrollX();
+ method public final int getScrollY();
+ method public int getSolidColor();
+ method protected int getSuggestedMinimumHeight();
+ method protected int getSuggestedMinimumWidth();
+ method public int getSystemUiVisibility();
+ method public java.lang.Object getTag();
+ method public java.lang.Object getTag(int);
+ method public final int getTop();
+ method protected float getTopFadingEdgeStrength();
+ method protected int getTopPaddingOffset();
+ method public android.view.TouchDelegate getTouchDelegate();
+ method public java.util.ArrayList<android.view.View> getTouchables();
+ method public float getTranslationX();
+ method public float getTranslationY();
+ method public int getVerticalFadingEdgeLength();
+ method public int getVerticalScrollbarPosition();
+ method public int getVerticalScrollbarWidth();
+ method public android.view.ViewTreeObserver getViewTreeObserver();
+ method public int getVisibility();
+ method public final int getWidth();
+ method protected int getWindowAttachCount();
+ method public android.os.IBinder getWindowToken();
+ method public int getWindowVisibility();
+ method public void getWindowVisibleDisplayFrame(android.graphics.Rect);
+ method public float getX();
+ method public float getY();
+ method public boolean hasFocus();
+ method public boolean hasFocusable();
+ method public boolean hasWindowFocus();
+ method public static android.view.View inflate(android.content.Context, int, android.view.ViewGroup);
+ method protected void initializeFadingEdge(android.content.res.TypedArray);
+ method protected void initializeScrollbars(android.content.res.TypedArray);
+ method public void invalidate(android.graphics.Rect);
+ method public void invalidate(int, int, int, int);
+ method public void invalidate();
+ method public void invalidateDrawable(android.graphics.drawable.Drawable);
+ method public boolean isActivated();
+ method public boolean isClickable();
+ method public boolean isDirty();
+ method public boolean isDrawingCacheEnabled();
+ method public boolean isDuplicateParentStateEnabled();
+ method public boolean isEnabled();
+ method public final boolean isFocusable();
+ method public final boolean isFocusableInTouchMode();
+ method public boolean isFocused();
+ method public boolean isHapticFeedbackEnabled();
+ method public boolean isHardwareAccelerated();
+ method public boolean isHorizontalFadingEdgeEnabled();
+ method public boolean isHorizontalScrollBarEnabled();
+ method public boolean isHovered();
+ method public boolean isInEditMode();
+ method public boolean isInTouchMode();
+ method public boolean isLayoutRequested();
+ method public boolean isLongClickable();
+ method public boolean isOpaque();
+ method protected boolean isPaddingOffsetRequired();
+ method public boolean isPressed();
+ method public boolean isSaveEnabled();
+ method public boolean isSaveFromParentEnabled();
+ method public boolean isScrollbarFadingEnabled();
+ method public boolean isSelected();
+ method public boolean isShown();
+ method public boolean isSoundEffectsEnabled();
+ method public boolean isVerticalFadingEdgeEnabled();
+ method public boolean isVerticalScrollBarEnabled();
+ method public void jumpDrawablesToCurrentState();
+ method public void layout(int, int, int, int);
+ method public final void measure(int, int);
+ method protected static int[] mergeDrawableStates(int[], int[]);
+ method public void offsetLeftAndRight(int);
+ method public void offsetTopAndBottom(int);
+ method protected void onAnimationEnd();
+ method protected void onAnimationStart();
+ method protected void onAttachedToWindow();
+ method public boolean onCheckIsTextEditor();
+ method protected void onConfigurationChanged(android.content.res.Configuration);
+ method protected void onCreateContextMenu(android.view.ContextMenu);
+ method protected int[] onCreateDrawableState(int);
+ method public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
+ method protected void onDetachedFromWindow();
+ method protected void onDisplayHint(int);
+ method public boolean onDragEvent(android.view.DragEvent);
+ method protected void onDraw(android.graphics.Canvas);
+ method protected final void onDrawScrollBars(android.graphics.Canvas);
+ method public boolean onFilterTouchEventForSecurity(android.view.MotionEvent);
+ method protected void onFinishInflate();
+ method public void onFinishTemporaryDetach();
+ method protected void onFocusChanged(boolean, int, android.graphics.Rect);
+ method public boolean onGenericMotionEvent(android.view.MotionEvent);
+ method public void onHoverChanged(boolean);
+ method public boolean onHoverEvent(android.view.MotionEvent);
+ method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+ method public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
+ method public boolean onKeyDown(int, android.view.KeyEvent);
+ method public boolean onKeyLongPress(int, android.view.KeyEvent);
+ method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+ method public boolean onKeyPreIme(int, android.view.KeyEvent);
+ method public boolean onKeyShortcut(int, android.view.KeyEvent);
+ method public boolean onKeyUp(int, android.view.KeyEvent);
+ method protected void onLayout(boolean, int, int, int, int);
+ method protected void onMeasure(int, int);
+ method protected void onOverScrolled(int, int, boolean, boolean);
+ method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+ method protected void onRestoreInstanceState(android.os.Parcelable);
+ method protected android.os.Parcelable onSaveInstanceState();
+ method protected void onScrollChanged(int, int, int, int);
+ method protected boolean onSetAlpha(int);
+ method protected void onSizeChanged(int, int, int, int);
+ method public void onStartTemporaryDetach();
+ method public boolean onTouchEvent(android.view.MotionEvent);
+ method public boolean onTrackballEvent(android.view.MotionEvent);
+ method protected void onVisibilityChanged(android.view.View, int);
+ method public void onWindowFocusChanged(boolean);
+ method protected void onWindowVisibilityChanged(int);
+ method protected boolean overScrollBy(int, int, int, int, int, int, int, int, boolean);
+ method public boolean performClick();
+ method public boolean performHapticFeedback(int);
+ method public boolean performHapticFeedback(int, int);
+ method public boolean performLongClick();
+ method public void playSoundEffect(int);
+ method public boolean post(java.lang.Runnable);
+ method public boolean postDelayed(java.lang.Runnable, long);
+ method public void postInvalidate();
+ method public void postInvalidate(int, int, int, int);
+ method public void postInvalidateDelayed(long);
+ method public void postInvalidateDelayed(long, int, int, int, int);
+ method public void refreshDrawableState();
+ method public boolean removeCallbacks(java.lang.Runnable);
+ method public void removeOnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener);
+ method public void removeOnLayoutChangeListener(android.view.View.OnLayoutChangeListener);
+ method public final boolean requestFocus();
+ method public final boolean requestFocus(int);
+ method public boolean requestFocus(int, android.graphics.Rect);
+ method public final boolean requestFocusFromTouch();
+ method public void requestLayout();
+ method public boolean requestRectangleOnScreen(android.graphics.Rect);
+ method public boolean requestRectangleOnScreen(android.graphics.Rect, boolean);
+ method public static int resolveSize(int, int);
+ method public static int resolveSizeAndState(int, int, int);
+ method public void restoreHierarchyState(android.util.SparseArray<android.os.Parcelable>);
+ method public void saveHierarchyState(android.util.SparseArray<android.os.Parcelable>);
+ method public void scheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable, long);
+ method public void scrollBy(int, int);
+ method public void scrollTo(int, int);
+ method public void sendAccessibilityEvent(int);
+ method public void sendAccessibilityEventUnchecked(android.view.accessibility.AccessibilityEvent);
+ method public void setAccessibilityDelegate(android.view.View.AccessibilityDelegate);
+ method public void setActivated(boolean);
+ method public void setAlpha(float);
+ method public void setAnimation(android.view.animation.Animation);
+ method public void setBackgroundColor(int);
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable);
+ method public void setBackgroundResource(int);
+ method public final void setBottom(int);
+ method public void setCameraDistance(float);
+ method public void setClickable(boolean);
+ method public void setContentDescription(java.lang.CharSequence);
+ method public void setDrawingCacheBackgroundColor(int);
+ method public void setDrawingCacheEnabled(boolean);
+ method public void setDrawingCacheQuality(int);
+ method public void setDuplicateParentStateEnabled(boolean);
+ method public void setEnabled(boolean);
+ method public void setFadingEdgeLength(int);
+ method public void setFilterTouchesWhenObscured(boolean);
+ method public void setFitsSystemWindows(boolean);
+ method public void setFocusable(boolean);
+ method public void setFocusableInTouchMode(boolean);
+ method public void setHapticFeedbackEnabled(boolean);
+ method public void setHorizontalFadingEdgeEnabled(boolean);
+ method public void setHorizontalScrollBarEnabled(boolean);
+ method public void setHovered(boolean);
+ method public void setId(int);
+ method public void setKeepScreenOn(boolean);
+ method public void setLayerType(int, android.graphics.Paint);
+ method public void setLayoutParams(android.view.ViewGroup.LayoutParams);
+ method public final void setLeft(int);
+ method public void setLongClickable(boolean);
+ method protected final void setMeasuredDimension(int, int);
+ method public void setMinimumHeight(int);
+ method public void setMinimumWidth(int);
+ method public void setNextFocusDownId(int);
+ method public void setNextFocusForwardId(int);
+ method public void setNextFocusLeftId(int);
+ method public void setNextFocusRightId(int);
+ method public void setNextFocusUpId(int);
+ method public void setOnClickListener(android.view.View.OnClickListener);
+ method public void setOnCreateContextMenuListener(android.view.View.OnCreateContextMenuListener);
+ method public void setOnDragListener(android.view.View.OnDragListener);
+ method public void setOnFocusChangeListener(android.view.View.OnFocusChangeListener);
+ method public void setOnGenericMotionListener(android.view.View.OnGenericMotionListener);
+ method public void setOnHoverListener(android.view.View.OnHoverListener);
+ method public void setOnKeyListener(android.view.View.OnKeyListener);
+ method public void setOnLongClickListener(android.view.View.OnLongClickListener);
+ method public void setOnSystemUiVisibilityChangeListener(android.view.View.OnSystemUiVisibilityChangeListener);
+ method public void setOnTouchListener(android.view.View.OnTouchListener);
+ method public void setOverScrollMode(int);
+ method public void setPadding(int, int, int, int);
+ method public void setPivotX(float);
+ method public void setPivotY(float);
+ method public void setPressed(boolean);
+ method public final void setRight(int);
+ method public void setRotation(float);
+ method public void setRotationX(float);
+ method public void setRotationY(float);
+ method public void setSaveEnabled(boolean);
+ method public void setSaveFromParentEnabled(boolean);
+ method public void setScaleX(float);
+ method public void setScaleY(float);
+ method public void setScrollBarStyle(int);
+ method public void setScrollContainer(boolean);
+ method public void setScrollX(int);
+ method public void setScrollY(int);
+ method public void setScrollbarFadingEnabled(boolean);
+ method public void setSelected(boolean);
+ method public void setSoundEffectsEnabled(boolean);
+ method public void setSystemUiVisibility(int);
+ method public void setTag(java.lang.Object);
+ method public void setTag(int, java.lang.Object);
+ method public final void setTop(int);
+ method public void setTouchDelegate(android.view.TouchDelegate);
+ method public void setTranslationX(float);
+ method public void setTranslationY(float);
+ method public void setVerticalFadingEdgeEnabled(boolean);
+ method public void setVerticalScrollBarEnabled(boolean);
+ method public void setVerticalScrollbarPosition(int);
+ method public void setVisibility(int);
+ method public void setWillNotCacheDrawing(boolean);
+ method public void setWillNotDraw(boolean);
+ method public void setX(float);
+ method public void setY(float);
+ method public boolean showContextMenu();
+ method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback);
+ method public void startAnimation(android.view.animation.Animation);
+ method public final boolean startDrag(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int);
+ method public void unscheduleDrawable(android.graphics.drawable.Drawable, java.lang.Runnable);
+ method public void unscheduleDrawable(android.graphics.drawable.Drawable);
+ method protected boolean verifyDrawable(android.graphics.drawable.Drawable);
+ method public boolean willNotCacheDrawing();
+ method public boolean willNotDraw();
+ field public static android.util.Property ALPHA;
+ field public static final int DRAWING_CACHE_QUALITY_AUTO = 0; // 0x0
+ field public static final int DRAWING_CACHE_QUALITY_HIGH = 1048576; // 0x100000
+ field public static final int DRAWING_CACHE_QUALITY_LOW = 524288; // 0x80000
+ field protected static final int[] EMPTY_STATE_SET;
+ field protected static final int[] ENABLED_FOCUSED_SELECTED_STATE_SET;
+ field protected static final int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+ field protected static final int[] ENABLED_FOCUSED_STATE_SET;
+ field protected static final int[] ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET;
+ field protected static final int[] ENABLED_SELECTED_STATE_SET;
+ field protected static final int[] ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+ field protected static final int[] ENABLED_STATE_SET;
+ field protected static final int[] ENABLED_WINDOW_FOCUSED_STATE_SET;
+ field public static final int FIND_VIEWS_WITH_CONTENT_DESCRIPTION = 2; // 0x2
+ field public static final int FIND_VIEWS_WITH_TEXT = 1; // 0x1
+ field public static final int FOCUSABLES_ALL = 0; // 0x0
+ field public static final int FOCUSABLES_TOUCH_MODE = 1; // 0x1
+ field protected static final int[] FOCUSED_SELECTED_STATE_SET;
+ field protected static final int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+ field protected static final int[] FOCUSED_STATE_SET;
+ field protected static final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET;
+ field public static final int FOCUS_BACKWARD = 1; // 0x1
+ field public static final int FOCUS_DOWN = 130; // 0x82
+ field public static final int FOCUS_FORWARD = 2; // 0x2
+ field public static final int FOCUS_LEFT = 17; // 0x11
+ field public static final int FOCUS_RIGHT = 66; // 0x42
+ field public static final int FOCUS_UP = 33; // 0x21
+ field public static final int GONE = 8; // 0x8
+ field public static final int HAPTIC_FEEDBACK_ENABLED = 268435456; // 0x10000000
+ field public static final int INVISIBLE = 4; // 0x4
+ field public static final int KEEP_SCREEN_ON = 67108864; // 0x4000000
+ field public static final int LAYER_TYPE_HARDWARE = 2; // 0x2
+ field public static final int LAYER_TYPE_NONE = 0; // 0x0
+ field public static final int LAYER_TYPE_SOFTWARE = 1; // 0x1
+ field public static final int MEASURED_HEIGHT_STATE_SHIFT = 16; // 0x10
+ field public static final int MEASURED_SIZE_MASK = 16777215; // 0xffffff
+ field public static final int MEASURED_STATE_MASK = -16777216; // 0xff000000
+ field public static final int MEASURED_STATE_TOO_SMALL = 16777216; // 0x1000000
+ field public static final int NO_ID = -1; // 0xffffffff
+ field public static final int OVER_SCROLL_ALWAYS = 0; // 0x0
+ field public static final int OVER_SCROLL_IF_CONTENT_SCROLLS = 1; // 0x1
+ field public static final int OVER_SCROLL_NEVER = 2; // 0x2
+ field protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET;
+ field protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+ field protected static final int[] PRESSED_ENABLED_FOCUSED_STATE_SET;
+ field protected static final int[] PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET;
+ field protected static final int[] PRESSED_ENABLED_SELECTED_STATE_SET;
+ field protected static final int[] PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+ field protected static final int[] PRESSED_ENABLED_STATE_SET;
+ field protected static final int[] PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET;
+ field protected static final int[] PRESSED_FOCUSED_SELECTED_STATE_SET;
+ field protected static final int[] PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+ field protected static final int[] PRESSED_FOCUSED_STATE_SET;
+ field protected static final int[] PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET;
+ field protected static final int[] PRESSED_SELECTED_STATE_SET;
+ field protected static final int[] PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+ field protected static final int[] PRESSED_WINDOW_FOCUSED_STATE_SET;
+ field public static android.util.Property ROTATION;
+ field public static android.util.Property ROTATION_X;
+ field public static android.util.Property ROTATION_Y;
+ field public static android.util.Property SCALE_X;
+ field public static android.util.Property SCALE_Y;
+ field public static final int SCROLLBARS_INSIDE_INSET = 16777216; // 0x1000000
+ field public static final int SCROLLBARS_INSIDE_OVERLAY = 0; // 0x0
+ field public static final int SCROLLBARS_OUTSIDE_INSET = 50331648; // 0x3000000
+ field public static final int SCROLLBARS_OUTSIDE_OVERLAY = 33554432; // 0x2000000
+ field public static final int SCROLLBAR_POSITION_DEFAULT = 0; // 0x0
+ field public static final int SCROLLBAR_POSITION_LEFT = 1; // 0x1
+ field public static final int SCROLLBAR_POSITION_RIGHT = 2; // 0x2
+ field protected static final int[] SELECTED_STATE_SET;
+ field protected static final int[] SELECTED_WINDOW_FOCUSED_STATE_SET;
+ field public static final int SOUND_EFFECTS_ENABLED = 134217728; // 0x8000000
+ field public static final deprecated int STATUS_BAR_HIDDEN = 1; // 0x1
+ field public static final deprecated int STATUS_BAR_VISIBLE = 0; // 0x0
+ field public static final int SYSTEM_UI_FLAG_HIDE_NAVIGATION = 2; // 0x2
+ field public static final int SYSTEM_UI_FLAG_LOW_PROFILE = 1; // 0x1
+ field public static final int SYSTEM_UI_FLAG_VISIBLE = 0; // 0x0
+ field public static android.util.Property TRANSLATION_X;
+ field public static android.util.Property TRANSLATION_Y;
+ field protected static final java.lang.String VIEW_LOG_TAG = "View";
+ field public static final int VISIBLE = 0; // 0x0
+ field protected static final int[] WINDOW_FOCUSED_STATE_SET;
+ field public static android.util.Property X;
+ field public static android.util.Property Y;
+ }
+
+ public static class View.AccessibilityDelegate {
+ ctor public View.AccessibilityDelegate();
+ method public boolean dispatchPopulateAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+ method public void onInitializeAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+ method public void onInitializeAccessibilityNodeInfo(android.view.View, android.view.accessibility.AccessibilityNodeInfo);
+ method public void onPopulateAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+ method public boolean onRequestSendAccessibilityEvent(android.view.ViewGroup, android.view.View, android.view.accessibility.AccessibilityEvent);
+ method public void sendAccessibilityEvent(android.view.View, int);
+ method public void sendAccessibilityEventUnchecked(android.view.View, android.view.accessibility.AccessibilityEvent);
+ }
+
+ public static class View.BaseSavedState extends android.view.AbsSavedState {
+ ctor public View.BaseSavedState(android.os.Parcel);
+ ctor public View.BaseSavedState(android.os.Parcelable);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public static class View.DragShadowBuilder {
+ ctor public View.DragShadowBuilder(android.view.View);
+ ctor public View.DragShadowBuilder();
+ method public final android.view.View getView();
+ method public void onDrawShadow(android.graphics.Canvas);
+ method public void onProvideShadowMetrics(android.graphics.Point, android.graphics.Point);
+ }
+
+ public static class View.MeasureSpec {
+ ctor public View.MeasureSpec();
+ method public static int getMode(int);
+ method public static int getSize(int);
+ method public static int makeMeasureSpec(int, int);
+ method public static java.lang.String toString(int);
+ field public static final int AT_MOST = -2147483648; // 0x80000000
+ field public static final int EXACTLY = 1073741824; // 0x40000000
+ field public static final int UNSPECIFIED = 0; // 0x0
+ }
+
+ public static abstract interface View.OnAttachStateChangeListener {
+ method public abstract void onViewAttachedToWindow(android.view.View);
+ method public abstract void onViewDetachedFromWindow(android.view.View);
+ }
+
+ public static abstract interface View.OnClickListener {
+ method public abstract void onClick(android.view.View);
+ }
+
+ public static abstract interface View.OnCreateContextMenuListener {
+ method public abstract void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo);
+ }
+
+ public static abstract interface View.OnDragListener {
+ method public abstract boolean onDrag(android.view.View, android.view.DragEvent);
+ }
+
+ public static abstract interface View.OnFocusChangeListener {
+ method public abstract void onFocusChange(android.view.View, boolean);
+ }
+
+ public static abstract interface View.OnGenericMotionListener {
+ method public abstract boolean onGenericMotion(android.view.View, android.view.MotionEvent);
+ }
+
+ public static abstract interface View.OnHoverListener {
+ method public abstract boolean onHover(android.view.View, android.view.MotionEvent);
+ }
+
+ public static abstract interface View.OnKeyListener {
+ method public abstract boolean onKey(android.view.View, int, android.view.KeyEvent);
+ }
+
+ public static abstract interface View.OnLayoutChangeListener {
+ method public abstract void onLayoutChange(android.view.View, int, int, int, int, int, int, int, int);
+ }
+
+ public static abstract interface View.OnLongClickListener {
+ method public abstract boolean onLongClick(android.view.View);
+ }
+
+ public static abstract interface View.OnSystemUiVisibilityChangeListener {
+ method public abstract void onSystemUiVisibilityChange(int);
+ }
+
+ public static abstract interface View.OnTouchListener {
+ method public abstract boolean onTouch(android.view.View, android.view.MotionEvent);
+ }
+
+ public class ViewConfiguration {
+ ctor public deprecated ViewConfiguration();
+ method public static android.view.ViewConfiguration get(android.content.Context);
+ method public static int getDoubleTapTimeout();
+ method public static deprecated int getEdgeSlop();
+ method public static deprecated int getFadingEdgeLength();
+ method public static long getGlobalActionKeyTimeout();
+ method public static int getJumpTapTimeout();
+ method public static int getKeyRepeatDelay();
+ method public static int getKeyRepeatTimeout();
+ method public static int getLongPressTimeout();
+ method public static deprecated int getMaximumDrawingCacheSize();
+ method public static deprecated int getMaximumFlingVelocity();
+ method public static deprecated int getMinimumFlingVelocity();
+ method public static int getPressedStateDuration();
+ method public int getScaledDoubleTapSlop();
+ method public int getScaledEdgeSlop();
+ method public int getScaledFadingEdgeLength();
+ method public int getScaledMaximumDrawingCacheSize();
+ method public int getScaledMaximumFlingVelocity();
+ method public int getScaledMinimumFlingVelocity();
+ method public int getScaledOverflingDistance();
+ method public int getScaledOverscrollDistance();
+ method public int getScaledPagingTouchSlop();
+ method public int getScaledScrollBarSize();
+ method public int getScaledTouchSlop();
+ method public int getScaledWindowTouchSlop();
+ method public static int getScrollBarFadeDuration();
+ method public static deprecated int getScrollBarSize();
+ method public static int getScrollDefaultDelay();
+ method public static float getScrollFriction();
+ method public static int getTapTimeout();
+ method public static deprecated int getTouchSlop();
+ method public static deprecated int getWindowTouchSlop();
+ method public static long getZoomControlsTimeout();
+ method public boolean hasPermanentMenuKey();
+ }
+
+ public class ViewDebug {
+ ctor public ViewDebug();
+ method public static void dumpCapturedView(java.lang.String, java.lang.Object);
+ method public static void startHierarchyTracing(java.lang.String, android.view.View);
+ method public static void startRecyclerTracing(java.lang.String, android.view.View);
+ method public static void stopHierarchyTracing();
+ method public static void stopRecyclerTracing();
+ method public static void trace(android.view.View, android.view.ViewDebug.RecyclerTraceType, int...);
+ method public static void trace(android.view.View, android.view.ViewDebug.HierarchyTraceType);
+ field public static final boolean TRACE_HIERARCHY = false;
+ field public static final boolean TRACE_RECYCLER = false;
+ }
+
+ public static abstract class ViewDebug.CapturedViewProperty implements java.lang.annotation.Annotation {
+ }
+
+ public static abstract class ViewDebug.ExportedProperty implements java.lang.annotation.Annotation {
+ }
+
+ public static abstract class ViewDebug.FlagToString implements java.lang.annotation.Annotation {
+ }
+
+ public static final class ViewDebug.HierarchyTraceType extends java.lang.Enum {
+ method public static android.view.ViewDebug.HierarchyTraceType valueOf(java.lang.String);
+ method public static final android.view.ViewDebug.HierarchyTraceType[] values();
+ enum_constant public static final android.view.ViewDebug.HierarchyTraceType BUILD_CACHE;
+ enum_constant public static final android.view.ViewDebug.HierarchyTraceType DRAW;
+ enum_constant public static final android.view.ViewDebug.HierarchyTraceType INVALIDATE;
+ enum_constant public static final android.view.ViewDebug.HierarchyTraceType INVALIDATE_CHILD;
+ enum_constant public static final android.view.ViewDebug.HierarchyTraceType INVALIDATE_CHILD_IN_PARENT;
+ enum_constant public static final android.view.ViewDebug.HierarchyTraceType ON_LAYOUT;
+ enum_constant public static final android.view.ViewDebug.HierarchyTraceType ON_MEASURE;
+ enum_constant public static final android.view.ViewDebug.HierarchyTraceType REQUEST_LAYOUT;
+ }
+
+ public static abstract class ViewDebug.IntToString implements java.lang.annotation.Annotation {
+ }
+
+ public static final class ViewDebug.RecyclerTraceType extends java.lang.Enum {
+ method public static android.view.ViewDebug.RecyclerTraceType valueOf(java.lang.String);
+ method public static final android.view.ViewDebug.RecyclerTraceType[] values();
+ enum_constant public static final android.view.ViewDebug.RecyclerTraceType BIND_VIEW;
+ enum_constant public static final android.view.ViewDebug.RecyclerTraceType MOVE_FROM_ACTIVE_TO_SCRAP_HEAP;
+ enum_constant public static final android.view.ViewDebug.RecyclerTraceType MOVE_TO_SCRAP_HEAP;
+ enum_constant public static final android.view.ViewDebug.RecyclerTraceType NEW_VIEW;
+ enum_constant public static final android.view.ViewDebug.RecyclerTraceType RECYCLE_FROM_ACTIVE_HEAP;
+ enum_constant public static final android.view.ViewDebug.RecyclerTraceType RECYCLE_FROM_SCRAP_HEAP;
+ }
+
+ public abstract class ViewGroup extends android.view.View implements android.view.ViewManager android.view.ViewParent {
+ ctor public ViewGroup(android.content.Context);
+ ctor public ViewGroup(android.content.Context, android.util.AttributeSet);
+ ctor public ViewGroup(android.content.Context, android.util.AttributeSet, int);
+ method public boolean addStatesFromChildren();
+ method public void addView(android.view.View);
+ method public void addView(android.view.View, int);
+ method public void addView(android.view.View, int, int);
+ method public void addView(android.view.View, android.view.ViewGroup.LayoutParams);
+ method public void addView(android.view.View, int, android.view.ViewGroup.LayoutParams);
+ method protected boolean addViewInLayout(android.view.View, int, android.view.ViewGroup.LayoutParams);
+ method protected boolean addViewInLayout(android.view.View, int, android.view.ViewGroup.LayoutParams, boolean);
+ method protected void attachLayoutAnimationParameters(android.view.View, android.view.ViewGroup.LayoutParams, int, int);
+ method protected void attachViewToParent(android.view.View, int, android.view.ViewGroup.LayoutParams);
+ method public void bringChildToFront(android.view.View);
+ method protected boolean canAnimate();
+ method protected boolean checkLayoutParams(android.view.ViewGroup.LayoutParams);
+ method public void childDrawableStateChanged(android.view.View);
+ method protected void cleanupLayoutState(android.view.View);
+ method public void clearChildFocus(android.view.View);
+ method public void clearDisappearingChildren();
+ method protected void debug(int);
+ method protected void detachAllViewsFromParent();
+ method protected void detachViewFromParent(android.view.View);
+ method protected void detachViewFromParent(int);
+ method protected void detachViewsFromParent(int, int);
+ method protected void dispatchFreezeSelfOnly(android.util.SparseArray<android.os.Parcelable>);
+ method public void dispatchSetActivated(boolean);
+ method public void dispatchSetSelected(boolean);
+ method protected void dispatchThawSelfOnly(android.util.SparseArray<android.os.Parcelable>);
+ method protected boolean drawChild(android.graphics.Canvas, android.view.View, long);
+ method public void endViewTransition(android.view.View);
+ method public android.view.View focusSearch(android.view.View, int);
+ method public void focusableViewAvailable(android.view.View);
+ method public boolean gatherTransparentRegion(android.graphics.Region);
+ method protected android.view.ViewGroup.LayoutParams generateDefaultLayoutParams();
+ method public android.view.ViewGroup.LayoutParams generateLayoutParams(android.util.AttributeSet);
+ method protected android.view.ViewGroup.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams);
+ method public android.view.View getChildAt(int);
+ method public int getChildCount();
+ method protected int getChildDrawingOrder(int, int);
+ method public static int getChildMeasureSpec(int, int, int);
+ method protected boolean getChildStaticTransformation(android.view.View, android.view.animation.Transformation);
+ method public boolean getChildVisibleRect(android.view.View, android.graphics.Rect, android.graphics.Point);
+ method public int getDescendantFocusability();
+ method public android.view.View getFocusedChild();
+ method public android.view.animation.LayoutAnimationController getLayoutAnimation();
+ method public android.view.animation.Animation.AnimationListener getLayoutAnimationListener();
+ method public android.animation.LayoutTransition getLayoutTransition();
+ method public int getPersistentDrawingCache();
+ method public int indexOfChild(android.view.View);
+ method public final void invalidateChild(android.view.View, android.graphics.Rect);
+ method public android.view.ViewParent invalidateChildInParent(int[], android.graphics.Rect);
+ method public boolean isAlwaysDrawnWithCacheEnabled();
+ method public boolean isAnimationCacheEnabled();
+ method protected boolean isChildrenDrawingOrderEnabled();
+ method protected boolean isChildrenDrawnWithCacheEnabled();
+ method public boolean isMotionEventSplittingEnabled();
+ method public final void layout(int, int, int, int);
+ method protected void measureChild(android.view.View, int, int);
+ method protected void measureChildWithMargins(android.view.View, int, int, int, int);
+ method protected void measureChildren(int, int);
+ method public final void offsetDescendantRectToMyCoords(android.view.View, android.graphics.Rect);
+ method public final void offsetRectIntoDescendantCoords(android.view.View, android.graphics.Rect);
+ method public boolean onInterceptHoverEvent(android.view.MotionEvent);
+ method public boolean onInterceptTouchEvent(android.view.MotionEvent);
+ method protected abstract void onLayout(boolean, int, int, int, int);
+ method protected boolean onRequestFocusInDescendants(int, android.graphics.Rect);
+ method public boolean onRequestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+ method public void recomputeViewAttributes(android.view.View);
+ method public void removeAllViews();
+ method public void removeAllViewsInLayout();
+ method protected void removeDetachedView(android.view.View, boolean);
+ method public void removeView(android.view.View);
+ method public void removeViewAt(int);
+ method public void removeViewInLayout(android.view.View);
+ method public void removeViews(int, int);
+ method public void removeViewsInLayout(int, int);
+ method public void requestChildFocus(android.view.View, android.view.View);
+ method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
+ method public void requestDisallowInterceptTouchEvent(boolean);
+ method public boolean requestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+ method public void requestTransparentRegion(android.view.View);
+ method protected void resetResolvedLayoutDirection();
+ method protected void resetResolvedTextDirection();
+ method public void scheduleLayoutAnimation();
+ method public void setAddStatesFromChildren(boolean);
+ method public void setAlwaysDrawnWithCacheEnabled(boolean);
+ method public void setAnimationCacheEnabled(boolean);
+ method protected void setChildrenDrawingCacheEnabled(boolean);
+ method protected void setChildrenDrawingOrderEnabled(boolean);
+ method protected void setChildrenDrawnWithCacheEnabled(boolean);
+ method public void setClipChildren(boolean);
+ method public void setClipToPadding(boolean);
+ method public void setDescendantFocusability(int);
+ method public void setLayoutAnimation(android.view.animation.LayoutAnimationController);
+ method public void setLayoutAnimationListener(android.view.animation.Animation.AnimationListener);
+ method public void setLayoutTransition(android.animation.LayoutTransition);
+ method public void setMotionEventSplittingEnabled(boolean);
+ method public void setOnHierarchyChangeListener(android.view.ViewGroup.OnHierarchyChangeListener);
+ method public void setPersistentDrawingCache(int);
+ method protected void setStaticTransformationsEnabled(boolean);
+ method public boolean shouldDelayChildPressedState();
+ method public boolean showContextMenuForChild(android.view.View);
+ method public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback);
+ method public void startLayoutAnimation();
+ method public void startViewTransition(android.view.View);
+ method public void updateViewLayout(android.view.View, android.view.ViewGroup.LayoutParams);
+ field protected static final int CLIP_TO_PADDING_MASK = 34; // 0x22
+ field public static final int FOCUS_AFTER_DESCENDANTS = 262144; // 0x40000
+ field public static final int FOCUS_BEFORE_DESCENDANTS = 131072; // 0x20000
+ field public static final int FOCUS_BLOCK_DESCENDANTS = 393216; // 0x60000
+ field public static final int PERSISTENT_ALL_CACHES = 3; // 0x3
+ field public static final int PERSISTENT_ANIMATION_CACHE = 1; // 0x1
+ field public static final int PERSISTENT_NO_CACHE = 0; // 0x0
+ field public static final int PERSISTENT_SCROLLING_CACHE = 2; // 0x2
+ }
+
+ public static class ViewGroup.LayoutParams {
+ ctor public ViewGroup.LayoutParams(android.content.Context, android.util.AttributeSet);
+ ctor public ViewGroup.LayoutParams(int, int);
+ ctor public ViewGroup.LayoutParams(android.view.ViewGroup.LayoutParams);
+ method protected void setBaseAttributes(android.content.res.TypedArray, int, int);
+ field public static final deprecated int FILL_PARENT = -1; // 0xffffffff
+ field public static final int MATCH_PARENT = -1; // 0xffffffff
+ field public static final int WRAP_CONTENT = -2; // 0xfffffffe
+ field public int height;
+ field public android.view.animation.LayoutAnimationController.AnimationParameters layoutAnimationParameters;
+ field public int width;
+ }
+
+ public static class ViewGroup.MarginLayoutParams extends android.view.ViewGroup.LayoutParams {
+ ctor public ViewGroup.MarginLayoutParams(android.content.Context, android.util.AttributeSet);
+ ctor public ViewGroup.MarginLayoutParams(int, int);
+ ctor public ViewGroup.MarginLayoutParams(android.view.ViewGroup.MarginLayoutParams);
+ ctor public ViewGroup.MarginLayoutParams(android.view.ViewGroup.LayoutParams);
+ method public void setMargins(int, int, int, int);
+ field public int bottomMargin;
+ field public int leftMargin;
+ field public int rightMargin;
+ field public int topMargin;
+ }
+
+ public static abstract interface ViewGroup.OnHierarchyChangeListener {
+ method public abstract void onChildViewAdded(android.view.View, android.view.View);
+ method public abstract void onChildViewRemoved(android.view.View, android.view.View);
+ }
+
+ public abstract interface ViewManager {
+ method public abstract void addView(android.view.View, android.view.ViewGroup.LayoutParams);
+ method public abstract void removeView(android.view.View);
+ method public abstract void updateViewLayout(android.view.View, android.view.ViewGroup.LayoutParams);
+ }
+
+ public abstract interface ViewParent {
+ method public abstract void bringChildToFront(android.view.View);
+ method public abstract void childDrawableStateChanged(android.view.View);
+ method public abstract void clearChildFocus(android.view.View);
+ method public abstract void createContextMenu(android.view.ContextMenu);
+ method public abstract android.view.View focusSearch(android.view.View, int);
+ method public abstract void focusableViewAvailable(android.view.View);
+ method public abstract boolean getChildVisibleRect(android.view.View, android.graphics.Rect, android.graphics.Point);
+ method public abstract android.view.ViewParent getParent();
+ method public abstract void invalidateChild(android.view.View, android.graphics.Rect);
+ method public abstract android.view.ViewParent invalidateChildInParent(int[], android.graphics.Rect);
+ method public abstract boolean isLayoutRequested();
+ method public abstract void recomputeViewAttributes(android.view.View);
+ method public abstract void requestChildFocus(android.view.View, android.view.View);
+ method public abstract boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
+ method public abstract void requestDisallowInterceptTouchEvent(boolean);
+ method public abstract void requestLayout();
+ method public abstract boolean requestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+ method public abstract void requestTransparentRegion(android.view.View);
+ method public abstract boolean showContextMenuForChild(android.view.View);
+ method public abstract android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback);
+ }
+
+ public class ViewPropertyAnimator {
+ method public android.view.ViewPropertyAnimator alpha(float);
+ method public android.view.ViewPropertyAnimator alphaBy(float);
+ method public void cancel();
+ method public long getDuration();
+ method public long getStartDelay();
+ method public android.view.ViewPropertyAnimator rotation(float);
+ method public android.view.ViewPropertyAnimator rotationBy(float);
+ method public android.view.ViewPropertyAnimator rotationX(float);
+ method public android.view.ViewPropertyAnimator rotationXBy(float);
+ method public android.view.ViewPropertyAnimator rotationY(float);
+ method public android.view.ViewPropertyAnimator rotationYBy(float);
+ method public android.view.ViewPropertyAnimator scaleX(float);
+ method public android.view.ViewPropertyAnimator scaleXBy(float);
+ method public android.view.ViewPropertyAnimator scaleY(float);
+ method public android.view.ViewPropertyAnimator scaleYBy(float);
+ method public android.view.ViewPropertyAnimator setDuration(long);
+ method public android.view.ViewPropertyAnimator setInterpolator(android.animation.TimeInterpolator);
+ method public android.view.ViewPropertyAnimator setListener(android.animation.Animator.AnimatorListener);
+ method public android.view.ViewPropertyAnimator setStartDelay(long);
+ method public void start();
+ method public android.view.ViewPropertyAnimator translationX(float);
+ method public android.view.ViewPropertyAnimator translationXBy(float);
+ method public android.view.ViewPropertyAnimator translationY(float);
+ method public android.view.ViewPropertyAnimator translationYBy(float);
+ method public android.view.ViewPropertyAnimator x(float);
+ method public android.view.ViewPropertyAnimator xBy(float);
+ method public android.view.ViewPropertyAnimator y(float);
+ method public android.view.ViewPropertyAnimator yBy(float);
+ }
+
+ public final class ViewStub extends android.view.View {
+ ctor public ViewStub(android.content.Context);
+ ctor public ViewStub(android.content.Context, int);
+ ctor public ViewStub(android.content.Context, android.util.AttributeSet);
+ ctor public ViewStub(android.content.Context, android.util.AttributeSet, int);
+ method public int getInflatedId();
+ method public int getLayoutResource();
+ method public android.view.View inflate();
+ method public void setInflatedId(int);
+ method public void setLayoutResource(int);
+ method public void setOnInflateListener(android.view.ViewStub.OnInflateListener);
+ }
+
+ public static abstract interface ViewStub.OnInflateListener {
+ method public abstract void onInflate(android.view.ViewStub, android.view.View);
+ }
+
+ public final class ViewTreeObserver {
+ method public void addOnGlobalFocusChangeListener(android.view.ViewTreeObserver.OnGlobalFocusChangeListener);
+ method public void addOnGlobalLayoutListener(android.view.ViewTreeObserver.OnGlobalLayoutListener);
+ method public void addOnPreDrawListener(android.view.ViewTreeObserver.OnPreDrawListener);
+ method public void addOnScrollChangedListener(android.view.ViewTreeObserver.OnScrollChangedListener);
+ method public void addOnTouchModeChangeListener(android.view.ViewTreeObserver.OnTouchModeChangeListener);
+ method public final void dispatchOnGlobalLayout();
+ method public final boolean dispatchOnPreDraw();
+ method public boolean isAlive();
+ method public void removeGlobalOnLayoutListener(android.view.ViewTreeObserver.OnGlobalLayoutListener);
+ method public void removeOnGlobalFocusChangeListener(android.view.ViewTreeObserver.OnGlobalFocusChangeListener);
+ method public void removeOnPreDrawListener(android.view.ViewTreeObserver.OnPreDrawListener);
+ method public void removeOnScrollChangedListener(android.view.ViewTreeObserver.OnScrollChangedListener);
+ method public void removeOnTouchModeChangeListener(android.view.ViewTreeObserver.OnTouchModeChangeListener);
+ }
+
+ public static abstract interface ViewTreeObserver.OnGlobalFocusChangeListener {
+ method public abstract void onGlobalFocusChanged(android.view.View, android.view.View);
+ }
+
+ public static abstract interface ViewTreeObserver.OnGlobalLayoutListener {
+ method public abstract void onGlobalLayout();
+ }
+
+ public static abstract interface ViewTreeObserver.OnPreDrawListener {
+ method public abstract boolean onPreDraw();
+ }
+
+ public static abstract interface ViewTreeObserver.OnScrollChangedListener {
+ method public abstract void onScrollChanged();
+ }
+
+ public static abstract interface ViewTreeObserver.OnTouchModeChangeListener {
+ method public abstract void onTouchModeChanged(boolean);
+ }
+
+ public abstract class Window {
+ ctor public Window(android.content.Context);
+ method public abstract void addContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+ method public void addFlags(int);
+ method public void clearFlags(int);
+ method public abstract void closeAllPanels();
+ method public abstract void closePanel(int);
+ method public android.view.View findViewById(int);
+ method public final android.view.WindowManager.LayoutParams getAttributes();
+ method public final android.view.Window.Callback getCallback();
+ method public final android.view.Window getContainer();
+ method public final android.content.Context getContext();
+ method public abstract android.view.View getCurrentFocus();
+ method public abstract android.view.View getDecorView();
+ method protected final int getFeatures();
+ method protected final int getForcedWindowFlags();
+ method public abstract android.view.LayoutInflater getLayoutInflater();
+ method protected final int getLocalFeatures();
+ method public abstract int getVolumeControlStream();
+ method public android.view.WindowManager getWindowManager();
+ method public final android.content.res.TypedArray getWindowStyle();
+ method public final boolean hasChildren();
+ method public boolean hasFeature(int);
+ method protected final boolean hasSoftInputMode();
+ method public abstract void invalidatePanelMenu(int);
+ method public final boolean isActive();
+ method public abstract boolean isFloating();
+ method public abstract boolean isShortcutKey(int, android.view.KeyEvent);
+ method public final void makeActive();
+ method protected abstract void onActive();
+ method public abstract void onConfigurationChanged(android.content.res.Configuration);
+ method public abstract void openPanel(int, android.view.KeyEvent);
+ method public abstract android.view.View peekDecorView();
+ method public abstract boolean performContextMenuIdentifierAction(int, int);
+ method public abstract boolean performPanelIdentifierAction(int, int, int);
+ method public abstract boolean performPanelShortcut(int, int, android.view.KeyEvent, int);
+ method public boolean requestFeature(int);
+ method public abstract void restoreHierarchyState(android.os.Bundle);
+ method public abstract android.os.Bundle saveHierarchyState();
+ method public void setAttributes(android.view.WindowManager.LayoutParams);
+ method public abstract void setBackgroundDrawable(android.graphics.drawable.Drawable);
+ method public void setBackgroundDrawableResource(int);
+ method public void setCallback(android.view.Window.Callback);
+ method public abstract void setChildDrawable(int, android.graphics.drawable.Drawable);
+ method public abstract void setChildInt(int, int);
+ method public void setContainer(android.view.Window);
+ method public abstract void setContentView(int);
+ method public abstract void setContentView(android.view.View);
+ method public abstract void setContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+ method protected void setDefaultWindowFormat(int);
+ method public void setDimAmount(float);
+ method public abstract void setFeatureDrawable(int, android.graphics.drawable.Drawable);
+ method public abstract void setFeatureDrawableAlpha(int, int);
+ method public abstract void setFeatureDrawableResource(int, int);
+ method public abstract void setFeatureDrawableUri(int, android.net.Uri);
+ method public abstract void setFeatureInt(int, int);
+ method public void setFlags(int, int);
+ method public void setFormat(int);
+ method public void setGravity(int);
+ method public void setLayout(int, int);
+ method public void setSoftInputMode(int);
+ method public abstract void setTitle(java.lang.CharSequence);
+ method public abstract void setTitleColor(int);
+ method public void setType(int);
+ method public void setUiOptions(int);
+ method public void setUiOptions(int, int);
+ method public abstract void setVolumeControlStream(int);
+ method public void setWindowAnimations(int);
+ method public void setWindowManager(android.view.WindowManager, android.os.IBinder, java.lang.String);
+ method public void setWindowManager(android.view.WindowManager, android.os.IBinder, java.lang.String, boolean);
+ method public abstract boolean superDispatchGenericMotionEvent(android.view.MotionEvent);
+ method public abstract boolean superDispatchKeyEvent(android.view.KeyEvent);
+ method public abstract boolean superDispatchKeyShortcutEvent(android.view.KeyEvent);
+ method public abstract boolean superDispatchTouchEvent(android.view.MotionEvent);
+ method public abstract boolean superDispatchTrackballEvent(android.view.MotionEvent);
+ method public abstract void takeInputQueue(android.view.InputQueue.Callback);
+ method public abstract void takeKeyEvents(boolean);
+ method public abstract void takeSurface(android.view.SurfaceHolder.Callback2);
+ method public abstract void togglePanel(int, android.view.KeyEvent);
+ field protected static final int DEFAULT_FEATURES = 65; // 0x41
+ field public static final int FEATURE_ACTION_BAR = 8; // 0x8
+ field public static final int FEATURE_ACTION_BAR_OVERLAY = 9; // 0x9
+ field public static final int FEATURE_ACTION_MODE_OVERLAY = 10; // 0xa
+ field public static final int FEATURE_CONTEXT_MENU = 6; // 0x6
+ field public static final int FEATURE_CUSTOM_TITLE = 7; // 0x7
+ field public static final int FEATURE_INDETERMINATE_PROGRESS = 5; // 0x5
+ field public static final int FEATURE_LEFT_ICON = 3; // 0x3
+ field public static final int FEATURE_NO_TITLE = 1; // 0x1
+ field public static final int FEATURE_OPTIONS_PANEL = 0; // 0x0
+ field public static final int FEATURE_PROGRESS = 2; // 0x2
+ field public static final int FEATURE_RIGHT_ICON = 4; // 0x4
+ field public static final int ID_ANDROID_CONTENT = 16908290; // 0x1020002
+ field public static final int PROGRESS_END = 10000; // 0x2710
+ field public static final int PROGRESS_INDETERMINATE_OFF = -4; // 0xfffffffc
+ field public static final int PROGRESS_INDETERMINATE_ON = -3; // 0xfffffffd
+ field public static final int PROGRESS_SECONDARY_END = 30000; // 0x7530
+ field public static final int PROGRESS_SECONDARY_START = 20000; // 0x4e20
+ field public static final int PROGRESS_START = 0; // 0x0
+ field public static final int PROGRESS_VISIBILITY_OFF = -2; // 0xfffffffe
+ field public static final int PROGRESS_VISIBILITY_ON = -1; // 0xffffffff
+ }
+
+ public static abstract interface Window.Callback {
+ method public abstract boolean dispatchGenericMotionEvent(android.view.MotionEvent);
+ method public abstract boolean dispatchKeyEvent(android.view.KeyEvent);
+ method public abstract boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
+ method public abstract boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+ method public abstract boolean dispatchTouchEvent(android.view.MotionEvent);
+ method public abstract boolean dispatchTrackballEvent(android.view.MotionEvent);
+ method public abstract void onActionModeFinished(android.view.ActionMode);
+ method public abstract void onActionModeStarted(android.view.ActionMode);
+ method public abstract void onAttachedToWindow();
+ method public abstract void onContentChanged();
+ method public abstract boolean onCreatePanelMenu(int, android.view.Menu);
+ method public abstract android.view.View onCreatePanelView(int);
+ method public abstract void onDetachedFromWindow();
+ method public abstract boolean onMenuItemSelected(int, android.view.MenuItem);
+ method public abstract boolean onMenuOpened(int, android.view.Menu);
+ method public abstract void onPanelClosed(int, android.view.Menu);
+ method public abstract boolean onPreparePanel(int, android.view.View, android.view.Menu);
+ method public abstract boolean onSearchRequested();
+ method public abstract void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
+ method public abstract void onWindowFocusChanged(boolean);
+ method public abstract android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+ }
+
+ public abstract interface WindowManager implements android.view.ViewManager {
+ method public abstract android.view.Display getDefaultDisplay();
+ method public abstract void removeViewImmediate(android.view.View);
+ }
+
+ public static class WindowManager.BadTokenException extends java.lang.RuntimeException {
+ ctor public WindowManager.BadTokenException();
+ ctor public WindowManager.BadTokenException(java.lang.String);
+ }
+
+ public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
+ ctor public WindowManager.LayoutParams();
+ ctor public WindowManager.LayoutParams(int);
+ ctor public WindowManager.LayoutParams(int, int);
+ ctor public WindowManager.LayoutParams(int, int, int);
+ ctor public WindowManager.LayoutParams(int, int, int, int, int);
+ ctor public WindowManager.LayoutParams(int, int, int, int, int, int, int);
+ ctor public WindowManager.LayoutParams(android.os.Parcel);
+ method public final int copyFrom(android.view.WindowManager.LayoutParams);
+ method public java.lang.String debug(java.lang.String);
+ method public int describeContents();
+ method public final java.lang.CharSequence getTitle();
+ method public static boolean mayUseInputMethod(int);
+ method public final void setTitle(java.lang.CharSequence);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final int ALPHA_CHANGED = 128; // 0x80
+ field public static final int ANIMATION_CHANGED = 16; // 0x10
+ field public static final float BRIGHTNESS_OVERRIDE_FULL = 1.0f;
+ field public static final float BRIGHTNESS_OVERRIDE_NONE = -1.0f;
+ field public static final float BRIGHTNESS_OVERRIDE_OFF = 0.0f;
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int DIM_AMOUNT_CHANGED = 32; // 0x20
+ field public static final int FIRST_APPLICATION_WINDOW = 1; // 0x1
+ field public static final int FIRST_SUB_WINDOW = 1000; // 0x3e8
+ field public static final int FIRST_SYSTEM_WINDOW = 2000; // 0x7d0
+ field public static final int FLAGS_CHANGED = 4; // 0x4
+ field public static final int FLAG_ALLOW_LOCK_WHILE_SCREEN_ON = 1; // 0x1
+ field public static final int FLAG_ALT_FOCUSABLE_IM = 131072; // 0x20000
+ field public static final deprecated int FLAG_BLUR_BEHIND = 4; // 0x4
+ field public static final int FLAG_DIM_BEHIND = 2; // 0x2
+ field public static final int FLAG_DISMISS_KEYGUARD = 4194304; // 0x400000
+ field public static final int FLAG_DITHER = 4096; // 0x1000
+ field public static final int FLAG_FORCE_NOT_FULLSCREEN = 2048; // 0x800
+ field public static final int FLAG_FULLSCREEN = 1024; // 0x400
+ field public static final int FLAG_HARDWARE_ACCELERATED = 16777216; // 0x1000000
+ field public static final int FLAG_IGNORE_CHEEK_PRESSES = 32768; // 0x8000
+ field public static final int FLAG_KEEP_SCREEN_ON = 128; // 0x80
+ field public static final int FLAG_LAYOUT_INSET_DECOR = 65536; // 0x10000
+ field public static final int FLAG_LAYOUT_IN_SCREEN = 256; // 0x100
+ field public static final int FLAG_LAYOUT_NO_LIMITS = 512; // 0x200
+ field public static final int FLAG_NOT_FOCUSABLE = 8; // 0x8
+ field public static final int FLAG_NOT_TOUCHABLE = 16; // 0x10
+ field public static final int FLAG_NOT_TOUCH_MODAL = 32; // 0x20
+ field public static final int FLAG_SCALED = 16384; // 0x4000
+ field public static final int FLAG_SECURE = 8192; // 0x2000
+ field public static final int FLAG_SHOW_WALLPAPER = 1048576; // 0x100000
+ field public static final int FLAG_SHOW_WHEN_LOCKED = 524288; // 0x80000
+ field public static final int FLAG_SPLIT_TOUCH = 8388608; // 0x800000
+ field public static final int FLAG_TOUCHABLE_WHEN_WAKING = 64; // 0x40
+ field public static final int FLAG_TURN_SCREEN_ON = 2097152; // 0x200000
+ field public static final int FLAG_WATCH_OUTSIDE_TOUCH = 262144; // 0x40000
+ field public static final int FORMAT_CHANGED = 8; // 0x8
+ field public static final int LAST_APPLICATION_WINDOW = 99; // 0x63
+ field public static final int LAST_SUB_WINDOW = 1999; // 0x7cf
+ field public static final int LAST_SYSTEM_WINDOW = 2999; // 0xbb7
+ field public static final int LAYOUT_CHANGED = 1; // 0x1
+ field public static final int MEMORY_TYPE_CHANGED = 256; // 0x100
+ field public static final deprecated int MEMORY_TYPE_GPU = 2; // 0x2
+ field public static final deprecated int MEMORY_TYPE_HARDWARE = 1; // 0x1
+ field public static final deprecated int MEMORY_TYPE_NORMAL = 0; // 0x0
+ field public static final deprecated int MEMORY_TYPE_PUSH_BUFFERS = 3; // 0x3
+ field public static final int SCREEN_BRIGHTNESS_CHANGED = 2048; // 0x800
+ field public static final int SCREEN_ORIENTATION_CHANGED = 1024; // 0x400
+ field public static final int SOFT_INPUT_ADJUST_NOTHING = 48; // 0x30
+ field public static final int SOFT_INPUT_ADJUST_PAN = 32; // 0x20
+ field public static final int SOFT_INPUT_ADJUST_RESIZE = 16; // 0x10
+ field public static final int SOFT_INPUT_ADJUST_UNSPECIFIED = 0; // 0x0
+ field public static final int SOFT_INPUT_IS_FORWARD_NAVIGATION = 256; // 0x100
+ field public static final int SOFT_INPUT_MASK_ADJUST = 240; // 0xf0
+ field public static final int SOFT_INPUT_MASK_STATE = 15; // 0xf
+ field public static final int SOFT_INPUT_MODE_CHANGED = 512; // 0x200
+ field public static final int SOFT_INPUT_STATE_ALWAYS_HIDDEN = 3; // 0x3
+ field public static final int SOFT_INPUT_STATE_ALWAYS_VISIBLE = 5; // 0x5
+ field public static final int SOFT_INPUT_STATE_HIDDEN = 2; // 0x2
+ field public static final int SOFT_INPUT_STATE_UNCHANGED = 1; // 0x1
+ field public static final int SOFT_INPUT_STATE_UNSPECIFIED = 0; // 0x0
+ field public static final int SOFT_INPUT_STATE_VISIBLE = 4; // 0x4
+ field public static final int TITLE_CHANGED = 64; // 0x40
+ field public static final int TYPE_APPLICATION = 2; // 0x2
+ field public static final int TYPE_APPLICATION_ATTACHED_DIALOG = 1003; // 0x3eb
+ field public static final int TYPE_APPLICATION_MEDIA = 1001; // 0x3e9
+ field public static final int TYPE_APPLICATION_PANEL = 1000; // 0x3e8
+ field public static final int TYPE_APPLICATION_STARTING = 3; // 0x3
+ field public static final int TYPE_APPLICATION_SUB_PANEL = 1002; // 0x3ea
+ field public static final int TYPE_BASE_APPLICATION = 1; // 0x1
+ field public static final int TYPE_CHANGED = 2; // 0x2
+ field public static final int TYPE_INPUT_METHOD = 2011; // 0x7db
+ field public static final int TYPE_INPUT_METHOD_DIALOG = 2012; // 0x7dc
+ field public static final int TYPE_KEYGUARD = 2004; // 0x7d4
+ field public static final int TYPE_KEYGUARD_DIALOG = 2009; // 0x7d9
+ field public static final int TYPE_PHONE = 2002; // 0x7d2
+ field public static final int TYPE_PRIORITY_PHONE = 2007; // 0x7d7
+ field public static final int TYPE_SEARCH_BAR = 2001; // 0x7d1
+ field public static final int TYPE_STATUS_BAR = 2000; // 0x7d0
+ field public static final int TYPE_STATUS_BAR_PANEL = 2014; // 0x7de
+ field public static final int TYPE_SYSTEM_ALERT = 2003; // 0x7d3
+ field public static final int TYPE_SYSTEM_DIALOG = 2008; // 0x7d8
+ field public static final int TYPE_SYSTEM_ERROR = 2010; // 0x7da
+ field public static final int TYPE_SYSTEM_OVERLAY = 2006; // 0x7d6
+ field public static final int TYPE_TOAST = 2005; // 0x7d5
+ field public static final int TYPE_WALLPAPER = 2013; // 0x7dd
+ field public float alpha;
+ field public float buttonBrightness;
+ field public float dimAmount;
+ field public int flags;
+ field public int format;
+ field public int gravity;
+ field public float horizontalMargin;
+ field public float horizontalWeight;
+ field public deprecated int memoryType;
+ field public java.lang.String packageName;
+ field public float screenBrightness;
+ field public int screenOrientation;
+ field public int softInputMode;
+ field public int systemUiVisibility;
+ field public android.os.IBinder token;
+ field public int type;
+ field public float verticalMargin;
+ field public float verticalWeight;
+ field public int windowAnimations;
+ field public int x;
+ field public int y;
+ }
+
+}
+
+package android.view.accessibility {
+
+ public final class AccessibilityEvent extends android.view.accessibility.AccessibilityRecord implements android.os.Parcelable {
+ method public void appendRecord(android.view.accessibility.AccessibilityRecord);
+ method public int describeContents();
+ method public static java.lang.String eventTypeToString(int);
+ method public long getEventTime();
+ method public int getEventType();
+ method public java.lang.CharSequence getPackageName();
+ method public android.view.accessibility.AccessibilityRecord getRecord(int);
+ method public int getRecordCount();
+ method public void initFromParcel(android.os.Parcel);
+ method public static android.view.accessibility.AccessibilityEvent obtain(int);
+ method public static android.view.accessibility.AccessibilityEvent obtain(android.view.accessibility.AccessibilityEvent);
+ method public static android.view.accessibility.AccessibilityEvent obtain();
+ method public void setEventTime(long);
+ method public void setEventType(int);
+ method public void setPackageName(java.lang.CharSequence);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int INVALID_POSITION = -1; // 0xffffffff
+ field public static final deprecated int MAX_TEXT_LENGTH = 500; // 0x1f4
+ field public static final int TYPES_ALL_MASK = -1; // 0xffffffff
+ field public static final int TYPE_NOTIFICATION_STATE_CHANGED = 64; // 0x40
+ field public static final int TYPE_TOUCH_EXPLORATION_GESTURE_END = 1024; // 0x400
+ field public static final int TYPE_TOUCH_EXPLORATION_GESTURE_START = 512; // 0x200
+ field public static final int TYPE_VIEW_CLICKED = 1; // 0x1
+ field public static final int TYPE_VIEW_FOCUSED = 8; // 0x8
+ field public static final int TYPE_VIEW_HOVER_ENTER = 128; // 0x80
+ field public static final int TYPE_VIEW_HOVER_EXIT = 256; // 0x100
+ field public static final int TYPE_VIEW_LONG_CLICKED = 2; // 0x2
+ field public static final int TYPE_VIEW_SCROLLED = 4096; // 0x1000
+ field public static final int TYPE_VIEW_SELECTED = 4; // 0x4
+ field public static final int TYPE_VIEW_TEXT_CHANGED = 16; // 0x10
+ field public static final int TYPE_VIEW_TEXT_SELECTION_CHANGED = 8192; // 0x2000
+ field public static final int TYPE_WINDOW_CONTENT_CHANGED = 2048; // 0x800
+ field public static final int TYPE_WINDOW_STATE_CHANGED = 32; // 0x20
+ }
+
+ public abstract interface AccessibilityEventSource {
+ method public abstract void sendAccessibilityEvent(int);
+ method public abstract void sendAccessibilityEventUnchecked(android.view.accessibility.AccessibilityEvent);
+ }
+
+ public final class AccessibilityManager {
+ method public boolean addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener);
+ method public deprecated java.util.List<android.content.pm.ServiceInfo> getAccessibilityServiceList();
+ method public java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getEnabledAccessibilityServiceList(int);
+ method public java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getInstalledAccessibilityServiceList();
+ method public void interrupt();
+ method public boolean isEnabled();
+ method public boolean isTouchExplorationEnabled();
+ method public boolean removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener);
+ method public void sendAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+ }
+
+ public static abstract interface AccessibilityManager.AccessibilityStateChangeListener {
+ method public abstract void onAccessibilityStateChanged(boolean);
+ }
+
+ public class AccessibilityNodeInfo implements android.os.Parcelable {
+ method public void addAction(int);
+ method public void addChild(android.view.View);
+ method public int describeContents();
+ method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByText(java.lang.String);
+ method public int getActions();
+ method public void getBoundsInParent(android.graphics.Rect);
+ method public void getBoundsInScreen(android.graphics.Rect);
+ method public android.view.accessibility.AccessibilityNodeInfo getChild(int);
+ method public int getChildCount();
+ method public java.lang.CharSequence getClassName();
+ method public java.lang.CharSequence getContentDescription();
+ method public java.lang.CharSequence getPackageName();
+ method public android.view.accessibility.AccessibilityNodeInfo getParent();
+ method public java.lang.CharSequence getText();
+ method public int getWindowId();
+ method public boolean isCheckable();
+ method public boolean isChecked();
+ method public boolean isClickable();
+ method public boolean isEnabled();
+ method public boolean isFocusable();
+ method public boolean isFocused();
+ method public boolean isLongClickable();
+ method public boolean isPassword();
+ method public boolean isScrollable();
+ method public boolean isSelected();
+ method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.View);
+ method public static android.view.accessibility.AccessibilityNodeInfo obtain();
+ method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.accessibility.AccessibilityNodeInfo);
+ method public boolean performAction(int);
+ method public void recycle();
+ method public void setBoundsInParent(android.graphics.Rect);
+ method public void setBoundsInScreen(android.graphics.Rect);
+ method public void setCheckable(boolean);
+ method public void setChecked(boolean);
+ method public void setClassName(java.lang.CharSequence);
+ method public void setClickable(boolean);
+ method public void setContentDescription(java.lang.CharSequence);
+ method public void setEnabled(boolean);
+ method public void setFocusable(boolean);
+ method public void setFocused(boolean);
+ method public void setLongClickable(boolean);
+ method public void setPackageName(java.lang.CharSequence);
+ method public void setParent(android.view.View);
+ method public void setPassword(boolean);
+ method public void setScrollable(boolean);
+ method public void setSelected(boolean);
+ method public void setSource(android.view.View);
+ method public void setText(java.lang.CharSequence);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final int ACTION_CLEAR_FOCUS = 2; // 0x2
+ field public static final int ACTION_CLEAR_SELECTION = 8; // 0x8
+ field public static final int ACTION_FOCUS = 1; // 0x1
+ field public static final int ACTION_SELECT = 4; // 0x4
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class AccessibilityRecord {
+ method public int getAddedCount();
+ method public java.lang.CharSequence getBeforeText();
+ method public java.lang.CharSequence getClassName();
+ method public java.lang.CharSequence getContentDescription();
+ method public int getCurrentItemIndex();
+ method public int getFromIndex();
+ method public int getItemCount();
+ method public android.os.Parcelable getParcelableData();
+ method public int getRemovedCount();
+ method public int getScrollX();
+ method public int getScrollY();
+ method public android.view.accessibility.AccessibilityNodeInfo getSource();
+ method public java.util.List<java.lang.CharSequence> getText();
+ method public int getToIndex();
+ method public int getWindowId();
+ method public boolean isChecked();
+ method public boolean isEnabled();
+ method public boolean isFullScreen();
+ method public boolean isPassword();
+ method public boolean isScrollable();
+ method public static android.view.accessibility.AccessibilityRecord obtain(android.view.accessibility.AccessibilityRecord);
+ method public static android.view.accessibility.AccessibilityRecord obtain();
+ method public void recycle();
+ method public void setAddedCount(int);
+ method public void setBeforeText(java.lang.CharSequence);
+ method public void setChecked(boolean);
+ method public void setClassName(java.lang.CharSequence);
+ method public void setContentDescription(java.lang.CharSequence);
+ method public void setCurrentItemIndex(int);
+ method public void setEnabled(boolean);
+ method public void setFromIndex(int);
+ method public void setFullScreen(boolean);
+ method public void setItemCount(int);
+ method public void setParcelableData(android.os.Parcelable);
+ method public void setPassword(boolean);
+ method public void setRemovedCount(int);
+ method public void setScrollX(int);
+ method public void setScrollY(int);
+ method public void setScrollable(boolean);
+ method public void setSource(android.view.View);
+ method public void setToIndex(int);
+ }
+
+}
+
+package android.view.animation {
+
+ public class AccelerateDecelerateInterpolator implements android.view.animation.Interpolator {
+ ctor public AccelerateDecelerateInterpolator();
+ ctor public AccelerateDecelerateInterpolator(android.content.Context, android.util.AttributeSet);
+ method public float getInterpolation(float);
+ }
+
+ public class AccelerateInterpolator implements android.view.animation.Interpolator {
+ ctor public AccelerateInterpolator();
+ ctor public AccelerateInterpolator(float);
+ ctor public AccelerateInterpolator(android.content.Context, android.util.AttributeSet);
+ method public float getInterpolation(float);
+ }
+
+ public class AlphaAnimation extends android.view.animation.Animation {
+ ctor public AlphaAnimation(android.content.Context, android.util.AttributeSet);
+ ctor public AlphaAnimation(float, float);
+ }
+
+ public abstract class Animation implements java.lang.Cloneable {
+ ctor public Animation();
+ ctor public Animation(android.content.Context, android.util.AttributeSet);
+ method protected void applyTransformation(float, android.view.animation.Transformation);
+ method public void cancel();
+ method public long computeDurationHint();
+ method protected void ensureInterpolator();
+ method public int getBackgroundColor();
+ method public boolean getDetachWallpaper();
+ method public long getDuration();
+ method public boolean getFillAfter();
+ method public boolean getFillBefore();
+ method public android.view.animation.Interpolator getInterpolator();
+ method public int getRepeatCount();
+ method public int getRepeatMode();
+ method protected float getScaleFactor();
+ method public long getStartOffset();
+ method public long getStartTime();
+ method public boolean getTransformation(long, android.view.animation.Transformation);
+ method public boolean getTransformation(long, android.view.animation.Transformation, float);
+ method public int getZAdjustment();
+ method public boolean hasEnded();
+ method public boolean hasStarted();
+ method public void initialize(int, int, int, int);
+ method public boolean isFillEnabled();
+ method public boolean isInitialized();
+ method public void reset();
+ method protected float resolveSize(int, float, int, int);
+ method public void restrictDuration(long);
+ method public void scaleCurrentDuration(float);
+ method public void setAnimationListener(android.view.animation.Animation.AnimationListener);
+ method public void setBackgroundColor(int);
+ method public void setDetachWallpaper(boolean);
+ method public void setDuration(long);
+ method public void setFillAfter(boolean);
+ method public void setFillBefore(boolean);
+ method public void setFillEnabled(boolean);
+ method public void setInterpolator(android.content.Context, int);
+ method public void setInterpolator(android.view.animation.Interpolator);
+ method public void setRepeatCount(int);
+ method public void setRepeatMode(int);
+ method public void setStartOffset(long);
+ method public void setStartTime(long);
+ method public void setZAdjustment(int);
+ method public void start();
+ method public void startNow();
+ method public boolean willChangeBounds();
+ method public boolean willChangeTransformationMatrix();
+ field public static final int ABSOLUTE = 0; // 0x0
+ field public static final int INFINITE = -1; // 0xffffffff
+ field public static final int RELATIVE_TO_PARENT = 2; // 0x2
+ field public static final int RELATIVE_TO_SELF = 1; // 0x1
+ field public static final int RESTART = 1; // 0x1
+ field public static final int REVERSE = 2; // 0x2
+ field public static final int START_ON_FIRST_FRAME = -1; // 0xffffffff
+ field public static final int ZORDER_BOTTOM = -1; // 0xffffffff
+ field public static final int ZORDER_NORMAL = 0; // 0x0
+ field public static final int ZORDER_TOP = 1; // 0x1
+ }
+
+ public static abstract interface Animation.AnimationListener {
+ method public abstract void onAnimationEnd(android.view.animation.Animation);
+ method public abstract void onAnimationRepeat(android.view.animation.Animation);
+ method public abstract void onAnimationStart(android.view.animation.Animation);
+ }
+
+ protected static class Animation.Description {
+ ctor protected Animation.Description();
+ field public int type;
+ field public float value;
+ }
+
+ public class AnimationSet extends android.view.animation.Animation {
+ ctor public AnimationSet(android.content.Context, android.util.AttributeSet);
+ ctor public AnimationSet(boolean);
+ method public void addAnimation(android.view.animation.Animation);
+ method public java.util.List<android.view.animation.Animation> getAnimations();
+ }
+
+ public class AnimationUtils {
+ ctor public AnimationUtils();
+ method public static long currentAnimationTimeMillis();
+ method public static android.view.animation.Animation loadAnimation(android.content.Context, int) throws android.content.res.Resources.NotFoundException;
+ method public static android.view.animation.Interpolator loadInterpolator(android.content.Context, int) throws android.content.res.Resources.NotFoundException;
+ method public static android.view.animation.LayoutAnimationController loadLayoutAnimation(android.content.Context, int) throws android.content.res.Resources.NotFoundException;
+ method public static android.view.animation.Animation makeInAnimation(android.content.Context, boolean);
+ method public static android.view.animation.Animation makeInChildBottomAnimation(android.content.Context);
+ method public static android.view.animation.Animation makeOutAnimation(android.content.Context, boolean);
+ }
+
+ public class AnticipateInterpolator implements android.view.animation.Interpolator {
+ ctor public AnticipateInterpolator();
+ ctor public AnticipateInterpolator(float);
+ ctor public AnticipateInterpolator(android.content.Context, android.util.AttributeSet);
+ method public float getInterpolation(float);
+ }
+
+ public class AnticipateOvershootInterpolator implements android.view.animation.Interpolator {
+ ctor public AnticipateOvershootInterpolator();
+ ctor public AnticipateOvershootInterpolator(float);
+ ctor public AnticipateOvershootInterpolator(float, float);
+ ctor public AnticipateOvershootInterpolator(android.content.Context, android.util.AttributeSet);
+ method public float getInterpolation(float);
+ }
+
+ public class BounceInterpolator implements android.view.animation.Interpolator {
+ ctor public BounceInterpolator();
+ ctor public BounceInterpolator(android.content.Context, android.util.AttributeSet);
+ method public float getInterpolation(float);
+ }
+
+ public class CycleInterpolator implements android.view.animation.Interpolator {
+ ctor public CycleInterpolator(float);
+ ctor public CycleInterpolator(android.content.Context, android.util.AttributeSet);
+ method public float getInterpolation(float);
+ }
+
+ public class DecelerateInterpolator implements android.view.animation.Interpolator {
+ ctor public DecelerateInterpolator();
+ ctor public DecelerateInterpolator(float);
+ ctor public DecelerateInterpolator(android.content.Context, android.util.AttributeSet);
+ method public float getInterpolation(float);
+ }
+
+ public class GridLayoutAnimationController extends android.view.animation.LayoutAnimationController {
+ ctor public GridLayoutAnimationController(android.content.Context, android.util.AttributeSet);
+ ctor public GridLayoutAnimationController(android.view.animation.Animation);
+ ctor public GridLayoutAnimationController(android.view.animation.Animation, float, float);
+ method public float getColumnDelay();
+ method public int getDirection();
+ method public int getDirectionPriority();
+ method public float getRowDelay();
+ method public void setColumnDelay(float);
+ method public void setDirection(int);
+ method public void setDirectionPriority(int);
+ method public void setRowDelay(float);
+ field public static final int DIRECTION_BOTTOM_TO_TOP = 2; // 0x2
+ field public static final int DIRECTION_HORIZONTAL_MASK = 1; // 0x1
+ field public static final int DIRECTION_LEFT_TO_RIGHT = 0; // 0x0
+ field public static final int DIRECTION_RIGHT_TO_LEFT = 1; // 0x1
+ field public static final int DIRECTION_TOP_TO_BOTTOM = 0; // 0x0
+ field public static final int DIRECTION_VERTICAL_MASK = 2; // 0x2
+ field public static final int PRIORITY_COLUMN = 1; // 0x1
+ field public static final int PRIORITY_NONE = 0; // 0x0
+ field public static final int PRIORITY_ROW = 2; // 0x2
+ }
+
+ public static class GridLayoutAnimationController.AnimationParameters extends android.view.animation.LayoutAnimationController.AnimationParameters {
+ ctor public GridLayoutAnimationController.AnimationParameters();
+ field public int column;
+ field public int columnsCount;
+ field public int row;
+ field public int rowsCount;
+ }
+
+ public abstract interface Interpolator implements android.animation.TimeInterpolator {
+ }
+
+ public class LayoutAnimationController {
+ ctor public LayoutAnimationController(android.content.Context, android.util.AttributeSet);
+ ctor public LayoutAnimationController(android.view.animation.Animation);
+ ctor public LayoutAnimationController(android.view.animation.Animation, float);
+ method public android.view.animation.Animation getAnimation();
+ method public final android.view.animation.Animation getAnimationForView(android.view.View);
+ method public float getDelay();
+ method protected long getDelayForView(android.view.View);
+ method public android.view.animation.Interpolator getInterpolator();
+ method public int getOrder();
+ method protected int getTransformedIndex(android.view.animation.LayoutAnimationController.AnimationParameters);
+ method public boolean isDone();
+ method public void setAnimation(android.content.Context, int);
+ method public void setAnimation(android.view.animation.Animation);
+ method public void setDelay(float);
+ method public void setInterpolator(android.content.Context, int);
+ method public void setInterpolator(android.view.animation.Interpolator);
+ method public void setOrder(int);
+ method public void start();
+ method public boolean willOverlap();
+ field public static final int ORDER_NORMAL = 0; // 0x0
+ field public static final int ORDER_RANDOM = 2; // 0x2
+ field public static final int ORDER_REVERSE = 1; // 0x1
+ field protected android.view.animation.Animation mAnimation;
+ field protected android.view.animation.Interpolator mInterpolator;
+ field protected java.util.Random mRandomizer;
+ }
+
+ public static class LayoutAnimationController.AnimationParameters {
+ ctor public LayoutAnimationController.AnimationParameters();
+ field public int count;
+ field public int index;
+ }
+
+ public class LinearInterpolator implements android.view.animation.Interpolator {
+ ctor public LinearInterpolator();
+ ctor public LinearInterpolator(android.content.Context, android.util.AttributeSet);
+ method public float getInterpolation(float);
+ }
+
+ public class OvershootInterpolator implements android.view.animation.Interpolator {
+ ctor public OvershootInterpolator();
+ ctor public OvershootInterpolator(float);
+ ctor public OvershootInterpolator(android.content.Context, android.util.AttributeSet);
+ method public float getInterpolation(float);
+ }
+
+ public class RotateAnimation extends android.view.animation.Animation {
+ ctor public RotateAnimation(android.content.Context, android.util.AttributeSet);
+ ctor public RotateAnimation(float, float);
+ ctor public RotateAnimation(float, float, float, float);
+ ctor public RotateAnimation(float, float, int, float, int, float);
+ }
+
+ public class ScaleAnimation extends android.view.animation.Animation {
+ ctor public ScaleAnimation(android.content.Context, android.util.AttributeSet);
+ ctor public ScaleAnimation(float, float, float, float);
+ ctor public ScaleAnimation(float, float, float, float, float, float);
+ ctor public ScaleAnimation(float, float, float, float, int, float, int, float);
+ }
+
+ public class Transformation {
+ ctor public Transformation();
+ method public void clear();
+ method public void compose(android.view.animation.Transformation);
+ method public float getAlpha();
+ method public android.graphics.Matrix getMatrix();
+ method public int getTransformationType();
+ method public void set(android.view.animation.Transformation);
+ method public void setAlpha(float);
+ method public void setTransformationType(int);
+ method public java.lang.String toShortString();
+ field public static int TYPE_ALPHA;
+ field public static int TYPE_BOTH;
+ field public static int TYPE_IDENTITY;
+ field public static int TYPE_MATRIX;
+ field protected float mAlpha;
+ field protected android.graphics.Matrix mMatrix;
+ field protected int mTransformationType;
+ }
+
+ public class TranslateAnimation extends android.view.animation.Animation {
+ ctor public TranslateAnimation(android.content.Context, android.util.AttributeSet);
+ ctor public TranslateAnimation(float, float, float, float);
+ ctor public TranslateAnimation(int, float, int, float, int, float, int, float);
+ }
+
+}
+
+package android.view.inputmethod {
+
+ public class BaseInputConnection implements android.view.inputmethod.InputConnection {
+ ctor public BaseInputConnection(android.view.View, boolean);
+ method public boolean beginBatchEdit();
+ method public boolean clearMetaKeyStates(int);
+ method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+ method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
+ method public boolean commitText(java.lang.CharSequence, int);
+ method public boolean deleteSurroundingText(int, int);
+ method public boolean endBatchEdit();
+ method public boolean finishComposingText();
+ method public static int getComposingSpanEnd(android.text.Spannable);
+ method public static int getComposingSpanStart(android.text.Spannable);
+ method public int getCursorCapsMode(int);
+ method public android.text.Editable getEditable();
+ method public android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest, int);
+ method public java.lang.CharSequence getSelectedText(int);
+ method public java.lang.CharSequence getTextAfterCursor(int, int);
+ method public java.lang.CharSequence getTextBeforeCursor(int, int);
+ method public boolean performContextMenuAction(int);
+ method public boolean performEditorAction(int);
+ method public boolean performPrivateCommand(java.lang.String, android.os.Bundle);
+ method public static final void removeComposingSpans(android.text.Spannable);
+ method public boolean reportFullscreenMode(boolean);
+ method public boolean sendKeyEvent(android.view.KeyEvent);
+ method public boolean setComposingRegion(int, int);
+ method public static void setComposingSpans(android.text.Spannable);
+ method public boolean setComposingText(java.lang.CharSequence, int);
+ method public boolean setSelection(int, int);
+ }
+
+ public final class CompletionInfo implements android.os.Parcelable {
+ ctor public CompletionInfo(long, int, java.lang.CharSequence);
+ ctor public CompletionInfo(long, int, java.lang.CharSequence, java.lang.CharSequence);
+ method public int describeContents();
+ method public long getId();
+ method public java.lang.CharSequence getLabel();
+ method public int getPosition();
+ method public java.lang.CharSequence getText();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public final class CorrectionInfo implements android.os.Parcelable {
+ ctor public CorrectionInfo(int, java.lang.CharSequence, java.lang.CharSequence);
+ method public int describeContents();
+ method public java.lang.CharSequence getNewText();
+ method public int getOffset();
+ method public java.lang.CharSequence getOldText();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class EditorInfo implements android.text.InputType android.os.Parcelable {
+ ctor public EditorInfo();
+ method public int describeContents();
+ method public void dump(android.util.Printer, java.lang.String);
+ method public final void makeCompatible(int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int IME_ACTION_DONE = 6; // 0x6
+ field public static final int IME_ACTION_GO = 2; // 0x2
+ field public static final int IME_ACTION_NEXT = 5; // 0x5
+ field public static final int IME_ACTION_NONE = 1; // 0x1
+ field public static final int IME_ACTION_PREVIOUS = 7; // 0x7
+ field public static final int IME_ACTION_SEARCH = 3; // 0x3
+ field public static final int IME_ACTION_SEND = 4; // 0x4
+ field public static final int IME_ACTION_UNSPECIFIED = 0; // 0x0
+ field public static final int IME_FLAG_NAVIGATE_NEXT = 134217728; // 0x8000000
+ field public static final int IME_FLAG_NAVIGATE_PREVIOUS = 67108864; // 0x4000000
+ field public static final int IME_FLAG_NO_ACCESSORY_ACTION = 536870912; // 0x20000000
+ field public static final int IME_FLAG_NO_ENTER_ACTION = 1073741824; // 0x40000000
+ field public static final int IME_FLAG_NO_EXTRACT_UI = 268435456; // 0x10000000
+ field public static final int IME_FLAG_NO_FULLSCREEN = 33554432; // 0x2000000
+ field public static final int IME_MASK_ACTION = 255; // 0xff
+ field public static final int IME_NULL = 0; // 0x0
+ field public int actionId;
+ field public java.lang.CharSequence actionLabel;
+ field public android.os.Bundle extras;
+ field public int fieldId;
+ field public java.lang.String fieldName;
+ field public java.lang.CharSequence hintText;
+ field public int imeOptions;
+ field public int initialCapsMode;
+ field public int initialSelEnd;
+ field public int initialSelStart;
+ field public int inputType;
+ field public java.lang.CharSequence label;
+ field public java.lang.String packageName;
+ field public java.lang.String privateImeOptions;
+ }
+
+ public class ExtractedText implements android.os.Parcelable {
+ ctor public ExtractedText();
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int FLAG_SELECTING = 2; // 0x2
+ field public static final int FLAG_SINGLE_LINE = 1; // 0x1
+ field public int flags;
+ field public int partialEndOffset;
+ field public int partialStartOffset;
+ field public int selectionEnd;
+ field public int selectionStart;
+ field public int startOffset;
+ field public java.lang.CharSequence text;
+ }
+
+ public class ExtractedTextRequest implements android.os.Parcelable {
+ ctor public ExtractedTextRequest();
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public int flags;
+ field public int hintMaxChars;
+ field public int hintMaxLines;
+ field public int token;
+ }
+
+ public final class InputBinding implements android.os.Parcelable {
+ ctor public InputBinding(android.view.inputmethod.InputConnection, android.os.IBinder, int, int);
+ ctor public InputBinding(android.view.inputmethod.InputConnection, android.view.inputmethod.InputBinding);
+ method public int describeContents();
+ method public android.view.inputmethod.InputConnection getConnection();
+ method public android.os.IBinder getConnectionToken();
+ method public int getPid();
+ method public int getUid();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public abstract interface InputConnection {
+ method public abstract boolean beginBatchEdit();
+ method public abstract boolean clearMetaKeyStates(int);
+ method public abstract boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+ method public abstract boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
+ method public abstract boolean commitText(java.lang.CharSequence, int);
+ method public abstract boolean deleteSurroundingText(int, int);
+ method public abstract boolean endBatchEdit();
+ method public abstract boolean finishComposingText();
+ method public abstract int getCursorCapsMode(int);
+ method public abstract android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest, int);
+ method public abstract java.lang.CharSequence getSelectedText(int);
+ method public abstract java.lang.CharSequence getTextAfterCursor(int, int);
+ method public abstract java.lang.CharSequence getTextBeforeCursor(int, int);
+ method public abstract boolean performContextMenuAction(int);
+ method public abstract boolean performEditorAction(int);
+ method public abstract boolean performPrivateCommand(java.lang.String, android.os.Bundle);
+ method public abstract boolean reportFullscreenMode(boolean);
+ method public abstract boolean sendKeyEvent(android.view.KeyEvent);
+ method public abstract boolean setComposingRegion(int, int);
+ method public abstract boolean setComposingText(java.lang.CharSequence, int);
+ method public abstract boolean setSelection(int, int);
+ field public static final int GET_EXTRACTED_TEXT_MONITOR = 1; // 0x1
+ field public static final int GET_TEXT_WITH_STYLES = 1; // 0x1
+ }
+
+ public class InputConnectionWrapper implements android.view.inputmethod.InputConnection {
+ ctor public InputConnectionWrapper(android.view.inputmethod.InputConnection, boolean);
+ method public boolean beginBatchEdit();
+ method public boolean clearMetaKeyStates(int);
+ method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+ method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
+ method public boolean commitText(java.lang.CharSequence, int);
+ method public boolean deleteSurroundingText(int, int);
+ method public boolean endBatchEdit();
+ method public boolean finishComposingText();
+ method public int getCursorCapsMode(int);
+ method public android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest, int);
+ method public java.lang.CharSequence getSelectedText(int);
+ method public java.lang.CharSequence getTextAfterCursor(int, int);
+ method public java.lang.CharSequence getTextBeforeCursor(int, int);
+ method public boolean performContextMenuAction(int);
+ method public boolean performEditorAction(int);
+ method public boolean performPrivateCommand(java.lang.String, android.os.Bundle);
+ method public boolean reportFullscreenMode(boolean);
+ method public boolean sendKeyEvent(android.view.KeyEvent);
+ method public boolean setComposingRegion(int, int);
+ method public boolean setComposingText(java.lang.CharSequence, int);
+ method public boolean setSelection(int, int);
+ method public void setTarget(android.view.inputmethod.InputConnection);
+ }
+
+ public abstract interface InputMethod {
+ method public abstract void attachToken(android.os.IBinder);
+ method public abstract void bindInput(android.view.inputmethod.InputBinding);
+ method public abstract void changeInputMethodSubtype(android.view.inputmethod.InputMethodSubtype);
+ method public abstract void createSession(android.view.inputmethod.InputMethod.SessionCallback);
+ method public abstract void hideSoftInput(int, android.os.ResultReceiver);
+ method public abstract void restartInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
+ method public abstract void revokeSession(android.view.inputmethod.InputMethodSession);
+ method public abstract void setSessionEnabled(android.view.inputmethod.InputMethodSession, boolean);
+ method public abstract void showSoftInput(int, android.os.ResultReceiver);
+ method public abstract void startInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
+ method public abstract void unbindInput();
+ field public static final java.lang.String SERVICE_INTERFACE = "android.view.InputMethod";
+ field public static final java.lang.String SERVICE_META_DATA = "android.view.im";
+ field public static final int SHOW_EXPLICIT = 1; // 0x1
+ field public static final int SHOW_FORCED = 2; // 0x2
+ }
+
+ public static abstract interface InputMethod.SessionCallback {
+ method public abstract void sessionCreated(android.view.inputmethod.InputMethodSession);
+ }
+
+ public final class InputMethodInfo implements android.os.Parcelable {
+ ctor public InputMethodInfo(android.content.Context, android.content.pm.ResolveInfo) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ ctor public InputMethodInfo(java.lang.String, java.lang.String, java.lang.CharSequence, java.lang.String);
+ method public int describeContents();
+ method public void dump(android.util.Printer, java.lang.String);
+ method public android.content.ComponentName getComponent();
+ method public java.lang.String getId();
+ method public int getIsDefaultResourceId();
+ method public java.lang.String getPackageName();
+ method public android.content.pm.ServiceInfo getServiceInfo();
+ method public java.lang.String getServiceName();
+ method public java.lang.String getSettingsActivity();
+ method public android.view.inputmethod.InputMethodSubtype getSubtypeAt(int);
+ method public int getSubtypeCount();
+ method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+ method public java.lang.CharSequence loadLabel(android.content.pm.PackageManager);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public final class InputMethodManager {
+ method public void displayCompletions(android.view.View, android.view.inputmethod.CompletionInfo[]);
+ method public android.view.inputmethod.InputMethodSubtype getCurrentInputMethodSubtype();
+ method public java.util.List<android.view.inputmethod.InputMethodInfo> getEnabledInputMethodList();
+ method public java.util.List<android.view.inputmethod.InputMethodSubtype> getEnabledInputMethodSubtypeList(android.view.inputmethod.InputMethodInfo, boolean);
+ method public java.util.List<android.view.inputmethod.InputMethodInfo> getInputMethodList();
+ method public android.view.inputmethod.InputMethodSubtype getLastInputMethodSubtype();
+ method public java.util.Map<android.view.inputmethod.InputMethodInfo, java.util.List<android.view.inputmethod.InputMethodSubtype>> getShortcutInputMethodsAndSubtypes();
+ method public void hideSoftInputFromInputMethod(android.os.IBinder, int);
+ method public boolean hideSoftInputFromWindow(android.os.IBinder, int);
+ method public boolean hideSoftInputFromWindow(android.os.IBinder, int, android.os.ResultReceiver);
+ method public void hideStatusIcon(android.os.IBinder);
+ method public boolean isAcceptingText();
+ method public boolean isActive(android.view.View);
+ method public boolean isActive();
+ method public boolean isFullscreenMode();
+ method public boolean isWatchingCursor(android.view.View);
+ method public void restartInput(android.view.View);
+ method public void sendAppPrivateCommand(android.view.View, java.lang.String, android.os.Bundle);
+ method public void setAdditionalInputMethodSubtypes(java.lang.String, android.view.inputmethod.InputMethodSubtype[]);
+ method public boolean setCurrentInputMethodSubtype(android.view.inputmethod.InputMethodSubtype);
+ method public void setInputMethod(android.os.IBinder, java.lang.String);
+ method public void setInputMethodAndSubtype(android.os.IBinder, java.lang.String, android.view.inputmethod.InputMethodSubtype);
+ method public void showInputMethodAndSubtypeEnabler(java.lang.String);
+ method public void showInputMethodPicker();
+ method public boolean showSoftInput(android.view.View, int);
+ method public boolean showSoftInput(android.view.View, int, android.os.ResultReceiver);
+ method public void showSoftInputFromInputMethod(android.os.IBinder, int);
+ method public void showStatusIcon(android.os.IBinder, java.lang.String, int);
+ method public boolean switchToLastInputMethod(android.os.IBinder);
+ method public void toggleSoftInput(int, int);
+ method public void toggleSoftInputFromWindow(android.os.IBinder, int, int);
+ method public void updateCursor(android.view.View, int, int, int, int);
+ method public void updateExtractedText(android.view.View, int, android.view.inputmethod.ExtractedText);
+ method public void updateSelection(android.view.View, int, int, int, int);
+ method public void viewClicked(android.view.View);
+ field public static final int HIDE_IMPLICIT_ONLY = 1; // 0x1
+ field public static final int HIDE_NOT_ALWAYS = 2; // 0x2
+ field public static final int RESULT_HIDDEN = 3; // 0x3
+ field public static final int RESULT_SHOWN = 2; // 0x2
+ field public static final int RESULT_UNCHANGED_HIDDEN = 1; // 0x1
+ field public static final int RESULT_UNCHANGED_SHOWN = 0; // 0x0
+ field public static final int SHOW_FORCED = 2; // 0x2
+ field public static final int SHOW_IMPLICIT = 1; // 0x1
+ }
+
+ public abstract interface InputMethodSession {
+ method public abstract void appPrivateCommand(java.lang.String, android.os.Bundle);
+ method public abstract void dispatchKeyEvent(int, android.view.KeyEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+ method public abstract void dispatchTrackballEvent(int, android.view.MotionEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+ method public abstract void displayCompletions(android.view.inputmethod.CompletionInfo[]);
+ method public abstract void finishInput();
+ method public abstract void toggleSoftInput(int, int);
+ method public abstract void updateCursor(android.graphics.Rect);
+ method public abstract void updateExtractedText(int, android.view.inputmethod.ExtractedText);
+ method public abstract void updateSelection(int, int, int, int, int, int);
+ method public abstract void viewClicked(boolean);
+ }
+
+ public static abstract interface InputMethodSession.EventCallback {
+ method public abstract void finishedEvent(int, boolean);
+ }
+
+ public final class InputMethodSubtype implements android.os.Parcelable {
+ ctor public InputMethodSubtype(int, int, java.lang.String, java.lang.String, java.lang.String, boolean, boolean);
+ method public boolean containsExtraValueKey(java.lang.String);
+ method public int describeContents();
+ method public java.lang.CharSequence getDisplayName(android.content.Context, java.lang.String, android.content.pm.ApplicationInfo);
+ method public java.lang.String getExtraValue();
+ method public java.lang.String getExtraValueOf(java.lang.String);
+ method public int getIconResId();
+ method public java.lang.String getLocale();
+ method public java.lang.String getMode();
+ method public int getNameResId();
+ method public boolean isAuxiliary();
+ method public boolean overridesImplicitlyEnabledSubtype();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+}
+
+package android.view.textservice {
+
+ public final class SpellCheckerInfo implements android.os.Parcelable {
+ method public int describeContents();
+ method public android.content.ComponentName getComponent();
+ method public java.lang.String getId();
+ method public java.lang.String getPackageName();
+ method public android.content.pm.ServiceInfo getServiceInfo();
+ method public java.lang.String getSettingsActivity();
+ method public android.view.textservice.SpellCheckerSubtype getSubtypeAt(int);
+ method public int getSubtypeCount();
+ method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+ method public java.lang.CharSequence loadLabel(android.content.pm.PackageManager);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class SpellCheckerSession {
+ method public void close();
+ method public android.view.textservice.SpellCheckerInfo getSpellChecker();
+ method public void getSuggestions(android.view.textservice.TextInfo, int);
+ method public void getSuggestions(android.view.textservice.TextInfo[], int, boolean);
+ method public boolean isSessionDisconnected();
+ field public static final java.lang.String SERVICE_META_DATA = "android.view.textservice.scs";
+ }
+
+ public static abstract interface SpellCheckerSession.SpellCheckerSessionListener {
+ method public abstract void onGetSuggestions(android.view.textservice.SuggestionsInfo[]);
+ }
+
+ public final class SpellCheckerSubtype implements android.os.Parcelable {
+ ctor public SpellCheckerSubtype(int, java.lang.String, java.lang.String);
+ method public int describeContents();
+ method public java.lang.CharSequence getDisplayName(android.content.Context, java.lang.String, android.content.pm.ApplicationInfo);
+ method public java.lang.String getExtraValue();
+ method public java.lang.String getLocale();
+ method public int getNameResId();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public final class SuggestionsInfo implements android.os.Parcelable {
+ ctor public SuggestionsInfo(int, java.lang.String[]);
+ ctor public SuggestionsInfo(int, java.lang.String[], int, int);
+ ctor public SuggestionsInfo(android.os.Parcel);
+ method public int describeContents();
+ method public int getCookie();
+ method public int getSequence();
+ method public java.lang.String getSuggestionAt(int);
+ method public int getSuggestionsAttributes();
+ method public int getSuggestionsCount();
+ method public void setCookieAndSequence(int, int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int RESULT_ATTR_IN_THE_DICTIONARY = 1; // 0x1
+ field public static final int RESULT_ATTR_LOOKS_LIKE_TYPO = 2; // 0x2
+ }
+
+ public final class TextInfo implements android.os.Parcelable {
+ ctor public TextInfo(java.lang.String);
+ ctor public TextInfo(java.lang.String, int, int);
+ ctor public TextInfo(android.os.Parcel);
+ method public int describeContents();
+ method public int getCookie();
+ method public int getSequence();
+ method public java.lang.String getText();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public final class TextServicesManager {
+ method public android.view.textservice.SpellCheckerSession newSpellCheckerSession(android.os.Bundle, java.util.Locale, android.view.textservice.SpellCheckerSession.SpellCheckerSessionListener, boolean);
+ }
+
+}
+
+package android.webkit {
+
+ public final deprecated class CacheManager {
+ ctor public CacheManager();
+ method public static deprecated boolean cacheDisabled();
+ method public static deprecated boolean endCacheTransaction();
+ method public static deprecated android.webkit.CacheManager.CacheResult getCacheFile(java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
+ method public static deprecated java.io.File getCacheFileBaseDir();
+ method public static deprecated void saveCacheFile(java.lang.String, android.webkit.CacheManager.CacheResult);
+ method public static deprecated boolean startCacheTransaction();
+ }
+
+ public static deprecated class CacheManager.CacheResult {
+ ctor public CacheManager.CacheResult();
+ method public java.lang.String getContentDisposition();
+ method public long getContentLength();
+ method public java.lang.String getETag();
+ method public java.lang.String getEncoding();
+ method public long getExpires();
+ method public java.lang.String getExpiresString();
+ method public int getHttpStatusCode();
+ method public java.io.InputStream getInputStream();
+ method public java.lang.String getLastModified();
+ method public java.lang.String getLocalPath();
+ method public java.lang.String getLocation();
+ method public java.lang.String getMimeType();
+ method public java.io.OutputStream getOutputStream();
+ method public void setEncoding(java.lang.String);
+ method public void setInputStream(java.io.InputStream);
+ }
+
+ public class ConsoleMessage {
+ ctor public ConsoleMessage(java.lang.String, java.lang.String, int, android.webkit.ConsoleMessage.MessageLevel);
+ method public int lineNumber();
+ method public java.lang.String message();
+ method public android.webkit.ConsoleMessage.MessageLevel messageLevel();
+ method public java.lang.String sourceId();
+ }
+
+ public static final class ConsoleMessage.MessageLevel extends java.lang.Enum {
+ method public static android.webkit.ConsoleMessage.MessageLevel valueOf(java.lang.String);
+ method public static final android.webkit.ConsoleMessage.MessageLevel[] values();
+ enum_constant public static final android.webkit.ConsoleMessage.MessageLevel DEBUG;
+ enum_constant public static final android.webkit.ConsoleMessage.MessageLevel ERROR;
+ enum_constant public static final android.webkit.ConsoleMessage.MessageLevel LOG;
+ enum_constant public static final android.webkit.ConsoleMessage.MessageLevel TIP;
+ enum_constant public static final android.webkit.ConsoleMessage.MessageLevel WARNING;
+ }
+
+ public final class CookieManager {
+ method public synchronized boolean acceptCookie();
+ method public static boolean allowFileSchemeCookies();
+ method public java.lang.String getCookie(java.lang.String);
+ method public static synchronized android.webkit.CookieManager getInstance();
+ method public synchronized boolean hasCookies();
+ method public void removeAllCookie();
+ method public void removeExpiredCookie();
+ method public void removeSessionCookie();
+ method public synchronized void setAcceptCookie(boolean);
+ method public static void setAcceptFileSchemeCookies(boolean);
+ method public void setCookie(java.lang.String, java.lang.String);
+ }
+
+ public final class CookieSyncManager extends android.webkit.WebSyncManager {
+ method public static synchronized android.webkit.CookieSyncManager createInstance(android.content.Context);
+ method public static synchronized android.webkit.CookieSyncManager getInstance();
+ method protected void syncFromRamToFlash();
+ }
+
+ public class DateSorter {
+ ctor public DateSorter(android.content.Context);
+ method public long getBoundary(int);
+ method public int getIndex(long);
+ method public java.lang.String getLabel(int);
+ field public static final int DAY_COUNT = 5; // 0x5
+ }
+
+ public abstract interface DownloadListener {
+ method public abstract void onDownloadStart(java.lang.String, java.lang.String, java.lang.String, java.lang.String, long);
+ }
+
+ public final class GeolocationPermissions {
+ ctor public GeolocationPermissions();
+ method public void allow(java.lang.String);
+ method public void clear(java.lang.String);
+ method public void clearAll();
+ method public void getAllowed(java.lang.String, android.webkit.ValueCallback<java.lang.Boolean>);
+ method public static android.webkit.GeolocationPermissions getInstance();
+ method public void getOrigins(android.webkit.ValueCallback<java.util.Set<java.lang.String>>);
+ }
+
+ public static abstract interface GeolocationPermissions.Callback {
+ method public abstract void invoke(java.lang.String, boolean, boolean);
+ }
+
+ public class HttpAuthHandler extends android.os.Handler {
+ method public void cancel();
+ method public void proceed(java.lang.String, java.lang.String);
+ method public boolean useHttpAuthUsernamePassword();
+ }
+
+ public class JsPromptResult extends android.webkit.JsResult {
+ method public void confirm(java.lang.String);
+ }
+
+ public class JsResult {
+ method public final void cancel();
+ method public final void confirm();
+ method protected final void wakeUp();
+ field protected boolean mResult;
+ }
+
+ public class MimeTypeMap {
+ method public java.lang.String getExtensionFromMimeType(java.lang.String);
+ method public static java.lang.String getFileExtensionFromUrl(java.lang.String);
+ method public java.lang.String getMimeTypeFromExtension(java.lang.String);
+ method public static android.webkit.MimeTypeMap getSingleton();
+ method public boolean hasExtension(java.lang.String);
+ method public boolean hasMimeType(java.lang.String);
+ }
+
+ public abstract interface PluginStub {
+ method public abstract android.view.View getEmbeddedView(int, android.content.Context);
+ method public abstract android.view.View getFullScreenView(int, android.content.Context);
+ }
+
+ public class SslErrorHandler extends android.os.Handler {
+ method public void cancel();
+ method public void proceed();
+ }
+
+ public final class URLUtil {
+ ctor public URLUtil();
+ method public static java.lang.String composeSearchUrl(java.lang.String, java.lang.String, java.lang.String);
+ method public static byte[] decode(byte[]) throws java.lang.IllegalArgumentException;
+ method public static final java.lang.String guessFileName(java.lang.String, java.lang.String, java.lang.String);
+ method public static java.lang.String guessUrl(java.lang.String);
+ method public static boolean isAboutUrl(java.lang.String);
+ method public static boolean isAssetUrl(java.lang.String);
+ method public static boolean isContentUrl(java.lang.String);
+ method public static deprecated boolean isCookielessProxyUrl(java.lang.String);
+ method public static boolean isDataUrl(java.lang.String);
+ method public static boolean isFileUrl(java.lang.String);
+ method public static boolean isHttpUrl(java.lang.String);
+ method public static boolean isHttpsUrl(java.lang.String);
+ method public static boolean isJavaScriptUrl(java.lang.String);
+ method public static boolean isNetworkUrl(java.lang.String);
+ method public static boolean isValidUrl(java.lang.String);
+ method public static java.lang.String stripAnchor(java.lang.String);
+ }
+
+ public abstract interface ValueCallback {
+ method public abstract void onReceiveValue(T);
+ }
+
+ public class WebBackForwardList implements java.lang.Cloneable java.io.Serializable {
+ method public synchronized int getCurrentIndex();
+ method public synchronized android.webkit.WebHistoryItem getCurrentItem();
+ method public synchronized android.webkit.WebHistoryItem getItemAtIndex(int);
+ method public synchronized int getSize();
+ }
+
+ public class WebChromeClient {
+ ctor public WebChromeClient();
+ method public android.graphics.Bitmap getDefaultVideoPoster();
+ method public android.view.View getVideoLoadingProgressView();
+ method public void getVisitedHistory(android.webkit.ValueCallback<java.lang.String[]>);
+ method public void onCloseWindow(android.webkit.WebView);
+ method public deprecated void onConsoleMessage(java.lang.String, int, java.lang.String);
+ method public boolean onConsoleMessage(android.webkit.ConsoleMessage);
+ method public boolean onCreateWindow(android.webkit.WebView, boolean, boolean, android.os.Message);
+ method public void onExceededDatabaseQuota(java.lang.String, java.lang.String, long, long, long, android.webkit.WebStorage.QuotaUpdater);
+ method public void onGeolocationPermissionsHidePrompt();
+ method public void onGeolocationPermissionsShowPrompt(java.lang.String, android.webkit.GeolocationPermissions.Callback);
+ method public void onHideCustomView();
+ method public boolean onJsAlert(android.webkit.WebView, java.lang.String, java.lang.String, android.webkit.JsResult);
+ method public boolean onJsBeforeUnload(android.webkit.WebView, java.lang.String, java.lang.String, android.webkit.JsResult);
+ method public boolean onJsConfirm(android.webkit.WebView, java.lang.String, java.lang.String, android.webkit.JsResult);
+ method public boolean onJsPrompt(android.webkit.WebView, java.lang.String, java.lang.String, java.lang.String, android.webkit.JsPromptResult);
+ method public boolean onJsTimeout();
+ method public void onProgressChanged(android.webkit.WebView, int);
+ method public void onReachedMaxAppCacheSize(long, long, android.webkit.WebStorage.QuotaUpdater);
+ method public void onReceivedIcon(android.webkit.WebView, android.graphics.Bitmap);
+ method public void onReceivedTitle(android.webkit.WebView, java.lang.String);
+ method public void onReceivedTouchIconUrl(android.webkit.WebView, java.lang.String, boolean);
+ method public void onRequestFocus(android.webkit.WebView);
+ method public void onShowCustomView(android.view.View, android.webkit.WebChromeClient.CustomViewCallback);
+ method public void onShowCustomView(android.view.View, int, android.webkit.WebChromeClient.CustomViewCallback);
+ }
+
+ public static abstract interface WebChromeClient.CustomViewCallback {
+ method public abstract void onCustomViewHidden();
+ }
+
+ public class WebHistoryItem implements java.lang.Cloneable {
+ method public android.graphics.Bitmap getFavicon();
+ method public deprecated int getId();
+ method public java.lang.String getOriginalUrl();
+ method public java.lang.String getTitle();
+ method public java.lang.String getUrl();
+ }
+
+ public final class WebIconDatabase {
+ method public void close();
+ method public static android.webkit.WebIconDatabase getInstance();
+ method public void open(java.lang.String);
+ method public void releaseIconForPageUrl(java.lang.String);
+ method public void removeAllIcons();
+ method public void requestIconForPageUrl(java.lang.String, android.webkit.WebIconDatabase.IconListener);
+ method public void retainIconForPageUrl(java.lang.String);
+ }
+
+ public static abstract interface WebIconDatabase.IconListener {
+ method public abstract void onReceivedIcon(java.lang.String, android.graphics.Bitmap);
+ }
+
+ public class WebResourceResponse {
+ ctor public WebResourceResponse(java.lang.String, java.lang.String, java.io.InputStream);
+ method public java.io.InputStream getData();
+ method public java.lang.String getEncoding();
+ method public java.lang.String getMimeType();
+ method public void setData(java.io.InputStream);
+ method public void setEncoding(java.lang.String);
+ method public void setMimeType(java.lang.String);
+ }
+
+ public class WebSettings {
+ method public boolean enableSmoothTransition();
+ method public boolean getAllowContentAccess();
+ method public boolean getAllowFileAccess();
+ method public synchronized boolean getBlockNetworkImage();
+ method public synchronized boolean getBlockNetworkLoads();
+ method public boolean getBuiltInZoomControls();
+ method public int getCacheMode();
+ method public synchronized java.lang.String getCursiveFontFamily();
+ method public synchronized boolean getDatabaseEnabled();
+ method public synchronized java.lang.String getDatabasePath();
+ method public synchronized int getDefaultFixedFontSize();
+ method public synchronized int getDefaultFontSize();
+ method public synchronized java.lang.String getDefaultTextEncodingName();
+ method public android.webkit.WebSettings.ZoomDensity getDefaultZoom();
+ method public boolean getDisplayZoomControls();
+ method public synchronized boolean getDomStorageEnabled();
+ method public synchronized java.lang.String getFantasyFontFamily();
+ method public synchronized java.lang.String getFixedFontFamily();
+ method public synchronized boolean getJavaScriptCanOpenWindowsAutomatically();
+ method public synchronized boolean getJavaScriptEnabled();
+ method public deprecated synchronized android.webkit.WebSettings.LayoutAlgorithm getLayoutAlgorithm();
+ method public boolean getLightTouchEnabled();
+ method public boolean getLoadWithOverviewMode();
+ method public synchronized boolean getLoadsImagesAutomatically();
+ method public synchronized int getMinimumFontSize();
+ method public synchronized int getMinimumLogicalFontSize();
+ method public deprecated boolean getNavDump();
+ method public synchronized android.webkit.WebSettings.PluginState getPluginState();
+ method public deprecated synchronized boolean getPluginsEnabled();
+ method public deprecated synchronized java.lang.String getPluginsPath();
+ method public synchronized java.lang.String getSansSerifFontFamily();
+ method public boolean getSaveFormData();
+ method public boolean getSavePassword();
+ method public synchronized java.lang.String getSerifFontFamily();
+ method public synchronized java.lang.String getStandardFontFamily();
+ method public deprecated synchronized android.webkit.WebSettings.TextSize getTextSize();
+ method public synchronized int getTextZoom();
+ method public deprecated synchronized boolean getUseDoubleTree();
+ method public deprecated boolean getUseWebViewBackgroundForOverscrollBackground();
+ method public synchronized boolean getUseWideViewPort();
+ method public deprecated synchronized int getUserAgent();
+ method public synchronized java.lang.String getUserAgentString();
+ method public void setAllowContentAccess(boolean);
+ method public void setAllowFileAccess(boolean);
+ method public synchronized void setAppCacheEnabled(boolean);
+ method public synchronized void setAppCacheMaxSize(long);
+ method public synchronized void setAppCachePath(java.lang.String);
+ method public synchronized void setBlockNetworkImage(boolean);
+ method public synchronized void setBlockNetworkLoads(boolean);
+ method public void setBuiltInZoomControls(boolean);
+ method public void setCacheMode(int);
+ method public synchronized void setCursiveFontFamily(java.lang.String);
+ method public synchronized void setDatabaseEnabled(boolean);
+ method public synchronized void setDatabasePath(java.lang.String);
+ method public synchronized void setDefaultFixedFontSize(int);
+ method public synchronized void setDefaultFontSize(int);
+ method public synchronized void setDefaultTextEncodingName(java.lang.String);
+ method public void setDefaultZoom(android.webkit.WebSettings.ZoomDensity);
+ method public void setDisplayZoomControls(boolean);
+ method public synchronized void setDomStorageEnabled(boolean);
+ method public void setEnableSmoothTransition(boolean);
+ method public synchronized void setFantasyFontFamily(java.lang.String);
+ method public synchronized void setFixedFontFamily(java.lang.String);
+ method public synchronized void setGeolocationDatabasePath(java.lang.String);
+ method public synchronized void setGeolocationEnabled(boolean);
+ method public synchronized void setJavaScriptCanOpenWindowsAutomatically(boolean);
+ method public synchronized void setJavaScriptEnabled(boolean);
+ method public deprecated synchronized void setLayoutAlgorithm(android.webkit.WebSettings.LayoutAlgorithm);
+ method public void setLightTouchEnabled(boolean);
+ method public void setLoadWithOverviewMode(boolean);
+ method public synchronized void setLoadsImagesAutomatically(boolean);
+ method public synchronized void setMinimumFontSize(int);
+ method public synchronized void setMinimumLogicalFontSize(int);
+ method public deprecated void setNavDump(boolean);
+ method public void setNeedInitialFocus(boolean);
+ method public synchronized void setPluginState(android.webkit.WebSettings.PluginState);
+ method public deprecated synchronized void setPluginsEnabled(boolean);
+ method public deprecated synchronized void setPluginsPath(java.lang.String);
+ method public synchronized void setRenderPriority(android.webkit.WebSettings.RenderPriority);
+ method public synchronized void setSansSerifFontFamily(java.lang.String);
+ method public void setSaveFormData(boolean);
+ method public void setSavePassword(boolean);
+ method public synchronized void setSerifFontFamily(java.lang.String);
+ method public synchronized void setStandardFontFamily(java.lang.String);
+ method public synchronized void setSupportMultipleWindows(boolean);
+ method public void setSupportZoom(boolean);
+ method public deprecated synchronized void setTextSize(android.webkit.WebSettings.TextSize);
+ method public synchronized void setTextZoom(int);
+ method public deprecated synchronized void setUseDoubleTree(boolean);
+ method public deprecated void setUseWebViewBackgroundForOverscrollBackground(boolean);
+ method public synchronized void setUseWideViewPort(boolean);
+ method public deprecated synchronized void setUserAgent(int);
+ method public synchronized void setUserAgentString(java.lang.String);
+ method public synchronized boolean supportMultipleWindows();
+ method public boolean supportZoom();
+ field public static final int LOAD_CACHE_ELSE_NETWORK = 1; // 0x1
+ field public static final int LOAD_CACHE_ONLY = 3; // 0x3
+ field public static final int LOAD_DEFAULT = -1; // 0xffffffff
+ field public static final int LOAD_NORMAL = 0; // 0x0
+ field public static final int LOAD_NO_CACHE = 2; // 0x2
+ }
+
+ public static final deprecated class WebSettings.LayoutAlgorithm extends java.lang.Enum {
+ method public static android.webkit.WebSettings.LayoutAlgorithm valueOf(java.lang.String);
+ method public static final android.webkit.WebSettings.LayoutAlgorithm[] values();
+ enum_constant public static final android.webkit.WebSettings.LayoutAlgorithm NARROW_COLUMNS;
+ enum_constant public static final android.webkit.WebSettings.LayoutAlgorithm NORMAL;
+ enum_constant public static final android.webkit.WebSettings.LayoutAlgorithm SINGLE_COLUMN;
+ }
+
+ public static final class WebSettings.PluginState extends java.lang.Enum {
+ method public static android.webkit.WebSettings.PluginState valueOf(java.lang.String);
+ method public static final android.webkit.WebSettings.PluginState[] values();
+ enum_constant public static final android.webkit.WebSettings.PluginState OFF;
+ enum_constant public static final android.webkit.WebSettings.PluginState ON;
+ enum_constant public static final android.webkit.WebSettings.PluginState ON_DEMAND;
+ }
+
+ public static final class WebSettings.RenderPriority extends java.lang.Enum {
+ method public static android.webkit.WebSettings.RenderPriority valueOf(java.lang.String);
+ method public static final android.webkit.WebSettings.RenderPriority[] values();
+ enum_constant public static final android.webkit.WebSettings.RenderPriority HIGH;
+ enum_constant public static final android.webkit.WebSettings.RenderPriority LOW;
+ enum_constant public static final android.webkit.WebSettings.RenderPriority NORMAL;
+ }
+
+ public static final deprecated class WebSettings.TextSize extends java.lang.Enum {
+ method public static android.webkit.WebSettings.TextSize valueOf(java.lang.String);
+ method public static final android.webkit.WebSettings.TextSize[] values();
+ enum_constant public static final android.webkit.WebSettings.TextSize LARGER;
+ enum_constant public static final android.webkit.WebSettings.TextSize LARGEST;
+ enum_constant public static final android.webkit.WebSettings.TextSize NORMAL;
+ enum_constant public static final android.webkit.WebSettings.TextSize SMALLER;
+ enum_constant public static final android.webkit.WebSettings.TextSize SMALLEST;
+ }
+
+ public static final class WebSettings.ZoomDensity extends java.lang.Enum {
+ method public static android.webkit.WebSettings.ZoomDensity valueOf(java.lang.String);
+ method public static final android.webkit.WebSettings.ZoomDensity[] values();
+ enum_constant public static final android.webkit.WebSettings.ZoomDensity CLOSE;
+ enum_constant public static final android.webkit.WebSettings.ZoomDensity FAR;
+ enum_constant public static final android.webkit.WebSettings.ZoomDensity MEDIUM;
+ }
+
+ public final class WebStorage {
+ ctor public WebStorage();
+ method public void deleteAllData();
+ method public void deleteOrigin(java.lang.String);
+ method public static android.webkit.WebStorage getInstance();
+ method public void getOrigins(android.webkit.ValueCallback<java.util.Map>);
+ method public void getQuotaForOrigin(java.lang.String, android.webkit.ValueCallback<java.lang.Long>);
+ method public void getUsageForOrigin(java.lang.String, android.webkit.ValueCallback<java.lang.Long>);
+ method public void setQuotaForOrigin(java.lang.String, long);
+ }
+
+ public static class WebStorage.Origin {
+ method public java.lang.String getOrigin();
+ method public long getQuota();
+ method public long getUsage();
+ }
+
+ public static abstract interface WebStorage.QuotaUpdater {
+ method public abstract void updateQuota(long);
+ }
+
+ abstract class WebSyncManager implements java.lang.Runnable {
+ ctor protected WebSyncManager(android.content.Context, java.lang.String);
+ method protected void onSyncInit();
+ method public void resetSync();
+ method public void run();
+ method public void startSync();
+ method public void stopSync();
+ method public void sync();
+ field protected static final java.lang.String LOGTAG = "websync";
+ field protected android.webkit.WebViewDatabase mDataBase;
+ field protected android.os.Handler mHandler;
+ }
+
+ public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener {
+ ctor public WebView(android.content.Context);
+ ctor public WebView(android.content.Context, android.util.AttributeSet);
+ ctor public WebView(android.content.Context, android.util.AttributeSet, int);
+ ctor public WebView(android.content.Context, android.util.AttributeSet, int, boolean);
+ method public void addJavascriptInterface(java.lang.Object, java.lang.String);
+ method public boolean canGoBack();
+ method public boolean canGoBackOrForward(int);
+ method public boolean canGoForward();
+ method public boolean canZoomIn();
+ method public boolean canZoomOut();
+ method public android.graphics.Picture capturePicture();
+ method public void clearCache(boolean);
+ method public void clearFormData();
+ method public void clearHistory();
+ method public void clearMatches();
+ method public void clearSslPreferences();
+ method public void clearView();
+ method public android.webkit.WebBackForwardList copyBackForwardList();
+ method public deprecated void debugDump();
+ method public void destroy();
+ method public static deprecated void disablePlatformNotifications();
+ method public void documentHasImages(android.os.Message);
+ method public deprecated void emulateShiftHeld();
+ method public static deprecated void enablePlatformNotifications();
+ method public static java.lang.String findAddress(java.lang.String);
+ method public int findAll(java.lang.String);
+ method public void findNext(boolean);
+ method public void flingScroll(int, int);
+ method public void freeMemory();
+ method public android.net.http.SslCertificate getCertificate();
+ method public int getContentHeight();
+ method public android.graphics.Bitmap getFavicon();
+ method public android.webkit.WebView.HitTestResult getHitTestResult();
+ method public java.lang.String[] getHttpAuthUsernamePassword(java.lang.String, java.lang.String);
+ method public java.lang.String getOriginalUrl();
+ method public int getProgress();
+ method public float getScale();
+ method public android.webkit.WebSettings getSettings();
+ method public java.lang.String getTitle();
+ method public java.lang.String getUrl();
+ method public deprecated int getVisibleTitleHeight();
+ method public deprecated android.view.View getZoomControls();
+ method public void goBack();
+ method public void goBackOrForward(int);
+ method public void goForward();
+ method public void invokeZoomPicker();
+ method public boolean isPrivateBrowsingEnabled();
+ method public void loadData(java.lang.String, java.lang.String, java.lang.String);
+ method public void loadDataWithBaseURL(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public void loadUrl(java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
+ method public void loadUrl(java.lang.String);
+ method public deprecated void onChildViewAdded(android.view.View, android.view.View);
+ method public deprecated void onChildViewRemoved(android.view.View, android.view.View);
+ method public deprecated void onGlobalFocusChanged(android.view.View, android.view.View);
+ method public void onPause();
+ method public void onResume();
+ method public boolean overlayHorizontalScrollbar();
+ method public boolean overlayVerticalScrollbar();
+ method public boolean pageDown(boolean);
+ method public boolean pageUp(boolean);
+ method public void pauseTimers();
+ method public void postUrl(java.lang.String, byte[]);
+ method public void reload();
+ method public void removeJavascriptInterface(java.lang.String);
+ method public void requestFocusNodeHref(android.os.Message);
+ method public void requestImageRef(android.os.Message);
+ method public deprecated boolean restorePicture(android.os.Bundle, java.io.File);
+ method public android.webkit.WebBackForwardList restoreState(android.os.Bundle);
+ method public void resumeTimers();
+ method public void savePassword(java.lang.String, java.lang.String, java.lang.String);
+ method public deprecated boolean savePicture(android.os.Bundle, java.io.File);
+ method public android.webkit.WebBackForwardList saveState(android.os.Bundle);
+ method public void saveWebArchive(java.lang.String);
+ method public void saveWebArchive(java.lang.String, boolean, android.webkit.ValueCallback<java.lang.String>);
+ method public void setCertificate(android.net.http.SslCertificate);
+ method public void setDownloadListener(android.webkit.DownloadListener);
+ method public void setHorizontalScrollbarOverlay(boolean);
+ method public void setHttpAuthUsernamePassword(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public void setInitialScale(int);
+ method public void setMapTrackballToArrowKeys(boolean);
+ method public void setNetworkAvailable(boolean);
+ method public deprecated void setPictureListener(android.webkit.WebView.PictureListener);
+ method public void setVerticalScrollbarOverlay(boolean);
+ method public void setWebChromeClient(android.webkit.WebChromeClient);
+ method public void setWebViewClient(android.webkit.WebViewClient);
+ method public boolean showFindDialog(java.lang.String, boolean);
+ method public void stopLoading();
+ method public boolean zoomIn();
+ method public boolean zoomOut();
+ field public static final java.lang.String SCHEME_GEO = "geo:0,0?q=";
+ field public static final java.lang.String SCHEME_MAILTO = "mailto:";
+ field public static final java.lang.String SCHEME_TEL = "tel:";
+ }
+
+ public class WebView.HitTestResult {
+ method public java.lang.String getExtra();
+ method public int getType();
+ field public static final deprecated int ANCHOR_TYPE = 1; // 0x1
+ field public static final int EDIT_TEXT_TYPE = 9; // 0x9
+ field public static final int EMAIL_TYPE = 4; // 0x4
+ field public static final int GEO_TYPE = 3; // 0x3
+ field public static final deprecated int IMAGE_ANCHOR_TYPE = 6; // 0x6
+ field public static final int IMAGE_TYPE = 5; // 0x5
+ field public static final int PHONE_TYPE = 2; // 0x2
+ field public static final int SRC_ANCHOR_TYPE = 7; // 0x7
+ field public static final int SRC_IMAGE_ANCHOR_TYPE = 8; // 0x8
+ field public static final int UNKNOWN_TYPE = 0; // 0x0
+ }
+
+ public static abstract deprecated interface WebView.PictureListener {
+ method public abstract deprecated void onNewPicture(android.webkit.WebView, android.graphics.Picture);
+ }
+
+ public class WebView.WebViewTransport {
+ ctor public WebView.WebViewTransport();
+ method public synchronized android.webkit.WebView getWebView();
+ method public synchronized void setWebView(android.webkit.WebView);
+ }
+
+ public class WebViewClient {
+ ctor public WebViewClient();
+ method public void doUpdateVisitedHistory(android.webkit.WebView, java.lang.String, boolean);
+ method public void onFormResubmission(android.webkit.WebView, android.os.Message, android.os.Message);
+ method public void onLoadResource(android.webkit.WebView, java.lang.String);
+ method public void onPageFinished(android.webkit.WebView, java.lang.String);
+ method public void onPageStarted(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
+ method public void onReceivedError(android.webkit.WebView, int, java.lang.String, java.lang.String);
+ method public void onReceivedHttpAuthRequest(android.webkit.WebView, android.webkit.HttpAuthHandler, java.lang.String, java.lang.String);
+ method public void onReceivedLoginRequest(android.webkit.WebView, java.lang.String, java.lang.String, java.lang.String);
+ method public void onReceivedSslError(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError);
+ method public void onScaleChanged(android.webkit.WebView, float, float);
+ method public deprecated void onTooManyRedirects(android.webkit.WebView, android.os.Message, android.os.Message);
+ method public void onUnhandledKeyEvent(android.webkit.WebView, android.view.KeyEvent);
+ method public android.webkit.WebResourceResponse shouldInterceptRequest(android.webkit.WebView, java.lang.String);
+ method public boolean shouldOverrideKeyEvent(android.webkit.WebView, android.view.KeyEvent);
+ method public boolean shouldOverrideUrlLoading(android.webkit.WebView, java.lang.String);
+ field public static final int ERROR_AUTHENTICATION = -4; // 0xfffffffc
+ field public static final int ERROR_BAD_URL = -12; // 0xfffffff4
+ field public static final int ERROR_CONNECT = -6; // 0xfffffffa
+ field public static final int ERROR_FAILED_SSL_HANDSHAKE = -11; // 0xfffffff5
+ field public static final int ERROR_FILE = -13; // 0xfffffff3
+ field public static final int ERROR_FILE_NOT_FOUND = -14; // 0xfffffff2
+ field public static final int ERROR_HOST_LOOKUP = -2; // 0xfffffffe
+ field public static final int ERROR_IO = -7; // 0xfffffff9
+ field public static final int ERROR_PROXY_AUTHENTICATION = -5; // 0xfffffffb
+ field public static final int ERROR_REDIRECT_LOOP = -9; // 0xfffffff7
+ field public static final int ERROR_TIMEOUT = -8; // 0xfffffff8
+ field public static final int ERROR_TOO_MANY_REQUESTS = -15; // 0xfffffff1
+ field public static final int ERROR_UNKNOWN = -1; // 0xffffffff
+ field public static final int ERROR_UNSUPPORTED_AUTH_SCHEME = -3; // 0xfffffffd
+ field public static final int ERROR_UNSUPPORTED_SCHEME = -10; // 0xfffffff6
+ }
+
+ public class WebViewDatabase {
+ method public void clearFormData();
+ method public void clearHttpAuthUsernamePassword();
+ method public void clearUsernamePassword();
+ method public static synchronized android.webkit.WebViewDatabase getInstance(android.content.Context);
+ method public boolean hasFormData();
+ method public boolean hasHttpAuthUsernamePassword();
+ method public boolean hasUsernamePassword();
+ field protected static final java.lang.String LOGTAG = "webviewdatabase";
+ }
+
+ public class WebViewFragment extends android.app.Fragment {
+ ctor public WebViewFragment();
+ method public android.webkit.WebView getWebView();
+ }
+
+}
+
+package android.widget {
+
+ public abstract class AbsListView extends android.widget.AdapterView implements android.widget.Filter.FilterListener android.text.TextWatcher android.view.ViewTreeObserver.OnGlobalLayoutListener android.view.ViewTreeObserver.OnTouchModeChangeListener {
+ ctor public AbsListView(android.content.Context);
+ ctor public AbsListView(android.content.Context, android.util.AttributeSet);
+ ctor public AbsListView(android.content.Context, android.util.AttributeSet, int);
+ method public void afterTextChanged(android.text.Editable);
+ method public void beforeTextChanged(java.lang.CharSequence, int, int, int);
+ method public void clearChoices();
+ method public void clearTextFilter();
+ method public void deferNotifyDataSetChanged();
+ method public int getCacheColorHint();
+ method public int getCheckedItemCount();
+ method public long[] getCheckedItemIds();
+ method public int getCheckedItemPosition();
+ method public android.util.SparseBooleanArray getCheckedItemPositions();
+ method public int getChoiceMode();
+ method public int getListPaddingBottom();
+ method public int getListPaddingLeft();
+ method public int getListPaddingRight();
+ method public int getListPaddingTop();
+ method public android.view.View getSelectedView();
+ method public android.graphics.drawable.Drawable getSelector();
+ method public java.lang.CharSequence getTextFilter();
+ method public int getTranscriptMode();
+ method protected void handleDataChanged();
+ method public boolean hasTextFilter();
+ method public void invalidateViews();
+ method public boolean isFastScrollAlwaysVisible();
+ method public boolean isFastScrollEnabled();
+ method protected boolean isInFilterMode();
+ method public boolean isItemChecked(int);
+ method public boolean isScrollingCacheEnabled();
+ method public boolean isSmoothScrollbarEnabled();
+ method public boolean isStackFromBottom();
+ method public boolean isTextFilterEnabled();
+ method protected void layoutChildren();
+ method public void onFilterComplete(int);
+ method public void onGlobalLayout();
+ method public boolean onRemoteAdapterConnected();
+ method public void onRemoteAdapterDisconnected();
+ method public void onRestoreInstanceState(android.os.Parcelable);
+ method public android.os.Parcelable onSaveInstanceState();
+ method public void onTextChanged(java.lang.CharSequence, int, int, int);
+ method public void onTouchModeChanged(boolean);
+ method public int pointToPosition(int, int);
+ method public long pointToRowId(int, int);
+ method public void reclaimViews(java.util.List<android.view.View>);
+ method public void setAdapter(android.widget.ListAdapter);
+ method public void setCacheColorHint(int);
+ method public void setChoiceMode(int);
+ method public void setDrawSelectorOnTop(boolean);
+ method public void setFastScrollAlwaysVisible(boolean);
+ method public void setFastScrollEnabled(boolean);
+ method public void setFilterText(java.lang.String);
+ method public void setFriction(float);
+ method public void setItemChecked(int, boolean);
+ method public void setMultiChoiceModeListener(android.widget.AbsListView.MultiChoiceModeListener);
+ method public void setOnScrollListener(android.widget.AbsListView.OnScrollListener);
+ method public void setRecyclerListener(android.widget.AbsListView.RecyclerListener);
+ method public void setRemoteViewsAdapter(android.content.Intent);
+ method public void setScrollIndicators(android.view.View, android.view.View);
+ method public void setScrollingCacheEnabled(boolean);
+ method public void setSelector(int);
+ method public void setSelector(android.graphics.drawable.Drawable);
+ method public void setSmoothScrollbarEnabled(boolean);
+ method public void setStackFromBottom(boolean);
+ method public void setTextFilterEnabled(boolean);
+ method public void setTranscriptMode(int);
+ method public void setVelocityScale(float);
+ method public void smoothScrollBy(int, int);
+ method public void smoothScrollToPosition(int);
+ method public void smoothScrollToPosition(int, int);
+ method public void smoothScrollToPositionFromTop(int, int, int);
+ method public void smoothScrollToPositionFromTop(int, int);
+ method public boolean verifyDrawable(android.graphics.drawable.Drawable);
+ field public static final int CHOICE_MODE_MULTIPLE = 2; // 0x2
+ field public static final int CHOICE_MODE_MULTIPLE_MODAL = 3; // 0x3
+ field public static final int CHOICE_MODE_NONE = 0; // 0x0
+ field public static final int CHOICE_MODE_SINGLE = 1; // 0x1
+ field public static final int TRANSCRIPT_MODE_ALWAYS_SCROLL = 2; // 0x2
+ field public static final int TRANSCRIPT_MODE_DISABLED = 0; // 0x0
+ field public static final int TRANSCRIPT_MODE_NORMAL = 1; // 0x1
+ }
+
+ public static class AbsListView.LayoutParams extends android.view.ViewGroup.LayoutParams {
+ ctor public AbsListView.LayoutParams(android.content.Context, android.util.AttributeSet);
+ ctor public AbsListView.LayoutParams(int, int);
+ ctor public AbsListView.LayoutParams(int, int, int);
+ ctor public AbsListView.LayoutParams(android.view.ViewGroup.LayoutParams);
+ }
+
+ public static abstract interface AbsListView.MultiChoiceModeListener implements android.view.ActionMode.Callback {
+ method public abstract void onItemCheckedStateChanged(android.view.ActionMode, int, long, boolean);
+ }
+
+ public static abstract interface AbsListView.OnScrollListener {
+ method public abstract void onScroll(android.widget.AbsListView, int, int, int);
+ method public abstract void onScrollStateChanged(android.widget.AbsListView, int);
+ field public static final int SCROLL_STATE_FLING = 2; // 0x2
+ field public static final int SCROLL_STATE_IDLE = 0; // 0x0
+ field public static final int SCROLL_STATE_TOUCH_SCROLL = 1; // 0x1
+ }
+
+ public static abstract interface AbsListView.RecyclerListener {
+ method public abstract void onMovedToScrapHeap(android.view.View);
+ }
+
+ public static abstract interface AbsListView.SelectionBoundsAdjuster {
+ method public abstract void adjustListItemSelectionBounds(android.graphics.Rect);
+ }
+
+ public abstract class AbsSeekBar extends android.widget.ProgressBar {
+ ctor public AbsSeekBar(android.content.Context);
+ ctor public AbsSeekBar(android.content.Context, android.util.AttributeSet);
+ ctor public AbsSeekBar(android.content.Context, android.util.AttributeSet, int);
+ method public int getKeyProgressIncrement();
+ method public int getThumbOffset();
+ method public void setKeyProgressIncrement(int);
+ method public void setThumb(android.graphics.drawable.Drawable);
+ method public void setThumbOffset(int);
+ }
+
+ public abstract class AbsSpinner extends android.widget.AdapterView {
+ ctor public AbsSpinner(android.content.Context);
+ ctor public AbsSpinner(android.content.Context, android.util.AttributeSet);
+ ctor public AbsSpinner(android.content.Context, android.util.AttributeSet, int);
+ method public android.widget.SpinnerAdapter getAdapter();
+ method public android.view.View getSelectedView();
+ method public void onRestoreInstanceState(android.os.Parcelable);
+ method public android.os.Parcelable onSaveInstanceState();
+ method public int pointToPosition(int, int);
+ method public void setAdapter(android.widget.SpinnerAdapter);
+ method public void setSelection(int, boolean);
+ method public void setSelection(int);
+ }
+
+ public deprecated class AbsoluteLayout extends android.view.ViewGroup {
+ ctor public AbsoluteLayout(android.content.Context);
+ ctor public AbsoluteLayout(android.content.Context, android.util.AttributeSet);
+ ctor public AbsoluteLayout(android.content.Context, android.util.AttributeSet, int);
+ method protected void onLayout(boolean, int, int, int, int);
+ }
+
+ public static class AbsoluteLayout.LayoutParams extends android.view.ViewGroup.LayoutParams {
+ ctor public AbsoluteLayout.LayoutParams(int, int, int, int);
+ ctor public AbsoluteLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+ ctor public AbsoluteLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+ method public java.lang.String debug(java.lang.String);
+ field public int x;
+ field public int y;
+ }
+
+ public abstract interface Adapter {
+ method public abstract int getCount();
+ method public abstract java.lang.Object getItem(int);
+ method public abstract long getItemId(int);
+ method public abstract int getItemViewType(int);
+ method public abstract android.view.View getView(int, android.view.View, android.view.ViewGroup);
+ method public abstract int getViewTypeCount();
+ method public abstract boolean hasStableIds();
+ method public abstract boolean isEmpty();
+ method public abstract void registerDataSetObserver(android.database.DataSetObserver);
+ method public abstract void unregisterDataSetObserver(android.database.DataSetObserver);
+ field public static final int IGNORE_ITEM_VIEW_TYPE = -1; // 0xffffffff
+ field public static final int NO_SELECTION = -2147483648; // 0x80000000
+ }
+
+ public abstract class AdapterView extends android.view.ViewGroup {
+ ctor public AdapterView(android.content.Context);
+ ctor public AdapterView(android.content.Context, android.util.AttributeSet);
+ ctor public AdapterView(android.content.Context, android.util.AttributeSet, int);
+ method public abstract T getAdapter();
+ method public int getCount();
+ method public android.view.View getEmptyView();
+ method public int getFirstVisiblePosition();
+ method public java.lang.Object getItemAtPosition(int);
+ method public long getItemIdAtPosition(int);
+ method public int getLastVisiblePosition();
+ method public final android.widget.AdapterView.OnItemClickListener getOnItemClickListener();
+ method public final android.widget.AdapterView.OnItemLongClickListener getOnItemLongClickListener();
+ method public final android.widget.AdapterView.OnItemSelectedListener getOnItemSelectedListener();
+ method public int getPositionForView(android.view.View);
+ method public java.lang.Object getSelectedItem();
+ method public long getSelectedItemId();
+ method public int getSelectedItemPosition();
+ method public abstract android.view.View getSelectedView();
+ method protected void onLayout(boolean, int, int, int, int);
+ method public boolean performItemClick(android.view.View, int, long);
+ method public abstract void setAdapter(T);
+ method public void setEmptyView(android.view.View);
+ method public void setOnItemClickListener(android.widget.AdapterView.OnItemClickListener);
+ method public void setOnItemLongClickListener(android.widget.AdapterView.OnItemLongClickListener);
+ method public void setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener);
+ method public abstract void setSelection(int);
+ field public static final int INVALID_POSITION = -1; // 0xffffffff
+ field public static final long INVALID_ROW_ID = -9223372036854775808L; // 0x8000000000000000L
+ field public static final int ITEM_VIEW_TYPE_HEADER_OR_FOOTER = -2; // 0xfffffffe
+ field public static final int ITEM_VIEW_TYPE_IGNORE = -1; // 0xffffffff
+ }
+
+ public static class AdapterView.AdapterContextMenuInfo implements android.view.ContextMenu.ContextMenuInfo {
+ ctor public AdapterView.AdapterContextMenuInfo(android.view.View, int, long);
+ field public long id;
+ field public int position;
+ field public android.view.View targetView;
+ }
+
+ public static abstract interface AdapterView.OnItemClickListener {
+ method public abstract void onItemClick(android.widget.AdapterView<?>, android.view.View, int, long);
+ }
+
+ public static abstract interface AdapterView.OnItemLongClickListener {
+ method public abstract boolean onItemLongClick(android.widget.AdapterView<?>, android.view.View, int, long);
+ }
+
+ public static abstract interface AdapterView.OnItemSelectedListener {
+ method public abstract void onItemSelected(android.widget.AdapterView<?>, android.view.View, int, long);
+ method public abstract void onNothingSelected(android.widget.AdapterView<?>);
+ }
+
+ public abstract class AdapterViewAnimator extends android.widget.AdapterView {
+ ctor public AdapterViewAnimator(android.content.Context);
+ ctor public AdapterViewAnimator(android.content.Context, android.util.AttributeSet);
+ ctor public AdapterViewAnimator(android.content.Context, android.util.AttributeSet, int);
+ method public void advance();
+ method public void deferNotifyDataSetChanged();
+ method public void fyiWillBeAdvancedByHostKThx();
+ method public android.widget.Adapter getAdapter();
+ method public android.view.View getCurrentView();
+ method public int getDisplayedChild();
+ method public android.animation.ObjectAnimator getInAnimation();
+ method public android.animation.ObjectAnimator getOutAnimation();
+ method public android.view.View getSelectedView();
+ method public boolean onRemoteAdapterConnected();
+ method public void onRemoteAdapterDisconnected();
+ method public void onRestoreInstanceState(android.os.Parcelable);
+ method public android.os.Parcelable onSaveInstanceState();
+ method public void setAdapter(android.widget.Adapter);
+ method public void setAnimateFirstView(boolean);
+ method public void setDisplayedChild(int);
+ method public void setInAnimation(android.animation.ObjectAnimator);
+ method public void setInAnimation(android.content.Context, int);
+ method public void setOutAnimation(android.animation.ObjectAnimator);
+ method public void setOutAnimation(android.content.Context, int);
+ method public void setRemoteViewsAdapter(android.content.Intent);
+ method public void setSelection(int);
+ method public void showNext();
+ method public void showPrevious();
+ }
+
+ public class AdapterViewFlipper extends android.widget.AdapterViewAnimator {
+ ctor public AdapterViewFlipper(android.content.Context);
+ ctor public AdapterViewFlipper(android.content.Context, android.util.AttributeSet);
+ method public boolean isAutoStart();
+ method public boolean isFlipping();
+ method public void setAutoStart(boolean);
+ method public void setFlipInterval(int);
+ method public void startFlipping();
+ method public void stopFlipping();
+ }
+
+ public class AlphabetIndexer extends android.database.DataSetObserver implements android.widget.SectionIndexer {
+ ctor public AlphabetIndexer(android.database.Cursor, int, java.lang.CharSequence);
+ method protected int compare(java.lang.String, java.lang.String);
+ method public int getPositionForSection(int);
+ method public int getSectionForPosition(int);
+ method public java.lang.Object[] getSections();
+ method public void setCursor(android.database.Cursor);
+ field protected java.lang.CharSequence mAlphabet;
+ field protected int mColumnIndex;
+ field protected android.database.Cursor mDataCursor;
+ }
+
+ public class AnalogClock extends android.view.View {
+ ctor public AnalogClock(android.content.Context);
+ ctor public AnalogClock(android.content.Context, android.util.AttributeSet);
+ ctor public AnalogClock(android.content.Context, android.util.AttributeSet, int);
+ }
+
+ public class ArrayAdapter extends android.widget.BaseAdapter implements android.widget.Filterable {
+ ctor public ArrayAdapter(android.content.Context, int);
+ ctor public ArrayAdapter(android.content.Context, int, int);
+ ctor public ArrayAdapter(android.content.Context, int, T[]);
+ ctor public ArrayAdapter(android.content.Context, int, int, T[]);
+ ctor public ArrayAdapter(android.content.Context, int, java.util.List<T>);
+ ctor public ArrayAdapter(android.content.Context, int, int, java.util.List<T>);
+ method public void add(T);
+ method public void addAll(java.util.Collection<? extends T>);
+ method public void addAll(T...);
+ method public void clear();
+ method public static android.widget.ArrayAdapter<java.lang.CharSequence> createFromResource(android.content.Context, int, int);
+ method public android.content.Context getContext();
+ method public int getCount();
+ method public android.widget.Filter getFilter();
+ method public T getItem(int);
+ method public long getItemId(int);
+ method public int getPosition(T);
+ method public android.view.View getView(int, android.view.View, android.view.ViewGroup);
+ method public void insert(T, int);
+ method public void remove(T);
+ method public void setDropDownViewResource(int);
+ method public void setNotifyOnChange(boolean);
+ method public void sort(java.util.Comparator<? super T>);
+ }
+
+ public class AutoCompleteTextView extends android.widget.EditText implements android.widget.Filter.FilterListener {
+ ctor public AutoCompleteTextView(android.content.Context);
+ ctor public AutoCompleteTextView(android.content.Context, android.util.AttributeSet);
+ ctor public AutoCompleteTextView(android.content.Context, android.util.AttributeSet, int);
+ method public void clearListSelection();
+ method protected java.lang.CharSequence convertSelectionToString(java.lang.Object);
+ method public void dismissDropDown();
+ method public boolean enoughToFilter();
+ method public android.widget.ListAdapter getAdapter();
+ method public int getDropDownAnchor();
+ method public android.graphics.drawable.Drawable getDropDownBackground();
+ method public int getDropDownHeight();
+ method public int getDropDownHorizontalOffset();
+ method public int getDropDownVerticalOffset();
+ method public int getDropDownWidth();
+ method protected android.widget.Filter getFilter();
+ method public deprecated android.widget.AdapterView.OnItemClickListener getItemClickListener();
+ method public deprecated android.widget.AdapterView.OnItemSelectedListener getItemSelectedListener();
+ method public int getListSelection();
+ method public android.widget.AdapterView.OnItemClickListener getOnItemClickListener();
+ method public android.widget.AdapterView.OnItemSelectedListener getOnItemSelectedListener();
+ method public int getThreshold();
+ method public android.widget.AutoCompleteTextView.Validator getValidator();
+ method public boolean isPerformingCompletion();
+ method public boolean isPopupShowing();
+ method public void onFilterComplete(int);
+ method public void performCompletion();
+ method protected void performFiltering(java.lang.CharSequence, int);
+ method public void performValidation();
+ method protected void replaceText(java.lang.CharSequence);
+ method public void setAdapter(T);
+ method public void setCompletionHint(java.lang.CharSequence);
+ method public void setDropDownAnchor(int);
+ method public void setDropDownBackgroundDrawable(android.graphics.drawable.Drawable);
+ method public void setDropDownBackgroundResource(int);
+ method public void setDropDownHeight(int);
+ method public void setDropDownHorizontalOffset(int);
+ method public void setDropDownVerticalOffset(int);
+ method public void setDropDownWidth(int);
+ method public void setListSelection(int);
+ method public void setOnItemClickListener(android.widget.AdapterView.OnItemClickListener);
+ method public void setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener);
+ method public void setThreshold(int);
+ method public void setValidator(android.widget.AutoCompleteTextView.Validator);
+ method public void showDropDown();
+ }
+
+ public static abstract interface AutoCompleteTextView.Validator {
+ method public abstract java.lang.CharSequence fixText(java.lang.CharSequence);
+ method public abstract boolean isValid(java.lang.CharSequence);
+ }
+
+ public abstract class BaseAdapter implements android.widget.ListAdapter android.widget.SpinnerAdapter {
+ ctor public BaseAdapter();
+ method public boolean areAllItemsEnabled();
+ method public android.view.View getDropDownView(int, android.view.View, android.view.ViewGroup);
+ method public int getItemViewType(int);
+ method public int getViewTypeCount();
+ method public boolean hasStableIds();
+ method public boolean isEmpty();
+ method public boolean isEnabled(int);
+ method public void notifyDataSetChanged();
+ method public void notifyDataSetInvalidated();
+ method public void registerDataSetObserver(android.database.DataSetObserver);
+ method public void unregisterDataSetObserver(android.database.DataSetObserver);
+ }
+
+ public abstract class BaseExpandableListAdapter implements android.widget.ExpandableListAdapter android.widget.HeterogeneousExpandableList {
+ ctor public BaseExpandableListAdapter();
+ method public boolean areAllItemsEnabled();
+ method public int getChildType(int, int);
+ method public int getChildTypeCount();
+ method public long getCombinedChildId(long, long);
+ method public long getCombinedGroupId(long);
+ method public int getGroupType(int);
+ method public int getGroupTypeCount();
+ method public boolean isEmpty();
+ method public void notifyDataSetChanged();
+ method public void notifyDataSetInvalidated();
+ method public void onGroupCollapsed(int);
+ method public void onGroupExpanded(int);
+ method public void registerDataSetObserver(android.database.DataSetObserver);
+ method public void unregisterDataSetObserver(android.database.DataSetObserver);
+ }
+
+ public class Button extends android.widget.TextView {
+ ctor public Button(android.content.Context);
+ ctor public Button(android.content.Context, android.util.AttributeSet);
+ ctor public Button(android.content.Context, android.util.AttributeSet, int);
+ }
+
+ public class CalendarView extends android.widget.FrameLayout {
+ ctor public CalendarView(android.content.Context);
+ ctor public CalendarView(android.content.Context, android.util.AttributeSet);
+ ctor public CalendarView(android.content.Context, android.util.AttributeSet, int);
+ method public long getDate();
+ method public int getFirstDayOfWeek();
+ method public long getMaxDate();
+ method public long getMinDate();
+ method public boolean getShowWeekNumber();
+ method public void setDate(long);
+ method public void setDate(long, boolean, boolean);
+ method public void setFirstDayOfWeek(int);
+ method public void setMaxDate(long);
+ method public void setMinDate(long);
+ method public void setOnDateChangeListener(android.widget.CalendarView.OnDateChangeListener);
+ method public void setShowWeekNumber(boolean);
+ }
+
+ public static abstract interface CalendarView.OnDateChangeListener {
+ method public abstract void onSelectedDayChange(android.widget.CalendarView, int, int, int);
+ }
+
+ public class CheckBox extends android.widget.CompoundButton {
+ ctor public CheckBox(android.content.Context);
+ ctor public CheckBox(android.content.Context, android.util.AttributeSet);
+ ctor public CheckBox(android.content.Context, android.util.AttributeSet, int);
+ }
+
+ public abstract interface Checkable {
+ method public abstract boolean isChecked();
+ method public abstract void setChecked(boolean);
+ method public abstract void toggle();
+ }
+
+ public class CheckedTextView extends android.widget.TextView implements android.widget.Checkable {
+ ctor public CheckedTextView(android.content.Context);
+ ctor public CheckedTextView(android.content.Context, android.util.AttributeSet);
+ ctor public CheckedTextView(android.content.Context, android.util.AttributeSet, int);
+ method public boolean isChecked();
+ method public void setCheckMarkDrawable(int);
+ method public void setCheckMarkDrawable(android.graphics.drawable.Drawable);
+ method public void setChecked(boolean);
+ method public void toggle();
+ }
+
+ public class Chronometer extends android.widget.TextView {
+ ctor public Chronometer(android.content.Context);
+ ctor public Chronometer(android.content.Context, android.util.AttributeSet);
+ ctor public Chronometer(android.content.Context, android.util.AttributeSet, int);
+ method public long getBase();
+ method public java.lang.String getFormat();
+ method public android.widget.Chronometer.OnChronometerTickListener getOnChronometerTickListener();
+ method public void setBase(long);
+ method public void setFormat(java.lang.String);
+ method public void setOnChronometerTickListener(android.widget.Chronometer.OnChronometerTickListener);
+ method public void start();
+ method public void stop();
+ }
+
+ public static abstract interface Chronometer.OnChronometerTickListener {
+ method public abstract void onChronometerTick(android.widget.Chronometer);
+ }
+
+ public abstract class CompoundButton extends android.widget.Button implements android.widget.Checkable {
+ ctor public CompoundButton(android.content.Context);
+ ctor public CompoundButton(android.content.Context, android.util.AttributeSet);
+ ctor public CompoundButton(android.content.Context, android.util.AttributeSet, int);
+ method public boolean isChecked();
+ method public void setButtonDrawable(int);
+ method public void setButtonDrawable(android.graphics.drawable.Drawable);
+ method public void setChecked(boolean);
+ method public void setOnCheckedChangeListener(android.widget.CompoundButton.OnCheckedChangeListener);
+ method public void toggle();
+ }
+
+ public static abstract interface CompoundButton.OnCheckedChangeListener {
+ method public abstract void onCheckedChanged(android.widget.CompoundButton, boolean);
+ }
+
+ public abstract class CursorAdapter extends android.widget.BaseAdapter implements android.widget.Filterable {
+ ctor public deprecated CursorAdapter(android.content.Context, android.database.Cursor);
+ ctor public CursorAdapter(android.content.Context, android.database.Cursor, boolean);
+ ctor public CursorAdapter(android.content.Context, android.database.Cursor, int);
+ method public abstract void bindView(android.view.View, android.content.Context, android.database.Cursor);
+ method public void changeCursor(android.database.Cursor);
+ method public java.lang.CharSequence convertToString(android.database.Cursor);
+ method public int getCount();
+ method public android.database.Cursor getCursor();
+ method public android.widget.Filter getFilter();
+ method public android.widget.FilterQueryProvider getFilterQueryProvider();
+ method public java.lang.Object getItem(int);
+ method public long getItemId(int);
+ method public android.view.View getView(int, android.view.View, android.view.ViewGroup);
+ method protected deprecated void init(android.content.Context, android.database.Cursor, boolean);
+ method public android.view.View newDropDownView(android.content.Context, android.database.Cursor, android.view.ViewGroup);
+ method public abstract android.view.View newView(android.content.Context, android.database.Cursor, android.view.ViewGroup);
+ method protected void onContentChanged();
+ method public android.database.Cursor runQueryOnBackgroundThread(java.lang.CharSequence);
+ method public void setFilterQueryProvider(android.widget.FilterQueryProvider);
+ method public android.database.Cursor swapCursor(android.database.Cursor);
+ field public static final deprecated int FLAG_AUTO_REQUERY = 1; // 0x1
+ field public static final int FLAG_REGISTER_CONTENT_OBSERVER = 2; // 0x2
+ }
+
+ public abstract class CursorTreeAdapter extends android.widget.BaseExpandableListAdapter implements android.widget.Filterable {
+ ctor public CursorTreeAdapter(android.database.Cursor, android.content.Context);
+ ctor public CursorTreeAdapter(android.database.Cursor, android.content.Context, boolean);
+ method protected abstract void bindChildView(android.view.View, android.content.Context, android.database.Cursor, boolean);
+ method protected abstract void bindGroupView(android.view.View, android.content.Context, android.database.Cursor, boolean);
+ method public void changeCursor(android.database.Cursor);
+ method public java.lang.String convertToString(android.database.Cursor);
+ method public android.database.Cursor getChild(int, int);
+ method public long getChildId(int, int);
+ method public android.view.View getChildView(int, int, boolean, android.view.View, android.view.ViewGroup);
+ method public int getChildrenCount(int);
+ method protected abstract android.database.Cursor getChildrenCursor(android.database.Cursor);
+ method public android.database.Cursor getCursor();
+ method public android.widget.Filter getFilter();
+ method public android.widget.FilterQueryProvider getFilterQueryProvider();
+ method public android.database.Cursor getGroup(int);
+ method public int getGroupCount();
+ method public long getGroupId(int);
+ method public android.view.View getGroupView(int, boolean, android.view.View, android.view.ViewGroup);
+ method public boolean hasStableIds();
+ method public boolean isChildSelectable(int, int);
+ method protected abstract android.view.View newChildView(android.content.Context, android.database.Cursor, boolean, android.view.ViewGroup);
+ method protected abstract android.view.View newGroupView(android.content.Context, android.database.Cursor, boolean, android.view.ViewGroup);
+ method public void notifyDataSetChanged(boolean);
+ method public android.database.Cursor runQueryOnBackgroundThread(java.lang.CharSequence);
+ method public void setChildrenCursor(int, android.database.Cursor);
+ method public void setFilterQueryProvider(android.widget.FilterQueryProvider);
+ method public void setGroupCursor(android.database.Cursor);
+ }
+
+ public class DatePicker extends android.widget.FrameLayout {
+ ctor public DatePicker(android.content.Context);
+ ctor public DatePicker(android.content.Context, android.util.AttributeSet);
+ ctor public DatePicker(android.content.Context, android.util.AttributeSet, int);
+ method public android.widget.CalendarView getCalendarView();
+ method public boolean getCalendarViewShown();
+ method public int getDayOfMonth();
+ method public long getMaxDate();
+ method public long getMinDate();
+ method public int getMonth();
+ method public boolean getSpinnersShown();
+ method public int getYear();
+ method public void init(int, int, int, android.widget.DatePicker.OnDateChangedListener);
+ method public void setCalendarViewShown(boolean);
+ method public void setMaxDate(long);
+ method public void setMinDate(long);
+ method public void setSpinnersShown(boolean);
+ method public void updateDate(int, int, int);
+ }
+
+ public static abstract interface DatePicker.OnDateChangedListener {
+ method public abstract void onDateChanged(android.widget.DatePicker, int, int, int);
+ }
+
+ public class DialerFilter extends android.widget.RelativeLayout {
+ ctor public DialerFilter(android.content.Context);
+ ctor public DialerFilter(android.content.Context, android.util.AttributeSet);
+ method public void append(java.lang.String);
+ method public void clearText();
+ method public java.lang.CharSequence getDigits();
+ method public java.lang.CharSequence getFilterText();
+ method public java.lang.CharSequence getLetters();
+ method public int getMode();
+ method public boolean isQwertyKeyboard();
+ method protected void onModeChange(int, int);
+ method public void removeFilterWatcher(android.text.TextWatcher);
+ method public void setDigitsWatcher(android.text.TextWatcher);
+ method public void setFilterWatcher(android.text.TextWatcher);
+ method public void setLettersWatcher(android.text.TextWatcher);
+ method public void setMode(int);
+ field public static final int DIGITS_AND_LETTERS = 1; // 0x1
+ field public static final int DIGITS_AND_LETTERS_NO_DIGITS = 2; // 0x2
+ field public static final int DIGITS_AND_LETTERS_NO_LETTERS = 3; // 0x3
+ field public static final int DIGITS_ONLY = 4; // 0x4
+ field public static final int LETTERS_ONLY = 5; // 0x5
+ }
+
+ public class DigitalClock extends android.widget.TextView {
+ ctor public DigitalClock(android.content.Context);
+ ctor public DigitalClock(android.content.Context, android.util.AttributeSet);
+ }
+
+ public class EdgeEffect {
+ ctor public EdgeEffect(android.content.Context);
+ method public boolean draw(android.graphics.Canvas);
+ method public void finish();
+ method public boolean isFinished();
+ method public void onAbsorb(int);
+ method public void onPull(float);
+ method public void onRelease();
+ method public void setSize(int, int);
+ }
+
+ public class EditText extends android.widget.TextView {
+ ctor public EditText(android.content.Context);
+ ctor public EditText(android.content.Context, android.util.AttributeSet);
+ ctor public EditText(android.content.Context, android.util.AttributeSet, int);
+ method public void extendSelection(int);
+ method public void selectAll();
+ method public void setSelection(int, int);
+ method public void setSelection(int);
+ }
+
+ public abstract interface ExpandableListAdapter {
+ method public abstract boolean areAllItemsEnabled();
+ method public abstract java.lang.Object getChild(int, int);
+ method public abstract long getChildId(int, int);
+ method public abstract android.view.View getChildView(int, int, boolean, android.view.View, android.view.ViewGroup);
+ method public abstract int getChildrenCount(int);
+ method public abstract long getCombinedChildId(long, long);
+ method public abstract long getCombinedGroupId(long);
+ method public abstract java.lang.Object getGroup(int);
+ method public abstract int getGroupCount();
+ method public abstract long getGroupId(int);
+ method public abstract android.view.View getGroupView(int, boolean, android.view.View, android.view.ViewGroup);
+ method public abstract boolean hasStableIds();
+ method public abstract boolean isChildSelectable(int, int);
+ method public abstract boolean isEmpty();
+ method public abstract void onGroupCollapsed(int);
+ method public abstract void onGroupExpanded(int);
+ method public abstract void registerDataSetObserver(android.database.DataSetObserver);
+ method public abstract void unregisterDataSetObserver(android.database.DataSetObserver);
+ }
+
+ public class ExpandableListView extends android.widget.ListView {
+ ctor public ExpandableListView(android.content.Context);
+ ctor public ExpandableListView(android.content.Context, android.util.AttributeSet);
+ ctor public ExpandableListView(android.content.Context, android.util.AttributeSet, int);
+ method public boolean collapseGroup(int);
+ method public boolean expandGroup(int);
+ method public boolean expandGroup(int, boolean);
+ method public android.widget.ExpandableListAdapter getExpandableListAdapter();
+ method public long getExpandableListPosition(int);
+ method public int getFlatListPosition(long);
+ method public static int getPackedPositionChild(long);
+ method public static long getPackedPositionForChild(int, int);
+ method public static long getPackedPositionForGroup(int);
+ method public static int getPackedPositionGroup(long);
+ method public static int getPackedPositionType(long);
+ method public long getSelectedId();
+ method public long getSelectedPosition();
+ method public boolean isGroupExpanded(int);
+ method public void setAdapter(android.widget.ExpandableListAdapter);
+ method public void setChildDivider(android.graphics.drawable.Drawable);
+ method public void setChildIndicator(android.graphics.drawable.Drawable);
+ method public void setChildIndicatorBounds(int, int);
+ method public void setGroupIndicator(android.graphics.drawable.Drawable);
+ method public void setIndicatorBounds(int, int);
+ method public void setOnChildClickListener(android.widget.ExpandableListView.OnChildClickListener);
+ method public void setOnGroupClickListener(android.widget.ExpandableListView.OnGroupClickListener);
+ method public void setOnGroupCollapseListener(android.widget.ExpandableListView.OnGroupCollapseListener);
+ method public void setOnGroupExpandListener(android.widget.ExpandableListView.OnGroupExpandListener);
+ method public boolean setSelectedChild(int, int, boolean);
+ method public void setSelectedGroup(int);
+ field public static final int CHILD_INDICATOR_INHERIT = -1; // 0xffffffff
+ field public static final int PACKED_POSITION_TYPE_CHILD = 1; // 0x1
+ field public static final int PACKED_POSITION_TYPE_GROUP = 0; // 0x0
+ field public static final int PACKED_POSITION_TYPE_NULL = 2; // 0x2
+ field public static final long PACKED_POSITION_VALUE_NULL = 4294967295L; // 0xffffffffL
+ }
+
+ public static class ExpandableListView.ExpandableListContextMenuInfo implements android.view.ContextMenu.ContextMenuInfo {
+ ctor public ExpandableListView.ExpandableListContextMenuInfo(android.view.View, long, long);
+ field public long id;
+ field public long packedPosition;
+ field public android.view.View targetView;
+ }
+
+ public static abstract interface ExpandableListView.OnChildClickListener {
+ method public abstract boolean onChildClick(android.widget.ExpandableListView, android.view.View, int, int, long);
+ }
+
+ public static abstract interface ExpandableListView.OnGroupClickListener {
+ method public abstract boolean onGroupClick(android.widget.ExpandableListView, android.view.View, int, long);
+ }
+
+ public static abstract interface ExpandableListView.OnGroupCollapseListener {
+ method public abstract void onGroupCollapse(int);
+ }
+
+ public static abstract interface ExpandableListView.OnGroupExpandListener {
+ method public abstract void onGroupExpand(int);
+ }
+
+ public abstract class Filter {
+ ctor public Filter();
+ method public java.lang.CharSequence convertResultToString(java.lang.Object);
+ method public final void filter(java.lang.CharSequence);
+ method public final void filter(java.lang.CharSequence, android.widget.Filter.FilterListener);
+ method protected abstract android.widget.Filter.FilterResults performFiltering(java.lang.CharSequence);
+ method protected abstract void publishResults(java.lang.CharSequence, android.widget.Filter.FilterResults);
+ }
+
+ public static abstract interface Filter.FilterListener {
+ method public abstract void onFilterComplete(int);
+ }
+
+ protected static class Filter.FilterResults {
+ ctor public Filter.FilterResults();
+ field public int count;
+ field public java.lang.Object values;
+ }
+
+ public abstract interface FilterQueryProvider {
+ method public abstract android.database.Cursor runQuery(java.lang.CharSequence);
+ }
+
+ public abstract interface Filterable {
+ method public abstract android.widget.Filter getFilter();
+ }
+
+ public class FrameLayout extends android.view.ViewGroup {
+ ctor public FrameLayout(android.content.Context);
+ ctor public FrameLayout(android.content.Context, android.util.AttributeSet);
+ ctor public FrameLayout(android.content.Context, android.util.AttributeSet, int);
+ method public deprecated boolean getConsiderGoneChildrenWhenMeasuring();
+ method public android.graphics.drawable.Drawable getForeground();
+ method public boolean getMeasureAllChildren();
+ method protected void onLayout(boolean, int, int, int, int);
+ method public void setForeground(android.graphics.drawable.Drawable);
+ method public void setForegroundGravity(int);
+ method public void setMeasureAllChildren(boolean);
+ }
+
+ public static class FrameLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+ ctor public FrameLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+ ctor public FrameLayout.LayoutParams(int, int);
+ ctor public FrameLayout.LayoutParams(int, int, int);
+ ctor public FrameLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+ ctor public FrameLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+ field public int gravity;
+ }
+
+ public class Gallery extends android.widget.AbsSpinner implements android.view.GestureDetector.OnGestureListener {
+ ctor public Gallery(android.content.Context);
+ ctor public Gallery(android.content.Context, android.util.AttributeSet);
+ ctor public Gallery(android.content.Context, android.util.AttributeSet, int);
+ method public boolean onDown(android.view.MotionEvent);
+ method public boolean onFling(android.view.MotionEvent, android.view.MotionEvent, float, float);
+ method public void onLongPress(android.view.MotionEvent);
+ method public boolean onScroll(android.view.MotionEvent, android.view.MotionEvent, float, float);
+ method public void onShowPress(android.view.MotionEvent);
+ method public boolean onSingleTapUp(android.view.MotionEvent);
+ method public void setAnimationDuration(int);
+ method public void setCallbackDuringFling(boolean);
+ method public void setGravity(int);
+ method public void setSpacing(int);
+ method public void setUnselectedAlpha(float);
+ }
+
+ public static class Gallery.LayoutParams extends android.view.ViewGroup.LayoutParams {
+ ctor public Gallery.LayoutParams(android.content.Context, android.util.AttributeSet);
+ ctor public Gallery.LayoutParams(int, int);
+ ctor public Gallery.LayoutParams(android.view.ViewGroup.LayoutParams);
+ }
+
+ public class GridLayout extends android.view.ViewGroup {
+ ctor public GridLayout(android.content.Context, android.util.AttributeSet, int);
+ ctor public GridLayout(android.content.Context, android.util.AttributeSet);
+ ctor public GridLayout(android.content.Context);
+ method public int getAlignmentMode();
+ method public int getColumnCount();
+ method public int getOrientation();
+ method public int getRowCount();
+ method public boolean getUseDefaultMargins();
+ method public boolean isColumnOrderPreserved();
+ method public boolean isRowOrderPreserved();
+ method protected void onLayout(boolean, int, int, int, int);
+ method public void setAlignmentMode(int);
+ method public void setColumnCount(int);
+ method public void setColumnOrderPreserved(boolean);
+ method public void setOrientation(int);
+ method public void setRowCount(int);
+ method public void setRowOrderPreserved(boolean);
+ method public void setUseDefaultMargins(boolean);
+ method public static android.widget.GridLayout.Spec spec(int, int, android.widget.GridLayout.Alignment);
+ method public static android.widget.GridLayout.Spec spec(int, android.widget.GridLayout.Alignment);
+ method public static android.widget.GridLayout.Spec spec(int, int);
+ method public static android.widget.GridLayout.Spec spec(int);
+ field public static final int ALIGN_BOUNDS = 0; // 0x0
+ field public static final int ALIGN_MARGINS = 1; // 0x1
+ field public static final android.widget.GridLayout.Alignment BASELINE;
+ field public static final android.widget.GridLayout.Alignment BOTTOM;
+ field public static final android.widget.GridLayout.Alignment CENTER;
+ field public static final android.widget.GridLayout.Alignment FILL;
+ field public static final int HORIZONTAL = 0; // 0x0
+ field public static final android.widget.GridLayout.Alignment LEFT;
+ field public static final android.widget.GridLayout.Alignment RIGHT;
+ field public static final android.widget.GridLayout.Alignment TOP;
+ field public static final int UNDEFINED = -2147483648; // 0x80000000
+ field public static final int VERTICAL = 1; // 0x1
+ }
+
+ public static abstract class GridLayout.Alignment {
+ }
+
+ public static class GridLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+ ctor public GridLayout.LayoutParams(android.widget.GridLayout.Spec, android.widget.GridLayout.Spec);
+ ctor public GridLayout.LayoutParams();
+ ctor public GridLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+ ctor public GridLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+ ctor public GridLayout.LayoutParams(android.widget.GridLayout.LayoutParams);
+ ctor public GridLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+ method public void setGravity(int);
+ field public android.widget.GridLayout.Spec columnSpec;
+ field public android.widget.GridLayout.Spec rowSpec;
+ }
+
+ public static class GridLayout.Spec {
+ }
+
+ public class GridView extends android.widget.AbsListView {
+ ctor public GridView(android.content.Context);
+ ctor public GridView(android.content.Context, android.util.AttributeSet);
+ ctor public GridView(android.content.Context, android.util.AttributeSet, int);
+ method public android.widget.ListAdapter getAdapter();
+ method public int getNumColumns();
+ method public int getStretchMode();
+ method public void setColumnWidth(int);
+ method public void setGravity(int);
+ method public void setHorizontalSpacing(int);
+ method public void setNumColumns(int);
+ method public void setSelection(int);
+ method public void setStretchMode(int);
+ method public void setVerticalSpacing(int);
+ method public void smoothScrollByOffset(int);
+ field public static final int AUTO_FIT = -1; // 0xffffffff
+ field public static final int NO_STRETCH = 0; // 0x0
+ field public static final int STRETCH_COLUMN_WIDTH = 2; // 0x2
+ field public static final int STRETCH_SPACING = 1; // 0x1
+ field public static final int STRETCH_SPACING_UNIFORM = 3; // 0x3
+ }
+
+ public class HeaderViewListAdapter implements android.widget.Filterable android.widget.WrapperListAdapter {
+ ctor public HeaderViewListAdapter(java.util.ArrayList<android.widget.ListView.FixedViewInfo>, java.util.ArrayList<android.widget.ListView.FixedViewInfo>, android.widget.ListAdapter);
+ method public boolean areAllItemsEnabled();
+ method public int getCount();
+ method public android.widget.Filter getFilter();
+ method public int getFootersCount();
+ method public int getHeadersCount();
+ method public java.lang.Object getItem(int);
+ method public long getItemId(int);
+ method public int getItemViewType(int);
+ method public android.view.View getView(int, android.view.View, android.view.ViewGroup);
+ method public int getViewTypeCount();
+ method public android.widget.ListAdapter getWrappedAdapter();
+ method public boolean hasStableIds();
+ method public boolean isEmpty();
+ method public boolean isEnabled(int);
+ method public void registerDataSetObserver(android.database.DataSetObserver);
+ method public boolean removeFooter(android.view.View);
+ method public boolean removeHeader(android.view.View);
+ method public void unregisterDataSetObserver(android.database.DataSetObserver);
+ }
+
+ public abstract interface HeterogeneousExpandableList {
+ method public abstract int getChildType(int, int);
+ method public abstract int getChildTypeCount();
+ method public abstract int getGroupType(int);
+ method public abstract int getGroupTypeCount();
+ }
+
+ public class HorizontalScrollView extends android.widget.FrameLayout {
+ ctor public HorizontalScrollView(android.content.Context);
+ ctor public HorizontalScrollView(android.content.Context, android.util.AttributeSet);
+ ctor public HorizontalScrollView(android.content.Context, android.util.AttributeSet, int);
+ method public boolean arrowScroll(int);
+ method protected int computeScrollDeltaToGetChildRectOnScreen(android.graphics.Rect);
+ method public boolean executeKeyEvent(android.view.KeyEvent);
+ method public void fling(int);
+ method public boolean fullScroll(int);
+ method public int getMaxScrollAmount();
+ method public boolean isFillViewport();
+ method public boolean isSmoothScrollingEnabled();
+ method public boolean pageScroll(int);
+ method public void setFillViewport(boolean);
+ method public void setSmoothScrollingEnabled(boolean);
+ method public final void smoothScrollBy(int, int);
+ method public final void smoothScrollTo(int, int);
+ }
+
+ public class ImageButton extends android.widget.ImageView {
+ ctor public ImageButton(android.content.Context);
+ ctor public ImageButton(android.content.Context, android.util.AttributeSet);
+ ctor public ImageButton(android.content.Context, android.util.AttributeSet, int);
+ }
+
+ public class ImageSwitcher extends android.widget.ViewSwitcher {
+ ctor public ImageSwitcher(android.content.Context);
+ ctor public ImageSwitcher(android.content.Context, android.util.AttributeSet);
+ method public void setImageDrawable(android.graphics.drawable.Drawable);
+ method public void setImageResource(int);
+ method public void setImageURI(android.net.Uri);
+ }
+
+ public class ImageView extends android.view.View {
+ ctor public ImageView(android.content.Context);
+ ctor public ImageView(android.content.Context, android.util.AttributeSet);
+ ctor public ImageView(android.content.Context, android.util.AttributeSet, int);
+ method public final void clearColorFilter();
+ method public boolean getBaselineAlignBottom();
+ method public android.graphics.drawable.Drawable getDrawable();
+ method public android.graphics.Matrix getImageMatrix();
+ method public android.widget.ImageView.ScaleType getScaleType();
+ method public int[] onCreateDrawableState(int);
+ method public void setAdjustViewBounds(boolean);
+ method public void setAlpha(int);
+ method public void setBaseline(int);
+ method public void setBaselineAlignBottom(boolean);
+ method public final void setColorFilter(int, android.graphics.PorterDuff.Mode);
+ method public final void setColorFilter(int);
+ method public void setColorFilter(android.graphics.ColorFilter);
+ method protected boolean setFrame(int, int, int, int);
+ method public void setImageBitmap(android.graphics.Bitmap);
+ method public void setImageDrawable(android.graphics.drawable.Drawable);
+ method public void setImageLevel(int);
+ method public void setImageMatrix(android.graphics.Matrix);
+ method public void setImageResource(int);
+ method public void setImageState(int[], boolean);
+ method public void setImageURI(android.net.Uri);
+ method public void setMaxHeight(int);
+ method public void setMaxWidth(int);
+ method public void setScaleType(android.widget.ImageView.ScaleType);
+ }
+
+ public static final class ImageView.ScaleType extends java.lang.Enum {
+ method public static android.widget.ImageView.ScaleType valueOf(java.lang.String);
+ method public static final android.widget.ImageView.ScaleType[] values();
+ enum_constant public static final android.widget.ImageView.ScaleType CENTER;
+ enum_constant public static final android.widget.ImageView.ScaleType CENTER_CROP;
+ enum_constant public static final android.widget.ImageView.ScaleType CENTER_INSIDE;
+ enum_constant public static final android.widget.ImageView.ScaleType FIT_CENTER;
+ enum_constant public static final android.widget.ImageView.ScaleType FIT_END;
+ enum_constant public static final android.widget.ImageView.ScaleType FIT_START;
+ enum_constant public static final android.widget.ImageView.ScaleType FIT_XY;
+ enum_constant public static final android.widget.ImageView.ScaleType MATRIX;
+ }
+
+ public class LinearLayout extends android.view.ViewGroup {
+ ctor public LinearLayout(android.content.Context);
+ ctor public LinearLayout(android.content.Context, android.util.AttributeSet);
+ ctor public LinearLayout(android.content.Context, android.util.AttributeSet, int);
+ method public int getBaselineAlignedChildIndex();
+ method public int getDividerPadding();
+ method public int getOrientation();
+ method public int getShowDividers();
+ method public float getWeightSum();
+ method public boolean isBaselineAligned();
+ method public boolean isMeasureWithLargestChildEnabled();
+ method protected void onLayout(boolean, int, int, int, int);
+ method public void setBaselineAligned(boolean);
+ method public void setBaselineAlignedChildIndex(int);
+ method public void setDividerDrawable(android.graphics.drawable.Drawable);
+ method public void setDividerPadding(int);
+ method public void setGravity(int);
+ method public void setHorizontalGravity(int);
+ method public void setMeasureWithLargestChildEnabled(boolean);
+ method public void setOrientation(int);
+ method public void setShowDividers(int);
+ method public void setVerticalGravity(int);
+ method public void setWeightSum(float);
+ field public static final int HORIZONTAL = 0; // 0x0
+ field public static final int SHOW_DIVIDER_BEGINNING = 1; // 0x1
+ field public static final int SHOW_DIVIDER_END = 4; // 0x4
+ field public static final int SHOW_DIVIDER_MIDDLE = 2; // 0x2
+ field public static final int SHOW_DIVIDER_NONE = 0; // 0x0
+ field public static final int VERTICAL = 1; // 0x1
+ }
+
+ public static class LinearLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+ ctor public LinearLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+ ctor public LinearLayout.LayoutParams(int, int);
+ ctor public LinearLayout.LayoutParams(int, int, float);
+ ctor public LinearLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+ ctor public LinearLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+ method public java.lang.String debug(java.lang.String);
+ field public int gravity;
+ field public float weight;
+ }
+
+ public abstract interface ListAdapter implements android.widget.Adapter {
+ method public abstract boolean areAllItemsEnabled();
+ method public abstract boolean isEnabled(int);
+ }
+
+ public class ListPopupWindow {
+ ctor public ListPopupWindow(android.content.Context);
+ ctor public ListPopupWindow(android.content.Context, android.util.AttributeSet);
+ ctor public ListPopupWindow(android.content.Context, android.util.AttributeSet, int);
+ ctor public ListPopupWindow(android.content.Context, android.util.AttributeSet, int, int);
+ method public void clearListSelection();
+ method public void dismiss();
+ method public android.view.View getAnchorView();
+ method public int getAnimationStyle();
+ method public android.graphics.drawable.Drawable getBackground();
+ method public int getHeight();
+ method public int getHorizontalOffset();
+ method public int getInputMethodMode();
+ method public android.widget.ListView getListView();
+ method public int getPromptPosition();
+ method public java.lang.Object getSelectedItem();
+ method public long getSelectedItemId();
+ method public int getSelectedItemPosition();
+ method public android.view.View getSelectedView();
+ method public int getSoftInputMode();
+ method public int getVerticalOffset();
+ method public int getWidth();
+ method public boolean isInputMethodNotNeeded();
+ method public boolean isModal();
+ method public boolean isShowing();
+ method public boolean onKeyDown(int, android.view.KeyEvent);
+ method public boolean onKeyPreIme(int, android.view.KeyEvent);
+ method public boolean onKeyUp(int, android.view.KeyEvent);
+ method public boolean performItemClick(int);
+ method public void postShow();
+ method public void setAdapter(android.widget.ListAdapter);
+ method public void setAnchorView(android.view.View);
+ method public void setAnimationStyle(int);
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable);
+ method public void setContentWidth(int);
+ method public void setHeight(int);
+ method public void setHorizontalOffset(int);
+ method public void setInputMethodMode(int);
+ method public void setListSelector(android.graphics.drawable.Drawable);
+ method public void setModal(boolean);
+ method public void setOnDismissListener(android.widget.PopupWindow.OnDismissListener);
+ method public void setOnItemClickListener(android.widget.AdapterView.OnItemClickListener);
+ method public void setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener);
+ method public void setPromptPosition(int);
+ method public void setPromptView(android.view.View);
+ method public void setSelection(int);
+ method public void setSoftInputMode(int);
+ method public void setVerticalOffset(int);
+ method public void setWidth(int);
+ method public void show();
+ field public static final int INPUT_METHOD_FROM_FOCUSABLE = 0; // 0x0
+ field public static final int INPUT_METHOD_NEEDED = 1; // 0x1
+ field public static final int INPUT_METHOD_NOT_NEEDED = 2; // 0x2
+ field public static final int MATCH_PARENT = -1; // 0xffffffff
+ field public static final int POSITION_PROMPT_ABOVE = 0; // 0x0
+ field public static final int POSITION_PROMPT_BELOW = 1; // 0x1
+ field public static final int WRAP_CONTENT = -2; // 0xfffffffe
+ }
+
+ public class ListView extends android.widget.AbsListView {
+ ctor public ListView(android.content.Context);
+ ctor public ListView(android.content.Context, android.util.AttributeSet);
+ ctor public ListView(android.content.Context, android.util.AttributeSet, int);
+ method public void addFooterView(android.view.View, java.lang.Object, boolean);
+ method public void addFooterView(android.view.View);
+ method public void addHeaderView(android.view.View, java.lang.Object, boolean);
+ method public void addHeaderView(android.view.View);
+ method protected android.view.View findViewTraversal(int);
+ method protected android.view.View findViewWithTagTraversal(java.lang.Object);
+ method public android.widget.ListAdapter getAdapter();
+ method public deprecated long[] getCheckItemIds();
+ method public android.graphics.drawable.Drawable getDivider();
+ method public int getDividerHeight();
+ method public int getFooterViewsCount();
+ method public int getHeaderViewsCount();
+ method public boolean getItemsCanFocus();
+ method public int getMaxScrollAmount();
+ method public android.graphics.drawable.Drawable getOverscrollFooter();
+ method public android.graphics.drawable.Drawable getOverscrollHeader();
+ method public boolean removeFooterView(android.view.View);
+ method public boolean removeHeaderView(android.view.View);
+ method public void setDivider(android.graphics.drawable.Drawable);
+ method public void setDividerHeight(int);
+ method public void setFooterDividersEnabled(boolean);
+ method public void setHeaderDividersEnabled(boolean);
+ method public void setItemsCanFocus(boolean);
+ method public void setOverscrollFooter(android.graphics.drawable.Drawable);
+ method public void setOverscrollHeader(android.graphics.drawable.Drawable);
+ method public void setSelection(int);
+ method public void setSelectionAfterHeaderView();
+ method public void setSelectionFromTop(int, int);
+ method public void smoothScrollByOffset(int);
+ }
+
+ public class ListView.FixedViewInfo {
+ ctor public ListView.FixedViewInfo();
+ field public java.lang.Object data;
+ field public boolean isSelectable;
+ field public android.view.View view;
+ }
+
+ public class MediaController extends android.widget.FrameLayout {
+ ctor public MediaController(android.content.Context, android.util.AttributeSet);
+ ctor public MediaController(android.content.Context, boolean);
+ ctor public MediaController(android.content.Context);
+ method public void hide();
+ method public boolean isShowing();
+ method public void onFinishInflate();
+ method public void setAnchorView(android.view.View);
+ method public void setMediaPlayer(android.widget.MediaController.MediaPlayerControl);
+ method public void setPrevNextListeners(android.view.View.OnClickListener, android.view.View.OnClickListener);
+ method public void show();
+ method public void show(int);
+ }
+
+ public static abstract interface MediaController.MediaPlayerControl {
+ method public abstract boolean canPause();
+ method public abstract boolean canSeekBackward();
+ method public abstract boolean canSeekForward();
+ method public abstract int getBufferPercentage();
+ method public abstract int getCurrentPosition();
+ method public abstract int getDuration();
+ method public abstract boolean isPlaying();
+ method public abstract void pause();
+ method public abstract void seekTo(int);
+ method public abstract void start();
+ }
+
+ public class MultiAutoCompleteTextView extends android.widget.AutoCompleteTextView {
+ ctor public MultiAutoCompleteTextView(android.content.Context);
+ ctor public MultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet);
+ ctor public MultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet, int);
+ method protected void performFiltering(java.lang.CharSequence, int, int, int);
+ method public void setTokenizer(android.widget.MultiAutoCompleteTextView.Tokenizer);
+ }
+
+ public static class MultiAutoCompleteTextView.CommaTokenizer implements android.widget.MultiAutoCompleteTextView.Tokenizer {
+ ctor public MultiAutoCompleteTextView.CommaTokenizer();
+ method public int findTokenEnd(java.lang.CharSequence, int);
+ method public int findTokenStart(java.lang.CharSequence, int);
+ method public java.lang.CharSequence terminateToken(java.lang.CharSequence);
+ }
+
+ public static abstract interface MultiAutoCompleteTextView.Tokenizer {
+ method public abstract int findTokenEnd(java.lang.CharSequence, int);
+ method public abstract int findTokenStart(java.lang.CharSequence, int);
+ method public abstract java.lang.CharSequence terminateToken(java.lang.CharSequence);
+ }
+
+ public class NumberPicker extends android.widget.LinearLayout {
+ ctor public NumberPicker(android.content.Context);
+ ctor public NumberPicker(android.content.Context, android.util.AttributeSet);
+ ctor public NumberPicker(android.content.Context, android.util.AttributeSet, int);
+ method public java.lang.String[] getDisplayedValues();
+ method public int getMaxValue();
+ method public int getMinValue();
+ method public int getValue();
+ method public boolean getWrapSelectorWheel();
+ method public void setDisplayedValues(java.lang.String[]);
+ method public void setFormatter(android.widget.NumberPicker.Formatter);
+ method public void setMaxValue(int);
+ method public void setMinValue(int);
+ method public void setOnLongPressUpdateInterval(long);
+ method public void setOnScrollListener(android.widget.NumberPicker.OnScrollListener);
+ method public void setOnValueChangedListener(android.widget.NumberPicker.OnValueChangeListener);
+ method public void setValue(int);
+ method public void setWrapSelectorWheel(boolean);
+ }
+
+ public static abstract interface NumberPicker.Formatter {
+ method public abstract java.lang.String format(int);
+ }
+
+ public static abstract interface NumberPicker.OnScrollListener {
+ method public abstract void onScrollStateChange(android.widget.NumberPicker, int);
+ field public static final int SCROLL_STATE_FLING = 2; // 0x2
+ field public static final int SCROLL_STATE_IDLE = 0; // 0x0
+ field public static final int SCROLL_STATE_TOUCH_SCROLL = 1; // 0x1
+ }
+
+ public static abstract interface NumberPicker.OnValueChangeListener {
+ method public abstract void onValueChange(android.widget.NumberPicker, int, int);
+ }
+
+ public class OverScroller {
+ ctor public OverScroller(android.content.Context);
+ ctor public OverScroller(android.content.Context, android.view.animation.Interpolator);
+ ctor public OverScroller(android.content.Context, android.view.animation.Interpolator, float, float);
+ ctor public OverScroller(android.content.Context, android.view.animation.Interpolator, float, float, boolean);
+ method public void abortAnimation();
+ method public boolean computeScrollOffset();
+ method public void fling(int, int, int, int, int, int, int, int);
+ method public void fling(int, int, int, int, int, int, int, int, int, int);
+ method public final void forceFinished(boolean);
+ method public float getCurrVelocity();
+ method public final int getCurrX();
+ method public final int getCurrY();
+ method public final int getFinalX();
+ method public final int getFinalY();
+ method public final int getStartX();
+ method public final int getStartY();
+ method public final boolean isFinished();
+ method public boolean isOverScrolled();
+ method public void notifyHorizontalEdgeReached(int, int, int);
+ method public void notifyVerticalEdgeReached(int, int, int);
+ method public final void setFriction(float);
+ method public boolean springBack(int, int, int, int, int, int);
+ method public void startScroll(int, int, int, int);
+ method public void startScroll(int, int, int, int, int);
+ }
+
+ public class PopupMenu {
+ ctor public PopupMenu(android.content.Context, android.view.View);
+ method public void dismiss();
+ method public android.view.Menu getMenu();
+ method public android.view.MenuInflater getMenuInflater();
+ method public void inflate(int);
+ method public void setOnDismissListener(android.widget.PopupMenu.OnDismissListener);
+ method public void setOnMenuItemClickListener(android.widget.PopupMenu.OnMenuItemClickListener);
+ method public void show();
+ }
+
+ public static abstract interface PopupMenu.OnDismissListener {
+ method public abstract void onDismiss(android.widget.PopupMenu);
+ }
+
+ public static abstract interface PopupMenu.OnMenuItemClickListener {
+ method public abstract boolean onMenuItemClick(android.view.MenuItem);
+ }
+
+ public class PopupWindow {
+ ctor public PopupWindow(android.content.Context);
+ ctor public PopupWindow(android.content.Context, android.util.AttributeSet);
+ ctor public PopupWindow(android.content.Context, android.util.AttributeSet, int);
+ ctor public PopupWindow(android.content.Context, android.util.AttributeSet, int, int);
+ ctor public PopupWindow();
+ ctor public PopupWindow(android.view.View);
+ ctor public PopupWindow(int, int);
+ ctor public PopupWindow(android.view.View, int, int);
+ ctor public PopupWindow(android.view.View, int, int, boolean);
+ method public void dismiss();
+ method public int getAnimationStyle();
+ method public android.graphics.drawable.Drawable getBackground();
+ method public android.view.View getContentView();
+ method public int getHeight();
+ method public int getInputMethodMode();
+ method public int getMaxAvailableHeight(android.view.View);
+ method public int getMaxAvailableHeight(android.view.View, int);
+ method public int getSoftInputMode();
+ method public int getWidth();
+ method public boolean isAboveAnchor();
+ method public boolean isClippingEnabled();
+ method public boolean isFocusable();
+ method public boolean isOutsideTouchable();
+ method public boolean isShowing();
+ method public boolean isSplitTouchEnabled();
+ method public boolean isTouchable();
+ method public void setAnimationStyle(int);
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable);
+ method public void setClippingEnabled(boolean);
+ method public void setContentView(android.view.View);
+ method public void setFocusable(boolean);
+ method public void setHeight(int);
+ method public void setIgnoreCheekPress();
+ method public void setInputMethodMode(int);
+ method public void setOnDismissListener(android.widget.PopupWindow.OnDismissListener);
+ method public void setOutsideTouchable(boolean);
+ method public void setSoftInputMode(int);
+ method public void setSplitTouchEnabled(boolean);
+ method public void setTouchInterceptor(android.view.View.OnTouchListener);
+ method public void setTouchable(boolean);
+ method public void setWidth(int);
+ method public void setWindowLayoutMode(int, int);
+ method public void showAsDropDown(android.view.View);
+ method public void showAsDropDown(android.view.View, int, int);
+ method public void showAtLocation(android.view.View, int, int, int);
+ method public void update();
+ method public void update(int, int);
+ method public void update(int, int, int, int);
+ method public void update(int, int, int, int, boolean);
+ method public void update(android.view.View, int, int);
+ method public void update(android.view.View, int, int, int, int);
+ field public static final int INPUT_METHOD_FROM_FOCUSABLE = 0; // 0x0
+ field public static final int INPUT_METHOD_NEEDED = 1; // 0x1
+ field public static final int INPUT_METHOD_NOT_NEEDED = 2; // 0x2
+ }
+
+ public static abstract interface PopupWindow.OnDismissListener {
+ method public abstract void onDismiss();
+ }
+
+ public class ProgressBar extends android.view.View {
+ ctor public ProgressBar(android.content.Context);
+ ctor public ProgressBar(android.content.Context, android.util.AttributeSet);
+ ctor public ProgressBar(android.content.Context, android.util.AttributeSet, int);
+ method public android.graphics.drawable.Drawable getIndeterminateDrawable();
+ method public android.view.animation.Interpolator getInterpolator();
+ method public synchronized int getMax();
+ method public synchronized int getProgress();
+ method public android.graphics.drawable.Drawable getProgressDrawable();
+ method public synchronized int getSecondaryProgress();
+ method public final synchronized void incrementProgressBy(int);
+ method public final synchronized void incrementSecondaryProgressBy(int);
+ method public synchronized boolean isIndeterminate();
+ method public void onRestoreInstanceState(android.os.Parcelable);
+ method public android.os.Parcelable onSaveInstanceState();
+ method public synchronized void setIndeterminate(boolean);
+ method public void setIndeterminateDrawable(android.graphics.drawable.Drawable);
+ method public void setInterpolator(android.content.Context, int);
+ method public void setInterpolator(android.view.animation.Interpolator);
+ method public synchronized void setMax(int);
+ method public synchronized void setProgress(int);
+ method public void setProgressDrawable(android.graphics.drawable.Drawable);
+ method public synchronized void setSecondaryProgress(int);
+ }
+
+ public class QuickContactBadge extends android.widget.ImageView implements android.view.View.OnClickListener {
+ ctor public QuickContactBadge(android.content.Context);
+ ctor public QuickContactBadge(android.content.Context, android.util.AttributeSet);
+ ctor public QuickContactBadge(android.content.Context, android.util.AttributeSet, int);
+ method public void assignContactFromEmail(java.lang.String, boolean);
+ method public void assignContactFromPhone(java.lang.String, boolean);
+ method public void assignContactUri(android.net.Uri);
+ method public void onClick(android.view.View);
+ method public void setExcludeMimes(java.lang.String[]);
+ method public void setImageToDefault();
+ method public void setMode(int);
+ field protected java.lang.String[] mExcludeMimes;
+ }
+
+ public class RadioButton extends android.widget.CompoundButton {
+ ctor public RadioButton(android.content.Context);
+ ctor public RadioButton(android.content.Context, android.util.AttributeSet);
+ ctor public RadioButton(android.content.Context, android.util.AttributeSet, int);
+ }
+
+ public class RadioGroup extends android.widget.LinearLayout {
+ ctor public RadioGroup(android.content.Context);
+ ctor public RadioGroup(android.content.Context, android.util.AttributeSet);
+ method public void check(int);
+ method public void clearCheck();
+ method public int getCheckedRadioButtonId();
+ method public void setOnCheckedChangeListener(android.widget.RadioGroup.OnCheckedChangeListener);
+ }
+
+ public static class RadioGroup.LayoutParams extends android.widget.LinearLayout.LayoutParams {
+ ctor public RadioGroup.LayoutParams(android.content.Context, android.util.AttributeSet);
+ ctor public RadioGroup.LayoutParams(int, int);
+ ctor public RadioGroup.LayoutParams(int, int, float);
+ ctor public RadioGroup.LayoutParams(android.view.ViewGroup.LayoutParams);
+ ctor public RadioGroup.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+ }
+
+ public static abstract interface RadioGroup.OnCheckedChangeListener {
+ method public abstract void onCheckedChanged(android.widget.RadioGroup, int);
+ }
+
+ public class RatingBar extends android.widget.AbsSeekBar {
+ ctor public RatingBar(android.content.Context, android.util.AttributeSet, int);
+ ctor public RatingBar(android.content.Context, android.util.AttributeSet);
+ ctor public RatingBar(android.content.Context);
+ method public int getNumStars();
+ method public android.widget.RatingBar.OnRatingBarChangeListener getOnRatingBarChangeListener();
+ method public float getRating();
+ method public float getStepSize();
+ method public boolean isIndicator();
+ method public void setIsIndicator(boolean);
+ method public void setNumStars(int);
+ method public void setOnRatingBarChangeListener(android.widget.RatingBar.OnRatingBarChangeListener);
+ method public void setRating(float);
+ method public void setStepSize(float);
+ }
+
+ public static abstract interface RatingBar.OnRatingBarChangeListener {
+ method public abstract void onRatingChanged(android.widget.RatingBar, float, boolean);
+ }
+
+ public class RelativeLayout extends android.view.ViewGroup {
+ ctor public RelativeLayout(android.content.Context);
+ ctor public RelativeLayout(android.content.Context, android.util.AttributeSet);
+ ctor public RelativeLayout(android.content.Context, android.util.AttributeSet, int);
+ method protected void onLayout(boolean, int, int, int, int);
+ method public void setGravity(int);
+ method public void setHorizontalGravity(int);
+ method public void setIgnoreGravity(int);
+ method public void setVerticalGravity(int);
+ field public static final int ABOVE = 2; // 0x2
+ field public static final int ALIGN_BASELINE = 4; // 0x4
+ field public static final int ALIGN_BOTTOM = 8; // 0x8
+ field public static final int ALIGN_LEFT = 5; // 0x5
+ field public static final int ALIGN_PARENT_BOTTOM = 12; // 0xc
+ field public static final int ALIGN_PARENT_LEFT = 9; // 0x9
+ field public static final int ALIGN_PARENT_RIGHT = 11; // 0xb
+ field public static final int ALIGN_PARENT_TOP = 10; // 0xa
+ field public static final int ALIGN_RIGHT = 7; // 0x7
+ field public static final int ALIGN_TOP = 6; // 0x6
+ field public static final int BELOW = 3; // 0x3
+ field public static final int CENTER_HORIZONTAL = 14; // 0xe
+ field public static final int CENTER_IN_PARENT = 13; // 0xd
+ field public static final int CENTER_VERTICAL = 15; // 0xf
+ field public static final int LEFT_OF = 0; // 0x0
+ field public static final int RIGHT_OF = 1; // 0x1
+ field public static final int TRUE = -1; // 0xffffffff
+ }
+
+ public static class RelativeLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+ ctor public RelativeLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+ ctor public RelativeLayout.LayoutParams(int, int);
+ ctor public RelativeLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+ ctor public RelativeLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+ method public void addRule(int);
+ method public void addRule(int, int);
+ method public java.lang.String debug(java.lang.String);
+ method public int[] getRules();
+ field public boolean alignWithParent;
+ }
+
+ public class RemoteViews implements android.view.LayoutInflater.Filter android.os.Parcelable {
+ ctor public RemoteViews(java.lang.String, int);
+ ctor public RemoteViews(android.os.Parcel);
+ method public void addView(int, android.widget.RemoteViews);
+ method public android.view.View apply(android.content.Context, android.view.ViewGroup);
+ method public android.widget.RemoteViews clone();
+ method public int describeContents();
+ method public int getLayoutId();
+ method public java.lang.String getPackage();
+ method public boolean onLoadClass(java.lang.Class);
+ method public void reapply(android.content.Context, android.view.View);
+ method public void removeAllViews(int);
+ method public void setBitmap(int, java.lang.String, android.graphics.Bitmap);
+ method public void setBoolean(int, java.lang.String, boolean);
+ method public void setBundle(int, java.lang.String, android.os.Bundle);
+ method public void setByte(int, java.lang.String, byte);
+ method public void setChar(int, java.lang.String, char);
+ method public void setCharSequence(int, java.lang.String, java.lang.CharSequence);
+ method public void setChronometer(int, long, java.lang.String, boolean);
+ method public void setDisplayedChild(int, int);
+ method public void setDouble(int, java.lang.String, double);
+ method public void setEmptyView(int, int);
+ method public void setFloat(int, java.lang.String, float);
+ method public void setImageViewBitmap(int, android.graphics.Bitmap);
+ method public void setImageViewResource(int, int);
+ method public void setImageViewUri(int, android.net.Uri);
+ method public void setInt(int, java.lang.String, int);
+ method public void setIntent(int, java.lang.String, android.content.Intent);
+ method public void setLong(int, java.lang.String, long);
+ method public void setOnClickFillInIntent(int, android.content.Intent);
+ method public void setOnClickPendingIntent(int, android.app.PendingIntent);
+ method public void setPendingIntentTemplate(int, android.app.PendingIntent);
+ method public void setProgressBar(int, int, int, boolean);
+ method public void setRelativeScrollPosition(int, int);
+ method public deprecated void setRemoteAdapter(int, int, android.content.Intent);
+ method public void setRemoteAdapter(int, android.content.Intent);
+ method public void setScrollPosition(int, int);
+ method public void setShort(int, java.lang.String, short);
+ method public void setString(int, java.lang.String, java.lang.String);
+ method public void setTextColor(int, int);
+ method public void setTextViewText(int, java.lang.CharSequence);
+ method public void setUri(int, java.lang.String, android.net.Uri);
+ method public void setViewVisibility(int, int);
+ method public void showNext(int);
+ method public void showPrevious(int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public static class RemoteViews.ActionException extends java.lang.RuntimeException {
+ ctor public RemoteViews.ActionException(java.lang.Exception);
+ ctor public RemoteViews.ActionException(java.lang.String);
+ }
+
+ public static abstract class RemoteViews.RemoteView implements java.lang.annotation.Annotation {
+ }
+
+ public abstract class RemoteViewsService extends android.app.Service {
+ ctor public RemoteViewsService();
+ method public android.os.IBinder onBind(android.content.Intent);
+ method public abstract android.widget.RemoteViewsService.RemoteViewsFactory onGetViewFactory(android.content.Intent);
+ }
+
+ public static abstract interface RemoteViewsService.RemoteViewsFactory {
+ method public abstract int getCount();
+ method public abstract long getItemId(int);
+ method public abstract android.widget.RemoteViews getLoadingView();
+ method public abstract android.widget.RemoteViews getViewAt(int);
+ method public abstract int getViewTypeCount();
+ method public abstract boolean hasStableIds();
+ method public abstract void onCreate();
+ method public abstract void onDataSetChanged();
+ method public abstract void onDestroy();
+ }
+
+ public abstract class ResourceCursorAdapter extends android.widget.CursorAdapter {
+ ctor public deprecated ResourceCursorAdapter(android.content.Context, int, android.database.Cursor);
+ ctor public ResourceCursorAdapter(android.content.Context, int, android.database.Cursor, boolean);
+ ctor public ResourceCursorAdapter(android.content.Context, int, android.database.Cursor, int);
+ method public android.view.View newView(android.content.Context, android.database.Cursor, android.view.ViewGroup);
+ method public void setDropDownViewResource(int);
+ method public void setViewResource(int);
+ }
+
+ public abstract class ResourceCursorTreeAdapter extends android.widget.CursorTreeAdapter {
+ ctor public ResourceCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int, int, int);
+ ctor public ResourceCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int, int);
+ ctor public ResourceCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int);
+ method public android.view.View newChildView(android.content.Context, android.database.Cursor, boolean, android.view.ViewGroup);
+ method public android.view.View newGroupView(android.content.Context, android.database.Cursor, boolean, android.view.ViewGroup);
+ }
+
+ public class ScrollView extends android.widget.FrameLayout {
+ ctor public ScrollView(android.content.Context);
+ ctor public ScrollView(android.content.Context, android.util.AttributeSet);
+ ctor public ScrollView(android.content.Context, android.util.AttributeSet, int);
+ method public boolean arrowScroll(int);
+ method protected int computeScrollDeltaToGetChildRectOnScreen(android.graphics.Rect);
+ method public boolean executeKeyEvent(android.view.KeyEvent);
+ method public void fling(int);
+ method public boolean fullScroll(int);
+ method public int getMaxScrollAmount();
+ method public boolean isFillViewport();
+ method public boolean isSmoothScrollingEnabled();
+ method public boolean pageScroll(int);
+ method public void setFillViewport(boolean);
+ method public void setSmoothScrollingEnabled(boolean);
+ method public final void smoothScrollBy(int, int);
+ method public final void smoothScrollTo(int, int);
+ }
+
+ public class Scroller {
+ ctor public Scroller(android.content.Context);
+ ctor public Scroller(android.content.Context, android.view.animation.Interpolator);
+ ctor public Scroller(android.content.Context, android.view.animation.Interpolator, boolean);
+ method public void abortAnimation();
+ method public boolean computeScrollOffset();
+ method public void extendDuration(int);
+ method public void fling(int, int, int, int, int, int, int, int);
+ method public final void forceFinished(boolean);
+ method public float getCurrVelocity();
+ method public final int getCurrX();
+ method public final int getCurrY();
+ method public final int getDuration();
+ method public final int getFinalX();
+ method public final int getFinalY();
+ method public final int getStartX();
+ method public final int getStartY();
+ method public final boolean isFinished();
+ method public void setFinalX(int);
+ method public void setFinalY(int);
+ method public final void setFriction(float);
+ method public void startScroll(int, int, int, int);
+ method public void startScroll(int, int, int, int, int);
+ method public int timePassed();
+ }
+
+ public class SearchView extends android.widget.LinearLayout implements android.view.CollapsibleActionView {
+ ctor public SearchView(android.content.Context);
+ ctor public SearchView(android.content.Context, android.util.AttributeSet);
+ method public java.lang.CharSequence getQuery();
+ method public android.widget.CursorAdapter getSuggestionsAdapter();
+ method public boolean isIconfiedByDefault();
+ method public boolean isIconified();
+ method public boolean isQueryRefinementEnabled();
+ method public boolean isSubmitButtonEnabled();
+ method public void onActionViewCollapsed();
+ method public void onActionViewExpanded();
+ method public void setIconified(boolean);
+ method public void setIconifiedByDefault(boolean);
+ method public void setImeOptions(int);
+ method public void setInputType(int);
+ method public void setMaxWidth(int);
+ method public void setOnCloseListener(android.widget.SearchView.OnCloseListener);
+ method public void setOnQueryTextFocusChangeListener(android.view.View.OnFocusChangeListener);
+ method public void setOnQueryTextListener(android.widget.SearchView.OnQueryTextListener);
+ method public void setOnSearchClickListener(android.view.View.OnClickListener);
+ method public void setOnSuggestionListener(android.widget.SearchView.OnSuggestionListener);
+ method public void setQuery(java.lang.CharSequence, boolean);
+ method public void setQueryHint(java.lang.CharSequence);
+ method public void setQueryRefinementEnabled(boolean);
+ method public void setSearchableInfo(android.app.SearchableInfo);
+ method public void setSubmitButtonEnabled(boolean);
+ method public void setSuggestionsAdapter(android.widget.CursorAdapter);
+ }
+
+ public static abstract interface SearchView.OnCloseListener {
+ method public abstract boolean onClose();
+ }
+
+ public static abstract interface SearchView.OnQueryTextListener {
+ method public abstract boolean onQueryTextChange(java.lang.String);
+ method public abstract boolean onQueryTextSubmit(java.lang.String);
+ }
+
+ public static abstract interface SearchView.OnSuggestionListener {
+ method public abstract boolean onSuggestionClick(int);
+ method public abstract boolean onSuggestionSelect(int);
+ }
+
+ public abstract interface SectionIndexer {
+ method public abstract int getPositionForSection(int);
+ method public abstract int getSectionForPosition(int);
+ method public abstract java.lang.Object[] getSections();
+ }
+
+ public class SeekBar extends android.widget.AbsSeekBar {
+ ctor public SeekBar(android.content.Context);
+ ctor public SeekBar(android.content.Context, android.util.AttributeSet);
+ ctor public SeekBar(android.content.Context, android.util.AttributeSet, int);
+ method public void setOnSeekBarChangeListener(android.widget.SeekBar.OnSeekBarChangeListener);
+ }
+
+ public static abstract interface SeekBar.OnSeekBarChangeListener {
+ method public abstract void onProgressChanged(android.widget.SeekBar, int, boolean);
+ method public abstract void onStartTrackingTouch(android.widget.SeekBar);
+ method public abstract void onStopTrackingTouch(android.widget.SeekBar);
+ }
+
+ public class ShareActionProvider extends android.view.ActionProvider {
+ ctor public ShareActionProvider(android.content.Context);
+ method public android.view.View onCreateActionView();
+ method public void setOnShareTargetSelectedListener(android.widget.ShareActionProvider.OnShareTargetSelectedListener);
+ method public void setShareHistoryFileName(java.lang.String);
+ method public void setShareIntent(android.content.Intent);
+ field public static final java.lang.String DEFAULT_SHARE_HISTORY_FILE_NAME = "share_history.xml";
+ }
+
+ public static abstract interface ShareActionProvider.OnShareTargetSelectedListener {
+ method public abstract boolean onShareTargetSelected(android.widget.ShareActionProvider, android.content.Intent);
+ }
+
+ public class SimpleAdapter extends android.widget.BaseAdapter implements android.widget.Filterable {
+ ctor public SimpleAdapter(android.content.Context, java.util.List<? extends java.util.Map<java.lang.String, ?>>, int, java.lang.String[], int[]);
+ method public int getCount();
+ method public android.widget.Filter getFilter();
+ method public java.lang.Object getItem(int);
+ method public long getItemId(int);
+ method public android.view.View getView(int, android.view.View, android.view.ViewGroup);
+ method public android.widget.SimpleAdapter.ViewBinder getViewBinder();
+ method public void setDropDownViewResource(int);
+ method public void setViewBinder(android.widget.SimpleAdapter.ViewBinder);
+ method public void setViewImage(android.widget.ImageView, int);
+ method public void setViewImage(android.widget.ImageView, java.lang.String);
+ method public void setViewText(android.widget.TextView, java.lang.String);
+ }
+
+ public static abstract interface SimpleAdapter.ViewBinder {
+ method public abstract boolean setViewValue(android.view.View, java.lang.Object, java.lang.String);
+ }
+
+ public class SimpleCursorAdapter extends android.widget.ResourceCursorAdapter {
+ ctor public deprecated SimpleCursorAdapter(android.content.Context, int, android.database.Cursor, java.lang.String[], int[]);
+ ctor public SimpleCursorAdapter(android.content.Context, int, android.database.Cursor, java.lang.String[], int[], int);
+ method public void bindView(android.view.View, android.content.Context, android.database.Cursor);
+ method public void changeCursorAndColumns(android.database.Cursor, java.lang.String[], int[]);
+ method public android.widget.SimpleCursorAdapter.CursorToStringConverter getCursorToStringConverter();
+ method public int getStringConversionColumn();
+ method public android.widget.SimpleCursorAdapter.ViewBinder getViewBinder();
+ method public void setCursorToStringConverter(android.widget.SimpleCursorAdapter.CursorToStringConverter);
+ method public void setStringConversionColumn(int);
+ method public void setViewBinder(android.widget.SimpleCursorAdapter.ViewBinder);
+ method public void setViewImage(android.widget.ImageView, java.lang.String);
+ method public void setViewText(android.widget.TextView, java.lang.String);
+ }
+
+ public static abstract interface SimpleCursorAdapter.CursorToStringConverter {
+ method public abstract java.lang.CharSequence convertToString(android.database.Cursor);
+ }
+
+ public static abstract interface SimpleCursorAdapter.ViewBinder {
+ method public abstract boolean setViewValue(android.view.View, android.database.Cursor, int);
+ }
+
+ public abstract class SimpleCursorTreeAdapter extends android.widget.ResourceCursorTreeAdapter {
+ ctor public SimpleCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int, java.lang.String[], int[], int, int, java.lang.String[], int[]);
+ ctor public SimpleCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int, java.lang.String[], int[], int, java.lang.String[], int[]);
+ ctor public SimpleCursorTreeAdapter(android.content.Context, android.database.Cursor, int, java.lang.String[], int[], int, java.lang.String[], int[]);
+ method protected void bindChildView(android.view.View, android.content.Context, android.database.Cursor, boolean);
+ method protected void bindGroupView(android.view.View, android.content.Context, android.database.Cursor, boolean);
+ method public android.widget.SimpleCursorTreeAdapter.ViewBinder getViewBinder();
+ method public void setViewBinder(android.widget.SimpleCursorTreeAdapter.ViewBinder);
+ method protected void setViewImage(android.widget.ImageView, java.lang.String);
+ method public void setViewText(android.widget.TextView, java.lang.String);
+ }
+
+ public static abstract interface SimpleCursorTreeAdapter.ViewBinder {
+ method public abstract boolean setViewValue(android.view.View, android.database.Cursor, int);
+ }
+
+ public class SimpleExpandableListAdapter extends android.widget.BaseExpandableListAdapter {
+ ctor public SimpleExpandableListAdapter(android.content.Context, java.util.List<? extends java.util.Map<java.lang.String, ?>>, int, java.lang.String[], int[], java.util.List<? extends java.util.List<? extends java.util.Map<java.lang.String, ?>>>, int, java.lang.String[], int[]);
+ ctor public SimpleExpandableListAdapter(android.content.Context, java.util.List<? extends java.util.Map<java.lang.String, ?>>, int, int, java.lang.String[], int[], java.util.List<? extends java.util.List<? extends java.util.Map<java.lang.String, ?>>>, int, java.lang.String[], int[]);
+ ctor public SimpleExpandableListAdapter(android.content.Context, java.util.List<? extends java.util.Map<java.lang.String, ?>>, int, int, java.lang.String[], int[], java.util.List<? extends java.util.List<? extends java.util.Map<java.lang.String, ?>>>, int, int, java.lang.String[], int[]);
+ method public java.lang.Object getChild(int, int);
+ method public long getChildId(int, int);
+ method public android.view.View getChildView(int, int, boolean, android.view.View, android.view.ViewGroup);
+ method public int getChildrenCount(int);
+ method public java.lang.Object getGroup(int);
+ method public int getGroupCount();
+ method public long getGroupId(int);
+ method public android.view.View getGroupView(int, boolean, android.view.View, android.view.ViewGroup);
+ method public boolean hasStableIds();
+ method public boolean isChildSelectable(int, int);
+ method public android.view.View newChildView(boolean, android.view.ViewGroup);
+ method public android.view.View newGroupView(boolean, android.view.ViewGroup);
+ }
+
+ public class SlidingDrawer extends android.view.ViewGroup {
+ ctor public SlidingDrawer(android.content.Context, android.util.AttributeSet);
+ ctor public SlidingDrawer(android.content.Context, android.util.AttributeSet, int);
+ method public void animateClose();
+ method public void animateOpen();
+ method public void animateToggle();
+ method public void close();
+ method public android.view.View getContent();
+ method public android.view.View getHandle();
+ method public boolean isMoving();
+ method public boolean isOpened();
+ method public void lock();
+ method protected void onLayout(boolean, int, int, int, int);
+ method public void open();
+ method public void setOnDrawerCloseListener(android.widget.SlidingDrawer.OnDrawerCloseListener);
+ method public void setOnDrawerOpenListener(android.widget.SlidingDrawer.OnDrawerOpenListener);
+ method public void setOnDrawerScrollListener(android.widget.SlidingDrawer.OnDrawerScrollListener);
+ method public void toggle();
+ method public void unlock();
+ field public static final int ORIENTATION_HORIZONTAL = 0; // 0x0
+ field public static final int ORIENTATION_VERTICAL = 1; // 0x1
+ }
+
+ public static abstract interface SlidingDrawer.OnDrawerCloseListener {
+ method public abstract void onDrawerClosed();
+ }
+
+ public static abstract interface SlidingDrawer.OnDrawerOpenListener {
+ method public abstract void onDrawerOpened();
+ }
+
+ public static abstract interface SlidingDrawer.OnDrawerScrollListener {
+ method public abstract void onScrollEnded();
+ method public abstract void onScrollStarted();
+ }
+
+ public final class Space extends android.view.View {
+ ctor public Space(android.content.Context, android.util.AttributeSet, int);
+ ctor public Space(android.content.Context, android.util.AttributeSet);
+ ctor public Space(android.content.Context);
+ }
+
+ public class Spinner extends android.widget.AbsSpinner implements android.content.DialogInterface.OnClickListener {
+ ctor public Spinner(android.content.Context);
+ ctor public Spinner(android.content.Context, int);
+ ctor public Spinner(android.content.Context, android.util.AttributeSet);
+ ctor public Spinner(android.content.Context, android.util.AttributeSet, int);
+ ctor public Spinner(android.content.Context, android.util.AttributeSet, int, int);
+ method public java.lang.CharSequence getPrompt();
+ method public void onClick(android.content.DialogInterface, int);
+ method public void setGravity(int);
+ method public void setPrompt(java.lang.CharSequence);
+ method public void setPromptId(int);
+ field public static final int MODE_DIALOG = 0; // 0x0
+ field public static final int MODE_DROPDOWN = 1; // 0x1
+ }
+
+ public abstract interface SpinnerAdapter implements android.widget.Adapter {
+ method public abstract android.view.View getDropDownView(int, android.view.View, android.view.ViewGroup);
+ }
+
+ public class StackView extends android.widget.AdapterViewAnimator {
+ ctor public StackView(android.content.Context);
+ ctor public StackView(android.content.Context, android.util.AttributeSet);
+ ctor public StackView(android.content.Context, android.util.AttributeSet, int);
+ }
+
+ public class Switch extends android.widget.CompoundButton {
+ ctor public Switch(android.content.Context);
+ ctor public Switch(android.content.Context, android.util.AttributeSet);
+ ctor public Switch(android.content.Context, android.util.AttributeSet, int);
+ method public java.lang.CharSequence getTextOff();
+ method public java.lang.CharSequence getTextOn();
+ method public void onMeasure(int, int);
+ method public void setSwitchTextAppearance(android.content.Context, int);
+ method public void setSwitchTypeface(android.graphics.Typeface, int);
+ method public void setSwitchTypeface(android.graphics.Typeface);
+ method public void setTextOff(java.lang.CharSequence);
+ method public void setTextOn(java.lang.CharSequence);
+ }
+
+ public class TabHost extends android.widget.FrameLayout implements android.view.ViewTreeObserver.OnTouchModeChangeListener {
+ ctor public TabHost(android.content.Context);
+ ctor public TabHost(android.content.Context, android.util.AttributeSet);
+ method public void addTab(android.widget.TabHost.TabSpec);
+ method public void clearAllTabs();
+ method public int getCurrentTab();
+ method public java.lang.String getCurrentTabTag();
+ method public android.view.View getCurrentTabView();
+ method public android.view.View getCurrentView();
+ method public android.widget.FrameLayout getTabContentView();
+ method public android.widget.TabWidget getTabWidget();
+ method public android.widget.TabHost.TabSpec newTabSpec(java.lang.String);
+ method public void onTouchModeChanged(boolean);
+ method public void setCurrentTab(int);
+ method public void setCurrentTabByTag(java.lang.String);
+ method public void setOnTabChangedListener(android.widget.TabHost.OnTabChangeListener);
+ method public void setup();
+ method public void setup(android.app.LocalActivityManager);
+ }
+
+ public static abstract interface TabHost.OnTabChangeListener {
+ method public abstract void onTabChanged(java.lang.String);
+ }
+
+ public static abstract interface TabHost.TabContentFactory {
+ method public abstract android.view.View createTabContent(java.lang.String);
+ }
+
+ public class TabHost.TabSpec {
+ method public java.lang.String getTag();
+ method public android.widget.TabHost.TabSpec setContent(int);
+ method public android.widget.TabHost.TabSpec setContent(android.widget.TabHost.TabContentFactory);
+ method public android.widget.TabHost.TabSpec setContent(android.content.Intent);
+ method public android.widget.TabHost.TabSpec setIndicator(java.lang.CharSequence);
+ method public android.widget.TabHost.TabSpec setIndicator(java.lang.CharSequence, android.graphics.drawable.Drawable);
+ method public android.widget.TabHost.TabSpec setIndicator(android.view.View);
+ }
+
+ public class TabWidget extends android.widget.LinearLayout implements android.view.View.OnFocusChangeListener {
+ ctor public TabWidget(android.content.Context);
+ ctor public TabWidget(android.content.Context, android.util.AttributeSet);
+ ctor public TabWidget(android.content.Context, android.util.AttributeSet, int);
+ method public void dispatchDraw(android.graphics.Canvas);
+ method public void focusCurrentTab(int);
+ method public android.view.View getChildTabViewAt(int);
+ method public int getTabCount();
+ method public boolean isStripEnabled();
+ method public void onFocusChange(android.view.View, boolean);
+ method public void setCurrentTab(int);
+ method public void setDividerDrawable(int);
+ method public void setLeftStripDrawable(android.graphics.drawable.Drawable);
+ method public void setLeftStripDrawable(int);
+ method public void setRightStripDrawable(android.graphics.drawable.Drawable);
+ method public void setRightStripDrawable(int);
+ method public void setStripEnabled(boolean);
+ }
+
+ public class TableLayout extends android.widget.LinearLayout {
+ ctor public TableLayout(android.content.Context);
+ ctor public TableLayout(android.content.Context, android.util.AttributeSet);
+ method public boolean isColumnCollapsed(int);
+ method public boolean isColumnShrinkable(int);
+ method public boolean isColumnStretchable(int);
+ method public boolean isShrinkAllColumns();
+ method public boolean isStretchAllColumns();
+ method public void setColumnCollapsed(int, boolean);
+ method public void setColumnShrinkable(int, boolean);
+ method public void setColumnStretchable(int, boolean);
+ method public void setShrinkAllColumns(boolean);
+ method public void setStretchAllColumns(boolean);
+ }
+
+ public static class TableLayout.LayoutParams extends android.widget.LinearLayout.LayoutParams {
+ ctor public TableLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+ ctor public TableLayout.LayoutParams(int, int);
+ ctor public TableLayout.LayoutParams(int, int, float);
+ ctor public TableLayout.LayoutParams();
+ ctor public TableLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+ ctor public TableLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+ }
+
+ public class TableRow extends android.widget.LinearLayout {
+ ctor public TableRow(android.content.Context);
+ ctor public TableRow(android.content.Context, android.util.AttributeSet);
+ method public android.view.View getVirtualChildAt(int);
+ method public int getVirtualChildCount();
+ }
+
+ public static class TableRow.LayoutParams extends android.widget.LinearLayout.LayoutParams {
+ ctor public TableRow.LayoutParams(android.content.Context, android.util.AttributeSet);
+ ctor public TableRow.LayoutParams(int, int);
+ ctor public TableRow.LayoutParams(int, int, float);
+ ctor public TableRow.LayoutParams();
+ ctor public TableRow.LayoutParams(int);
+ ctor public TableRow.LayoutParams(android.view.ViewGroup.LayoutParams);
+ ctor public TableRow.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+ field public int column;
+ field public int span;
+ }
+
+ public class TextSwitcher extends android.widget.ViewSwitcher {
+ ctor public TextSwitcher(android.content.Context);
+ ctor public TextSwitcher(android.content.Context, android.util.AttributeSet);
+ method public void setCurrentText(java.lang.CharSequence);
+ method public void setText(java.lang.CharSequence);
+ }
+
+ public class TextView extends android.view.View implements android.view.ViewTreeObserver.OnPreDrawListener {
+ ctor public TextView(android.content.Context);
+ ctor public TextView(android.content.Context, android.util.AttributeSet);
+ ctor public TextView(android.content.Context, android.util.AttributeSet, int);
+ method public void addTextChangedListener(android.text.TextWatcher);
+ method public final void append(java.lang.CharSequence);
+ method public void append(java.lang.CharSequence, int, int);
+ method public void beginBatchEdit();
+ method public boolean bringPointIntoView(int);
+ method public void clearComposingText();
+ method public void debug(int);
+ method public boolean didTouchFocusSelect();
+ method public void endBatchEdit();
+ method public boolean extractText(android.view.inputmethod.ExtractedTextRequest, android.view.inputmethod.ExtractedText);
+ method public final int getAutoLinkMask();
+ method public int getCompoundDrawablePadding();
+ method public android.graphics.drawable.Drawable[] getCompoundDrawables();
+ method public int getCompoundPaddingBottom();
+ method public int getCompoundPaddingLeft();
+ method public int getCompoundPaddingRight();
+ method public int getCompoundPaddingTop();
+ method public final int getCurrentHintTextColor();
+ method public final int getCurrentTextColor();
+ method public android.view.ActionMode.Callback getCustomSelectionActionModeCallback();
+ method protected boolean getDefaultEditable();
+ method protected android.text.method.MovementMethod getDefaultMovementMethod();
+ method public android.text.Editable getEditableText();
+ method public android.text.TextUtils.TruncateAt getEllipsize();
+ method public java.lang.CharSequence getError();
+ method public int getExtendedPaddingBottom();
+ method public int getExtendedPaddingTop();
+ method public android.text.InputFilter[] getFilters();
+ method public boolean getFreezesText();
+ method public int getGravity();
+ method public java.lang.CharSequence getHint();
+ method public final android.content.res.ColorStateList getHintTextColors();
+ method public int getImeActionId();
+ method public java.lang.CharSequence getImeActionLabel();
+ method public int getImeOptions();
+ method public android.os.Bundle getInputExtras(boolean);
+ method public int getInputType();
+ method public final android.text.method.KeyListener getKeyListener();
+ method public final android.text.Layout getLayout();
+ method public int getLineBounds(int, android.graphics.Rect);
+ method public int getLineCount();
+ method public int getLineHeight();
+ method public final android.content.res.ColorStateList getLinkTextColors();
+ method public final boolean getLinksClickable();
+ method public final android.text.method.MovementMethod getMovementMethod();
+ method public int getOffsetForPosition(float, float);
+ method public android.text.TextPaint getPaint();
+ method public int getPaintFlags();
+ method public java.lang.String getPrivateImeOptions();
+ method public int getSelectionEnd();
+ method public int getSelectionStart();
+ method public java.lang.CharSequence getText();
+ method public static int getTextColor(android.content.Context, android.content.res.TypedArray, int);
+ method public final android.content.res.ColorStateList getTextColors();
+ method public static android.content.res.ColorStateList getTextColors(android.content.Context, android.content.res.TypedArray);
+ method public float getTextScaleX();
+ method public float getTextSize();
+ method public int getTotalPaddingBottom();
+ method public int getTotalPaddingLeft();
+ method public int getTotalPaddingRight();
+ method public int getTotalPaddingTop();
+ method public final android.text.method.TransformationMethod getTransformationMethod();
+ method public android.graphics.Typeface getTypeface();
+ method public android.text.style.URLSpan[] getUrls();
+ method public boolean hasSelection();
+ method public boolean isInputMethodTarget();
+ method public boolean isSuggestionsEnabled();
+ method public boolean isTextSelectable();
+ method public int length();
+ method public boolean moveCursorToVisibleOffset();
+ method public void onBeginBatchEdit();
+ method public void onCommitCompletion(android.view.inputmethod.CompletionInfo);
+ method public void onCommitCorrection(android.view.inputmethod.CorrectionInfo);
+ method public void onEditorAction(int);
+ method public void onEndBatchEdit();
+ method public boolean onPreDraw();
+ method public boolean onPrivateIMECommand(java.lang.String, android.os.Bundle);
+ method public void onRestoreInstanceState(android.os.Parcelable);
+ method public android.os.Parcelable onSaveInstanceState();
+ method protected void onSelectionChanged(int, int);
+ method protected void onTextChanged(java.lang.CharSequence, int, int, int);
+ method public boolean onTextContextMenuItem(int);
+ method public void removeTextChangedListener(android.text.TextWatcher);
+ method protected void resetResolvedDrawables();
+ method protected void resetResolvedLayoutDirection();
+ method protected void resolveDrawables();
+ method protected void resolveTextDirection();
+ method public void setAllCaps(boolean);
+ method public final void setAutoLinkMask(int);
+ method public void setCompoundDrawablePadding(int);
+ method public void setCompoundDrawables(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable, android.graphics.drawable.Drawable, android.graphics.drawable.Drawable);
+ method public void setCompoundDrawablesWithIntrinsicBounds(int, int, int, int);
+ method public void setCompoundDrawablesWithIntrinsicBounds(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable, android.graphics.drawable.Drawable, android.graphics.drawable.Drawable);
+ method public void setCursorVisible(boolean);
+ method public void setCustomSelectionActionModeCallback(android.view.ActionMode.Callback);
+ method public final void setEditableFactory(android.text.Editable.Factory);
+ method public void setEllipsize(android.text.TextUtils.TruncateAt);
+ method public void setEms(int);
+ method public void setError(java.lang.CharSequence);
+ method public void setError(java.lang.CharSequence, android.graphics.drawable.Drawable);
+ method public void setExtractedText(android.view.inputmethod.ExtractedText);
+ method public void setFilters(android.text.InputFilter[]);
+ method protected boolean setFrame(int, int, int, int);
+ method public void setFreezesText(boolean);
+ method public void setGravity(int);
+ method public void setHeight(int);
+ method public void setHighlightColor(int);
+ method public final void setHint(java.lang.CharSequence);
+ method public final void setHint(int);
+ method public final void setHintTextColor(int);
+ method public final void setHintTextColor(android.content.res.ColorStateList);
+ method public void setHorizontallyScrolling(boolean);
+ method public void setImeActionLabel(java.lang.CharSequence, int);
+ method public void setImeOptions(int);
+ method public void setIncludeFontPadding(boolean);
+ method public void setInputExtras(int) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public void setInputType(int);
+ method public void setKeyListener(android.text.method.KeyListener);
+ method public void setLineSpacing(float, float);
+ method public void setLines(int);
+ method public final void setLinkTextColor(int);
+ method public final void setLinkTextColor(android.content.res.ColorStateList);
+ method public final void setLinksClickable(boolean);
+ method public void setMarqueeRepeatLimit(int);
+ method public void setMaxEms(int);
+ method public void setMaxHeight(int);
+ method public void setMaxLines(int);
+ method public void setMaxWidth(int);
+ method public void setMinEms(int);
+ method public void setMinHeight(int);
+ method public void setMinLines(int);
+ method public void setMinWidth(int);
+ method public final void setMovementMethod(android.text.method.MovementMethod);
+ method public void setOnEditorActionListener(android.widget.TextView.OnEditorActionListener);
+ method public void setPaintFlags(int);
+ method public void setPrivateImeOptions(java.lang.String);
+ method public void setRawInputType(int);
+ method public void setScroller(android.widget.Scroller);
+ method public void setSelectAllOnFocus(boolean);
+ method public void setShadowLayer(float, float, float, int);
+ method public void setSingleLine();
+ method public void setSingleLine(boolean);
+ method public final void setSpannableFactory(android.text.Spannable.Factory);
+ method public final void setText(java.lang.CharSequence);
+ method public void setText(java.lang.CharSequence, android.widget.TextView.BufferType);
+ method public final void setText(char[], int, int);
+ method public final void setText(int);
+ method public final void setText(int, android.widget.TextView.BufferType);
+ method public void setTextAppearance(android.content.Context, int);
+ method public void setTextColor(int);
+ method public void setTextColor(android.content.res.ColorStateList);
+ method public void setTextIsSelectable(boolean);
+ method public final void setTextKeepState(java.lang.CharSequence);
+ method public final void setTextKeepState(java.lang.CharSequence, android.widget.TextView.BufferType);
+ method public void setTextScaleX(float);
+ method public void setTextSize(float);
+ method public void setTextSize(int, float);
+ method public final void setTransformationMethod(android.text.method.TransformationMethod);
+ method public void setTypeface(android.graphics.Typeface, int);
+ method public void setTypeface(android.graphics.Typeface);
+ method public void setWidth(int);
+ }
+
+ public static final class TextView.BufferType extends java.lang.Enum {
+ method public static android.widget.TextView.BufferType valueOf(java.lang.String);
+ method public static final android.widget.TextView.BufferType[] values();
+ enum_constant public static final android.widget.TextView.BufferType EDITABLE;
+ enum_constant public static final android.widget.TextView.BufferType NORMAL;
+ enum_constant public static final android.widget.TextView.BufferType SPANNABLE;
+ }
+
+ public static abstract interface TextView.OnEditorActionListener {
+ method public abstract boolean onEditorAction(android.widget.TextView, int, android.view.KeyEvent);
+ }
+
+ public static class TextView.SavedState extends android.view.View.BaseSavedState {
+ field public static final android.os.Parcelable.Creator CREATOR;
+ }
+
+ public class TimePicker extends android.widget.FrameLayout {
+ ctor public TimePicker(android.content.Context);
+ ctor public TimePicker(android.content.Context, android.util.AttributeSet);
+ ctor public TimePicker(android.content.Context, android.util.AttributeSet, int);
+ method public java.lang.Integer getCurrentHour();
+ method public java.lang.Integer getCurrentMinute();
+ method public boolean is24HourView();
+ method public void setCurrentHour(java.lang.Integer);
+ method public void setCurrentMinute(java.lang.Integer);
+ method public void setIs24HourView(java.lang.Boolean);
+ method public void setOnTimeChangedListener(android.widget.TimePicker.OnTimeChangedListener);
+ }
+
+ public static abstract interface TimePicker.OnTimeChangedListener {
+ method public abstract void onTimeChanged(android.widget.TimePicker, int, int);
+ }
+
+ public class Toast {
+ ctor public Toast(android.content.Context);
+ method public void cancel();
+ method public int getDuration();
+ method public int getGravity();
+ method public float getHorizontalMargin();
+ method public float getVerticalMargin();
+ method public android.view.View getView();
+ method public int getXOffset();
+ method public int getYOffset();
+ method public static android.widget.Toast makeText(android.content.Context, java.lang.CharSequence, int);
+ method public static android.widget.Toast makeText(android.content.Context, int, int) throws android.content.res.Resources.NotFoundException;
+ method public void setDuration(int);
+ method public void setGravity(int, int, int);
+ method public void setMargin(float, float);
+ method public void setText(int);
+ method public void setText(java.lang.CharSequence);
+ method public void setView(android.view.View);
+ method public void show();
+ field public static final int LENGTH_LONG = 1; // 0x1
+ field public static final int LENGTH_SHORT = 0; // 0x0
+ }
+
+ public class ToggleButton extends android.widget.CompoundButton {
+ ctor public ToggleButton(android.content.Context, android.util.AttributeSet, int);
+ ctor public ToggleButton(android.content.Context, android.util.AttributeSet);
+ ctor public ToggleButton(android.content.Context);
+ method public java.lang.CharSequence getTextOff();
+ method public java.lang.CharSequence getTextOn();
+ method public void setTextOff(java.lang.CharSequence);
+ method public void setTextOn(java.lang.CharSequence);
+ }
+
+ public class TwoLineListItem extends android.widget.RelativeLayout {
+ ctor public TwoLineListItem(android.content.Context);
+ ctor public TwoLineListItem(android.content.Context, android.util.AttributeSet);
+ ctor public TwoLineListItem(android.content.Context, android.util.AttributeSet, int);
+ method public android.widget.TextView getText1();
+ method public android.widget.TextView getText2();
+ }
+
+ public class VideoView extends android.view.SurfaceView implements android.widget.MediaController.MediaPlayerControl {
+ ctor public VideoView(android.content.Context);
+ ctor public VideoView(android.content.Context, android.util.AttributeSet);
+ ctor public VideoView(android.content.Context, android.util.AttributeSet, int);
+ method public boolean canPause();
+ method public boolean canSeekBackward();
+ method public boolean canSeekForward();
+ method public int getBufferPercentage();
+ method public int getCurrentPosition();
+ method public int getDuration();
+ method public boolean isPlaying();
+ method public void pause();
+ method public int resolveAdjustedSize(int, int);
+ method public void resume();
+ method public void seekTo(int);
+ method public void setMediaController(android.widget.MediaController);
+ method public void setOnCompletionListener(android.media.MediaPlayer.OnCompletionListener);
+ method public void setOnErrorListener(android.media.MediaPlayer.OnErrorListener);
+ method public void setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener);
+ method public void setVideoPath(java.lang.String);
+ method public void setVideoURI(android.net.Uri);
+ method public void start();
+ method public void stopPlayback();
+ method public void suspend();
+ }
+
+ public class ViewAnimator extends android.widget.FrameLayout {
+ ctor public ViewAnimator(android.content.Context);
+ ctor public ViewAnimator(android.content.Context, android.util.AttributeSet);
+ method public android.view.View getCurrentView();
+ method public int getDisplayedChild();
+ method public android.view.animation.Animation getInAnimation();
+ method public android.view.animation.Animation getOutAnimation();
+ method public void setAnimateFirstView(boolean);
+ method public void setDisplayedChild(int);
+ method public void setInAnimation(android.view.animation.Animation);
+ method public void setInAnimation(android.content.Context, int);
+ method public void setOutAnimation(android.view.animation.Animation);
+ method public void setOutAnimation(android.content.Context, int);
+ method public void showNext();
+ method public void showPrevious();
+ }
+
+ public class ViewFlipper extends android.widget.ViewAnimator {
+ ctor public ViewFlipper(android.content.Context);
+ ctor public ViewFlipper(android.content.Context, android.util.AttributeSet);
+ method public boolean isAutoStart();
+ method public boolean isFlipping();
+ method public void setAutoStart(boolean);
+ method public void setFlipInterval(int);
+ method public void startFlipping();
+ method public void stopFlipping();
+ }
+
+ public class ViewSwitcher extends android.widget.ViewAnimator {
+ ctor public ViewSwitcher(android.content.Context);
+ ctor public ViewSwitcher(android.content.Context, android.util.AttributeSet);
+ method public android.view.View getNextView();
+ method public void reset();
+ method public void setFactory(android.widget.ViewSwitcher.ViewFactory);
+ }
+
+ public static abstract interface ViewSwitcher.ViewFactory {
+ method public abstract android.view.View makeView();
+ }
+
+ public abstract interface WrapperListAdapter implements android.widget.ListAdapter {
+ method public abstract android.widget.ListAdapter getWrappedAdapter();
+ }
+
+ public class ZoomButton extends android.widget.ImageButton implements android.view.View.OnLongClickListener {
+ ctor public ZoomButton(android.content.Context);
+ ctor public ZoomButton(android.content.Context, android.util.AttributeSet);
+ ctor public ZoomButton(android.content.Context, android.util.AttributeSet, int);
+ method public boolean onLongClick(android.view.View);
+ method public void setZoomSpeed(long);
+ }
+
+ public class ZoomButtonsController implements android.view.View.OnTouchListener {
+ ctor public ZoomButtonsController(android.view.View);
+ method public android.view.ViewGroup getContainer();
+ method public android.view.View getZoomControls();
+ method public boolean isAutoDismissed();
+ method public boolean isVisible();
+ method public boolean onTouch(android.view.View, android.view.MotionEvent);
+ method public void setAutoDismissed(boolean);
+ method public void setFocusable(boolean);
+ method public void setOnZoomListener(android.widget.ZoomButtonsController.OnZoomListener);
+ method public void setVisible(boolean);
+ method public void setZoomInEnabled(boolean);
+ method public void setZoomOutEnabled(boolean);
+ method public void setZoomSpeed(long);
+ }
+
+ public static abstract interface ZoomButtonsController.OnZoomListener {
+ method public abstract void onVisibilityChanged(boolean);
+ method public abstract void onZoom(boolean);
+ }
+
+ public class ZoomControls extends android.widget.LinearLayout {
+ ctor public ZoomControls(android.content.Context);
+ ctor public ZoomControls(android.content.Context, android.util.AttributeSet);
+ method public void hide();
+ method public void setIsZoomInEnabled(boolean);
+ method public void setIsZoomOutEnabled(boolean);
+ method public void setOnZoomInClickListener(android.view.View.OnClickListener);
+ method public void setOnZoomOutClickListener(android.view.View.OnClickListener);
+ method public void setZoomSpeed(long);
+ method public void show();
+ }
+
+}
+
+package com.android.internal.util {
+
+ public abstract interface Predicate {
+ method public abstract boolean apply(T);
+ }
+
+}
+
+package dalvik.annotation {
+
+ public abstract deprecated class TestTarget implements java.lang.annotation.Annotation {
+ }
+
+ public abstract deprecated class TestTargetClass implements java.lang.annotation.Annotation {
+ }
+
+}
+
+package dalvik.bytecode {
+
+ public final class OpcodeInfo {
+ field public static final int MAXIMUM_PACKED_VALUE;
+ field public static final int MAXIMUM_VALUE;
+ }
+
+ public abstract interface Opcodes {
+ field public static final int OP_ADD_DOUBLE = 171; // 0xab
+ field public static final int OP_ADD_DOUBLE_2ADDR = 203; // 0xcb
+ field public static final int OP_ADD_FLOAT = 166; // 0xa6
+ field public static final int OP_ADD_FLOAT_2ADDR = 198; // 0xc6
+ field public static final int OP_ADD_INT = 144; // 0x90
+ field public static final int OP_ADD_INT_2ADDR = 176; // 0xb0
+ field public static final int OP_ADD_INT_LIT16 = 208; // 0xd0
+ field public static final int OP_ADD_INT_LIT8 = 216; // 0xd8
+ field public static final int OP_ADD_LONG = 155; // 0x9b
+ field public static final int OP_ADD_LONG_2ADDR = 187; // 0xbb
+ field public static final int OP_AGET = 68; // 0x44
+ field public static final int OP_AGET_BOOLEAN = 71; // 0x47
+ field public static final int OP_AGET_BYTE = 72; // 0x48
+ field public static final int OP_AGET_CHAR = 73; // 0x49
+ field public static final int OP_AGET_OBJECT = 70; // 0x46
+ field public static final int OP_AGET_SHORT = 74; // 0x4a
+ field public static final int OP_AGET_WIDE = 69; // 0x45
+ field public static final int OP_AND_INT = 149; // 0x95
+ field public static final int OP_AND_INT_2ADDR = 181; // 0xb5
+ field public static final int OP_AND_INT_LIT16 = 213; // 0xd5
+ field public static final int OP_AND_INT_LIT8 = 221; // 0xdd
+ field public static final int OP_AND_LONG = 160; // 0xa0
+ field public static final int OP_AND_LONG_2ADDR = 192; // 0xc0
+ field public static final int OP_APUT = 75; // 0x4b
+ field public static final int OP_APUT_BOOLEAN = 78; // 0x4e
+ field public static final int OP_APUT_BYTE = 79; // 0x4f
+ field public static final int OP_APUT_CHAR = 80; // 0x50
+ field public static final int OP_APUT_OBJECT = 77; // 0x4d
+ field public static final int OP_APUT_SHORT = 81; // 0x51
+ field public static final int OP_APUT_WIDE = 76; // 0x4c
+ field public static final int OP_ARRAY_LENGTH = 33; // 0x21
+ field public static final deprecated int OP_BREAKPOINT = 236; // 0xec
+ field public static final int OP_CHECK_CAST = 31; // 0x1f
+ field public static final int OP_CHECK_CAST_JUMBO = 511; // 0x1ff
+ field public static final int OP_CMPG_DOUBLE = 48; // 0x30
+ field public static final int OP_CMPG_FLOAT = 46; // 0x2e
+ field public static final int OP_CMPL_DOUBLE = 47; // 0x2f
+ field public static final int OP_CMPL_FLOAT = 45; // 0x2d
+ field public static final int OP_CMP_LONG = 49; // 0x31
+ field public static final int OP_CONST = 20; // 0x14
+ field public static final int OP_CONST_16 = 19; // 0x13
+ field public static final int OP_CONST_4 = 18; // 0x12
+ field public static final int OP_CONST_CLASS = 28; // 0x1c
+ field public static final int OP_CONST_CLASS_JUMBO = 255; // 0xff
+ field public static final int OP_CONST_HIGH16 = 21; // 0x15
+ field public static final int OP_CONST_STRING = 26; // 0x1a
+ field public static final int OP_CONST_STRING_JUMBO = 27; // 0x1b
+ field public static final int OP_CONST_WIDE = 24; // 0x18
+ field public static final int OP_CONST_WIDE_16 = 22; // 0x16
+ field public static final int OP_CONST_WIDE_32 = 23; // 0x17
+ field public static final int OP_CONST_WIDE_HIGH16 = 25; // 0x19
+ field public static final int OP_DIV_DOUBLE = 174; // 0xae
+ field public static final int OP_DIV_DOUBLE_2ADDR = 206; // 0xce
+ field public static final int OP_DIV_FLOAT = 169; // 0xa9
+ field public static final int OP_DIV_FLOAT_2ADDR = 201; // 0xc9
+ field public static final int OP_DIV_INT = 147; // 0x93
+ field public static final int OP_DIV_INT_2ADDR = 179; // 0xb3
+ field public static final int OP_DIV_INT_LIT16 = 211; // 0xd3
+ field public static final int OP_DIV_INT_LIT8 = 219; // 0xdb
+ field public static final int OP_DIV_LONG = 158; // 0x9e
+ field public static final int OP_DIV_LONG_2ADDR = 190; // 0xbe
+ field public static final int OP_DOUBLE_TO_FLOAT = 140; // 0x8c
+ field public static final int OP_DOUBLE_TO_INT = 138; // 0x8a
+ field public static final int OP_DOUBLE_TO_LONG = 139; // 0x8b
+ field public static final deprecated int OP_EXECUTE_INLINE = 238; // 0xee
+ field public static final deprecated int OP_EXECUTE_INLINE_RANGE = 239; // 0xef
+ field public static final int OP_FILLED_NEW_ARRAY = 36; // 0x24
+ field public static final int OP_FILLED_NEW_ARRAY_JUMBO = 1535; // 0x5ff
+ field public static final int OP_FILLED_NEW_ARRAY_RANGE = 37; // 0x25
+ field public static final int OP_FILL_ARRAY_DATA = 38; // 0x26
+ field public static final int OP_FLOAT_TO_DOUBLE = 137; // 0x89
+ field public static final int OP_FLOAT_TO_INT = 135; // 0x87
+ field public static final int OP_FLOAT_TO_LONG = 136; // 0x88
+ field public static final int OP_GOTO = 40; // 0x28
+ field public static final int OP_GOTO_16 = 41; // 0x29
+ field public static final int OP_GOTO_32 = 42; // 0x2a
+ field public static final int OP_IF_EQ = 50; // 0x32
+ field public static final int OP_IF_EQZ = 56; // 0x38
+ field public static final int OP_IF_GE = 53; // 0x35
+ field public static final int OP_IF_GEZ = 59; // 0x3b
+ field public static final int OP_IF_GT = 54; // 0x36
+ field public static final int OP_IF_GTZ = 60; // 0x3c
+ field public static final int OP_IF_LE = 55; // 0x37
+ field public static final int OP_IF_LEZ = 61; // 0x3d
+ field public static final int OP_IF_LT = 52; // 0x34
+ field public static final int OP_IF_LTZ = 58; // 0x3a
+ field public static final int OP_IF_NE = 51; // 0x33
+ field public static final int OP_IF_NEZ = 57; // 0x39
+ field public static final int OP_IGET = 82; // 0x52
+ field public static final int OP_IGET_BOOLEAN = 85; // 0x55
+ field public static final int OP_IGET_BOOLEAN_JUMBO = 2559; // 0x9ff
+ field public static final int OP_IGET_BYTE = 86; // 0x56
+ field public static final int OP_IGET_BYTE_JUMBO = 2815; // 0xaff
+ field public static final int OP_IGET_CHAR = 87; // 0x57
+ field public static final int OP_IGET_CHAR_JUMBO = 3071; // 0xbff
+ field public static final int OP_IGET_JUMBO = 1791; // 0x6ff
+ field public static final int OP_IGET_OBJECT = 84; // 0x54
+ field public static final int OP_IGET_OBJECT_JUMBO = 2303; // 0x8ff
+ field public static final deprecated int OP_IGET_OBJECT_QUICK = 244; // 0xf4
+ field public static final deprecated int OP_IGET_QUICK = 242; // 0xf2
+ field public static final int OP_IGET_SHORT = 88; // 0x58
+ field public static final int OP_IGET_SHORT_JUMBO = 3327; // 0xcff
+ field public static final int OP_IGET_WIDE = 83; // 0x53
+ field public static final int OP_IGET_WIDE_JUMBO = 2047; // 0x7ff
+ field public static final deprecated int OP_IGET_WIDE_QUICK = 243; // 0xf3
+ field public static final deprecated int OP_IGET_WIDE_VOLATILE = 232; // 0xe8
+ field public static final int OP_INSTANCE_OF = 32; // 0x20
+ field public static final int OP_INSTANCE_OF_JUMBO = 767; // 0x2ff
+ field public static final int OP_INT_TO_BYTE = 141; // 0x8d
+ field public static final int OP_INT_TO_CHAR = 142; // 0x8e
+ field public static final int OP_INT_TO_DOUBLE = 131; // 0x83
+ field public static final int OP_INT_TO_FLOAT = 130; // 0x82
+ field public static final int OP_INT_TO_LONG = 129; // 0x81
+ field public static final int OP_INT_TO_SHORT = 143; // 0x8f
+ field public static final int OP_INVOKE_DIRECT = 112; // 0x70
+ field public static final deprecated int OP_INVOKE_DIRECT_EMPTY = 240; // 0xf0
+ field public static final int OP_INVOKE_DIRECT_JUMBO = 9471; // 0x24ff
+ field public static final int OP_INVOKE_DIRECT_RANGE = 118; // 0x76
+ field public static final int OP_INVOKE_INTERFACE = 114; // 0x72
+ field public static final int OP_INVOKE_INTERFACE_JUMBO = 9983; // 0x26ff
+ field public static final int OP_INVOKE_INTERFACE_RANGE = 120; // 0x78
+ field public static final int OP_INVOKE_STATIC = 113; // 0x71
+ field public static final int OP_INVOKE_STATIC_JUMBO = 9727; // 0x25ff
+ field public static final int OP_INVOKE_STATIC_RANGE = 119; // 0x77
+ field public static final int OP_INVOKE_SUPER = 111; // 0x6f
+ field public static final int OP_INVOKE_SUPER_JUMBO = 9215; // 0x23ff
+ field public static final deprecated int OP_INVOKE_SUPER_QUICK = 250; // 0xfa
+ field public static final deprecated int OP_INVOKE_SUPER_QUICK_RANGE = 251; // 0xfb
+ field public static final int OP_INVOKE_SUPER_RANGE = 117; // 0x75
+ field public static final int OP_INVOKE_VIRTUAL = 110; // 0x6e
+ field public static final int OP_INVOKE_VIRTUAL_JUMBO = 8959; // 0x22ff
+ field public static final deprecated int OP_INVOKE_VIRTUAL_QUICK = 248; // 0xf8
+ field public static final deprecated int OP_INVOKE_VIRTUAL_QUICK_RANGE = 249; // 0xf9
+ field public static final int OP_INVOKE_VIRTUAL_RANGE = 116; // 0x74
+ field public static final int OP_IPUT = 89; // 0x59
+ field public static final int OP_IPUT_BOOLEAN = 92; // 0x5c
+ field public static final int OP_IPUT_BOOLEAN_JUMBO = 4351; // 0x10ff
+ field public static final int OP_IPUT_BYTE = 93; // 0x5d
+ field public static final int OP_IPUT_BYTE_JUMBO = 4607; // 0x11ff
+ field public static final int OP_IPUT_CHAR = 94; // 0x5e
+ field public static final int OP_IPUT_CHAR_JUMBO = 4863; // 0x12ff
+ field public static final int OP_IPUT_JUMBO = 3583; // 0xdff
+ field public static final int OP_IPUT_OBJECT = 91; // 0x5b
+ field public static final int OP_IPUT_OBJECT_JUMBO = 4095; // 0xfff
+ field public static final deprecated int OP_IPUT_OBJECT_QUICK = 247; // 0xf7
+ field public static final deprecated int OP_IPUT_QUICK = 245; // 0xf5
+ field public static final int OP_IPUT_SHORT = 95; // 0x5f
+ field public static final int OP_IPUT_SHORT_JUMBO = 5119; // 0x13ff
+ field public static final int OP_IPUT_WIDE = 90; // 0x5a
+ field public static final int OP_IPUT_WIDE_JUMBO = 3839; // 0xeff
+ field public static final deprecated int OP_IPUT_WIDE_QUICK = 246; // 0xf6
+ field public static final deprecated int OP_IPUT_WIDE_VOLATILE = 233; // 0xe9
+ field public static final int OP_LONG_TO_DOUBLE = 134; // 0x86
+ field public static final int OP_LONG_TO_FLOAT = 133; // 0x85
+ field public static final int OP_LONG_TO_INT = 132; // 0x84
+ field public static final int OP_MONITOR_ENTER = 29; // 0x1d
+ field public static final int OP_MONITOR_EXIT = 30; // 0x1e
+ field public static final int OP_MOVE = 1; // 0x1
+ field public static final int OP_MOVE_16 = 3; // 0x3
+ field public static final int OP_MOVE_EXCEPTION = 13; // 0xd
+ field public static final int OP_MOVE_FROM16 = 2; // 0x2
+ field public static final int OP_MOVE_OBJECT = 7; // 0x7
+ field public static final int OP_MOVE_OBJECT_16 = 9; // 0x9
+ field public static final int OP_MOVE_OBJECT_FROM16 = 8; // 0x8
+ field public static final int OP_MOVE_RESULT = 10; // 0xa
+ field public static final int OP_MOVE_RESULT_OBJECT = 12; // 0xc
+ field public static final int OP_MOVE_RESULT_WIDE = 11; // 0xb
+ field public static final int OP_MOVE_WIDE = 4; // 0x4
+ field public static final int OP_MOVE_WIDE_16 = 6; // 0x6
+ field public static final int OP_MOVE_WIDE_FROM16 = 5; // 0x5
+ field public static final int OP_MUL_DOUBLE = 173; // 0xad
+ field public static final int OP_MUL_DOUBLE_2ADDR = 205; // 0xcd
+ field public static final int OP_MUL_FLOAT = 168; // 0xa8
+ field public static final int OP_MUL_FLOAT_2ADDR = 200; // 0xc8
+ field public static final int OP_MUL_INT = 146; // 0x92
+ field public static final int OP_MUL_INT_2ADDR = 178; // 0xb2
+ field public static final int OP_MUL_INT_LIT16 = 210; // 0xd2
+ field public static final int OP_MUL_INT_LIT8 = 218; // 0xda
+ field public static final int OP_MUL_LONG = 157; // 0x9d
+ field public static final int OP_MUL_LONG_2ADDR = 189; // 0xbd
+ field public static final int OP_NEG_DOUBLE = 128; // 0x80
+ field public static final int OP_NEG_FLOAT = 127; // 0x7f
+ field public static final int OP_NEG_INT = 123; // 0x7b
+ field public static final int OP_NEG_LONG = 125; // 0x7d
+ field public static final int OP_NEW_ARRAY = 35; // 0x23
+ field public static final int OP_NEW_ARRAY_JUMBO = 1279; // 0x4ff
+ field public static final int OP_NEW_INSTANCE = 34; // 0x22
+ field public static final int OP_NEW_INSTANCE_JUMBO = 1023; // 0x3ff
+ field public static final int OP_NOP = 0; // 0x0
+ field public static final int OP_NOT_INT = 124; // 0x7c
+ field public static final int OP_NOT_LONG = 126; // 0x7e
+ field public static final int OP_OR_INT = 150; // 0x96
+ field public static final int OP_OR_INT_2ADDR = 182; // 0xb6
+ field public static final int OP_OR_INT_LIT16 = 214; // 0xd6
+ field public static final int OP_OR_INT_LIT8 = 222; // 0xde
+ field public static final int OP_OR_LONG = 161; // 0xa1
+ field public static final int OP_OR_LONG_2ADDR = 193; // 0xc1
+ field public static final int OP_PACKED_SWITCH = 43; // 0x2b
+ field public static final int OP_REM_DOUBLE = 175; // 0xaf
+ field public static final int OP_REM_DOUBLE_2ADDR = 207; // 0xcf
+ field public static final int OP_REM_FLOAT = 170; // 0xaa
+ field public static final int OP_REM_FLOAT_2ADDR = 202; // 0xca
+ field public static final int OP_REM_INT = 148; // 0x94
+ field public static final int OP_REM_INT_2ADDR = 180; // 0xb4
+ field public static final int OP_REM_INT_LIT16 = 212; // 0xd4
+ field public static final int OP_REM_INT_LIT8 = 220; // 0xdc
+ field public static final int OP_REM_LONG = 159; // 0x9f
+ field public static final int OP_REM_LONG_2ADDR = 191; // 0xbf
+ field public static final int OP_RETURN = 15; // 0xf
+ field public static final int OP_RETURN_OBJECT = 17; // 0x11
+ field public static final int OP_RETURN_VOID = 14; // 0xe
+ field public static final int OP_RETURN_WIDE = 16; // 0x10
+ field public static final int OP_RSUB_INT = 209; // 0xd1
+ field public static final int OP_RSUB_INT_LIT8 = 217; // 0xd9
+ field public static final int OP_SGET = 96; // 0x60
+ field public static final int OP_SGET_BOOLEAN = 99; // 0x63
+ field public static final int OP_SGET_BOOLEAN_JUMBO = 6143; // 0x17ff
+ field public static final int OP_SGET_BYTE = 100; // 0x64
+ field public static final int OP_SGET_BYTE_JUMBO = 6399; // 0x18ff
+ field public static final int OP_SGET_CHAR = 101; // 0x65
+ field public static final int OP_SGET_CHAR_JUMBO = 6655; // 0x19ff
+ field public static final int OP_SGET_JUMBO = 5375; // 0x14ff
+ field public static final int OP_SGET_OBJECT = 98; // 0x62
+ field public static final int OP_SGET_OBJECT_JUMBO = 5887; // 0x16ff
+ field public static final int OP_SGET_SHORT = 102; // 0x66
+ field public static final int OP_SGET_SHORT_JUMBO = 6911; // 0x1aff
+ field public static final int OP_SGET_WIDE = 97; // 0x61
+ field public static final int OP_SGET_WIDE_JUMBO = 5631; // 0x15ff
+ field public static final deprecated int OP_SGET_WIDE_VOLATILE = 234; // 0xea
+ field public static final int OP_SHL_INT = 152; // 0x98
+ field public static final int OP_SHL_INT_2ADDR = 184; // 0xb8
+ field public static final int OP_SHL_INT_LIT8 = 224; // 0xe0
+ field public static final int OP_SHL_LONG = 163; // 0xa3
+ field public static final int OP_SHL_LONG_2ADDR = 195; // 0xc3
+ field public static final int OP_SHR_INT = 153; // 0x99
+ field public static final int OP_SHR_INT_2ADDR = 185; // 0xb9
+ field public static final int OP_SHR_INT_LIT8 = 225; // 0xe1
+ field public static final int OP_SHR_LONG = 164; // 0xa4
+ field public static final int OP_SHR_LONG_2ADDR = 196; // 0xc4
+ field public static final int OP_SPARSE_SWITCH = 44; // 0x2c
+ field public static final int OP_SPUT = 103; // 0x67
+ field public static final int OP_SPUT_BOOLEAN = 106; // 0x6a
+ field public static final int OP_SPUT_BOOLEAN_JUMBO = 7935; // 0x1eff
+ field public static final int OP_SPUT_BYTE = 107; // 0x6b
+ field public static final int OP_SPUT_BYTE_JUMBO = 8191; // 0x1fff
+ field public static final int OP_SPUT_CHAR = 108; // 0x6c
+ field public static final int OP_SPUT_CHAR_JUMBO = 8447; // 0x20ff
+ field public static final int OP_SPUT_JUMBO = 7167; // 0x1bff
+ field public static final int OP_SPUT_OBJECT = 105; // 0x69
+ field public static final int OP_SPUT_OBJECT_JUMBO = 7679; // 0x1dff
+ field public static final int OP_SPUT_SHORT = 109; // 0x6d
+ field public static final int OP_SPUT_SHORT_JUMBO = 8703; // 0x21ff
+ field public static final int OP_SPUT_WIDE = 104; // 0x68
+ field public static final int OP_SPUT_WIDE_JUMBO = 7423; // 0x1cff
+ field public static final deprecated int OP_SPUT_WIDE_VOLATILE = 235; // 0xeb
+ field public static final int OP_SUB_DOUBLE = 172; // 0xac
+ field public static final int OP_SUB_DOUBLE_2ADDR = 204; // 0xcc
+ field public static final int OP_SUB_FLOAT = 167; // 0xa7
+ field public static final int OP_SUB_FLOAT_2ADDR = 199; // 0xc7
+ field public static final int OP_SUB_INT = 145; // 0x91
+ field public static final int OP_SUB_INT_2ADDR = 177; // 0xb1
+ field public static final int OP_SUB_LONG = 156; // 0x9c
+ field public static final int OP_SUB_LONG_2ADDR = 188; // 0xbc
+ field public static final int OP_THROW = 39; // 0x27
+ field public static final deprecated int OP_THROW_VERIFICATION_ERROR = 237; // 0xed
+ field public static final int OP_USHR_INT = 154; // 0x9a
+ field public static final int OP_USHR_INT_2ADDR = 186; // 0xba
+ field public static final int OP_USHR_INT_LIT8 = 226; // 0xe2
+ field public static final int OP_USHR_LONG = 165; // 0xa5
+ field public static final int OP_USHR_LONG_2ADDR = 197; // 0xc5
+ field public static final int OP_XOR_INT = 151; // 0x97
+ field public static final int OP_XOR_INT_2ADDR = 183; // 0xb7
+ field public static final int OP_XOR_INT_LIT16 = 215; // 0xd7
+ field public static final int OP_XOR_INT_LIT8 = 223; // 0xdf
+ field public static final int OP_XOR_LONG = 162; // 0xa2
+ field public static final int OP_XOR_LONG_2ADDR = 194; // 0xc2
+ }
+
+}
+
+package dalvik.system {
+
+ public class BaseDexClassLoader extends java.lang.ClassLoader {
+ ctor public BaseDexClassLoader(java.lang.String, java.io.File, java.lang.String, java.lang.ClassLoader);
+ method public java.lang.String findLibrary(java.lang.String);
+ }
+
+ public class DexClassLoader extends dalvik.system.BaseDexClassLoader {
+ ctor public DexClassLoader(java.lang.String, java.lang.String, java.lang.String, java.lang.ClassLoader);
+ }
+
+ public final class DexFile {
+ ctor public DexFile(java.io.File) throws java.io.IOException;
+ ctor public DexFile(java.lang.String) throws java.io.IOException;
+ method public void close() throws java.io.IOException;
+ method public java.util.Enumeration<java.lang.String> entries();
+ method public java.lang.String getName();
+ method public static boolean isDexOptNeeded(java.lang.String) throws java.io.FileNotFoundException, java.io.IOException;
+ method public java.lang.Class loadClass(java.lang.String, java.lang.ClassLoader);
+ method public static dalvik.system.DexFile loadDex(java.lang.String, java.lang.String, int) throws java.io.IOException;
+ }
+
+ public class PathClassLoader extends dalvik.system.BaseDexClassLoader {
+ ctor public PathClassLoader(java.lang.String, java.lang.ClassLoader);
+ ctor public PathClassLoader(java.lang.String, java.lang.String, java.lang.ClassLoader);
+ }
+
+}
+
+package java.awt.font {
+
+ public final class NumericShaper implements java.io.Serializable {
+ method public static java.awt.font.NumericShaper getContextualShaper(int, int);
+ method public static java.awt.font.NumericShaper getContextualShaper(int);
+ method public int getRanges();
+ method public static java.awt.font.NumericShaper getShaper(int);
+ method public boolean isContextual();
+ method public void shape(char[], int, int, int);
+ method public void shape(char[], int, int);
+ field public static final int ALL_RANGES = 524287; // 0x7ffff
+ field public static final int ARABIC = 2; // 0x2
+ field public static final int BENGALI = 16; // 0x10
+ field public static final int DEVANAGARI = 8; // 0x8
+ field public static final int EASTERN_ARABIC = 4; // 0x4
+ field public static final int ETHIOPIC = 65536; // 0x10000
+ field public static final int EUROPEAN = 1; // 0x1
+ field public static final int GUJARATI = 64; // 0x40
+ field public static final int GURMUKHI = 32; // 0x20
+ field public static final int KANNADA = 1024; // 0x400
+ field public static final int KHMER = 131072; // 0x20000
+ field public static final int LAO = 8192; // 0x2000
+ field public static final int MALAYALAM = 2048; // 0x800
+ field public static final int MONGOLIAN = 262144; // 0x40000
+ field public static final int MYANMAR = 32768; // 0x8000
+ field public static final int ORIYA = 128; // 0x80
+ field public static final int TAMIL = 256; // 0x100
+ field public static final int TELUGU = 512; // 0x200
+ field public static final int THAI = 4096; // 0x1000
+ field public static final int TIBETAN = 16384; // 0x4000
+ }
+
+ public final class TextAttribute extends java.text.AttributedCharacterIterator.Attribute {
+ ctor protected TextAttribute(java.lang.String);
+ field public static final java.awt.font.TextAttribute BACKGROUND;
+ field public static final java.awt.font.TextAttribute BIDI_EMBEDDING;
+ field public static final java.awt.font.TextAttribute CHAR_REPLACEMENT;
+ field public static final java.awt.font.TextAttribute FAMILY;
+ field public static final java.awt.font.TextAttribute FONT;
+ field public static final java.awt.font.TextAttribute FOREGROUND;
+ field public static final java.awt.font.TextAttribute INPUT_METHOD_HIGHLIGHT;
+ field public static final java.awt.font.TextAttribute INPUT_METHOD_UNDERLINE;
+ field public static final java.awt.font.TextAttribute JUSTIFICATION;
+ field public static final java.lang.Float JUSTIFICATION_FULL;
+ field public static final java.lang.Float JUSTIFICATION_NONE;
+ field public static final java.awt.font.TextAttribute KERNING;
+ field public static final java.lang.Integer KERNING_ON;
+ field public static final java.awt.font.TextAttribute LIGATURES;
+ field public static final java.lang.Integer LIGATURES_ON;
+ field public static final java.awt.font.TextAttribute NUMERIC_SHAPING;
+ field public static final java.awt.font.TextAttribute POSTURE;
+ field public static final java.lang.Float POSTURE_OBLIQUE;
+ field public static final java.lang.Float POSTURE_REGULAR;
+ field public static final java.awt.font.TextAttribute RUN_DIRECTION;
+ field public static final java.lang.Boolean RUN_DIRECTION_LTR;
+ field public static final java.lang.Boolean RUN_DIRECTION_RTL;
+ field public static final java.awt.font.TextAttribute SIZE;
+ field public static final java.awt.font.TextAttribute STRIKETHROUGH;
+ field public static final java.lang.Boolean STRIKETHROUGH_ON;
+ field public static final java.awt.font.TextAttribute SUPERSCRIPT;
+ field public static final java.lang.Integer SUPERSCRIPT_SUB;
+ field public static final java.lang.Integer SUPERSCRIPT_SUPER;
+ field public static final java.awt.font.TextAttribute SWAP_COLORS;
+ field public static final java.lang.Boolean SWAP_COLORS_ON;
+ field public static final java.awt.font.TextAttribute TRACKING;
+ field public static final java.lang.Float TRACKING_LOOSE;
+ field public static final java.lang.Float TRACKING_TIGHT;
+ field public static final java.awt.font.TextAttribute TRANSFORM;
+ field public static final java.awt.font.TextAttribute UNDERLINE;
+ field public static final java.lang.Integer UNDERLINE_LOW_DASHED;
+ field public static final java.lang.Integer UNDERLINE_LOW_DOTTED;
+ field public static final java.lang.Integer UNDERLINE_LOW_GRAY;
+ field public static final java.lang.Integer UNDERLINE_LOW_ONE_PIXEL;
+ field public static final java.lang.Integer UNDERLINE_LOW_TWO_PIXEL;
+ field public static final java.lang.Integer UNDERLINE_ON;
+ field public static final java.awt.font.TextAttribute WEIGHT;
+ field public static final java.lang.Float WEIGHT_BOLD;
+ field public static final java.lang.Float WEIGHT_DEMIBOLD;
+ field public static final java.lang.Float WEIGHT_DEMILIGHT;
+ field public static final java.lang.Float WEIGHT_EXTRABOLD;
+ field public static final java.lang.Float WEIGHT_EXTRA_LIGHT;
+ field public static final java.lang.Float WEIGHT_HEAVY;
+ field public static final java.lang.Float WEIGHT_LIGHT;
+ field public static final java.lang.Float WEIGHT_MEDIUM;
+ field public static final java.lang.Float WEIGHT_REGULAR;
+ field public static final java.lang.Float WEIGHT_SEMIBOLD;
+ field public static final java.lang.Float WEIGHT_ULTRABOLD;
+ field public static final java.awt.font.TextAttribute WIDTH;
+ field public static final java.lang.Float WIDTH_CONDENSED;
+ field public static final java.lang.Float WIDTH_EXTENDED;
+ field public static final java.lang.Float WIDTH_REGULAR;
+ field public static final java.lang.Float WIDTH_SEMI_CONDENSED;
+ field public static final java.lang.Float WIDTH_SEMI_EXTENDED;
+ }
+
+}
+
+package java.beans {
+
+ public class IndexedPropertyChangeEvent extends java.beans.PropertyChangeEvent {
+ ctor public IndexedPropertyChangeEvent(java.lang.Object, java.lang.String, java.lang.Object, java.lang.Object, int);
+ method public int getIndex();
+ }
+
+ public class PropertyChangeEvent extends java.util.EventObject {
+ ctor public PropertyChangeEvent(java.lang.Object, java.lang.String, java.lang.Object, java.lang.Object);
+ method public java.lang.Object getNewValue();
+ method public java.lang.Object getOldValue();
+ method public java.lang.Object getPropagationId();
+ method public java.lang.String getPropertyName();
+ method public void setPropagationId(java.lang.Object);
+ }
+
+ public abstract interface PropertyChangeListener implements java.util.EventListener {
+ method public abstract void propertyChange(java.beans.PropertyChangeEvent);
+ }
+
+ public class PropertyChangeListenerProxy extends java.util.EventListenerProxy implements java.beans.PropertyChangeListener {
+ ctor public PropertyChangeListenerProxy(java.lang.String, java.beans.PropertyChangeListener);
+ method public java.lang.String getPropertyName();
+ method public void propertyChange(java.beans.PropertyChangeEvent);
+ }
+
+ public class PropertyChangeSupport implements java.io.Serializable {
+ ctor public PropertyChangeSupport(java.lang.Object);
+ method public void addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener);
+ method public void addPropertyChangeListener(java.beans.PropertyChangeListener);
+ method public void fireIndexedPropertyChange(java.lang.String, int, java.lang.Object, java.lang.Object);
+ method public void fireIndexedPropertyChange(java.lang.String, int, boolean, boolean);
+ method public void fireIndexedPropertyChange(java.lang.String, int, int, int);
+ method public void firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object);
+ method public void firePropertyChange(java.lang.String, boolean, boolean);
+ method public void firePropertyChange(java.lang.String, int, int);
+ method public void firePropertyChange(java.beans.PropertyChangeEvent);
+ method public java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String);
+ method public java.beans.PropertyChangeListener[] getPropertyChangeListeners();
+ method public boolean hasListeners(java.lang.String);
+ method public void removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener);
+ method public void removePropertyChangeListener(java.beans.PropertyChangeListener);
+ }
+
+}
+
+package java.io {
+
+ public class BufferedInputStream extends java.io.FilterInputStream {
+ ctor public BufferedInputStream(java.io.InputStream);
+ ctor public BufferedInputStream(java.io.InputStream, int);
+ field protected volatile byte[] buf;
+ field protected int count;
+ field protected int marklimit;
+ field protected int markpos;
+ field protected int pos;
+ }
+
+ public class BufferedOutputStream extends java.io.FilterOutputStream {
+ ctor public BufferedOutputStream(java.io.OutputStream);
+ ctor public BufferedOutputStream(java.io.OutputStream, int);
+ field protected byte[] buf;
+ field protected int count;
+ }
+
+ public class BufferedReader extends java.io.Reader {
+ ctor public BufferedReader(java.io.Reader);
+ ctor public BufferedReader(java.io.Reader, int);
+ method public void close() throws java.io.IOException;
+ method public int read(char[], int, int) throws java.io.IOException;
+ method public java.lang.String readLine() throws java.io.IOException;
+ }
+
+ public class BufferedWriter extends java.io.Writer {
+ ctor public BufferedWriter(java.io.Writer);
+ ctor public BufferedWriter(java.io.Writer, int);
+ method public void close() throws java.io.IOException;
+ method public void flush() throws java.io.IOException;
+ method public void newLine() throws java.io.IOException;
+ method public void write(char[], int, int) throws java.io.IOException;
+ }
+
+ public class ByteArrayInputStream extends java.io.InputStream {
+ ctor public ByteArrayInputStream(byte[]);
+ ctor public ByteArrayInputStream(byte[], int, int);
+ method public synchronized int read();
+ field protected byte[] buf;
+ field protected int count;
+ field protected int mark;
+ field protected int pos;
+ }
+
+ public class ByteArrayOutputStream extends java.io.OutputStream {
+ ctor public ByteArrayOutputStream();
+ ctor public ByteArrayOutputStream(int);
+ method public synchronized void reset();
+ method public int size();
+ method public synchronized byte[] toByteArray();
+ method public deprecated java.lang.String toString(int);
+ method public java.lang.String toString(java.lang.String) throws java.io.UnsupportedEncodingException;
+ method public synchronized void write(int);
+ method public synchronized void writeTo(java.io.OutputStream) throws java.io.IOException;
+ field protected byte[] buf;
+ field protected int count;
+ }
+
+ public class CharArrayReader extends java.io.Reader {
+ ctor public CharArrayReader(char[]);
+ ctor public CharArrayReader(char[], int, int);
+ method public void close();
+ method public int read(char[], int, int) throws java.io.IOException;
+ field protected char[] buf;
+ field protected int count;
+ field protected int markedPos;
+ field protected int pos;
+ }
+
+ public class CharArrayWriter extends java.io.Writer {
+ ctor public CharArrayWriter();
+ ctor public CharArrayWriter(int);
+ method public void close();
+ method public void flush();
+ method public void reset();
+ method public int size();
+ method public char[] toCharArray();
+ method public void write(char[], int, int);
+ method public void writeTo(java.io.Writer) throws java.io.IOException;
+ field protected char[] buf;
+ field protected int count;
+ }
+
+ public class CharConversionException extends java.io.IOException {
+ ctor public CharConversionException();
+ ctor public CharConversionException(java.lang.String);
+ }
+
+ public abstract interface Closeable {
+ method public abstract void close() throws java.io.IOException;
+ }
+
+ public final class Console implements java.io.Flushable {
+ method public void flush();
+ method public java.io.Console format(java.lang.String, java.lang.Object...);
+ method public java.io.Console printf(java.lang.String, java.lang.Object...);
+ method public java.lang.String readLine();
+ method public java.lang.String readLine(java.lang.String, java.lang.Object...);
+ method public char[] readPassword();
+ method public char[] readPassword(java.lang.String, java.lang.Object...);
+ method public java.io.Reader reader();
+ method public java.io.PrintWriter writer();
+ }
+
+ public abstract interface DataInput {
+ method public abstract boolean readBoolean() throws java.io.IOException;
+ method public abstract byte readByte() throws java.io.IOException;
+ method public abstract char readChar() throws java.io.IOException;
+ method public abstract double readDouble() throws java.io.IOException;
+ method public abstract float readFloat() throws java.io.IOException;
+ method public abstract void readFully(byte[]) throws java.io.IOException;
+ method public abstract void readFully(byte[], int, int) throws java.io.IOException;
+ method public abstract int readInt() throws java.io.IOException;
+ method public abstract java.lang.String readLine() throws java.io.IOException;
+ method public abstract long readLong() throws java.io.IOException;
+ method public abstract short readShort() throws java.io.IOException;
+ method public abstract java.lang.String readUTF() throws java.io.IOException;
+ method public abstract int readUnsignedByte() throws java.io.IOException;
+ method public abstract int readUnsignedShort() throws java.io.IOException;
+ method public abstract int skipBytes(int) throws java.io.IOException;
+ }
+
+ public class DataInputStream extends java.io.FilterInputStream implements java.io.DataInput {
+ ctor public DataInputStream(java.io.InputStream);
+ method public final int read(byte[]) throws java.io.IOException;
+ method public final int read(byte[], int, int) throws java.io.IOException;
+ method public final boolean readBoolean() throws java.io.IOException;
+ method public final byte readByte() throws java.io.IOException;
+ method public final char readChar() throws java.io.IOException;
+ method public final double readDouble() throws java.io.IOException;
+ method public final float readFloat() throws java.io.IOException;
+ method public final void readFully(byte[]) throws java.io.IOException;
+ method public final void readFully(byte[], int, int) throws java.io.IOException;
+ method public final int readInt() throws java.io.IOException;
+ method public final deprecated java.lang.String readLine() throws java.io.IOException;
+ method public final long readLong() throws java.io.IOException;
+ method public final short readShort() throws java.io.IOException;
+ method public final java.lang.String readUTF() throws java.io.IOException;
+ method public static final java.lang.String readUTF(java.io.DataInput) throws java.io.IOException;
+ method public final int readUnsignedByte() throws java.io.IOException;
+ method public final int readUnsignedShort() throws java.io.IOException;
+ method public final int skipBytes(int) throws java.io.IOException;
+ }
+
+ public abstract interface DataOutput {
+ method public abstract void write(byte[]) throws java.io.IOException;
+ method public abstract void write(byte[], int, int) throws java.io.IOException;
+ method public abstract void write(int) throws java.io.IOException;
+ method public abstract void writeBoolean(boolean) throws java.io.IOException;
+ method public abstract void writeByte(int) throws java.io.IOException;
+ method public abstract void writeBytes(java.lang.String) throws java.io.IOException;
+ method public abstract void writeChar(int) throws java.io.IOException;
+ method public abstract void writeChars(java.lang.String) throws java.io.IOException;
+ method public abstract void writeDouble(double) throws java.io.IOException;
+ method public abstract void writeFloat(float) throws java.io.IOException;
+ method public abstract void writeInt(int) throws java.io.IOException;
+ method public abstract void writeLong(long) throws java.io.IOException;
+ method public abstract void writeShort(int) throws java.io.IOException;
+ method public abstract void writeUTF(java.lang.String) throws java.io.IOException;
+ }
+
+ public class DataOutputStream extends java.io.FilterOutputStream implements java.io.DataOutput {
+ ctor public DataOutputStream(java.io.OutputStream);
+ method public final int size();
+ method public final void writeBoolean(boolean) throws java.io.IOException;
+ method public final void writeByte(int) throws java.io.IOException;
+ method public final void writeBytes(java.lang.String) throws java.io.IOException;
+ method public final void writeChar(int) throws java.io.IOException;
+ method public final void writeChars(java.lang.String) throws java.io.IOException;
+ method public final void writeDouble(double) throws java.io.IOException;
+ method public final void writeFloat(float) throws java.io.IOException;
+ method public final void writeInt(int) throws java.io.IOException;
+ method public final void writeLong(long) throws java.io.IOException;
+ method public final void writeShort(int) throws java.io.IOException;
+ method public final void writeUTF(java.lang.String) throws java.io.IOException;
+ field protected int written;
+ }
+
+ public class EOFException extends java.io.IOException {
+ ctor public EOFException();
+ ctor public EOFException(java.lang.String);
+ }
+
+ public abstract interface Externalizable implements java.io.Serializable {
+ method public abstract void readExternal(java.io.ObjectInput) throws java.lang.ClassNotFoundException, java.io.IOException;
+ method public abstract void writeExternal(java.io.ObjectOutput) throws java.io.IOException;
+ }
+
+ public class File implements java.lang.Comparable java.io.Serializable {
+ ctor public File(java.io.File, java.lang.String);
+ ctor public File(java.lang.String);
+ ctor public File(java.lang.String, java.lang.String);
+ ctor public File(java.net.URI);
+ method public boolean canExecute();
+ method public boolean canRead();
+ method public boolean canWrite();
+ method public int compareTo(java.io.File);
+ method public boolean createNewFile() throws java.io.IOException;
+ method public static java.io.File createTempFile(java.lang.String, java.lang.String) throws java.io.IOException;
+ method public static java.io.File createTempFile(java.lang.String, java.lang.String, java.io.File) throws java.io.IOException;
+ method public boolean delete();
+ method public void deleteOnExit();
+ method public boolean exists();
+ method public java.io.File getAbsoluteFile();
+ method public java.lang.String getAbsolutePath();
+ method public java.io.File getCanonicalFile() throws java.io.IOException;
+ method public java.lang.String getCanonicalPath() throws java.io.IOException;
+ method public long getFreeSpace();
+ method public java.lang.String getName();
+ method public java.lang.String getParent();
+ method public java.io.File getParentFile();
+ method public java.lang.String getPath();
+ method public long getTotalSpace();
+ method public long getUsableSpace();
+ method public boolean isAbsolute();
+ method public boolean isDirectory();
+ method public boolean isFile();
+ method public boolean isHidden();
+ method public long lastModified();
+ method public long length();
+ method public java.lang.String[] list();
+ method public java.lang.String[] list(java.io.FilenameFilter);
+ method public java.io.File[] listFiles();
+ method public java.io.File[] listFiles(java.io.FilenameFilter);
+ method public java.io.File[] listFiles(java.io.FileFilter);
+ method public static java.io.File[] listRoots();
+ method public boolean mkdir();
+ method public boolean mkdirs();
+ method public boolean renameTo(java.io.File);
+ method public boolean setExecutable(boolean, boolean);
+ method public boolean setExecutable(boolean);
+ method public boolean setLastModified(long);
+ method public boolean setReadOnly();
+ method public boolean setReadable(boolean, boolean);
+ method public boolean setReadable(boolean);
+ method public boolean setWritable(boolean, boolean);
+ method public boolean setWritable(boolean);
+ method public java.net.URI toURI();
+ method public deprecated java.net.URL toURL() throws java.net.MalformedURLException;
+ field public static final java.lang.String pathSeparator;
+ field public static final char pathSeparatorChar;
+ field public static final java.lang.String separator;
+ field public static final char separatorChar;
+ }
+
+ public final class FileDescriptor {
+ ctor public FileDescriptor();
+ method public void sync() throws java.io.SyncFailedException;
+ method public boolean valid();
+ field public static final java.io.FileDescriptor err;
+ field public static final java.io.FileDescriptor in;
+ field public static final java.io.FileDescriptor out;
+ }
+
+ public abstract interface FileFilter {
+ method public abstract boolean accept(java.io.File);
+ }
+
+ public class FileInputStream extends java.io.InputStream implements java.io.Closeable {
+ ctor public FileInputStream(java.io.File) throws java.io.FileNotFoundException;
+ ctor public FileInputStream(java.io.FileDescriptor);
+ ctor public FileInputStream(java.lang.String) throws java.io.FileNotFoundException;
+ method public java.nio.channels.FileChannel getChannel();
+ method public final java.io.FileDescriptor getFD() throws java.io.IOException;
+ method public int read() throws java.io.IOException;
+ }
+
+ public class FileNotFoundException extends java.io.IOException {
+ ctor public FileNotFoundException();
+ ctor public FileNotFoundException(java.lang.String);
+ }
+
+ public class FileOutputStream extends java.io.OutputStream implements java.io.Closeable {
+ ctor public FileOutputStream(java.io.File) throws java.io.FileNotFoundException;
+ ctor public FileOutputStream(java.io.File, boolean) throws java.io.FileNotFoundException;
+ ctor public FileOutputStream(java.io.FileDescriptor);
+ ctor public FileOutputStream(java.lang.String) throws java.io.FileNotFoundException;
+ ctor public FileOutputStream(java.lang.String, boolean) throws java.io.FileNotFoundException;
+ method public java.nio.channels.FileChannel getChannel();
+ method public final java.io.FileDescriptor getFD() throws java.io.IOException;
+ method public void write(int) throws java.io.IOException;
+ }
+
+ public final class FilePermission extends java.security.Permission implements java.io.Serializable {
+ ctor public FilePermission(java.lang.String, java.lang.String);
+ method public java.lang.String getActions();
+ method public boolean implies(java.security.Permission);
+ }
+
+ public class FileReader extends java.io.InputStreamReader {
+ ctor public FileReader(java.io.File) throws java.io.FileNotFoundException;
+ ctor public FileReader(java.io.FileDescriptor);
+ ctor public FileReader(java.lang.String) throws java.io.FileNotFoundException;
+ }
+
+ public class FileWriter extends java.io.OutputStreamWriter {
+ ctor public FileWriter(java.io.File) throws java.io.IOException;
+ ctor public FileWriter(java.io.File, boolean) throws java.io.IOException;
+ ctor public FileWriter(java.io.FileDescriptor);
+ ctor public FileWriter(java.lang.String) throws java.io.IOException;
+ ctor public FileWriter(java.lang.String, boolean) throws java.io.IOException;
+ }
+
+ public abstract interface FilenameFilter {
+ method public abstract boolean accept(java.io.File, java.lang.String);
+ }
+
+ public class FilterInputStream extends java.io.InputStream {
+ ctor protected FilterInputStream(java.io.InputStream);
+ method public int read() throws java.io.IOException;
+ field protected volatile java.io.InputStream in;
+ }
+
+ public class FilterOutputStream extends java.io.OutputStream {
+ ctor public FilterOutputStream(java.io.OutputStream);
+ method public void write(int) throws java.io.IOException;
+ field protected java.io.OutputStream out;
+ }
+
+ public abstract class FilterReader extends java.io.Reader {
+ ctor protected FilterReader(java.io.Reader);
+ method public void close() throws java.io.IOException;
+ method public int read(char[], int, int) throws java.io.IOException;
+ field protected java.io.Reader in;
+ }
+
+ public abstract class FilterWriter extends java.io.Writer {
+ ctor protected FilterWriter(java.io.Writer);
+ method public void close() throws java.io.IOException;
+ method public void flush() throws java.io.IOException;
+ method public void write(char[], int, int) throws java.io.IOException;
+ field protected java.io.Writer out;
+ }
+
+ public abstract interface Flushable {
+ method public abstract void flush() throws java.io.IOException;
+ }
+
+ public class IOError extends java.lang.Error {
+ ctor public IOError(java.lang.Throwable);
+ }
+
+ public class IOException extends java.lang.Exception {
+ ctor public IOException();
+ ctor public IOException(java.lang.String);
+ ctor public IOException(java.lang.String, java.lang.Throwable);
+ ctor public IOException(java.lang.Throwable);
+ }
+
+ public abstract class InputStream implements java.io.Closeable {
+ ctor public InputStream();
+ method public int available() throws java.io.IOException;
+ method public void close() throws java.io.IOException;
+ method public void mark(int);
+ method public boolean markSupported();
+ method public abstract int read() throws java.io.IOException;
+ method public int read(byte[]) throws java.io.IOException;
+ method public int read(byte[], int, int) throws java.io.IOException;
+ method public synchronized void reset() throws java.io.IOException;
+ method public long skip(long) throws java.io.IOException;
+ }
+
+ public class InputStreamReader extends java.io.Reader {
+ ctor public InputStreamReader(java.io.InputStream);
+ ctor public InputStreamReader(java.io.InputStream, java.lang.String) throws java.io.UnsupportedEncodingException;
+ ctor public InputStreamReader(java.io.InputStream, java.nio.charset.CharsetDecoder);
+ ctor public InputStreamReader(java.io.InputStream, java.nio.charset.Charset);
+ method public void close() throws java.io.IOException;
+ method public java.lang.String getEncoding();
+ method public int read(char[], int, int) throws java.io.IOException;
+ }
+
+ public class InterruptedIOException extends java.io.IOException {
+ ctor public InterruptedIOException();
+ ctor public InterruptedIOException(java.lang.String);
+ field public int bytesTransferred;
+ }
+
+ public class InvalidClassException extends java.io.ObjectStreamException {
+ ctor public InvalidClassException(java.lang.String);
+ ctor public InvalidClassException(java.lang.String, java.lang.String);
+ field public java.lang.String classname;
+ }
+
+ public class InvalidObjectException extends java.io.ObjectStreamException {
+ ctor public InvalidObjectException(java.lang.String);
+ }
+
+ public deprecated class LineNumberInputStream extends java.io.FilterInputStream {
+ ctor public LineNumberInputStream(java.io.InputStream);
+ method public int getLineNumber();
+ method public void setLineNumber(int);
+ }
+
+ public class LineNumberReader extends java.io.BufferedReader {
+ ctor public LineNumberReader(java.io.Reader);
+ ctor public LineNumberReader(java.io.Reader, int);
+ method public int getLineNumber();
+ method public void setLineNumber(int);
+ }
+
+ public class NotActiveException extends java.io.ObjectStreamException {
+ ctor public NotActiveException();
+ ctor public NotActiveException(java.lang.String);
+ }
+
+ public class NotSerializableException extends java.io.ObjectStreamException {
+ ctor public NotSerializableException();
+ ctor public NotSerializableException(java.lang.String);
+ }
+
+ public abstract interface ObjectInput implements java.io.DataInput {
+ method public abstract int available() throws java.io.IOException;
+ method public abstract void close() throws java.io.IOException;
+ method public abstract int read() throws java.io.IOException;
+ method public abstract int read(byte[]) throws java.io.IOException;
+ method public abstract int read(byte[], int, int) throws java.io.IOException;
+ method public abstract java.lang.Object readObject() throws java.lang.ClassNotFoundException, java.io.IOException;
+ method public abstract long skip(long) throws java.io.IOException;
+ }
+
+ public class ObjectInputStream extends java.io.InputStream implements java.io.ObjectInput java.io.ObjectStreamConstants {
+ ctor protected ObjectInputStream() throws java.io.IOException;
+ ctor public ObjectInputStream(java.io.InputStream) throws java.io.IOException, java.io.StreamCorruptedException;
+ method public void defaultReadObject() throws java.lang.ClassNotFoundException, java.io.IOException, java.io.NotActiveException;
+ method protected boolean enableResolveObject(boolean);
+ method public int read() throws java.io.IOException;
+ method public boolean readBoolean() throws java.io.IOException;
+ method public byte readByte() throws java.io.IOException;
+ method public char readChar() throws java.io.IOException;
+ method protected java.io.ObjectStreamClass readClassDescriptor() throws java.lang.ClassNotFoundException, java.io.IOException;
+ method public double readDouble() throws java.io.IOException;
+ method public java.io.ObjectInputStream.GetField readFields() throws java.lang.ClassNotFoundException, java.io.IOException, java.io.NotActiveException;
+ method public float readFloat() throws java.io.IOException;
+ method public void readFully(byte[]) throws java.io.IOException;
+ method public void readFully(byte[], int, int) throws java.io.IOException;
+ method public int readInt() throws java.io.IOException;
+ method public deprecated java.lang.String readLine() throws java.io.IOException;
+ method public long readLong() throws java.io.IOException;
+ method public final java.lang.Object readObject() throws java.lang.ClassNotFoundException, java.io.IOException, java.io.OptionalDataException;
+ method protected java.lang.Object readObjectOverride() throws java.lang.ClassNotFoundException, java.io.IOException, java.io.OptionalDataException;
+ method public short readShort() throws java.io.IOException;
+ method protected void readStreamHeader() throws java.io.IOException, java.io.StreamCorruptedException;
+ method public java.lang.String readUTF() throws java.io.IOException;
+ method public java.lang.Object readUnshared() throws java.lang.ClassNotFoundException, java.io.IOException;
+ method public int readUnsignedByte() throws java.io.IOException;
+ method public int readUnsignedShort() throws java.io.IOException;
+ method public synchronized void registerValidation(java.io.ObjectInputValidation, int) throws java.io.InvalidObjectException, java.io.NotActiveException;
+ method protected java.lang.Class<?> resolveClass(java.io.ObjectStreamClass) throws java.lang.ClassNotFoundException, java.io.IOException;
+ method protected java.lang.Object resolveObject(java.lang.Object) throws java.io.IOException;
+ method protected java.lang.Class<?> resolveProxyClass(java.lang.String[]) throws java.lang.ClassNotFoundException, java.io.IOException;
+ method public int skipBytes(int) throws java.io.IOException;
+ }
+
+ public static abstract class ObjectInputStream.GetField {
+ ctor public ObjectInputStream.GetField();
+ method public abstract boolean defaulted(java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException;
+ method public abstract boolean get(java.lang.String, boolean) throws java.io.IOException, java.lang.IllegalArgumentException;
+ method public abstract char get(java.lang.String, char) throws java.io.IOException, java.lang.IllegalArgumentException;
+ method public abstract byte get(java.lang.String, byte) throws java.io.IOException, java.lang.IllegalArgumentException;
+ method public abstract short get(java.lang.String, short) throws java.io.IOException, java.lang.IllegalArgumentException;
+ method public abstract int get(java.lang.String, int) throws java.io.IOException, java.lang.IllegalArgumentException;
+ method public abstract long get(java.lang.String, long) throws java.io.IOException, java.lang.IllegalArgumentException;
+ method public abstract float get(java.lang.String, float) throws java.io.IOException, java.lang.IllegalArgumentException;
+ method public abstract double get(java.lang.String, double) throws java.io.IOException, java.lang.IllegalArgumentException;
+ method public abstract java.lang.Object get(java.lang.String, java.lang.Object) throws java.io.IOException, java.lang.IllegalArgumentException;
+ method public abstract java.io.ObjectStreamClass getObjectStreamClass();
+ }
+
+ public abstract interface ObjectInputValidation {
+ method public abstract void validateObject() throws java.io.InvalidObjectException;
+ }
+
+ public abstract interface ObjectOutput implements java.io.DataOutput {
+ method public abstract void close() throws java.io.IOException;
+ method public abstract void flush() throws java.io.IOException;
+ method public abstract void write(byte[]) throws java.io.IOException;
+ method public abstract void write(byte[], int, int) throws java.io.IOException;
+ method public abstract void write(int) throws java.io.IOException;
+ method public abstract void writeObject(java.lang.Object) throws java.io.IOException;
+ }
+
+ public class ObjectOutputStream extends java.io.OutputStream implements java.io.ObjectOutput java.io.ObjectStreamConstants {
+ ctor protected ObjectOutputStream() throws java.io.IOException;
+ ctor public ObjectOutputStream(java.io.OutputStream) throws java.io.IOException;
+ method protected void annotateClass(java.lang.Class<?>) throws java.io.IOException;
+ method protected void annotateProxyClass(java.lang.Class<?>) throws java.io.IOException;
+ method public void defaultWriteObject() throws java.io.IOException;
+ method protected void drain() throws java.io.IOException;
+ method protected boolean enableReplaceObject(boolean);
+ method public java.io.ObjectOutputStream.PutField putFields() throws java.io.IOException;
+ method protected java.lang.Object replaceObject(java.lang.Object) throws java.io.IOException;
+ method public void reset() throws java.io.IOException;
+ method public void useProtocolVersion(int) throws java.io.IOException;
+ method public void write(int) throws java.io.IOException;
+ method public void writeBoolean(boolean) throws java.io.IOException;
+ method public void writeByte(int) throws java.io.IOException;
+ method public void writeBytes(java.lang.String) throws java.io.IOException;
+ method public void writeChar(int) throws java.io.IOException;
+ method public void writeChars(java.lang.String) throws java.io.IOException;
+ method protected void writeClassDescriptor(java.io.ObjectStreamClass) throws java.io.IOException;
+ method public void writeDouble(double) throws java.io.IOException;
+ method public void writeFields() throws java.io.IOException;
+ method public void writeFloat(float) throws java.io.IOException;
+ method public void writeInt(int) throws java.io.IOException;
+ method public void writeLong(long) throws java.io.IOException;
+ method public final void writeObject(java.lang.Object) throws java.io.IOException;
+ method protected void writeObjectOverride(java.lang.Object) throws java.io.IOException;
+ method public void writeShort(int) throws java.io.IOException;
+ method protected void writeStreamHeader() throws java.io.IOException;
+ method public void writeUTF(java.lang.String) throws java.io.IOException;
+ method public void writeUnshared(java.lang.Object) throws java.io.IOException;
+ }
+
+ public static abstract class ObjectOutputStream.PutField {
+ ctor public ObjectOutputStream.PutField();
+ method public abstract void put(java.lang.String, boolean);
+ method public abstract void put(java.lang.String, char);
+ method public abstract void put(java.lang.String, byte);
+ method public abstract void put(java.lang.String, short);
+ method public abstract void put(java.lang.String, int);
+ method public abstract void put(java.lang.String, long);
+ method public abstract void put(java.lang.String, float);
+ method public abstract void put(java.lang.String, double);
+ method public abstract void put(java.lang.String, java.lang.Object);
+ method public abstract deprecated void write(java.io.ObjectOutput) throws java.io.IOException;
+ }
+
+ public class ObjectStreamClass implements java.io.Serializable {
+ method public java.lang.Class<?> forClass();
+ method public java.io.ObjectStreamField getField(java.lang.String);
+ method public java.io.ObjectStreamField[] getFields();
+ method public java.lang.String getName();
+ method public long getSerialVersionUID();
+ method public static java.io.ObjectStreamClass lookup(java.lang.Class<?>);
+ method public static java.io.ObjectStreamClass lookupAny(java.lang.Class<?>);
+ field public static final java.io.ObjectStreamField[] NO_FIELDS;
+ }
+
+ public abstract interface ObjectStreamConstants {
+ field public static final int PROTOCOL_VERSION_1 = 1; // 0x1
+ field public static final int PROTOCOL_VERSION_2 = 2; // 0x2
+ field public static final byte SC_BLOCK_DATA = 8; // 0x8
+ field public static final byte SC_ENUM = 16; // 0x10
+ field public static final byte SC_EXTERNALIZABLE = 4; // 0x4
+ field public static final byte SC_SERIALIZABLE = 2; // 0x2
+ field public static final byte SC_WRITE_METHOD = 1; // 0x1
+ field public static final short STREAM_MAGIC = -21267; // 0xffffaced
+ field public static final short STREAM_VERSION = 5; // 0x5
+ field public static final java.io.SerializablePermission SUBCLASS_IMPLEMENTATION_PERMISSION;
+ field public static final java.io.SerializablePermission SUBSTITUTION_PERMISSION;
+ field public static final byte TC_ARRAY = 117; // 0x75
+ field public static final byte TC_BASE = 112; // 0x70
+ field public static final byte TC_BLOCKDATA = 119; // 0x77
+ field public static final byte TC_BLOCKDATALONG = 122; // 0x7a
+ field public static final byte TC_CLASS = 118; // 0x76
+ field public static final byte TC_CLASSDESC = 114; // 0x72
+ field public static final byte TC_ENDBLOCKDATA = 120; // 0x78
+ field public static final byte TC_ENUM = 126; // 0x7e
+ field public static final byte TC_EXCEPTION = 123; // 0x7b
+ field public static final byte TC_LONGSTRING = 124; // 0x7c
+ field public static final byte TC_MAX = 126; // 0x7e
+ field public static final byte TC_NULL = 112; // 0x70
+ field public static final byte TC_OBJECT = 115; // 0x73
+ field public static final byte TC_PROXYCLASSDESC = 125; // 0x7d
+ field public static final byte TC_REFERENCE = 113; // 0x71
+ field public static final byte TC_RESET = 121; // 0x79
+ field public static final byte TC_STRING = 116; // 0x74
+ field public static final int baseWireHandle = 8257536; // 0x7e0000
+ }
+
+ public abstract class ObjectStreamException extends java.io.IOException {
+ ctor protected ObjectStreamException();
+ ctor protected ObjectStreamException(java.lang.String);
+ }
+
+ public class ObjectStreamField implements java.lang.Comparable {
+ ctor public ObjectStreamField(java.lang.String, java.lang.Class<?>);
+ ctor public ObjectStreamField(java.lang.String, java.lang.Class<?>, boolean);
+ method public int compareTo(java.lang.Object);
+ method public java.lang.String getName();
+ method public int getOffset();
+ method public java.lang.Class<?> getType();
+ method public char getTypeCode();
+ method public java.lang.String getTypeString();
+ method public boolean isPrimitive();
+ method public boolean isUnshared();
+ method protected void setOffset(int);
+ }
+
+ public class OptionalDataException extends java.io.ObjectStreamException {
+ field public boolean eof;
+ field public int length;
+ }
+
+ public abstract class OutputStream implements java.io.Closeable java.io.Flushable {
+ ctor public OutputStream();
+ method public void close() throws java.io.IOException;
+ method public void flush() throws java.io.IOException;
+ method public void write(byte[]) throws java.io.IOException;
+ method public void write(byte[], int, int) throws java.io.IOException;
+ method public abstract void write(int) throws java.io.IOException;
+ }
+
+ public class OutputStreamWriter extends java.io.Writer {
+ ctor public OutputStreamWriter(java.io.OutputStream);
+ ctor public OutputStreamWriter(java.io.OutputStream, java.lang.String) throws java.io.UnsupportedEncodingException;
+ ctor public OutputStreamWriter(java.io.OutputStream, java.nio.charset.Charset);
+ ctor public OutputStreamWriter(java.io.OutputStream, java.nio.charset.CharsetEncoder);
+ method public void close() throws java.io.IOException;
+ method public void flush() throws java.io.IOException;
+ method public java.lang.String getEncoding();
+ method public void write(char[], int, int) throws java.io.IOException;
+ }
+
+ public class PipedInputStream extends java.io.InputStream {
+ ctor public PipedInputStream();
+ ctor public PipedInputStream(java.io.PipedOutputStream) throws java.io.IOException;
+ ctor public PipedInputStream(int);
+ ctor public PipedInputStream(java.io.PipedOutputStream, int) throws java.io.IOException;
+ method public void connect(java.io.PipedOutputStream) throws java.io.IOException;
+ method public synchronized int read() throws java.io.IOException;
+ method protected synchronized void receive(int) throws java.io.IOException;
+ field protected static final int PIPE_SIZE = 1024; // 0x400
+ field protected byte[] buffer;
+ field protected int in;
+ field protected int out;
+ }
+
+ public class PipedOutputStream extends java.io.OutputStream {
+ ctor public PipedOutputStream();
+ ctor public PipedOutputStream(java.io.PipedInputStream) throws java.io.IOException;
+ method public void connect(java.io.PipedInputStream) throws java.io.IOException;
+ method public void write(int) throws java.io.IOException;
+ }
+
+ public class PipedReader extends java.io.Reader {
+ ctor public PipedReader();
+ ctor public PipedReader(java.io.PipedWriter) throws java.io.IOException;
+ ctor public PipedReader(int);
+ ctor public PipedReader(java.io.PipedWriter, int) throws java.io.IOException;
+ method public synchronized void close() throws java.io.IOException;
+ method public void connect(java.io.PipedWriter) throws java.io.IOException;
+ method public synchronized int read(char[], int, int) throws java.io.IOException;
+ }
+
+ public class PipedWriter extends java.io.Writer {
+ ctor public PipedWriter();
+ ctor public PipedWriter(java.io.PipedReader) throws java.io.IOException;
+ method public void close() throws java.io.IOException;
+ method public void connect(java.io.PipedReader) throws java.io.IOException;
+ method public void flush() throws java.io.IOException;
+ method public void write(char[], int, int) throws java.io.IOException;
+ }
+
+ public class PrintStream extends java.io.FilterOutputStream implements java.lang.Appendable java.io.Closeable {
+ ctor public PrintStream(java.io.OutputStream);
+ ctor public PrintStream(java.io.OutputStream, boolean);
+ ctor public PrintStream(java.io.OutputStream, boolean, java.lang.String) throws java.io.UnsupportedEncodingException;
+ ctor public PrintStream(java.io.File) throws java.io.FileNotFoundException;
+ ctor public PrintStream(java.io.File, java.lang.String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+ ctor public PrintStream(java.lang.String) throws java.io.FileNotFoundException;
+ ctor public PrintStream(java.lang.String, java.lang.String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+ method public java.io.PrintStream append(char);
+ method public java.io.PrintStream append(java.lang.CharSequence);
+ method public java.io.PrintStream append(java.lang.CharSequence, int, int);
+ method public boolean checkError();
+ method protected void clearError();
+ method public java.io.PrintStream format(java.lang.String, java.lang.Object...);
+ method public java.io.PrintStream format(java.util.Locale, java.lang.String, java.lang.Object...);
+ method public void print(char[]);
+ method public void print(char);
+ method public void print(double);
+ method public void print(float);
+ method public void print(int);
+ method public void print(long);
+ method public void print(java.lang.Object);
+ method public synchronized void print(java.lang.String);
+ method public void print(boolean);
+ method public java.io.PrintStream printf(java.lang.String, java.lang.Object...);
+ method public java.io.PrintStream printf(java.util.Locale, java.lang.String, java.lang.Object...);
+ method public void println();
+ method public void println(char[]);
+ method public void println(char);
+ method public void println(double);
+ method public void println(float);
+ method public void println(int);
+ method public void println(long);
+ method public void println(java.lang.Object);
+ method public synchronized void println(java.lang.String);
+ method public void println(boolean);
+ method protected void setError();
+ }
+
+ public class PrintWriter extends java.io.Writer {
+ ctor public PrintWriter(java.io.OutputStream);
+ ctor public PrintWriter(java.io.OutputStream, boolean);
+ ctor public PrintWriter(java.io.Writer);
+ ctor public PrintWriter(java.io.Writer, boolean);
+ ctor public PrintWriter(java.io.File) throws java.io.FileNotFoundException;
+ ctor public PrintWriter(java.io.File, java.lang.String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+ ctor public PrintWriter(java.lang.String) throws java.io.FileNotFoundException;
+ ctor public PrintWriter(java.lang.String, java.lang.String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+ method public boolean checkError();
+ method protected void clearError();
+ method public void close();
+ method public void flush();
+ method public java.io.PrintWriter format(java.lang.String, java.lang.Object...);
+ method public java.io.PrintWriter format(java.util.Locale, java.lang.String, java.lang.Object...);
+ method public void print(char[]);
+ method public void print(char);
+ method public void print(double);
+ method public void print(float);
+ method public void print(int);
+ method public void print(long);
+ method public void print(java.lang.Object);
+ method public void print(java.lang.String);
+ method public void print(boolean);
+ method public java.io.PrintWriter printf(java.lang.String, java.lang.Object...);
+ method public java.io.PrintWriter printf(java.util.Locale, java.lang.String, java.lang.Object...);
+ method public void println();
+ method public void println(char[]);
+ method public void println(char);
+ method public void println(double);
+ method public void println(float);
+ method public void println(int);
+ method public void println(long);
+ method public void println(java.lang.Object);
+ method public void println(java.lang.String);
+ method public void println(boolean);
+ method protected void setError();
+ method public void write(char[], int, int);
+ field protected java.io.Writer out;
+ }
+
+ public class PushbackInputStream extends java.io.FilterInputStream {
+ ctor public PushbackInputStream(java.io.InputStream);
+ ctor public PushbackInputStream(java.io.InputStream, int);
+ method public void unread(byte[]) throws java.io.IOException;
+ method public void unread(byte[], int, int) throws java.io.IOException;
+ method public void unread(int) throws java.io.IOException;
+ field protected byte[] buf;
+ field protected int pos;
+ }
+
+ public class PushbackReader extends java.io.FilterReader {
+ ctor public PushbackReader(java.io.Reader);
+ ctor public PushbackReader(java.io.Reader, int);
+ method public void unread(char[]) throws java.io.IOException;
+ method public void unread(char[], int, int) throws java.io.IOException;
+ method public void unread(int) throws java.io.IOException;
+ }
+
+ public class RandomAccessFile implements java.io.Closeable java.io.DataInput java.io.DataOutput {
+ ctor public RandomAccessFile(java.io.File, java.lang.String) throws java.io.FileNotFoundException;
+ ctor public RandomAccessFile(java.lang.String, java.lang.String) throws java.io.FileNotFoundException;
+ method public void close() throws java.io.IOException;
+ method public final synchronized java.nio.channels.FileChannel getChannel();
+ method public final java.io.FileDescriptor getFD() throws java.io.IOException;
+ method public long getFilePointer() throws java.io.IOException;
+ method public long length() throws java.io.IOException;
+ method public int read() throws java.io.IOException;
+ method public int read(byte[]) throws java.io.IOException;
+ method public int read(byte[], int, int) throws java.io.IOException;
+ method public final boolean readBoolean() throws java.io.IOException;
+ method public final byte readByte() throws java.io.IOException;
+ method public final char readChar() throws java.io.IOException;
+ method public final double readDouble() throws java.io.IOException;
+ method public final float readFloat() throws java.io.IOException;
+ method public final void readFully(byte[]) throws java.io.IOException;
+ method public final void readFully(byte[], int, int) throws java.io.IOException;
+ method public final int readInt() throws java.io.IOException;
+ method public final java.lang.String readLine() throws java.io.IOException;
+ method public final long readLong() throws java.io.IOException;
+ method public final short readShort() throws java.io.IOException;
+ method public final java.lang.String readUTF() throws java.io.IOException;
+ method public final int readUnsignedByte() throws java.io.IOException;
+ method public final int readUnsignedShort() throws java.io.IOException;
+ method public void seek(long) throws java.io.IOException;
+ method public void setLength(long) throws java.io.IOException;
+ method public int skipBytes(int) throws java.io.IOException;
+ method public void write(byte[]) throws java.io.IOException;
+ method public void write(byte[], int, int) throws java.io.IOException;
+ method public void write(int) throws java.io.IOException;
+ method public final void writeBoolean(boolean) throws java.io.IOException;
+ method public final void writeByte(int) throws java.io.IOException;
+ method public final void writeBytes(java.lang.String) throws java.io.IOException;
+ method public final void writeChar(int) throws java.io.IOException;
+ method public final void writeChars(java.lang.String) throws java.io.IOException;
+ method public final void writeDouble(double) throws java.io.IOException;
+ method public final void writeFloat(float) throws java.io.IOException;
+ method public final void writeInt(int) throws java.io.IOException;
+ method public final void writeLong(long) throws java.io.IOException;
+ method public final void writeShort(int) throws java.io.IOException;
+ method public final void writeUTF(java.lang.String) throws java.io.IOException;
+ }
+
+ public abstract class Reader implements java.io.Closeable java.lang.Readable {
+ ctor protected Reader();
+ ctor protected Reader(java.lang.Object);
+ method public abstract void close() throws java.io.IOException;
+ method public void mark(int) throws java.io.IOException;
+ method public boolean markSupported();
+ method public int read() throws java.io.IOException;
+ method public int read(char[]) throws java.io.IOException;
+ method public abstract int read(char[], int, int) throws java.io.IOException;
+ method public int read(java.nio.CharBuffer) throws java.io.IOException;
+ method public boolean ready() throws java.io.IOException;
+ method public void reset() throws java.io.IOException;
+ method public long skip(long) throws java.io.IOException;
+ field protected java.lang.Object lock;
+ }
+
+ public class SequenceInputStream extends java.io.InputStream {
+ ctor public SequenceInputStream(java.io.InputStream, java.io.InputStream);
+ ctor public SequenceInputStream(java.util.Enumeration<? extends java.io.InputStream>);
+ method public int read() throws java.io.IOException;
+ }
+
+ public abstract interface Serializable {
+ }
+
+ public final class SerializablePermission extends java.security.BasicPermission {
+ ctor public SerializablePermission(java.lang.String);
+ ctor public SerializablePermission(java.lang.String, java.lang.String);
+ }
+
+ public class StreamCorruptedException extends java.io.ObjectStreamException {
+ ctor public StreamCorruptedException();
+ ctor public StreamCorruptedException(java.lang.String);
+ }
+
+ public class StreamTokenizer {
+ ctor public deprecated StreamTokenizer(java.io.InputStream);
+ ctor public StreamTokenizer(java.io.Reader);
+ method public void commentChar(int);
+ method public void eolIsSignificant(boolean);
+ method public int lineno();
+ method public void lowerCaseMode(boolean);
+ method public int nextToken() throws java.io.IOException;
+ method public void ordinaryChar(int);
+ method public void ordinaryChars(int, int);
+ method public void parseNumbers();
+ method public void pushBack();
+ method public void quoteChar(int);
+ method public void resetSyntax();
+ method public void slashSlashComments(boolean);
+ method public void slashStarComments(boolean);
+ method public void whitespaceChars(int, int);
+ method public void wordChars(int, int);
+ field public static final int TT_EOF = -1; // 0xffffffff
+ field public static final int TT_EOL = 10; // 0xa
+ field public static final int TT_NUMBER = -2; // 0xfffffffe
+ field public static final int TT_WORD = -3; // 0xfffffffd
+ field public double nval;
+ field public java.lang.String sval;
+ field public int ttype;
+ }
+
+ public deprecated class StringBufferInputStream extends java.io.InputStream {
+ ctor public StringBufferInputStream(java.lang.String);
+ method public synchronized int read();
+ field protected java.lang.String buffer;
+ field protected int count;
+ field protected int pos;
+ }
+
+ public class StringReader extends java.io.Reader {
+ ctor public StringReader(java.lang.String);
+ method public void close();
+ method public int read(char[], int, int) throws java.io.IOException;
+ }
+
+ public class StringWriter extends java.io.Writer {
+ ctor public StringWriter();
+ ctor public StringWriter(int);
+ method public void close() throws java.io.IOException;
+ method public void flush();
+ method public java.lang.StringBuffer getBuffer();
+ method public void write(char[], int, int);
+ }
+
+ public class SyncFailedException extends java.io.IOException {
+ ctor public SyncFailedException(java.lang.String);
+ }
+
+ public class UTFDataFormatException extends java.io.IOException {
+ ctor public UTFDataFormatException();
+ ctor public UTFDataFormatException(java.lang.String);
+ }
+
+ public class UnsupportedEncodingException extends java.io.IOException {
+ ctor public UnsupportedEncodingException();
+ ctor public UnsupportedEncodingException(java.lang.String);
+ }
+
+ public class WriteAbortedException extends java.io.ObjectStreamException {
+ ctor public WriteAbortedException(java.lang.String, java.lang.Exception);
+ field public java.lang.Exception detail;
+ }
+
+ public abstract class Writer implements java.lang.Appendable java.io.Closeable java.io.Flushable {
+ ctor protected Writer();
+ ctor protected Writer(java.lang.Object);
+ method public java.io.Writer append(char) throws java.io.IOException;
+ method public java.io.Writer append(java.lang.CharSequence) throws java.io.IOException;
+ method public java.io.Writer append(java.lang.CharSequence, int, int) throws java.io.IOException;
+ method public abstract void close() throws java.io.IOException;
+ method public abstract void flush() throws java.io.IOException;
+ method public void write(char[]) throws java.io.IOException;
+ method public abstract void write(char[], int, int) throws java.io.IOException;
+ method public void write(int) throws java.io.IOException;
+ method public void write(java.lang.String) throws java.io.IOException;
+ method public void write(java.lang.String, int, int) throws java.io.IOException;
+ field protected java.lang.Object lock;
+ }
+
+}
+
+package java.lang {
+
+ public class AbstractMethodError extends java.lang.IncompatibleClassChangeError {
+ ctor public AbstractMethodError();
+ ctor public AbstractMethodError(java.lang.String);
+ }
+
+ abstract class AbstractStringBuilder {
+ method public int capacity();
+ method public char charAt(int);
+ method public int codePointAt(int);
+ method public int codePointBefore(int);
+ method public int codePointCount(int, int);
+ method public void ensureCapacity(int);
+ method public void getChars(int, int, char[], int);
+ method public int indexOf(java.lang.String);
+ method public int indexOf(java.lang.String, int);
+ method public int lastIndexOf(java.lang.String);
+ method public int lastIndexOf(java.lang.String, int);
+ method public int length();
+ method public int offsetByCodePoints(int, int);
+ method public void setCharAt(int, char);
+ method public void setLength(int);
+ method public java.lang.CharSequence subSequence(int, int);
+ method public java.lang.String substring(int);
+ method public java.lang.String substring(int, int);
+ method public void trimToSize();
+ }
+
+ public abstract interface Appendable {
+ method public abstract java.lang.Appendable append(char) throws java.io.IOException;
+ method public abstract java.lang.Appendable append(java.lang.CharSequence) throws java.io.IOException;
+ method public abstract java.lang.Appendable append(java.lang.CharSequence, int, int) throws java.io.IOException;
+ }
+
+ public class ArithmeticException extends java.lang.RuntimeException {
+ ctor public ArithmeticException();
+ ctor public ArithmeticException(java.lang.String);
+ }
+
+ public class ArrayIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
+ ctor public ArrayIndexOutOfBoundsException();
+ ctor public ArrayIndexOutOfBoundsException(int);
+ ctor public ArrayIndexOutOfBoundsException(java.lang.String);
+ }
+
+ public class ArrayStoreException extends java.lang.RuntimeException {
+ ctor public ArrayStoreException();
+ ctor public ArrayStoreException(java.lang.String);
+ }
+
+ public class AssertionError extends java.lang.Error {
+ ctor public AssertionError();
+ ctor public AssertionError(java.lang.Object);
+ ctor public AssertionError(boolean);
+ ctor public AssertionError(char);
+ ctor public AssertionError(int);
+ ctor public AssertionError(long);
+ ctor public AssertionError(float);
+ ctor public AssertionError(double);
+ }
+
+ public final class Boolean implements java.lang.Comparable java.io.Serializable {
+ ctor public Boolean(java.lang.String);
+ ctor public Boolean(boolean);
+ method public boolean booleanValue();
+ method public int compareTo(java.lang.Boolean);
+ method public static boolean getBoolean(java.lang.String);
+ method public static boolean parseBoolean(java.lang.String);
+ method public static java.lang.String toString(boolean);
+ method public static java.lang.Boolean valueOf(java.lang.String);
+ method public static java.lang.Boolean valueOf(boolean);
+ field public static final java.lang.Boolean FALSE;
+ field public static final java.lang.Boolean TRUE;
+ field public static final java.lang.Class TYPE;
+ }
+
+ public final class Byte extends java.lang.Number implements java.lang.Comparable {
+ ctor public Byte(byte);
+ ctor public Byte(java.lang.String) throws java.lang.NumberFormatException;
+ method public int compareTo(java.lang.Byte);
+ method public static java.lang.Byte decode(java.lang.String) throws java.lang.NumberFormatException;
+ method public double doubleValue();
+ method public float floatValue();
+ method public int intValue();
+ method public long longValue();
+ method public static byte parseByte(java.lang.String) throws java.lang.NumberFormatException;
+ method public static byte parseByte(java.lang.String, int) throws java.lang.NumberFormatException;
+ method public static java.lang.String toString(byte);
+ method public static java.lang.Byte valueOf(java.lang.String) throws java.lang.NumberFormatException;
+ method public static java.lang.Byte valueOf(java.lang.String, int) throws java.lang.NumberFormatException;
+ method public static java.lang.Byte valueOf(byte);
+ field public static final byte MAX_VALUE = 127; // 0x7f
+ field public static final byte MIN_VALUE = -128; // 0xffffff80
+ field public static final int SIZE = 8; // 0x8
+ field public static final java.lang.Class TYPE;
+ }
+
+ public abstract interface CharSequence {
+ method public abstract char charAt(int);
+ method public abstract int length();
+ method public abstract java.lang.CharSequence subSequence(int, int);
+ method public abstract java.lang.String toString();
+ }
+
+ public final class Character implements java.lang.Comparable java.io.Serializable {
+ ctor public Character(char);
+ method public static int charCount(int);
+ method public char charValue();
+ method public static int codePointAt(java.lang.CharSequence, int);
+ method public static int codePointAt(char[], int);
+ method public static int codePointAt(char[], int, int);
+ method public static int codePointBefore(java.lang.CharSequence, int);
+ method public static int codePointBefore(char[], int);
+ method public static int codePointBefore(char[], int, int);
+ method public static int codePointCount(java.lang.CharSequence, int, int);
+ method public static int codePointCount(char[], int, int);
+ method public int compareTo(java.lang.Character);
+ method public static int digit(char, int);
+ method public static int digit(int, int);
+ method public static char forDigit(int, int);
+ method public static byte getDirectionality(char);
+ method public static byte getDirectionality(int);
+ method public static int getNumericValue(char);
+ method public static int getNumericValue(int);
+ method public static int getType(char);
+ method public static int getType(int);
+ method public static boolean isDefined(char);
+ method public static boolean isDefined(int);
+ method public static boolean isDigit(char);
+ method public static boolean isDigit(int);
+ method public static boolean isHighSurrogate(char);
+ method public static boolean isISOControl(char);
+ method public static boolean isISOControl(int);
+ method public static boolean isIdentifierIgnorable(char);
+ method public static boolean isIdentifierIgnorable(int);
+ method public static boolean isJavaIdentifierPart(char);
+ method public static boolean isJavaIdentifierPart(int);
+ method public static boolean isJavaIdentifierStart(char);
+ method public static boolean isJavaIdentifierStart(int);
+ method public static deprecated boolean isJavaLetter(char);
+ method public static deprecated boolean isJavaLetterOrDigit(char);
+ method public static boolean isLetter(char);
+ method public static boolean isLetter(int);
+ method public static boolean isLetterOrDigit(char);
+ method public static boolean isLetterOrDigit(int);
+ method public static boolean isLowSurrogate(char);
+ method public static boolean isLowerCase(char);
+ method public static boolean isLowerCase(int);
+ method public static boolean isMirrored(char);
+ method public static boolean isMirrored(int);
+ method public static deprecated boolean isSpace(char);
+ method public static boolean isSpaceChar(char);
+ method public static boolean isSpaceChar(int);
+ method public static boolean isSupplementaryCodePoint(int);
+ method public static boolean isSurrogatePair(char, char);
+ method public static boolean isTitleCase(char);
+ method public static boolean isTitleCase(int);
+ method public static boolean isUnicodeIdentifierPart(char);
+ method public static boolean isUnicodeIdentifierPart(int);
+ method public static boolean isUnicodeIdentifierStart(char);
+ method public static boolean isUnicodeIdentifierStart(int);
+ method public static boolean isUpperCase(char);
+ method public static boolean isUpperCase(int);
+ method public static boolean isValidCodePoint(int);
+ method public static boolean isWhitespace(char);
+ method public static boolean isWhitespace(int);
+ method public static int offsetByCodePoints(java.lang.CharSequence, int, int);
+ method public static int offsetByCodePoints(char[], int, int, int, int);
+ method public static char reverseBytes(char);
+ method public static int toChars(int, char[], int);
+ method public static char[] toChars(int);
+ method public static int toCodePoint(char, char);
+ method public static char toLowerCase(char);
+ method public static int toLowerCase(int);
+ method public static java.lang.String toString(char);
+ method public static char toTitleCase(char);
+ method public static int toTitleCase(int);
+ method public static char toUpperCase(char);
+ method public static int toUpperCase(int);
+ method public static java.lang.Character valueOf(char);
+ field public static final byte COMBINING_SPACING_MARK = 8; // 0x8
+ field public static final byte CONNECTOR_PUNCTUATION = 23; // 0x17
+ field public static final byte CONTROL = 15; // 0xf
+ field public static final byte CURRENCY_SYMBOL = 26; // 0x1a
+ field public static final byte DASH_PUNCTUATION = 20; // 0x14
+ field public static final byte DECIMAL_DIGIT_NUMBER = 9; // 0x9
+ field public static final byte DIRECTIONALITY_ARABIC_NUMBER = 6; // 0x6
+ field public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = 9; // 0x9
+ field public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 7; // 0x7
+ field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = 3; // 0x3
+ field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 4; // 0x4
+ field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 5; // 0x5
+ field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = 0; // 0x0
+ field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14; // 0xe
+ field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 15; // 0xf
+ field public static final byte DIRECTIONALITY_NONSPACING_MARK = 8; // 0x8
+ field public static final byte DIRECTIONALITY_OTHER_NEUTRALS = 13; // 0xd
+ field public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = 10; // 0xa
+ field public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18; // 0x12
+ field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = 1; // 0x1
+ field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 2; // 0x2
+ field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 16; // 0x10
+ field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 17; // 0x11
+ field public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = 11; // 0xb
+ field public static final byte DIRECTIONALITY_UNDEFINED = -1; // 0xffffffff
+ field public static final byte DIRECTIONALITY_WHITESPACE = 12; // 0xc
+ field public static final byte ENCLOSING_MARK = 7; // 0x7
+ field public static final byte END_PUNCTUATION = 22; // 0x16
+ field public static final byte FINAL_QUOTE_PUNCTUATION = 30; // 0x1e
+ field public static final byte FORMAT = 16; // 0x10
+ field public static final byte INITIAL_QUOTE_PUNCTUATION = 29; // 0x1d
+ field public static final byte LETTER_NUMBER = 10; // 0xa
+ field public static final byte LINE_SEPARATOR = 13; // 0xd
+ field public static final byte LOWERCASE_LETTER = 2; // 0x2
+ field public static final byte MATH_SYMBOL = 25; // 0x19
+ field public static final int MAX_CODE_POINT = 1114111; // 0x10ffff
+ field public static final char MAX_HIGH_SURROGATE = 56319; // 0xdbff '\udbff'
+ field public static final char MAX_LOW_SURROGATE = 57343; // 0xdfff '\udfff'
+ field public static final int MAX_RADIX = 36; // 0x24
+ field public static final char MAX_SURROGATE = 57343; // 0xdfff '\udfff'
+ field public static final char MAX_VALUE = 65535; // 0xffff '\uffff'
+ field public static final int MIN_CODE_POINT = 0; // 0x0
+ field public static final char MIN_HIGH_SURROGATE = 55296; // 0xd800 '\ud800'
+ field public static final char MIN_LOW_SURROGATE = 56320; // 0xdc00 '\udc00'
+ field public static final int MIN_RADIX = 2; // 0x2
+ field public static final int MIN_SUPPLEMENTARY_CODE_POINT = 65536; // 0x10000
+ field public static final char MIN_SURROGATE = 55296; // 0xd800 '\ud800'
+ field public static final char MIN_VALUE = 0; // 0x0000 '\u0000'
+ field public static final byte MODIFIER_LETTER = 4; // 0x4
+ field public static final byte MODIFIER_SYMBOL = 27; // 0x1b
+ field public static final byte NON_SPACING_MARK = 6; // 0x6
+ field public static final byte OTHER_LETTER = 5; // 0x5
+ field public static final byte OTHER_NUMBER = 11; // 0xb
+ field public static final byte OTHER_PUNCTUATION = 24; // 0x18
+ field public static final byte OTHER_SYMBOL = 28; // 0x1c
+ field public static final byte PARAGRAPH_SEPARATOR = 14; // 0xe
+ field public static final byte PRIVATE_USE = 18; // 0x12
+ field public static final int SIZE = 16; // 0x10
+ field public static final byte SPACE_SEPARATOR = 12; // 0xc
+ field public static final byte START_PUNCTUATION = 21; // 0x15
+ field public static final byte SURROGATE = 19; // 0x13
+ field public static final byte TITLECASE_LETTER = 3; // 0x3
+ field public static final java.lang.Class TYPE;
+ field public static final byte UNASSIGNED = 0; // 0x0
+ field public static final byte UPPERCASE_LETTER = 1; // 0x1
+ }
+
+ public static class Character.Subset {
+ ctor protected Character.Subset(java.lang.String);
+ method public final boolean equals(java.lang.Object);
+ method public final int hashCode();
+ method public final java.lang.String toString();
+ }
+
+ public static final class Character.UnicodeBlock extends java.lang.Character.Subset {
+ method public static java.lang.Character.UnicodeBlock forName(java.lang.String);
+ method public static java.lang.Character.UnicodeBlock of(char);
+ method public static java.lang.Character.UnicodeBlock of(int);
+ field public static final java.lang.Character.UnicodeBlock AEGEAN_NUMBERS;
+ field public static final java.lang.Character.UnicodeBlock ALPHABETIC_PRESENTATION_FORMS;
+ field public static final java.lang.Character.UnicodeBlock ARABIC;
+ field public static final java.lang.Character.UnicodeBlock ARABIC_PRESENTATION_FORMS_A;
+ field public static final java.lang.Character.UnicodeBlock ARABIC_PRESENTATION_FORMS_B;
+ field public static final java.lang.Character.UnicodeBlock ARMENIAN;
+ field public static final java.lang.Character.UnicodeBlock ARROWS;
+ field public static final java.lang.Character.UnicodeBlock BASIC_LATIN;
+ field public static final java.lang.Character.UnicodeBlock BENGALI;
+ field public static final java.lang.Character.UnicodeBlock BLOCK_ELEMENTS;
+ field public static final java.lang.Character.UnicodeBlock BOPOMOFO;
+ field public static final java.lang.Character.UnicodeBlock BOPOMOFO_EXTENDED;
+ field public static final java.lang.Character.UnicodeBlock BOX_DRAWING;
+ field public static final java.lang.Character.UnicodeBlock BRAILLE_PATTERNS;
+ field public static final java.lang.Character.UnicodeBlock BUHID;
+ field public static final java.lang.Character.UnicodeBlock BYZANTINE_MUSICAL_SYMBOLS;
+ field public static final java.lang.Character.UnicodeBlock CHEROKEE;
+ field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY;
+ field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY_FORMS;
+ field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS;
+ field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT;
+ field public static final java.lang.Character.UnicodeBlock CJK_RADICALS_SUPPLEMENT;
+ field public static final java.lang.Character.UnicodeBlock CJK_SYMBOLS_AND_PUNCTUATION;
+ field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS;
+ field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A;
+ field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B;
+ field public static final java.lang.Character.UnicodeBlock COMBINING_DIACRITICAL_MARKS;
+ field public static final java.lang.Character.UnicodeBlock COMBINING_HALF_MARKS;
+ field public static final java.lang.Character.UnicodeBlock COMBINING_MARKS_FOR_SYMBOLS;
+ field public static final java.lang.Character.UnicodeBlock CONTROL_PICTURES;
+ field public static final java.lang.Character.UnicodeBlock CURRENCY_SYMBOLS;
+ field public static final java.lang.Character.UnicodeBlock CYPRIOT_SYLLABARY;
+ field public static final java.lang.Character.UnicodeBlock CYRILLIC;
+ field public static final java.lang.Character.UnicodeBlock CYRILLIC_SUPPLEMENTARY;
+ field public static final java.lang.Character.UnicodeBlock DESERET;
+ field public static final java.lang.Character.UnicodeBlock DEVANAGARI;
+ field public static final java.lang.Character.UnicodeBlock DINGBATS;
+ field public static final java.lang.Character.UnicodeBlock ENCLOSED_ALPHANUMERICS;
+ field public static final java.lang.Character.UnicodeBlock ENCLOSED_CJK_LETTERS_AND_MONTHS;
+ field public static final java.lang.Character.UnicodeBlock ETHIOPIC;
+ field public static final java.lang.Character.UnicodeBlock GENERAL_PUNCTUATION;
+ field public static final java.lang.Character.UnicodeBlock GEOMETRIC_SHAPES;
+ field public static final java.lang.Character.UnicodeBlock GEORGIAN;
+ field public static final java.lang.Character.UnicodeBlock GOTHIC;
+ field public static final java.lang.Character.UnicodeBlock GREEK;
+ field public static final java.lang.Character.UnicodeBlock GREEK_EXTENDED;
+ field public static final java.lang.Character.UnicodeBlock GUJARATI;
+ field public static final java.lang.Character.UnicodeBlock GURMUKHI;
+ field public static final java.lang.Character.UnicodeBlock HALFWIDTH_AND_FULLWIDTH_FORMS;
+ field public static final java.lang.Character.UnicodeBlock HANGUL_COMPATIBILITY_JAMO;
+ field public static final java.lang.Character.UnicodeBlock HANGUL_JAMO;
+ field public static final java.lang.Character.UnicodeBlock HANGUL_SYLLABLES;
+ field public static final java.lang.Character.UnicodeBlock HANUNOO;
+ field public static final java.lang.Character.UnicodeBlock HEBREW;
+ field public static final java.lang.Character.UnicodeBlock HIGH_PRIVATE_USE_SURROGATES;
+ field public static final java.lang.Character.UnicodeBlock HIGH_SURROGATES;
+ field public static final java.lang.Character.UnicodeBlock HIRAGANA;
+ field public static final java.lang.Character.UnicodeBlock IDEOGRAPHIC_DESCRIPTION_CHARACTERS;
+ field public static final java.lang.Character.UnicodeBlock IPA_EXTENSIONS;
+ field public static final java.lang.Character.UnicodeBlock KANBUN;
+ field public static final java.lang.Character.UnicodeBlock KANGXI_RADICALS;
+ field public static final java.lang.Character.UnicodeBlock KANNADA;
+ field public static final java.lang.Character.UnicodeBlock KATAKANA;
+ field public static final java.lang.Character.UnicodeBlock KATAKANA_PHONETIC_EXTENSIONS;
+ field public static final java.lang.Character.UnicodeBlock KHMER;
+ field public static final java.lang.Character.UnicodeBlock KHMER_SYMBOLS;
+ field public static final java.lang.Character.UnicodeBlock LAO;
+ field public static final java.lang.Character.UnicodeBlock LATIN_1_SUPPLEMENT;
+ field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_A;
+ field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_ADDITIONAL;
+ field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_B;
+ field public static final java.lang.Character.UnicodeBlock LETTERLIKE_SYMBOLS;
+ field public static final java.lang.Character.UnicodeBlock LIMBU;
+ field public static final java.lang.Character.UnicodeBlock LINEAR_B_IDEOGRAMS;
+ field public static final java.lang.Character.UnicodeBlock LINEAR_B_SYLLABARY;
+ field public static final java.lang.Character.UnicodeBlock LOW_SURROGATES;
+ field public static final java.lang.Character.UnicodeBlock MALAYALAM;
+ field public static final java.lang.Character.UnicodeBlock MATHEMATICAL_ALPHANUMERIC_SYMBOLS;
+ field public static final java.lang.Character.UnicodeBlock MATHEMATICAL_OPERATORS;
+ field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A;
+ field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B;
+ field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_SYMBOLS;
+ field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_ARROWS;
+ field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_TECHNICAL;
+ field public static final java.lang.Character.UnicodeBlock MONGOLIAN;
+ field public static final java.lang.Character.UnicodeBlock MUSICAL_SYMBOLS;
+ field public static final java.lang.Character.UnicodeBlock MYANMAR;
+ field public static final java.lang.Character.UnicodeBlock NUMBER_FORMS;
+ field public static final java.lang.Character.UnicodeBlock OGHAM;
+ field public static final java.lang.Character.UnicodeBlock OLD_ITALIC;
+ field public static final java.lang.Character.UnicodeBlock OPTICAL_CHARACTER_RECOGNITION;
+ field public static final java.lang.Character.UnicodeBlock ORIYA;
+ field public static final java.lang.Character.UnicodeBlock OSMANYA;
+ field public static final java.lang.Character.UnicodeBlock PHONETIC_EXTENSIONS;
+ field public static final java.lang.Character.UnicodeBlock PRIVATE_USE_AREA;
+ field public static final java.lang.Character.UnicodeBlock RUNIC;
+ field public static final java.lang.Character.UnicodeBlock SHAVIAN;
+ field public static final java.lang.Character.UnicodeBlock SINHALA;
+ field public static final java.lang.Character.UnicodeBlock SMALL_FORM_VARIANTS;
+ field public static final java.lang.Character.UnicodeBlock SPACING_MODIFIER_LETTERS;
+ field public static final java.lang.Character.UnicodeBlock SPECIALS;
+ field public static final java.lang.Character.UnicodeBlock SUPERSCRIPTS_AND_SUBSCRIPTS;
+ field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_ARROWS_A;
+ field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_ARROWS_B;
+ field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_MATHEMATICAL_OPERATORS;
+ field public static final java.lang.Character.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_A;
+ field public static final java.lang.Character.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_B;
+ field public static final deprecated java.lang.Character.UnicodeBlock SURROGATES_AREA;
+ field public static final java.lang.Character.UnicodeBlock SYRIAC;
+ field public static final java.lang.Character.UnicodeBlock TAGALOG;
+ field public static final java.lang.Character.UnicodeBlock TAGBANWA;
+ field public static final java.lang.Character.UnicodeBlock TAGS;
+ field public static final java.lang.Character.UnicodeBlock TAI_LE;
+ field public static final java.lang.Character.UnicodeBlock TAI_XUAN_JING_SYMBOLS;
+ field public static final java.lang.Character.UnicodeBlock TAMIL;
+ field public static final java.lang.Character.UnicodeBlock TELUGU;
+ field public static final java.lang.Character.UnicodeBlock THAANA;
+ field public static final java.lang.Character.UnicodeBlock THAI;
+ field public static final java.lang.Character.UnicodeBlock TIBETAN;
+ field public static final java.lang.Character.UnicodeBlock UGARITIC;
+ field public static final java.lang.Character.UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS;
+ field public static final java.lang.Character.UnicodeBlock VARIATION_SELECTORS;
+ field public static final java.lang.Character.UnicodeBlock VARIATION_SELECTORS_SUPPLEMENT;
+ field public static final java.lang.Character.UnicodeBlock YIJING_HEXAGRAM_SYMBOLS;
+ field public static final java.lang.Character.UnicodeBlock YI_RADICALS;
+ field public static final java.lang.Character.UnicodeBlock YI_SYLLABLES;
+ }
+
+ public final class Class implements java.lang.reflect.AnnotatedElement java.lang.reflect.GenericDeclaration java.io.Serializable java.lang.reflect.Type {
+ method public java.lang.Class<? extends U> asSubclass(java.lang.Class<U>);
+ method public T cast(java.lang.Object);
+ method public boolean desiredAssertionStatus();
+ method public static java.lang.Class<?> forName(java.lang.String) throws java.lang.ClassNotFoundException;
+ method public static java.lang.Class<?> forName(java.lang.String, boolean, java.lang.ClassLoader) throws java.lang.ClassNotFoundException;
+ method public A getAnnotation(java.lang.Class<A>);
+ method public java.lang.annotation.Annotation[] getAnnotations();
+ method public java.lang.String getCanonicalName();
+ method public java.lang.ClassLoader getClassLoader();
+ method public java.lang.Class<?>[] getClasses();
+ method public java.lang.Class<?> getComponentType();
+ method public java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<?>...) throws java.lang.NoSuchMethodException;
+ method public java.lang.reflect.Constructor<?>[] getConstructors();
+ method public java.lang.annotation.Annotation[] getDeclaredAnnotations();
+ method public java.lang.Class<?>[] getDeclaredClasses();
+ method public java.lang.reflect.Constructor<T> getDeclaredConstructor(java.lang.Class<?>...) throws java.lang.NoSuchMethodException;
+ method public java.lang.reflect.Constructor<?>[] getDeclaredConstructors();
+ method public java.lang.reflect.Field getDeclaredField(java.lang.String) throws java.lang.NoSuchFieldException;
+ method public java.lang.reflect.Field[] getDeclaredFields();
+ method public java.lang.reflect.Method getDeclaredMethod(java.lang.String, java.lang.Class<?>...) throws java.lang.NoSuchMethodException;
+ method public java.lang.reflect.Method[] getDeclaredMethods();
+ method public java.lang.Class<?> getDeclaringClass();
+ method public java.lang.Class<?> getEnclosingClass();
+ method public java.lang.reflect.Constructor<?> getEnclosingConstructor();
+ method public java.lang.reflect.Method getEnclosingMethod();
+ method public T[] getEnumConstants();
+ method public java.lang.reflect.Field getField(java.lang.String) throws java.lang.NoSuchFieldException;
+ method public java.lang.reflect.Field[] getFields();
+ method public java.lang.reflect.Type[] getGenericInterfaces();
+ method public java.lang.reflect.Type getGenericSuperclass();
+ method public java.lang.Class<?>[] getInterfaces();
+ method public java.lang.reflect.Method getMethod(java.lang.String, java.lang.Class<?>...) throws java.lang.NoSuchMethodException;
+ method public java.lang.reflect.Method[] getMethods();
+ method public int getModifiers();
+ method public java.lang.String getName();
+ method public java.lang.Package getPackage();
+ method public java.security.ProtectionDomain getProtectionDomain();
+ method public java.net.URL getResource(java.lang.String);
+ method public java.io.InputStream getResourceAsStream(java.lang.String);
+ method public java.lang.Object[] getSigners();
+ method public java.lang.String getSimpleName();
+ method public java.lang.Class<? super T> getSuperclass();
+ method public synchronized java.lang.reflect.TypeVariable<java.lang.Class<T>>[] getTypeParameters();
+ method public boolean isAnnotation();
+ method public boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>);
+ method public boolean isAnonymousClass();
+ method public boolean isArray();
+ method public boolean isAssignableFrom(java.lang.Class<?>);
+ method public boolean isEnum();
+ method public boolean isInstance(java.lang.Object);
+ method public boolean isInterface();
+ method public boolean isLocalClass();
+ method public boolean isMemberClass();
+ method public boolean isPrimitive();
+ method public boolean isSynthetic();
+ method public T newInstance() throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+ }
+
+ public class ClassCastException extends java.lang.RuntimeException {
+ ctor public ClassCastException();
+ ctor public ClassCastException(java.lang.String);
+ }
+
+ public class ClassCircularityError extends java.lang.LinkageError {
+ ctor public ClassCircularityError();
+ ctor public ClassCircularityError(java.lang.String);
+ }
+
+ public class ClassFormatError extends java.lang.LinkageError {
+ ctor public ClassFormatError();
+ ctor public ClassFormatError(java.lang.String);
+ }
+
+ public abstract class ClassLoader {
+ ctor protected ClassLoader();
+ ctor protected ClassLoader(java.lang.ClassLoader);
+ method public void clearAssertionStatus();
+ method protected final deprecated java.lang.Class<?> defineClass(byte[], int, int) throws java.lang.ClassFormatError;
+ method protected final java.lang.Class<?> defineClass(java.lang.String, byte[], int, int) throws java.lang.ClassFormatError;
+ method protected final java.lang.Class<?> defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain) throws java.lang.ClassFormatError;
+ method protected final java.lang.Class<?> defineClass(java.lang.String, java.nio.ByteBuffer, java.security.ProtectionDomain) throws java.lang.ClassFormatError;
+ method protected java.lang.Package definePackage(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.net.URL) throws java.lang.IllegalArgumentException;
+ method protected java.lang.Class<?> findClass(java.lang.String) throws java.lang.ClassNotFoundException;
+ method protected java.lang.String findLibrary(java.lang.String);
+ method protected final java.lang.Class<?> findLoadedClass(java.lang.String);
+ method protected java.net.URL findResource(java.lang.String);
+ method protected java.util.Enumeration<java.net.URL> findResources(java.lang.String) throws java.io.IOException;
+ method protected final java.lang.Class<?> findSystemClass(java.lang.String) throws java.lang.ClassNotFoundException;
+ method protected java.lang.Package getPackage(java.lang.String);
+ method protected java.lang.Package[] getPackages();
+ method public final java.lang.ClassLoader getParent();
+ method public java.net.URL getResource(java.lang.String);
+ method public java.io.InputStream getResourceAsStream(java.lang.String);
+ method public java.util.Enumeration<java.net.URL> getResources(java.lang.String) throws java.io.IOException;
+ method public static java.lang.ClassLoader getSystemClassLoader();
+ method public static java.net.URL getSystemResource(java.lang.String);
+ method public static java.io.InputStream getSystemResourceAsStream(java.lang.String);
+ method public static java.util.Enumeration<java.net.URL> getSystemResources(java.lang.String) throws java.io.IOException;
+ method public java.lang.Class<?> loadClass(java.lang.String) throws java.lang.ClassNotFoundException;
+ method protected java.lang.Class<?> loadClass(java.lang.String, boolean) throws java.lang.ClassNotFoundException;
+ method protected final void resolveClass(java.lang.Class<?>);
+ method public void setClassAssertionStatus(java.lang.String, boolean);
+ method public void setDefaultAssertionStatus(boolean);
+ method public void setPackageAssertionStatus(java.lang.String, boolean);
+ method protected final void setSigners(java.lang.Class<?>, java.lang.Object[]);
+ }
+
+ public class ClassNotFoundException extends java.lang.Exception {
+ ctor public ClassNotFoundException();
+ ctor public ClassNotFoundException(java.lang.String);
+ ctor public ClassNotFoundException(java.lang.String, java.lang.Throwable);
+ method public java.lang.Throwable getException();
+ }
+
+ public class CloneNotSupportedException extends java.lang.Exception {
+ ctor public CloneNotSupportedException();
+ ctor public CloneNotSupportedException(java.lang.String);
+ }
+
+ public abstract interface Cloneable {
+ }
+
+ public abstract interface Comparable {
+ method public abstract int compareTo(T);
+ }
+
+ public final class Compiler {
+ method public static java.lang.Object command(java.lang.Object);
+ method public static boolean compileClass(java.lang.Class<?>);
+ method public static boolean compileClasses(java.lang.String);
+ method public static void disable();
+ method public static void enable();
+ }
+
+ public abstract class Deprecated implements java.lang.annotation.Annotation {
+ }
+
+ public final class Double extends java.lang.Number implements java.lang.Comparable {
+ ctor public Double(double);
+ ctor public Double(java.lang.String) throws java.lang.NumberFormatException;
+ method public static int compare(double, double);
+ method public int compareTo(java.lang.Double);
+ method public static long doubleToLongBits(double);
+ method public static long doubleToRawLongBits(double);
+ method public double doubleValue();
+ method public float floatValue();
+ method public int intValue();
+ method public boolean isInfinite();
+ method public static boolean isInfinite(double);
+ method public boolean isNaN();
+ method public static boolean isNaN(double);
+ method public static double longBitsToDouble(long);
+ method public long longValue();
+ method public static double parseDouble(java.lang.String) throws java.lang.NumberFormatException;
+ method public static java.lang.String toHexString(double);
+ method public static java.lang.String toString(double);
+ method public static java.lang.Double valueOf(java.lang.String) throws java.lang.NumberFormatException;
+ method public static java.lang.Double valueOf(double);
+ field public static final int MAX_EXPONENT = 1023; // 0x3ff
+ field public static final double MAX_VALUE = 1.7976931348623157E308;
+ field public static final int MIN_EXPONENT = -1022; // 0xfffffc02
+ field public static final double MIN_NORMAL = 2.2250738585072014E-308;
+ field public static final double MIN_VALUE = 4.9E-324;
+ field public static final double NEGATIVE_INFINITY = (-1.0/0.0);
+ field public static final double NaN = (0.0/0.0);
+ field public static final double POSITIVE_INFINITY = (1.0/0.0);
+ field public static final int SIZE = 64; // 0x40
+ field public static final java.lang.Class TYPE;
+ }
+
+ public abstract class Enum implements java.lang.Comparable java.io.Serializable {
+ ctor protected Enum(java.lang.String, int);
+ method protected final java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public final int compareTo(E);
+ method public final boolean equals(java.lang.Object);
+ method protected final void finalize();
+ method public final java.lang.Class<E> getDeclaringClass();
+ method public final int hashCode();
+ method public final java.lang.String name();
+ method public final int ordinal();
+ method public static T valueOf(java.lang.Class<T>, java.lang.String);
+ }
+
+ public class EnumConstantNotPresentException extends java.lang.RuntimeException {
+ ctor public EnumConstantNotPresentException(java.lang.Class<? extends java.lang.Enum>, java.lang.String);
+ method public java.lang.String constantName();
+ method public java.lang.Class<? extends java.lang.Enum> enumType();
+ }
+
+ public class Error extends java.lang.Throwable {
+ ctor public Error();
+ ctor public Error(java.lang.String);
+ ctor public Error(java.lang.String, java.lang.Throwable);
+ ctor public Error(java.lang.Throwable);
+ }
+
+ public class Exception extends java.lang.Throwable {
+ ctor public Exception();
+ ctor public Exception(java.lang.String);
+ ctor public Exception(java.lang.String, java.lang.Throwable);
+ ctor public Exception(java.lang.Throwable);
+ }
+
+ public class ExceptionInInitializerError extends java.lang.LinkageError {
+ ctor public ExceptionInInitializerError();
+ ctor public ExceptionInInitializerError(java.lang.String);
+ ctor public ExceptionInInitializerError(java.lang.Throwable);
+ method public java.lang.Throwable getException();
+ }
+
+ public final class Float extends java.lang.Number implements java.lang.Comparable {
+ ctor public Float(float);
+ ctor public Float(double);
+ ctor public Float(java.lang.String) throws java.lang.NumberFormatException;
+ method public static int compare(float, float);
+ method public int compareTo(java.lang.Float);
+ method public double doubleValue();
+ method public static int floatToIntBits(float);
+ method public static int floatToRawIntBits(float);
+ method public float floatValue();
+ method public static float intBitsToFloat(int);
+ method public int intValue();
+ method public boolean isInfinite();
+ method public static boolean isInfinite(float);
+ method public boolean isNaN();
+ method public static boolean isNaN(float);
+ method public long longValue();
+ method public static float parseFloat(java.lang.String) throws java.lang.NumberFormatException;
+ method public static java.lang.String toHexString(float);
+ method public static java.lang.String toString(float);
+ method public static java.lang.Float valueOf(java.lang.String) throws java.lang.NumberFormatException;
+ method public static java.lang.Float valueOf(float);
+ field public static final int MAX_EXPONENT = 127; // 0x7f
+ field public static final float MAX_VALUE = 3.4028235E38f;
+ field public static final int MIN_EXPONENT = -126; // 0xffffff82
+ field public static final float MIN_NORMAL = 1.17549435E-38f;
+ field public static final float MIN_VALUE = 1.4E-45f;
+ field public static final float NEGATIVE_INFINITY = (-1.0f/0.0f);
+ field public static final float NaN = (0.0f/0.0f);
+ field public static final float POSITIVE_INFINITY = (1.0f/0.0f);
+ field public static final int SIZE = 32; // 0x20
+ field public static final java.lang.Class TYPE;
+ }
+
+ public class IllegalAccessError extends java.lang.IncompatibleClassChangeError {
+ ctor public IllegalAccessError();
+ ctor public IllegalAccessError(java.lang.String);
+ }
+
+ public class IllegalAccessException extends java.lang.Exception {
+ ctor public IllegalAccessException();
+ ctor public IllegalAccessException(java.lang.String);
+ }
+
+ public class IllegalArgumentException extends java.lang.RuntimeException {
+ ctor public IllegalArgumentException();
+ ctor public IllegalArgumentException(java.lang.String);
+ ctor public IllegalArgumentException(java.lang.String, java.lang.Throwable);
+ ctor public IllegalArgumentException(java.lang.Throwable);
+ }
+
+ public class IllegalMonitorStateException extends java.lang.RuntimeException {
+ ctor public IllegalMonitorStateException();
+ ctor public IllegalMonitorStateException(java.lang.String);
+ }
+
+ public class IllegalStateException extends java.lang.RuntimeException {
+ ctor public IllegalStateException();
+ ctor public IllegalStateException(java.lang.String);
+ ctor public IllegalStateException(java.lang.String, java.lang.Throwable);
+ ctor public IllegalStateException(java.lang.Throwable);
+ }
+
+ public class IllegalThreadStateException extends java.lang.IllegalArgumentException {
+ ctor public IllegalThreadStateException();
+ ctor public IllegalThreadStateException(java.lang.String);
+ }
+
+ public class IncompatibleClassChangeError extends java.lang.LinkageError {
+ ctor public IncompatibleClassChangeError();
+ ctor public IncompatibleClassChangeError(java.lang.String);
+ }
+
+ public class IndexOutOfBoundsException extends java.lang.RuntimeException {
+ ctor public IndexOutOfBoundsException();
+ ctor public IndexOutOfBoundsException(java.lang.String);
+ }
+
+ public class InheritableThreadLocal extends java.lang.ThreadLocal {
+ ctor public InheritableThreadLocal();
+ method protected T childValue(T);
+ }
+
+ public class InstantiationError extends java.lang.IncompatibleClassChangeError {
+ ctor public InstantiationError();
+ ctor public InstantiationError(java.lang.String);
+ }
+
+ public class InstantiationException extends java.lang.Exception {
+ ctor public InstantiationException();
+ ctor public InstantiationException(java.lang.String);
+ }
+
+ public final class Integer extends java.lang.Number implements java.lang.Comparable {
+ ctor public Integer(int);
+ ctor public Integer(java.lang.String) throws java.lang.NumberFormatException;
+ method public static int bitCount(int);
+ method public int compareTo(java.lang.Integer);
+ method public static java.lang.Integer decode(java.lang.String) throws java.lang.NumberFormatException;
+ method public double doubleValue();
+ method public float floatValue();
+ method public static java.lang.Integer getInteger(java.lang.String);
+ method public static java.lang.Integer getInteger(java.lang.String, int);
+ method public static java.lang.Integer getInteger(java.lang.String, java.lang.Integer);
+ method public static int highestOneBit(int);
+ method public int intValue();
+ method public long longValue();
+ method public static int lowestOneBit(int);
+ method public static int numberOfLeadingZeros(int);
+ method public static int numberOfTrailingZeros(int);
+ method public static int parseInt(java.lang.String) throws java.lang.NumberFormatException;
+ method public static int parseInt(java.lang.String, int) throws java.lang.NumberFormatException;
+ method public static int reverse(int);
+ method public static int reverseBytes(int);
+ method public static int rotateLeft(int, int);
+ method public static int rotateRight(int, int);
+ method public static int signum(int);
+ method public static java.lang.String toBinaryString(int);
+ method public static java.lang.String toHexString(int);
+ method public static java.lang.String toOctalString(int);
+ method public static java.lang.String toString(int);
+ method public static java.lang.String toString(int, int);
+ method public static java.lang.Integer valueOf(java.lang.String) throws java.lang.NumberFormatException;
+ method public static java.lang.Integer valueOf(java.lang.String, int) throws java.lang.NumberFormatException;
+ method public static java.lang.Integer valueOf(int);
+ field public static final int MAX_VALUE = 2147483647; // 0x7fffffff
+ field public static final int MIN_VALUE = -2147483648; // 0x80000000
+ field public static final int SIZE = 32; // 0x20
+ field public static final java.lang.Class TYPE;
+ }
+
+ public class InternalError extends java.lang.VirtualMachineError {
+ ctor public InternalError();
+ ctor public InternalError(java.lang.String);
+ }
+
+ public class InterruptedException extends java.lang.Exception {
+ ctor public InterruptedException();
+ ctor public InterruptedException(java.lang.String);
+ }
+
+ public abstract interface Iterable {
+ method public abstract java.util.Iterator<T> iterator();
+ }
+
+ public class LinkageError extends java.lang.Error {
+ ctor public LinkageError();
+ ctor public LinkageError(java.lang.String);
+ }
+
+ public final class Long extends java.lang.Number implements java.lang.Comparable {
+ ctor public Long(long);
+ ctor public Long(java.lang.String) throws java.lang.NumberFormatException;
+ method public static int bitCount(long);
+ method public int compareTo(java.lang.Long);
+ method public static java.lang.Long decode(java.lang.String) throws java.lang.NumberFormatException;
+ method public double doubleValue();
+ method public float floatValue();
+ method public static java.lang.Long getLong(java.lang.String);
+ method public static java.lang.Long getLong(java.lang.String, long);
+ method public static java.lang.Long getLong(java.lang.String, java.lang.Long);
+ method public static long highestOneBit(long);
+ method public int intValue();
+ method public long longValue();
+ method public static long lowestOneBit(long);
+ method public static int numberOfLeadingZeros(long);
+ method public static int numberOfTrailingZeros(long);
+ method public static long parseLong(java.lang.String) throws java.lang.NumberFormatException;
+ method public static long parseLong(java.lang.String, int) throws java.lang.NumberFormatException;
+ method public static long reverse(long);
+ method public static long reverseBytes(long);
+ method public static long rotateLeft(long, int);
+ method public static long rotateRight(long, int);
+ method public static int signum(long);
+ method public static java.lang.String toBinaryString(long);
+ method public static java.lang.String toHexString(long);
+ method public static java.lang.String toOctalString(long);
+ method public static java.lang.String toString(long);
+ method public static java.lang.String toString(long, int);
+ method public static java.lang.Long valueOf(java.lang.String) throws java.lang.NumberFormatException;
+ method public static java.lang.Long valueOf(java.lang.String, int) throws java.lang.NumberFormatException;
+ method public static java.lang.Long valueOf(long);
+ field public static final long MAX_VALUE = 9223372036854775807L; // 0x7fffffffffffffffL
+ field public static final long MIN_VALUE = -9223372036854775808L; // 0x8000000000000000L
+ field public static final int SIZE = 64; // 0x40
+ field public static final java.lang.Class TYPE;
+ }
+
+ public final class Math {
+ method public static double IEEEremainder(double, double);
+ method public static double abs(double);
+ method public static float abs(float);
+ method public static int abs(int);
+ method public static long abs(long);
+ method public static double acos(double);
+ method public static double asin(double);
+ method public static double atan(double);
+ method public static double atan2(double, double);
+ method public static double cbrt(double);
+ method public static double ceil(double);
+ method public static double copySign(double, double);
+ method public static float copySign(float, float);
+ method public static double cos(double);
+ method public static double cosh(double);
+ method public static double exp(double);
+ method public static double expm1(double);
+ method public static double floor(double);
+ method public static int getExponent(float);
+ method public static int getExponent(double);
+ method public static double hypot(double, double);
+ method public static double log(double);
+ method public static double log10(double);
+ method public static double log1p(double);
+ method public static double max(double, double);
+ method public static float max(float, float);
+ method public static int max(int, int);
+ method public static long max(long, long);
+ method public static double min(double, double);
+ method public static float min(float, float);
+ method public static int min(int, int);
+ method public static long min(long, long);
+ method public static double nextAfter(double, double);
+ method public static float nextAfter(float, double);
+ method public static double nextUp(double);
+ method public static float nextUp(float);
+ method public static double pow(double, double);
+ method public static synchronized double random();
+ method public static double rint(double);
+ method public static long round(double);
+ method public static int round(float);
+ method public static double scalb(double, int);
+ method public static float scalb(float, int);
+ method public static double signum(double);
+ method public static float signum(float);
+ method public static double sin(double);
+ method public static double sinh(double);
+ method public static double sqrt(double);
+ method public static double tan(double);
+ method public static double tanh(double);
+ method public static double toDegrees(double);
+ method public static double toRadians(double);
+ method public static double ulp(double);
+ method public static float ulp(float);
+ field public static final double E = 2.718281828459045;
+ field public static final double PI = 3.141592653589793;
+ }
+
+ public class NegativeArraySizeException extends java.lang.RuntimeException {
+ ctor public NegativeArraySizeException();
+ ctor public NegativeArraySizeException(java.lang.String);
+ }
+
+ public class NoClassDefFoundError extends java.lang.LinkageError {
+ ctor public NoClassDefFoundError();
+ ctor public NoClassDefFoundError(java.lang.String);
+ }
+
+ public class NoSuchFieldError extends java.lang.IncompatibleClassChangeError {
+ ctor public NoSuchFieldError();
+ ctor public NoSuchFieldError(java.lang.String);
+ }
+
+ public class NoSuchFieldException extends java.lang.Exception {
+ ctor public NoSuchFieldException();
+ ctor public NoSuchFieldException(java.lang.String);
+ }
+
+ public class NoSuchMethodError extends java.lang.IncompatibleClassChangeError {
+ ctor public NoSuchMethodError();
+ ctor public NoSuchMethodError(java.lang.String);
+ }
+
+ public class NoSuchMethodException extends java.lang.Exception {
+ ctor public NoSuchMethodException();
+ ctor public NoSuchMethodException(java.lang.String);
+ }
+
+ public class NullPointerException extends java.lang.RuntimeException {
+ ctor public NullPointerException();
+ ctor public NullPointerException(java.lang.String);
+ }
+
+ public abstract class Number implements java.io.Serializable {
+ ctor public Number();
+ method public byte byteValue();
+ method public abstract double doubleValue();
+ method public abstract float floatValue();
+ method public abstract int intValue();
+ method public abstract long longValue();
+ method public short shortValue();
+ }
+
+ public class NumberFormatException extends java.lang.IllegalArgumentException {
+ ctor public NumberFormatException();
+ ctor public NumberFormatException(java.lang.String);
+ }
+
+ public class Object {
+ ctor public Object();
+ method protected java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public boolean equals(java.lang.Object);
+ method protected void finalize() throws java.lang.Throwable;
+ method public final java.lang.Class<?> getClass();
+ method public int hashCode();
+ method public final void notify();
+ method public final void notifyAll();
+ method public java.lang.String toString();
+ method public final void wait() throws java.lang.InterruptedException;
+ method public final void wait(long) throws java.lang.InterruptedException;
+ method public final void wait(long, int) throws java.lang.InterruptedException;
+ }
+
+ public class OutOfMemoryError extends java.lang.VirtualMachineError {
+ ctor public OutOfMemoryError();
+ ctor public OutOfMemoryError(java.lang.String);
+ }
+
+ public abstract class Override implements java.lang.annotation.Annotation {
+ }
+
+ public class Package implements java.lang.reflect.AnnotatedElement {
+ method public A getAnnotation(java.lang.Class<A>);
+ method public java.lang.annotation.Annotation[] getAnnotations();
+ method public java.lang.annotation.Annotation[] getDeclaredAnnotations();
+ method public java.lang.String getImplementationTitle();
+ method public java.lang.String getImplementationVendor();
+ method public java.lang.String getImplementationVersion();
+ method public java.lang.String getName();
+ method public static java.lang.Package getPackage(java.lang.String);
+ method public static java.lang.Package[] getPackages();
+ method public java.lang.String getSpecificationTitle();
+ method public java.lang.String getSpecificationVendor();
+ method public java.lang.String getSpecificationVersion();
+ method public boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>);
+ method public boolean isCompatibleWith(java.lang.String) throws java.lang.NumberFormatException;
+ method public boolean isSealed();
+ method public boolean isSealed(java.net.URL);
+ }
+
+ public abstract class Process {
+ ctor public Process();
+ method public abstract void destroy();
+ method public abstract int exitValue();
+ method public abstract java.io.InputStream getErrorStream();
+ method public abstract java.io.InputStream getInputStream();
+ method public abstract java.io.OutputStream getOutputStream();
+ method public abstract int waitFor() throws java.lang.InterruptedException;
+ }
+
+ public final class ProcessBuilder {
+ ctor public ProcessBuilder(java.lang.String...);
+ ctor public ProcessBuilder(java.util.List<java.lang.String>);
+ method public java.util.List<java.lang.String> command();
+ method public java.lang.ProcessBuilder command(java.lang.String...);
+ method public java.lang.ProcessBuilder command(java.util.List<java.lang.String>);
+ method public java.io.File directory();
+ method public java.lang.ProcessBuilder directory(java.io.File);
+ method public java.util.Map<java.lang.String, java.lang.String> environment();
+ method public boolean redirectErrorStream();
+ method public java.lang.ProcessBuilder redirectErrorStream(boolean);
+ method public java.lang.Process start() throws java.io.IOException;
+ }
+
+ public abstract interface Readable {
+ method public abstract int read(java.nio.CharBuffer) throws java.io.IOException;
+ }
+
+ public abstract interface Runnable {
+ method public abstract void run();
+ }
+
+ public class Runtime {
+ method public void addShutdownHook(java.lang.Thread);
+ method public int availableProcessors();
+ method public java.lang.Process exec(java.lang.String[]) throws java.io.IOException;
+ method public java.lang.Process exec(java.lang.String[], java.lang.String[]) throws java.io.IOException;
+ method public java.lang.Process exec(java.lang.String[], java.lang.String[], java.io.File) throws java.io.IOException;
+ method public java.lang.Process exec(java.lang.String) throws java.io.IOException;
+ method public java.lang.Process exec(java.lang.String, java.lang.String[]) throws java.io.IOException;
+ method public java.lang.Process exec(java.lang.String, java.lang.String[], java.io.File) throws java.io.IOException;
+ method public void exit(int);
+ method public long freeMemory();
+ method public void gc();
+ method public deprecated java.io.InputStream getLocalizedInputStream(java.io.InputStream);
+ method public deprecated java.io.OutputStream getLocalizedOutputStream(java.io.OutputStream);
+ method public static java.lang.Runtime getRuntime();
+ method public void halt(int);
+ method public void load(java.lang.String);
+ method public void loadLibrary(java.lang.String);
+ method public long maxMemory();
+ method public boolean removeShutdownHook(java.lang.Thread);
+ method public void runFinalization();
+ method public static deprecated void runFinalizersOnExit(boolean);
+ method public long totalMemory();
+ method public void traceInstructions(boolean);
+ method public void traceMethodCalls(boolean);
+ }
+
+ public class RuntimeException extends java.lang.Exception {
+ ctor public RuntimeException();
+ ctor public RuntimeException(java.lang.String);
+ ctor public RuntimeException(java.lang.String, java.lang.Throwable);
+ ctor public RuntimeException(java.lang.Throwable);
+ }
+
+ public final class RuntimePermission extends java.security.BasicPermission {
+ ctor public RuntimePermission(java.lang.String);
+ ctor public RuntimePermission(java.lang.String, java.lang.String);
+ }
+
+ public class SecurityException extends java.lang.RuntimeException {
+ ctor public SecurityException();
+ ctor public SecurityException(java.lang.String);
+ ctor public SecurityException(java.lang.String, java.lang.Throwable);
+ ctor public SecurityException(java.lang.Throwable);
+ }
+
+ public class SecurityManager {
+ ctor public SecurityManager();
+ method public void checkAccept(java.lang.String, int);
+ method public void checkAccess(java.lang.Thread);
+ method public void checkAccess(java.lang.ThreadGroup);
+ method public void checkAwtEventQueueAccess();
+ method public void checkConnect(java.lang.String, int);
+ method public void checkConnect(java.lang.String, int, java.lang.Object);
+ method public void checkCreateClassLoader();
+ method public void checkDelete(java.lang.String);
+ method public void checkExec(java.lang.String);
+ method public void checkExit(int);
+ method public void checkLink(java.lang.String);
+ method public void checkListen(int);
+ method public void checkMemberAccess(java.lang.Class<?>, int);
+ method public void checkMulticast(java.net.InetAddress);
+ method public deprecated void checkMulticast(java.net.InetAddress, byte);
+ method public void checkPackageAccess(java.lang.String);
+ method public void checkPackageDefinition(java.lang.String);
+ method public void checkPermission(java.security.Permission);
+ method public void checkPermission(java.security.Permission, java.lang.Object);
+ method public void checkPrintJobAccess();
+ method public void checkPropertiesAccess();
+ method public void checkPropertyAccess(java.lang.String);
+ method public void checkRead(java.io.FileDescriptor);
+ method public void checkRead(java.lang.String);
+ method public void checkRead(java.lang.String, java.lang.Object);
+ method public void checkSecurityAccess(java.lang.String);
+ method public void checkSetFactory();
+ method public void checkSystemClipboardAccess();
+ method public boolean checkTopLevelWindow(java.lang.Object);
+ method public void checkWrite(java.io.FileDescriptor);
+ method public void checkWrite(java.lang.String);
+ method protected deprecated int classDepth(java.lang.String);
+ method protected deprecated int classLoaderDepth();
+ method protected deprecated java.lang.ClassLoader currentClassLoader();
+ method protected deprecated java.lang.Class<?> currentLoadedClass();
+ method protected java.lang.Class[] getClassContext();
+ method public deprecated boolean getInCheck();
+ method public java.lang.Object getSecurityContext();
+ method public java.lang.ThreadGroup getThreadGroup();
+ method protected deprecated boolean inClass(java.lang.String);
+ method protected deprecated boolean inClassLoader();
+ field protected deprecated boolean inCheck;
+ }
+
+ public final class Short extends java.lang.Number implements java.lang.Comparable {
+ ctor public Short(java.lang.String) throws java.lang.NumberFormatException;
+ ctor public Short(short);
+ method public int compareTo(java.lang.Short);
+ method public static java.lang.Short decode(java.lang.String) throws java.lang.NumberFormatException;
+ method public double doubleValue();
+ method public float floatValue();
+ method public int intValue();
+ method public long longValue();
+ method public static short parseShort(java.lang.String) throws java.lang.NumberFormatException;
+ method public static short parseShort(java.lang.String, int) throws java.lang.NumberFormatException;
+ method public static short reverseBytes(short);
+ method public static java.lang.String toString(short);
+ method public static java.lang.Short valueOf(java.lang.String) throws java.lang.NumberFormatException;
+ method public static java.lang.Short valueOf(java.lang.String, int) throws java.lang.NumberFormatException;
+ method public static java.lang.Short valueOf(short);
+ field public static final short MAX_VALUE = 32767; // 0x7fff
+ field public static final short MIN_VALUE = -32768; // 0xffff8000
+ field public static final int SIZE = 16; // 0x10
+ field public static final java.lang.Class TYPE;
+ }
+
+ public class StackOverflowError extends java.lang.VirtualMachineError {
+ ctor public StackOverflowError();
+ ctor public StackOverflowError(java.lang.String);
+ }
+
+ public final class StackTraceElement implements java.io.Serializable {
+ ctor public StackTraceElement(java.lang.String, java.lang.String, java.lang.String, int);
+ method public java.lang.String getClassName();
+ method public java.lang.String getFileName();
+ method public int getLineNumber();
+ method public java.lang.String getMethodName();
+ method public boolean isNativeMethod();
+ }
+
+ public final class StrictMath {
+ method public static double IEEEremainder(double, double);
+ method public static double abs(double);
+ method public static float abs(float);
+ method public static int abs(int);
+ method public static long abs(long);
+ method public static double acos(double);
+ method public static double asin(double);
+ method public static double atan(double);
+ method public static double atan2(double, double);
+ method public static double cbrt(double);
+ method public static double ceil(double);
+ method public static double copySign(double, double);
+ method public static float copySign(float, float);
+ method public static double cos(double);
+ method public static double cosh(double);
+ method public static double exp(double);
+ method public static double expm1(double);
+ method public static double floor(double);
+ method public static int getExponent(float);
+ method public static int getExponent(double);
+ method public static double hypot(double, double);
+ method public static double log(double);
+ method public static double log10(double);
+ method public static double log1p(double);
+ method public static double max(double, double);
+ method public static float max(float, float);
+ method public static int max(int, int);
+ method public static long max(long, long);
+ method public static double min(double, double);
+ method public static float min(float, float);
+ method public static int min(int, int);
+ method public static long min(long, long);
+ method public static double nextAfter(double, double);
+ method public static float nextAfter(float, double);
+ method public static double nextUp(double);
+ method public static float nextUp(float);
+ method public static double pow(double, double);
+ method public static double random();
+ method public static double rint(double);
+ method public static long round(double);
+ method public static int round(float);
+ method public static double scalb(double, int);
+ method public static float scalb(float, int);
+ method public static double signum(double);
+ method public static float signum(float);
+ method public static double sin(double);
+ method public static double sinh(double);
+ method public static double sqrt(double);
+ method public static double tan(double);
+ method public static double tanh(double);
+ method public static double toDegrees(double);
+ method public static double toRadians(double);
+ method public static double ulp(double);
+ method public static float ulp(float);
+ field public static final double E = 2.718281828459045;
+ field public static final double PI = 3.141592653589793;
+ }
+
+ public final class String implements java.lang.CharSequence java.lang.Comparable java.io.Serializable {
+ ctor public String();
+ ctor public String(byte[]);
+ ctor public deprecated String(byte[], int);
+ ctor public String(byte[], int, int);
+ ctor public deprecated String(byte[], int, int, int);
+ ctor public String(byte[], int, int, java.lang.String) throws java.io.UnsupportedEncodingException;
+ ctor public String(byte[], java.lang.String) throws java.io.UnsupportedEncodingException;
+ ctor public String(byte[], int, int, java.nio.charset.Charset);
+ ctor public String(byte[], java.nio.charset.Charset);
+ ctor public String(char[]);
+ ctor public String(char[], int, int);
+ ctor public String(java.lang.String);
+ ctor public String(java.lang.StringBuffer);
+ ctor public String(int[], int, int);
+ ctor public String(java.lang.StringBuilder);
+ method public char charAt(int);
+ method public int codePointAt(int);
+ method public int codePointBefore(int);
+ method public int codePointCount(int, int);
+ method public int compareTo(java.lang.String);
+ method public int compareToIgnoreCase(java.lang.String);
+ method public java.lang.String concat(java.lang.String);
+ method public boolean contains(java.lang.CharSequence);
+ method public boolean contentEquals(java.lang.StringBuffer);
+ method public boolean contentEquals(java.lang.CharSequence);
+ method public static java.lang.String copyValueOf(char[]);
+ method public static java.lang.String copyValueOf(char[], int, int);
+ method public boolean endsWith(java.lang.String);
+ method public boolean equalsIgnoreCase(java.lang.String);
+ method public static java.lang.String format(java.lang.String, java.lang.Object...);
+ method public static java.lang.String format(java.util.Locale, java.lang.String, java.lang.Object...);
+ method public deprecated void getBytes(int, int, byte[], int);
+ method public byte[] getBytes();
+ method public byte[] getBytes(java.lang.String) throws java.io.UnsupportedEncodingException;
+ method public byte[] getBytes(java.nio.charset.Charset);
+ method public void getChars(int, int, char[], int);
+ method public int indexOf(int);
+ method public int indexOf(int, int);
+ method public int indexOf(java.lang.String);
+ method public int indexOf(java.lang.String, int);
+ method public java.lang.String intern();
+ method public boolean isEmpty();
+ method public int lastIndexOf(int);
+ method public int lastIndexOf(int, int);
+ method public int lastIndexOf(java.lang.String);
+ method public int lastIndexOf(java.lang.String, int);
+ method public int length();
+ method public boolean matches(java.lang.String);
+ method public int offsetByCodePoints(int, int);
+ method public boolean regionMatches(int, java.lang.String, int, int);
+ method public boolean regionMatches(boolean, int, java.lang.String, int, int);
+ method public java.lang.String replace(char, char);
+ method public java.lang.String replace(java.lang.CharSequence, java.lang.CharSequence);
+ method public java.lang.String replaceAll(java.lang.String, java.lang.String);
+ method public java.lang.String replaceFirst(java.lang.String, java.lang.String);
+ method public java.lang.String[] split(java.lang.String);
+ method public java.lang.String[] split(java.lang.String, int);
+ method public boolean startsWith(java.lang.String);
+ method public boolean startsWith(java.lang.String, int);
+ method public java.lang.CharSequence subSequence(int, int);
+ method public java.lang.String substring(int);
+ method public java.lang.String substring(int, int);
+ method public char[] toCharArray();
+ method public java.lang.String toLowerCase();
+ method public java.lang.String toLowerCase(java.util.Locale);
+ method public java.lang.String toUpperCase();
+ method public java.lang.String toUpperCase(java.util.Locale);
+ method public java.lang.String trim();
+ method public static java.lang.String valueOf(char[]);
+ method public static java.lang.String valueOf(char[], int, int);
+ method public static java.lang.String valueOf(char);
+ method public static java.lang.String valueOf(double);
+ method public static java.lang.String valueOf(float);
+ method public static java.lang.String valueOf(int);
+ method public static java.lang.String valueOf(long);
+ method public static java.lang.String valueOf(java.lang.Object);
+ method public static java.lang.String valueOf(boolean);
+ field public static final java.util.Comparator CASE_INSENSITIVE_ORDER;
+ }
+
+ public final class StringBuffer extends java.lang.AbstractStringBuilder implements java.lang.Appendable java.lang.CharSequence java.io.Serializable {
+ ctor public StringBuffer();
+ ctor public StringBuffer(int);
+ ctor public StringBuffer(java.lang.String);
+ ctor public StringBuffer(java.lang.CharSequence);
+ method public java.lang.StringBuffer append(boolean);
+ method public synchronized java.lang.StringBuffer append(char);
+ method public java.lang.StringBuffer append(double);
+ method public java.lang.StringBuffer append(float);
+ method public java.lang.StringBuffer append(int);
+ method public java.lang.StringBuffer append(long);
+ method public synchronized java.lang.StringBuffer append(java.lang.Object);
+ method public synchronized java.lang.StringBuffer append(java.lang.String);
+ method public synchronized java.lang.StringBuffer append(java.lang.StringBuffer);
+ method public synchronized java.lang.StringBuffer append(char[]);
+ method public synchronized java.lang.StringBuffer append(char[], int, int);
+ method public synchronized java.lang.StringBuffer append(java.lang.CharSequence);
+ method public synchronized java.lang.StringBuffer append(java.lang.CharSequence, int, int);
+ method public java.lang.StringBuffer appendCodePoint(int);
+ method public synchronized java.lang.StringBuffer delete(int, int);
+ method public synchronized java.lang.StringBuffer deleteCharAt(int);
+ method public synchronized java.lang.StringBuffer insert(int, char);
+ method public java.lang.StringBuffer insert(int, boolean);
+ method public java.lang.StringBuffer insert(int, int);
+ method public java.lang.StringBuffer insert(int, long);
+ method public java.lang.StringBuffer insert(int, double);
+ method public java.lang.StringBuffer insert(int, float);
+ method public java.lang.StringBuffer insert(int, java.lang.Object);
+ method public synchronized java.lang.StringBuffer insert(int, java.lang.String);
+ method public synchronized java.lang.StringBuffer insert(int, char[]);
+ method public synchronized java.lang.StringBuffer insert(int, char[], int, int);
+ method public synchronized java.lang.StringBuffer insert(int, java.lang.CharSequence);
+ method public synchronized java.lang.StringBuffer insert(int, java.lang.CharSequence, int, int);
+ method public synchronized java.lang.StringBuffer replace(int, int, java.lang.String);
+ method public synchronized java.lang.StringBuffer reverse();
+ }
+
+ public final class StringBuilder extends java.lang.AbstractStringBuilder implements java.lang.Appendable java.lang.CharSequence java.io.Serializable {
+ ctor public StringBuilder();
+ ctor public StringBuilder(int);
+ ctor public StringBuilder(java.lang.CharSequence);
+ ctor public StringBuilder(java.lang.String);
+ method public java.lang.StringBuilder append(boolean);
+ method public java.lang.StringBuilder append(char);
+ method public java.lang.StringBuilder append(int);
+ method public java.lang.StringBuilder append(long);
+ method public java.lang.StringBuilder append(float);
+ method public java.lang.StringBuilder append(double);
+ method public java.lang.StringBuilder append(java.lang.Object);
+ method public java.lang.StringBuilder append(java.lang.String);
+ method public java.lang.StringBuilder append(java.lang.StringBuffer);
+ method public java.lang.StringBuilder append(char[]);
+ method public java.lang.StringBuilder append(char[], int, int);
+ method public java.lang.StringBuilder append(java.lang.CharSequence);
+ method public java.lang.StringBuilder append(java.lang.CharSequence, int, int);
+ method public java.lang.StringBuilder appendCodePoint(int);
+ method public java.lang.StringBuilder delete(int, int);
+ method public java.lang.StringBuilder deleteCharAt(int);
+ method public java.lang.StringBuilder insert(int, boolean);
+ method public java.lang.StringBuilder insert(int, char);
+ method public java.lang.StringBuilder insert(int, int);
+ method public java.lang.StringBuilder insert(int, long);
+ method public java.lang.StringBuilder insert(int, float);
+ method public java.lang.StringBuilder insert(int, double);
+ method public java.lang.StringBuilder insert(int, java.lang.Object);
+ method public java.lang.StringBuilder insert(int, java.lang.String);
+ method public java.lang.StringBuilder insert(int, char[]);
+ method public java.lang.StringBuilder insert(int, char[], int, int);
+ method public java.lang.StringBuilder insert(int, java.lang.CharSequence);
+ method public java.lang.StringBuilder insert(int, java.lang.CharSequence, int, int);
+ method public java.lang.StringBuilder replace(int, int, java.lang.String);
+ method public java.lang.StringBuilder reverse();
+ }
+
+ public class StringIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
+ ctor public StringIndexOutOfBoundsException();
+ ctor public StringIndexOutOfBoundsException(int);
+ ctor public StringIndexOutOfBoundsException(java.lang.String);
+ }
+
+ public abstract class SuppressWarnings implements java.lang.annotation.Annotation {
+ }
+
+ public final class System {
+ method public static void arraycopy(java.lang.Object, int, java.lang.Object, int, int);
+ method public static java.lang.String clearProperty(java.lang.String);
+ method public static java.io.Console console();
+ method public static long currentTimeMillis();
+ method public static void exit(int);
+ method public static void gc();
+ method public static java.util.Properties getProperties();
+ method public static java.lang.String getProperty(java.lang.String);
+ method public static java.lang.String getProperty(java.lang.String, java.lang.String);
+ method public static java.lang.SecurityManager getSecurityManager();
+ method public static java.lang.String getenv(java.lang.String);
+ method public static java.util.Map<java.lang.String, java.lang.String> getenv();
+ method public static int identityHashCode(java.lang.Object);
+ method public static java.nio.channels.Channel inheritedChannel() throws java.io.IOException;
+ method public static void load(java.lang.String);
+ method public static void loadLibrary(java.lang.String);
+ method public static java.lang.String mapLibraryName(java.lang.String);
+ method public static long nanoTime();
+ method public static void runFinalization();
+ method public static deprecated void runFinalizersOnExit(boolean);
+ method public static void setErr(java.io.PrintStream);
+ method public static void setIn(java.io.InputStream);
+ method public static void setOut(java.io.PrintStream);
+ method public static void setProperties(java.util.Properties);
+ method public static java.lang.String setProperty(java.lang.String, java.lang.String);
+ method public static void setSecurityManager(java.lang.SecurityManager);
+ field public static final java.io.PrintStream err;
+ field public static final java.io.InputStream in;
+ field public static final java.io.PrintStream out;
+ }
+
+ public class Thread implements java.lang.Runnable {
+ ctor public Thread();
+ ctor public Thread(java.lang.Runnable);
+ ctor public Thread(java.lang.Runnable, java.lang.String);
+ ctor public Thread(java.lang.String);
+ ctor public Thread(java.lang.ThreadGroup, java.lang.Runnable);
+ ctor public Thread(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String);
+ ctor public Thread(java.lang.ThreadGroup, java.lang.String);
+ ctor public Thread(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String, long);
+ method public static int activeCount();
+ method public final void checkAccess();
+ method public deprecated int countStackFrames();
+ method public static java.lang.Thread currentThread();
+ method public deprecated void destroy();
+ method public static void dumpStack();
+ method public static int enumerate(java.lang.Thread[]);
+ method public static java.util.Map<java.lang.Thread, java.lang.StackTraceElement[]> getAllStackTraces();
+ method public java.lang.ClassLoader getContextClassLoader();
+ method public static java.lang.Thread.UncaughtExceptionHandler getDefaultUncaughtExceptionHandler();
+ method public long getId();
+ method public final java.lang.String getName();
+ method public final int getPriority();
+ method public java.lang.StackTraceElement[] getStackTrace();
+ method public java.lang.Thread.State getState();
+ method public final java.lang.ThreadGroup getThreadGroup();
+ method public java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionHandler();
+ method public static boolean holdsLock(java.lang.Object);
+ method public void interrupt();
+ method public static boolean interrupted();
+ method public final boolean isAlive();
+ method public final boolean isDaemon();
+ method public boolean isInterrupted();
+ method public final void join() throws java.lang.InterruptedException;
+ method public final void join(long) throws java.lang.InterruptedException;
+ method public final void join(long, int) throws java.lang.InterruptedException;
+ method public final deprecated void resume();
+ method public void run();
+ method public void setContextClassLoader(java.lang.ClassLoader);
+ method public final void setDaemon(boolean);
+ method public static void setDefaultUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler);
+ method public final void setName(java.lang.String);
+ method public final void setPriority(int);
+ method public void setUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler);
+ method public static void sleep(long) throws java.lang.InterruptedException;
+ method public static void sleep(long, int) throws java.lang.InterruptedException;
+ method public synchronized void start();
+ method public final deprecated void stop();
+ method public final deprecated synchronized void stop(java.lang.Throwable);
+ method public final deprecated void suspend();
+ method public static void yield();
+ field public static final int MAX_PRIORITY = 10; // 0xa
+ field public static final int MIN_PRIORITY = 1; // 0x1
+ field public static final int NORM_PRIORITY = 5; // 0x5
+ }
+
+ public static final class Thread.State extends java.lang.Enum {
+ method public static java.lang.Thread.State valueOf(java.lang.String);
+ method public static final java.lang.Thread.State[] values();
+ enum_constant public static final java.lang.Thread.State BLOCKED;
+ enum_constant public static final java.lang.Thread.State NEW;
+ enum_constant public static final java.lang.Thread.State RUNNABLE;
+ enum_constant public static final java.lang.Thread.State TERMINATED;
+ enum_constant public static final java.lang.Thread.State TIMED_WAITING;
+ enum_constant public static final java.lang.Thread.State WAITING;
+ }
+
+ public static abstract interface Thread.UncaughtExceptionHandler {
+ method public abstract void uncaughtException(java.lang.Thread, java.lang.Throwable);
+ }
+
+ public class ThreadDeath extends java.lang.Error {
+ ctor public ThreadDeath();
+ }
+
+ public class ThreadGroup implements java.lang.Thread.UncaughtExceptionHandler {
+ ctor public ThreadGroup(java.lang.String);
+ ctor public ThreadGroup(java.lang.ThreadGroup, java.lang.String);
+ method public int activeCount();
+ method public int activeGroupCount();
+ method public deprecated boolean allowThreadSuspension(boolean);
+ method public final void checkAccess();
+ method public final void destroy();
+ method public int enumerate(java.lang.Thread[]);
+ method public int enumerate(java.lang.Thread[], boolean);
+ method public int enumerate(java.lang.ThreadGroup[]);
+ method public int enumerate(java.lang.ThreadGroup[], boolean);
+ method public final int getMaxPriority();
+ method public final java.lang.String getName();
+ method public final java.lang.ThreadGroup getParent();
+ method public final void interrupt();
+ method public final boolean isDaemon();
+ method public synchronized boolean isDestroyed();
+ method public void list();
+ method public final boolean parentOf(java.lang.ThreadGroup);
+ method public final deprecated void resume();
+ method public final void setDaemon(boolean);
+ method public final void setMaxPriority(int);
+ method public final deprecated void stop();
+ method public final deprecated void suspend();
+ method public void uncaughtException(java.lang.Thread, java.lang.Throwable);
+ }
+
+ public class ThreadLocal {
+ ctor public ThreadLocal();
+ method public T get();
+ method protected T initialValue();
+ method public void remove();
+ method public void set(T);
+ }
+
+ public class Throwable implements java.io.Serializable {
+ ctor public Throwable();
+ ctor public Throwable(java.lang.String);
+ ctor public Throwable(java.lang.String, java.lang.Throwable);
+ ctor public Throwable(java.lang.Throwable);
+ method public java.lang.Throwable fillInStackTrace();
+ method public java.lang.Throwable getCause();
+ method public java.lang.String getLocalizedMessage();
+ method public java.lang.String getMessage();
+ method public java.lang.StackTraceElement[] getStackTrace();
+ method public java.lang.Throwable initCause(java.lang.Throwable);
+ method public void printStackTrace();
+ method public void printStackTrace(java.io.PrintStream);
+ method public void printStackTrace(java.io.PrintWriter);
+ method public void setStackTrace(java.lang.StackTraceElement[]);
+ }
+
+ public class TypeNotPresentException extends java.lang.RuntimeException {
+ ctor public TypeNotPresentException(java.lang.String, java.lang.Throwable);
+ method public java.lang.String typeName();
+ }
+
+ public class UnknownError extends java.lang.VirtualMachineError {
+ ctor public UnknownError();
+ ctor public UnknownError(java.lang.String);
+ }
+
+ public class UnsatisfiedLinkError extends java.lang.LinkageError {
+ ctor public UnsatisfiedLinkError();
+ ctor public UnsatisfiedLinkError(java.lang.String);
+ }
+
+ public class UnsupportedClassVersionError extends java.lang.ClassFormatError {
+ ctor public UnsupportedClassVersionError();
+ ctor public UnsupportedClassVersionError(java.lang.String);
+ }
+
+ public class UnsupportedOperationException extends java.lang.RuntimeException {
+ ctor public UnsupportedOperationException();
+ ctor public UnsupportedOperationException(java.lang.String);
+ ctor public UnsupportedOperationException(java.lang.String, java.lang.Throwable);
+ ctor public UnsupportedOperationException(java.lang.Throwable);
+ }
+
+ public class VerifyError extends java.lang.LinkageError {
+ ctor public VerifyError();
+ ctor public VerifyError(java.lang.String);
+ }
+
+ public abstract class VirtualMachineError extends java.lang.Error {
+ ctor public VirtualMachineError();
+ ctor public VirtualMachineError(java.lang.String);
+ }
+
+ public final class Void {
+ field public static final java.lang.Class TYPE;
+ }
+
+}
+
+package java.lang.annotation {
+
+ public abstract interface Annotation {
+ method public abstract java.lang.Class<? extends java.lang.annotation.Annotation> annotationType();
+ method public abstract boolean equals(java.lang.Object);
+ method public abstract int hashCode();
+ method public abstract java.lang.String toString();
+ }
+
+ public class AnnotationFormatError extends java.lang.Error {
+ ctor public AnnotationFormatError(java.lang.String);
+ ctor public AnnotationFormatError(java.lang.String, java.lang.Throwable);
+ ctor public AnnotationFormatError(java.lang.Throwable);
+ }
+
+ public class AnnotationTypeMismatchException extends java.lang.RuntimeException {
+ ctor public AnnotationTypeMismatchException(java.lang.reflect.Method, java.lang.String);
+ method public java.lang.reflect.Method element();
+ method public java.lang.String foundType();
+ }
+
+ public abstract class Documented implements java.lang.annotation.Annotation {
+ }
+
+ public final class ElementType extends java.lang.Enum {
+ method public static java.lang.annotation.ElementType valueOf(java.lang.String);
+ method public static final java.lang.annotation.ElementType[] values();
+ enum_constant public static final java.lang.annotation.ElementType ANNOTATION_TYPE;
+ enum_constant public static final java.lang.annotation.ElementType CONSTRUCTOR;
+ enum_constant public static final java.lang.annotation.ElementType FIELD;
+ enum_constant public static final java.lang.annotation.ElementType LOCAL_VARIABLE;
+ enum_constant public static final java.lang.annotation.ElementType METHOD;
+ enum_constant public static final java.lang.annotation.ElementType PACKAGE;
+ enum_constant public static final java.lang.annotation.ElementType PARAMETER;
+ enum_constant public static final java.lang.annotation.ElementType TYPE;
+ }
+
+ public class IncompleteAnnotationException extends java.lang.RuntimeException {
+ ctor public IncompleteAnnotationException(java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.String);
+ method public java.lang.Class<? extends java.lang.annotation.Annotation> annotationType();
+ method public java.lang.String elementName();
+ }
+
+ public abstract class Inherited implements java.lang.annotation.Annotation {
+ }
+
+ public abstract class Retention implements java.lang.annotation.Annotation {
+ }
+
+ public final class RetentionPolicy extends java.lang.Enum {
+ method public static java.lang.annotation.RetentionPolicy valueOf(java.lang.String);
+ method public static final java.lang.annotation.RetentionPolicy[] values();
+ enum_constant public static final java.lang.annotation.RetentionPolicy CLASS;
+ enum_constant public static final java.lang.annotation.RetentionPolicy RUNTIME;
+ enum_constant public static final java.lang.annotation.RetentionPolicy SOURCE;
+ }
+
+ public abstract class Target implements java.lang.annotation.Annotation {
+ }
+
+}
+
+package java.lang.ref {
+
+ public class PhantomReference extends java.lang.ref.Reference {
+ ctor public PhantomReference(T, java.lang.ref.ReferenceQueue<? super T>);
+ }
+
+ public abstract class Reference {
+ method public void clear();
+ method public boolean enqueue();
+ method public T get();
+ method public boolean isEnqueued();
+ }
+
+ public class ReferenceQueue {
+ ctor public ReferenceQueue();
+ method public synchronized java.lang.ref.Reference<? extends T> poll();
+ method public java.lang.ref.Reference<? extends T> remove() throws java.lang.InterruptedException;
+ method public synchronized java.lang.ref.Reference<? extends T> remove(long) throws java.lang.InterruptedException;
+ }
+
+ public class SoftReference extends java.lang.ref.Reference {
+ ctor public SoftReference(T);
+ ctor public SoftReference(T, java.lang.ref.ReferenceQueue<? super T>);
+ }
+
+ public class WeakReference extends java.lang.ref.Reference {
+ ctor public WeakReference(T);
+ ctor public WeakReference(T, java.lang.ref.ReferenceQueue<? super T>);
+ }
+
+}
+
+package java.lang.reflect {
+
+ public class AccessibleObject implements java.lang.reflect.AnnotatedElement {
+ ctor protected AccessibleObject();
+ method public T getAnnotation(java.lang.Class<T>);
+ method public java.lang.annotation.Annotation[] getAnnotations();
+ method public java.lang.annotation.Annotation[] getDeclaredAnnotations();
+ method public boolean isAccessible();
+ method public boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>);
+ method public static void setAccessible(java.lang.reflect.AccessibleObject[], boolean);
+ method public void setAccessible(boolean);
+ }
+
+ public abstract interface AnnotatedElement {
+ method public abstract T getAnnotation(java.lang.Class<T>);
+ method public abstract java.lang.annotation.Annotation[] getAnnotations();
+ method public abstract java.lang.annotation.Annotation[] getDeclaredAnnotations();
+ method public abstract boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>);
+ }
+
+ public final class Array {
+ method public static java.lang.Object get(java.lang.Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static boolean getBoolean(java.lang.Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static byte getByte(java.lang.Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static char getChar(java.lang.Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static double getDouble(java.lang.Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static float getFloat(java.lang.Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static int getInt(java.lang.Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static int getLength(java.lang.Object);
+ method public static long getLong(java.lang.Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static short getShort(java.lang.Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static java.lang.Object newInstance(java.lang.Class<?>, int...) throws java.lang.IllegalArgumentException, java.lang.NegativeArraySizeException;
+ method public static java.lang.Object newInstance(java.lang.Class<?>, int) throws java.lang.NegativeArraySizeException;
+ method public static void set(java.lang.Object, int, java.lang.Object) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static void setBoolean(java.lang.Object, int, boolean);
+ method public static void setByte(java.lang.Object, int, byte) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static void setChar(java.lang.Object, int, char) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static void setDouble(java.lang.Object, int, double) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static void setFloat(java.lang.Object, int, float) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static void setInt(java.lang.Object, int, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static void setLong(java.lang.Object, int, long) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ method public static void setShort(java.lang.Object, int, short) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+ }
+
+ public final class Constructor extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member {
+ method public A getAnnotation(java.lang.Class<A>);
+ method public java.lang.Class<T> getDeclaringClass();
+ method public java.lang.Class<?>[] getExceptionTypes();
+ method public java.lang.reflect.Type[] getGenericExceptionTypes();
+ method public java.lang.reflect.Type[] getGenericParameterTypes();
+ method public int getModifiers();
+ method public java.lang.String getName();
+ method public java.lang.annotation.Annotation[][] getParameterAnnotations();
+ method public java.lang.Class<?>[] getParameterTypes();
+ method public java.lang.reflect.TypeVariable<java.lang.reflect.Constructor<T>>[] getTypeParameters();
+ method public boolean isSynthetic();
+ method public boolean isVarArgs();
+ method public T newInstance(java.lang.Object...) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException;
+ method public java.lang.String toGenericString();
+ }
+
+ public final class Field extends java.lang.reflect.AccessibleObject implements java.lang.reflect.Member {
+ method public java.lang.Object get(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public A getAnnotation(java.lang.Class<A>);
+ method public boolean getBoolean(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public byte getByte(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public char getChar(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public java.lang.Class<?> getDeclaringClass();
+ method public double getDouble(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public float getFloat(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public java.lang.reflect.Type getGenericType();
+ method public int getInt(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public long getLong(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public int getModifiers();
+ method public java.lang.String getName();
+ method public short getShort(java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public java.lang.Class<?> getType();
+ method public boolean isEnumConstant();
+ method public boolean isSynthetic();
+ method public void set(java.lang.Object, java.lang.Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public void setBoolean(java.lang.Object, boolean) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public void setByte(java.lang.Object, byte) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public void setChar(java.lang.Object, char) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public void setDouble(java.lang.Object, double) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public void setFloat(java.lang.Object, float) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public void setInt(java.lang.Object, int) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public void setLong(java.lang.Object, long) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public void setShort(java.lang.Object, short) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+ method public java.lang.String toGenericString();
+ }
+
+ public abstract interface GenericArrayType implements java.lang.reflect.Type {
+ method public abstract java.lang.reflect.Type getGenericComponentType();
+ }
+
+ public abstract interface GenericDeclaration {
+ method public abstract java.lang.reflect.TypeVariable<?>[] getTypeParameters();
+ }
+
+ public class GenericSignatureFormatError extends java.lang.ClassFormatError {
+ ctor public GenericSignatureFormatError();
+ }
+
+ public abstract interface InvocationHandler {
+ method public abstract java.lang.Object invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) throws java.lang.Throwable;
+ }
+
+ public class InvocationTargetException extends java.lang.Exception {
+ ctor protected InvocationTargetException();
+ ctor public InvocationTargetException(java.lang.Throwable);
+ ctor public InvocationTargetException(java.lang.Throwable, java.lang.String);
+ method public java.lang.Throwable getTargetException();
+ }
+
+ public class MalformedParameterizedTypeException extends java.lang.RuntimeException {
+ ctor public MalformedParameterizedTypeException();
+ }
+
+ public abstract interface Member {
+ method public abstract java.lang.Class<?> getDeclaringClass();
+ method public abstract int getModifiers();
+ method public abstract java.lang.String getName();
+ method public abstract boolean isSynthetic();
+ field public static final int DECLARED = 1; // 0x1
+ field public static final int PUBLIC = 0; // 0x0
+ }
+
+ public final class Method extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member {
+ method public A getAnnotation(java.lang.Class<A>);
+ method public java.lang.Class<?> getDeclaringClass();
+ method public java.lang.Object getDefaultValue();
+ method public java.lang.Class<?>[] getExceptionTypes();
+ method public java.lang.reflect.Type[] getGenericExceptionTypes();
+ method public java.lang.reflect.Type[] getGenericParameterTypes();
+ method public java.lang.reflect.Type getGenericReturnType();
+ method public int getModifiers();
+ method public java.lang.String getName();
+ method public java.lang.annotation.Annotation[][] getParameterAnnotations();
+ method public java.lang.Class<?>[] getParameterTypes();
+ method public java.lang.Class<?> getReturnType();
+ method public java.lang.reflect.TypeVariable<java.lang.reflect.Method>[] getTypeParameters();
+ method public java.lang.Object invoke(java.lang.Object, java.lang.Object...) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException;
+ method public boolean isBridge();
+ method public boolean isSynthetic();
+ method public boolean isVarArgs();
+ method public java.lang.String toGenericString();
+ }
+
+ public class Modifier {
+ ctor public Modifier();
+ method public static boolean isAbstract(int);
+ method public static boolean isFinal(int);
+ method public static boolean isInterface(int);
+ method public static boolean isNative(int);
+ method public static boolean isPrivate(int);
+ method public static boolean isProtected(int);
+ method public static boolean isPublic(int);
+ method public static boolean isStatic(int);
+ method public static boolean isStrict(int);
+ method public static boolean isSynchronized(int);
+ method public static boolean isTransient(int);
+ method public static boolean isVolatile(int);
+ method public static java.lang.String toString(int);
+ field public static final int ABSTRACT = 1024; // 0x400
+ field public static final int FINAL = 16; // 0x10
+ field public static final int INTERFACE = 512; // 0x200
+ field public static final int NATIVE = 256; // 0x100
+ field public static final int PRIVATE = 2; // 0x2
+ field public static final int PROTECTED = 4; // 0x4
+ field public static final int PUBLIC = 1; // 0x1
+ field public static final int STATIC = 8; // 0x8
+ field public static final int STRICT = 2048; // 0x800
+ field public static final int SYNCHRONIZED = 32; // 0x20
+ field public static final int TRANSIENT = 128; // 0x80
+ field public static final int VOLATILE = 64; // 0x40
+ }
+
+ public abstract interface ParameterizedType implements java.lang.reflect.Type {
+ method public abstract java.lang.reflect.Type[] getActualTypeArguments();
+ method public abstract java.lang.reflect.Type getOwnerType();
+ method public abstract java.lang.reflect.Type getRawType();
+ }
+
+ public class Proxy implements java.io.Serializable {
+ ctor protected Proxy(java.lang.reflect.InvocationHandler);
+ method public static java.lang.reflect.InvocationHandler getInvocationHandler(java.lang.Object) throws java.lang.IllegalArgumentException;
+ method public static java.lang.Class<?> getProxyClass(java.lang.ClassLoader, java.lang.Class<?>...) throws java.lang.IllegalArgumentException;
+ method public static boolean isProxyClass(java.lang.Class<?>);
+ method public static java.lang.Object newProxyInstance(java.lang.ClassLoader, java.lang.Class<?>[], java.lang.reflect.InvocationHandler) throws java.lang.IllegalArgumentException;
+ field protected java.lang.reflect.InvocationHandler h;
+ }
+
+ public final class ReflectPermission extends java.security.BasicPermission {
+ ctor public ReflectPermission(java.lang.String);
+ ctor public ReflectPermission(java.lang.String, java.lang.String);
+ }
+
+ public abstract interface Type {
+ }
+
+ public abstract interface TypeVariable implements java.lang.reflect.Type {
+ method public abstract java.lang.reflect.Type[] getBounds();
+ method public abstract D getGenericDeclaration();
+ method public abstract java.lang.String getName();
+ }
+
+ public class UndeclaredThrowableException extends java.lang.RuntimeException {
+ ctor public UndeclaredThrowableException(java.lang.Throwable);
+ ctor public UndeclaredThrowableException(java.lang.Throwable, java.lang.String);
+ method public java.lang.Throwable getUndeclaredThrowable();
+ }
+
+ public abstract interface WildcardType implements java.lang.reflect.Type {
+ method public abstract java.lang.reflect.Type[] getLowerBounds();
+ method public abstract java.lang.reflect.Type[] getUpperBounds();
+ }
+
+}
+
+package java.math {
+
+ public class BigDecimal extends java.lang.Number implements java.lang.Comparable java.io.Serializable {
+ ctor public BigDecimal(char[], int, int);
+ ctor public BigDecimal(char[], int, int, java.math.MathContext);
+ ctor public BigDecimal(char[]);
+ ctor public BigDecimal(char[], java.math.MathContext);
+ ctor public BigDecimal(java.lang.String);
+ ctor public BigDecimal(java.lang.String, java.math.MathContext);
+ ctor public BigDecimal(double);
+ ctor public BigDecimal(double, java.math.MathContext);
+ ctor public BigDecimal(java.math.BigInteger);
+ ctor public BigDecimal(java.math.BigInteger, java.math.MathContext);
+ ctor public BigDecimal(java.math.BigInteger, int);
+ ctor public BigDecimal(java.math.BigInteger, int, java.math.MathContext);
+ ctor public BigDecimal(int);
+ ctor public BigDecimal(int, java.math.MathContext);
+ ctor public BigDecimal(long);
+ ctor public BigDecimal(long, java.math.MathContext);
+ method public java.math.BigDecimal abs();
+ method public java.math.BigDecimal abs(java.math.MathContext);
+ method public java.math.BigDecimal add(java.math.BigDecimal);
+ method public java.math.BigDecimal add(java.math.BigDecimal, java.math.MathContext);
+ method public byte byteValueExact();
+ method public int compareTo(java.math.BigDecimal);
+ method public java.math.BigDecimal divide(java.math.BigDecimal, int, int);
+ method public java.math.BigDecimal divide(java.math.BigDecimal, int, java.math.RoundingMode);
+ method public java.math.BigDecimal divide(java.math.BigDecimal, int);
+ method public java.math.BigDecimal divide(java.math.BigDecimal, java.math.RoundingMode);
+ method public java.math.BigDecimal divide(java.math.BigDecimal);
+ method public java.math.BigDecimal divide(java.math.BigDecimal, java.math.MathContext);
+ method public java.math.BigDecimal[] divideAndRemainder(java.math.BigDecimal);
+ method public java.math.BigDecimal[] divideAndRemainder(java.math.BigDecimal, java.math.MathContext);
+ method public java.math.BigDecimal divideToIntegralValue(java.math.BigDecimal);
+ method public java.math.BigDecimal divideToIntegralValue(java.math.BigDecimal, java.math.MathContext);
+ method public double doubleValue();
+ method public float floatValue();
+ method public int intValue();
+ method public int intValueExact();
+ method public long longValue();
+ method public long longValueExact();
+ method public java.math.BigDecimal max(java.math.BigDecimal);
+ method public java.math.BigDecimal min(java.math.BigDecimal);
+ method public java.math.BigDecimal movePointLeft(int);
+ method public java.math.BigDecimal movePointRight(int);
+ method public java.math.BigDecimal multiply(java.math.BigDecimal);
+ method public java.math.BigDecimal multiply(java.math.BigDecimal, java.math.MathContext);
+ method public java.math.BigDecimal negate();
+ method public java.math.BigDecimal negate(java.math.MathContext);
+ method public java.math.BigDecimal plus();
+ method public java.math.BigDecimal plus(java.math.MathContext);
+ method public java.math.BigDecimal pow(int);
+ method public java.math.BigDecimal pow(int, java.math.MathContext);
+ method public int precision();
+ method public java.math.BigDecimal remainder(java.math.BigDecimal);
+ method public java.math.BigDecimal remainder(java.math.BigDecimal, java.math.MathContext);
+ method public java.math.BigDecimal round(java.math.MathContext);
+ method public int scale();
+ method public java.math.BigDecimal scaleByPowerOfTen(int);
+ method public java.math.BigDecimal setScale(int, java.math.RoundingMode);
+ method public java.math.BigDecimal setScale(int, int);
+ method public java.math.BigDecimal setScale(int);
+ method public short shortValueExact();
+ method public int signum();
+ method public java.math.BigDecimal stripTrailingZeros();
+ method public java.math.BigDecimal subtract(java.math.BigDecimal);
+ method public java.math.BigDecimal subtract(java.math.BigDecimal, java.math.MathContext);
+ method public java.math.BigInteger toBigInteger();
+ method public java.math.BigInteger toBigIntegerExact();
+ method public java.lang.String toEngineeringString();
+ method public java.lang.String toPlainString();
+ method public java.math.BigDecimal ulp();
+ method public java.math.BigInteger unscaledValue();
+ method public static java.math.BigDecimal valueOf(long, int);
+ method public static java.math.BigDecimal valueOf(long);
+ method public static java.math.BigDecimal valueOf(double);
+ field public static final java.math.BigDecimal ONE;
+ field public static final int ROUND_CEILING = 2; // 0x2
+ field public static final int ROUND_DOWN = 1; // 0x1
+ field public static final int ROUND_FLOOR = 3; // 0x3
+ field public static final int ROUND_HALF_DOWN = 5; // 0x5
+ field public static final int ROUND_HALF_EVEN = 6; // 0x6
+ field public static final int ROUND_HALF_UP = 4; // 0x4
+ field public static final int ROUND_UNNECESSARY = 7; // 0x7
+ field public static final int ROUND_UP = 0; // 0x0
+ field public static final java.math.BigDecimal TEN;
+ field public static final java.math.BigDecimal ZERO;
+ }
+
+ public class BigInteger extends java.lang.Number implements java.lang.Comparable java.io.Serializable {
+ ctor public BigInteger(int, java.util.Random);
+ ctor public BigInteger(int, int, java.util.Random);
+ ctor public BigInteger(java.lang.String);
+ ctor public BigInteger(java.lang.String, int);
+ ctor public BigInteger(int, byte[]);
+ ctor public BigInteger(byte[]);
+ method public java.math.BigInteger abs();
+ method public java.math.BigInteger add(java.math.BigInteger);
+ method public java.math.BigInteger and(java.math.BigInteger);
+ method public java.math.BigInteger andNot(java.math.BigInteger);
+ method public int bitCount();
+ method public int bitLength();
+ method public java.math.BigInteger clearBit(int);
+ method public int compareTo(java.math.BigInteger);
+ method public java.math.BigInteger divide(java.math.BigInteger);
+ method public java.math.BigInteger[] divideAndRemainder(java.math.BigInteger);
+ method public double doubleValue();
+ method public java.math.BigInteger flipBit(int);
+ method public float floatValue();
+ method public java.math.BigInteger gcd(java.math.BigInteger);
+ method public int getLowestSetBit();
+ method public int intValue();
+ method public boolean isProbablePrime(int);
+ method public long longValue();
+ method public java.math.BigInteger max(java.math.BigInteger);
+ method public java.math.BigInteger min(java.math.BigInteger);
+ method public java.math.BigInteger mod(java.math.BigInteger);
+ method public java.math.BigInteger modInverse(java.math.BigInteger);
+ method public java.math.BigInteger modPow(java.math.BigInteger, java.math.BigInteger);
+ method public java.math.BigInteger multiply(java.math.BigInteger);
+ method public java.math.BigInteger negate();
+ method public java.math.BigInteger nextProbablePrime();
+ method public java.math.BigInteger not();
+ method public java.math.BigInteger or(java.math.BigInteger);
+ method public java.math.BigInteger pow(int);
+ method public static java.math.BigInteger probablePrime(int, java.util.Random);
+ method public java.math.BigInteger remainder(java.math.BigInteger);
+ method public java.math.BigInteger setBit(int);
+ method public java.math.BigInteger shiftLeft(int);
+ method public java.math.BigInteger shiftRight(int);
+ method public int signum();
+ method public java.math.BigInteger subtract(java.math.BigInteger);
+ method public boolean testBit(int);
+ method public byte[] toByteArray();
+ method public java.lang.String toString(int);
+ method public static java.math.BigInteger valueOf(long);
+ method public java.math.BigInteger xor(java.math.BigInteger);
+ field public static final java.math.BigInteger ONE;
+ field public static final java.math.BigInteger TEN;
+ field public static final java.math.BigInteger ZERO;
+ }
+
+ public final class MathContext implements java.io.Serializable {
+ ctor public MathContext(int);
+ ctor public MathContext(int, java.math.RoundingMode);
+ ctor public MathContext(java.lang.String);
+ method public int getPrecision();
+ method public java.math.RoundingMode getRoundingMode();
+ field public static final java.math.MathContext DECIMAL128;
+ field public static final java.math.MathContext DECIMAL32;
+ field public static final java.math.MathContext DECIMAL64;
+ field public static final java.math.MathContext UNLIMITED;
+ }
+
+ public final class RoundingMode extends java.lang.Enum {
+ method public static java.math.RoundingMode valueOf(java.lang.String);
+ method public static java.math.RoundingMode valueOf(int);
+ method public static final java.math.RoundingMode[] values();
+ enum_constant public static final java.math.RoundingMode CEILING;
+ enum_constant public static final java.math.RoundingMode DOWN;
+ enum_constant public static final java.math.RoundingMode FLOOR;
+ enum_constant public static final java.math.RoundingMode HALF_DOWN;
+ enum_constant public static final java.math.RoundingMode HALF_EVEN;
+ enum_constant public static final java.math.RoundingMode HALF_UP;
+ enum_constant public static final java.math.RoundingMode UNNECESSARY;
+ enum_constant public static final java.math.RoundingMode UP;
+ }
+
+}
+
+package java.net {
+
+ public abstract class Authenticator {
+ ctor public Authenticator();
+ method protected java.net.PasswordAuthentication getPasswordAuthentication();
+ method protected final java.lang.String getRequestingHost();
+ method protected final int getRequestingPort();
+ method protected final java.lang.String getRequestingPrompt();
+ method protected final java.lang.String getRequestingProtocol();
+ method protected final java.lang.String getRequestingScheme();
+ method protected final java.net.InetAddress getRequestingSite();
+ method protected java.net.URL getRequestingURL();
+ method protected java.net.Authenticator.RequestorType getRequestorType();
+ method public static synchronized java.net.PasswordAuthentication requestPasswordAuthentication(java.net.InetAddress, int, java.lang.String, java.lang.String, java.lang.String);
+ method public static synchronized java.net.PasswordAuthentication requestPasswordAuthentication(java.lang.String, java.net.InetAddress, int, java.lang.String, java.lang.String, java.lang.String);
+ method public static java.net.PasswordAuthentication requestPasswordAuthentication(java.lang.String, java.net.InetAddress, int, java.lang.String, java.lang.String, java.lang.String, java.net.URL, java.net.Authenticator.RequestorType);
+ method public static void setDefault(java.net.Authenticator);
+ }
+
+ public static final class Authenticator.RequestorType extends java.lang.Enum {
+ method public static java.net.Authenticator.RequestorType valueOf(java.lang.String);
+ method public static final java.net.Authenticator.RequestorType[] values();
+ enum_constant public static final java.net.Authenticator.RequestorType PROXY;
+ enum_constant public static final java.net.Authenticator.RequestorType SERVER;
+ }
+
+ public class BindException extends java.net.SocketException {
+ ctor public BindException();
+ ctor public BindException(java.lang.String);
+ }
+
+ public abstract class CacheRequest {
+ ctor public CacheRequest();
+ method public abstract void abort();
+ method public abstract java.io.OutputStream getBody() throws java.io.IOException;
+ }
+
+ public abstract class CacheResponse {
+ ctor public CacheResponse();
+ method public abstract java.io.InputStream getBody() throws java.io.IOException;
+ method public abstract java.util.Map<java.lang.String, java.util.List<java.lang.String>> getHeaders() throws java.io.IOException;
+ }
+
+ public class ConnectException extends java.net.SocketException {
+ ctor public ConnectException();
+ ctor public ConnectException(java.lang.String);
+ }
+
+ public abstract class ContentHandler {
+ ctor public ContentHandler();
+ method public abstract java.lang.Object getContent(java.net.URLConnection) throws java.io.IOException;
+ method public java.lang.Object getContent(java.net.URLConnection, java.lang.Class[]) throws java.io.IOException;
+ }
+
+ public abstract interface ContentHandlerFactory {
+ method public abstract java.net.ContentHandler createContentHandler(java.lang.String);
+ }
+
+ public abstract class CookieHandler {
+ ctor public CookieHandler();
+ method public abstract java.util.Map<java.lang.String, java.util.List<java.lang.String>> get(java.net.URI, java.util.Map<java.lang.String, java.util.List<java.lang.String>>) throws java.io.IOException;
+ method public static java.net.CookieHandler getDefault();
+ method public abstract void put(java.net.URI, java.util.Map<java.lang.String, java.util.List<java.lang.String>>) throws java.io.IOException;
+ method public static void setDefault(java.net.CookieHandler);
+ }
+
+ public class CookieManager extends java.net.CookieHandler {
+ ctor public CookieManager();
+ ctor public CookieManager(java.net.CookieStore, java.net.CookiePolicy);
+ method public java.util.Map<java.lang.String, java.util.List<java.lang.String>> get(java.net.URI, java.util.Map<java.lang.String, java.util.List<java.lang.String>>) throws java.io.IOException;
+ method public java.net.CookieStore getCookieStore();
+ method public void put(java.net.URI, java.util.Map<java.lang.String, java.util.List<java.lang.String>>) throws java.io.IOException;
+ method public void setCookiePolicy(java.net.CookiePolicy);
+ }
+
+ public abstract interface CookiePolicy {
+ method public abstract boolean shouldAccept(java.net.URI, java.net.HttpCookie);
+ field public static final java.net.CookiePolicy ACCEPT_ALL;
+ field public static final java.net.CookiePolicy ACCEPT_NONE;
+ field public static final java.net.CookiePolicy ACCEPT_ORIGINAL_SERVER;
+ }
+
+ public abstract interface CookieStore {
+ method public abstract void add(java.net.URI, java.net.HttpCookie);
+ method public abstract java.util.List<java.net.HttpCookie> get(java.net.URI);
+ method public abstract java.util.List<java.net.HttpCookie> getCookies();
+ method public abstract java.util.List<java.net.URI> getURIs();
+ method public abstract boolean remove(java.net.URI, java.net.HttpCookie);
+ method public abstract boolean removeAll();
+ }
+
+ public final class DatagramPacket {
+ ctor public DatagramPacket(byte[], int);
+ ctor public DatagramPacket(byte[], int, int);
+ ctor public DatagramPacket(byte[], int, int, java.net.InetAddress, int);
+ ctor public DatagramPacket(byte[], int, java.net.InetAddress, int);
+ ctor public DatagramPacket(byte[], int, java.net.SocketAddress) throws java.net.SocketException;
+ ctor public DatagramPacket(byte[], int, int, java.net.SocketAddress) throws java.net.SocketException;
+ method public synchronized java.net.InetAddress getAddress();
+ method public synchronized byte[] getData();
+ method public synchronized int getLength();
+ method public synchronized int getOffset();
+ method public synchronized int getPort();
+ method public synchronized java.net.SocketAddress getSocketAddress();
+ method public synchronized void setAddress(java.net.InetAddress);
+ method public synchronized void setData(byte[], int, int);
+ method public synchronized void setData(byte[]);
+ method public synchronized void setLength(int);
+ method public synchronized void setPort(int);
+ method public synchronized void setSocketAddress(java.net.SocketAddress);
+ }
+
+ public class DatagramSocket {
+ ctor public DatagramSocket() throws java.net.SocketException;
+ ctor public DatagramSocket(int) throws java.net.SocketException;
+ ctor public DatagramSocket(int, java.net.InetAddress) throws java.net.SocketException;
+ ctor protected DatagramSocket(java.net.DatagramSocketImpl);
+ ctor public DatagramSocket(java.net.SocketAddress) throws java.net.SocketException;
+ method public void bind(java.net.SocketAddress) throws java.net.SocketException;
+ method public void close();
+ method public void connect(java.net.SocketAddress) throws java.net.SocketException;
+ method public void connect(java.net.InetAddress, int);
+ method public void disconnect();
+ method public boolean getBroadcast() throws java.net.SocketException;
+ method public java.nio.channels.DatagramChannel getChannel();
+ method public java.net.InetAddress getInetAddress();
+ method public java.net.InetAddress getLocalAddress();
+ method public int getLocalPort();
+ method public java.net.SocketAddress getLocalSocketAddress();
+ method public int getPort();
+ method public synchronized int getReceiveBufferSize() throws java.net.SocketException;
+ method public java.net.SocketAddress getRemoteSocketAddress();
+ method public boolean getReuseAddress() throws java.net.SocketException;
+ method public synchronized int getSendBufferSize() throws java.net.SocketException;
+ method public synchronized int getSoTimeout() throws java.net.SocketException;
+ method public int getTrafficClass() throws java.net.SocketException;
+ method public boolean isBound();
+ method public boolean isClosed();
+ method public boolean isConnected();
+ method public synchronized void receive(java.net.DatagramPacket) throws java.io.IOException;
+ method public void send(java.net.DatagramPacket) throws java.io.IOException;
+ method public void setBroadcast(boolean) throws java.net.SocketException;
+ method public static synchronized void setDatagramSocketImplFactory(java.net.DatagramSocketImplFactory) throws java.io.IOException;
+ method public synchronized void setReceiveBufferSize(int) throws java.net.SocketException;
+ method public void setReuseAddress(boolean) throws java.net.SocketException;
+ method public synchronized void setSendBufferSize(int) throws java.net.SocketException;
+ method public synchronized void setSoTimeout(int) throws java.net.SocketException;
+ method public void setTrafficClass(int) throws java.net.SocketException;
+ }
+
+ public abstract class DatagramSocketImpl implements java.net.SocketOptions {
+ ctor public DatagramSocketImpl();
+ method protected abstract void bind(int, java.net.InetAddress) throws java.net.SocketException;
+ method protected abstract void close();
+ method protected void connect(java.net.InetAddress, int) throws java.net.SocketException;
+ method protected abstract void create() throws java.net.SocketException;
+ method protected void disconnect();
+ method protected java.io.FileDescriptor getFileDescriptor();
+ method protected int getLocalPort();
+ method protected abstract deprecated byte getTTL() throws java.io.IOException;
+ method protected abstract int getTimeToLive() throws java.io.IOException;
+ method protected abstract void join(java.net.InetAddress) throws java.io.IOException;
+ method protected abstract void joinGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException;
+ method protected abstract void leave(java.net.InetAddress) throws java.io.IOException;
+ method protected abstract void leaveGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException;
+ method protected abstract int peek(java.net.InetAddress) throws java.io.IOException;
+ method protected abstract int peekData(java.net.DatagramPacket) throws java.io.IOException;
+ method protected abstract void receive(java.net.DatagramPacket) throws java.io.IOException;
+ method protected abstract void send(java.net.DatagramPacket) throws java.io.IOException;
+ method protected abstract deprecated void setTTL(byte) throws java.io.IOException;
+ method protected abstract void setTimeToLive(int) throws java.io.IOException;
+ field protected java.io.FileDescriptor fd;
+ field protected int localPort;
+ }
+
+ public abstract interface DatagramSocketImplFactory {
+ method public abstract java.net.DatagramSocketImpl createDatagramSocketImpl();
+ }
+
+ public abstract interface FileNameMap {
+ method public abstract java.lang.String getContentTypeFor(java.lang.String);
+ }
+
+ public final class HttpCookie implements java.lang.Cloneable {
+ ctor public HttpCookie(java.lang.String, java.lang.String);
+ method public java.lang.Object clone();
+ method public static boolean domainMatches(java.lang.String, java.lang.String);
+ method public java.lang.String getComment();
+ method public java.lang.String getCommentURL();
+ method public boolean getDiscard();
+ method public java.lang.String getDomain();
+ method public long getMaxAge();
+ method public java.lang.String getName();
+ method public java.lang.String getPath();
+ method public java.lang.String getPortlist();
+ method public boolean getSecure();
+ method public java.lang.String getValue();
+ method public int getVersion();
+ method public boolean hasExpired();
+ method public static java.util.List<java.net.HttpCookie> parse(java.lang.String);
+ method public void setComment(java.lang.String);
+ method public void setCommentURL(java.lang.String);
+ method public void setDiscard(boolean);
+ method public void setDomain(java.lang.String);
+ method public void setMaxAge(long);
+ method public void setPath(java.lang.String);
+ method public void setPortlist(java.lang.String);
+ method public void setSecure(boolean);
+ method public void setValue(java.lang.String);
+ method public void setVersion(int);
+ }
+
+ public class HttpRetryException extends java.io.IOException {
+ ctor public HttpRetryException(java.lang.String, int);
+ ctor public HttpRetryException(java.lang.String, int, java.lang.String);
+ method public java.lang.String getLocation();
+ method public java.lang.String getReason();
+ method public int responseCode();
+ }
+
+ public abstract class HttpURLConnection extends java.net.URLConnection {
+ ctor protected HttpURLConnection(java.net.URL);
+ method public abstract void disconnect();
+ method public java.io.InputStream getErrorStream();
+ method public static boolean getFollowRedirects();
+ method public boolean getInstanceFollowRedirects();
+ method public java.lang.String getRequestMethod();
+ method public int getResponseCode() throws java.io.IOException;
+ method public java.lang.String getResponseMessage() throws java.io.IOException;
+ method public void setChunkedStreamingMode(int);
+ method public void setFixedLengthStreamingMode(int);
+ method public static void setFollowRedirects(boolean);
+ method public void setInstanceFollowRedirects(boolean);
+ method public void setRequestMethod(java.lang.String) throws java.net.ProtocolException;
+ method public abstract boolean usingProxy();
+ field public static final int HTTP_ACCEPTED = 202; // 0xca
+ field public static final int HTTP_BAD_GATEWAY = 502; // 0x1f6
+ field public static final int HTTP_BAD_METHOD = 405; // 0x195
+ field public static final int HTTP_BAD_REQUEST = 400; // 0x190
+ field public static final int HTTP_CLIENT_TIMEOUT = 408; // 0x198
+ field public static final int HTTP_CONFLICT = 409; // 0x199
+ field public static final int HTTP_CREATED = 201; // 0xc9
+ field public static final int HTTP_ENTITY_TOO_LARGE = 413; // 0x19d
+ field public static final int HTTP_FORBIDDEN = 403; // 0x193
+ field public static final int HTTP_GATEWAY_TIMEOUT = 504; // 0x1f8
+ field public static final int HTTP_GONE = 410; // 0x19a
+ field public static final int HTTP_INTERNAL_ERROR = 500; // 0x1f4
+ field public static final int HTTP_LENGTH_REQUIRED = 411; // 0x19b
+ field public static final int HTTP_MOVED_PERM = 301; // 0x12d
+ field public static final int HTTP_MOVED_TEMP = 302; // 0x12e
+ field public static final int HTTP_MULT_CHOICE = 300; // 0x12c
+ field public static final int HTTP_NOT_ACCEPTABLE = 406; // 0x196
+ field public static final int HTTP_NOT_AUTHORITATIVE = 203; // 0xcb
+ field public static final int HTTP_NOT_FOUND = 404; // 0x194
+ field public static final int HTTP_NOT_IMPLEMENTED = 501; // 0x1f5
+ field public static final int HTTP_NOT_MODIFIED = 304; // 0x130
+ field public static final int HTTP_NO_CONTENT = 204; // 0xcc
+ field public static final int HTTP_OK = 200; // 0xc8
+ field public static final int HTTP_PARTIAL = 206; // 0xce
+ field public static final int HTTP_PAYMENT_REQUIRED = 402; // 0x192
+ field public static final int HTTP_PRECON_FAILED = 412; // 0x19c
+ field public static final int HTTP_PROXY_AUTH = 407; // 0x197
+ field public static final int HTTP_REQ_TOO_LONG = 414; // 0x19e
+ field public static final int HTTP_RESET = 205; // 0xcd
+ field public static final int HTTP_SEE_OTHER = 303; // 0x12f
+ field public static final deprecated int HTTP_SERVER_ERROR = 500; // 0x1f4
+ field public static final int HTTP_UNAUTHORIZED = 401; // 0x191
+ field public static final int HTTP_UNAVAILABLE = 503; // 0x1f7
+ field public static final int HTTP_UNSUPPORTED_TYPE = 415; // 0x19f
+ field public static final int HTTP_USE_PROXY = 305; // 0x131
+ field public static final int HTTP_VERSION = 505; // 0x1f9
+ field protected int chunkLength;
+ field protected int fixedContentLength;
+ field protected boolean instanceFollowRedirects;
+ field protected java.lang.String method;
+ field protected int responseCode;
+ field protected java.lang.String responseMessage;
+ }
+
+ public final class IDN {
+ method public static java.lang.String toASCII(java.lang.String, int);
+ method public static java.lang.String toASCII(java.lang.String);
+ method public static java.lang.String toUnicode(java.lang.String, int);
+ method public static java.lang.String toUnicode(java.lang.String);
+ field public static final int ALLOW_UNASSIGNED = 1; // 0x1
+ field public static final int USE_STD3_ASCII_RULES = 2; // 0x2
+ }
+
+ public final class Inet4Address extends java.net.InetAddress {
+ }
+
+ public final class Inet6Address extends java.net.InetAddress {
+ method public static java.net.Inet6Address getByAddress(java.lang.String, byte[], int) throws java.net.UnknownHostException;
+ method public static java.net.Inet6Address getByAddress(java.lang.String, byte[], java.net.NetworkInterface) throws java.net.UnknownHostException;
+ method public int getScopeId();
+ method public java.net.NetworkInterface getScopedInterface();
+ method public boolean isIPv4CompatibleAddress();
+ }
+
+ public class InetAddress implements java.io.Serializable {
+ method public byte[] getAddress();
+ method public static java.net.InetAddress[] getAllByName(java.lang.String) throws java.net.UnknownHostException;
+ method public static java.net.InetAddress getByAddress(byte[]) throws java.net.UnknownHostException;
+ method public static java.net.InetAddress getByAddress(java.lang.String, byte[]) throws java.net.UnknownHostException;
+ method public static java.net.InetAddress getByName(java.lang.String) throws java.net.UnknownHostException;
+ method public java.lang.String getCanonicalHostName();
+ method public java.lang.String getHostAddress();
+ method public java.lang.String getHostName();
+ method public static java.net.InetAddress getLocalHost() throws java.net.UnknownHostException;
+ method public boolean isAnyLocalAddress();
+ method public boolean isLinkLocalAddress();
+ method public boolean isLoopbackAddress();
+ method public boolean isMCGlobal();
+ method public boolean isMCLinkLocal();
+ method public boolean isMCNodeLocal();
+ method public boolean isMCOrgLocal();
+ method public boolean isMCSiteLocal();
+ method public boolean isMulticastAddress();
+ method public boolean isReachable(int) throws java.io.IOException;
+ method public boolean isReachable(java.net.NetworkInterface, int, int) throws java.io.IOException;
+ method public boolean isSiteLocalAddress();
+ }
+
+ public class InetSocketAddress extends java.net.SocketAddress {
+ ctor public InetSocketAddress(int);
+ ctor public InetSocketAddress(java.net.InetAddress, int);
+ ctor public InetSocketAddress(java.lang.String, int);
+ method public static java.net.InetSocketAddress createUnresolved(java.lang.String, int);
+ method public final boolean equals(java.lang.Object);
+ method public final java.net.InetAddress getAddress();
+ method public final java.lang.String getHostName();
+ method public final int getPort();
+ method public final int hashCode();
+ method public final boolean isUnresolved();
+ }
+
+ public class InterfaceAddress {
+ method public java.net.InetAddress getAddress();
+ method public java.net.InetAddress getBroadcast();
+ method public short getNetworkPrefixLength();
+ }
+
+ public abstract class JarURLConnection extends java.net.URLConnection {
+ ctor protected JarURLConnection(java.net.URL) throws java.net.MalformedURLException;
+ method public java.util.jar.Attributes getAttributes() throws java.io.IOException;
+ method public java.security.cert.Certificate[] getCertificates() throws java.io.IOException;
+ method public java.lang.String getEntryName();
+ method public java.util.jar.JarEntry getJarEntry() throws java.io.IOException;
+ method public abstract java.util.jar.JarFile getJarFile() throws java.io.IOException;
+ method public java.net.URL getJarFileURL();
+ method public java.util.jar.Attributes getMainAttributes() throws java.io.IOException;
+ method public java.util.jar.Manifest getManifest() throws java.io.IOException;
+ field protected java.net.URLConnection jarFileURLConnection;
+ }
+
+ public class MalformedURLException extends java.io.IOException {
+ ctor public MalformedURLException();
+ ctor public MalformedURLException(java.lang.String);
+ }
+
+ public class MulticastSocket extends java.net.DatagramSocket {
+ ctor public MulticastSocket() throws java.io.IOException;
+ ctor public MulticastSocket(int) throws java.io.IOException;
+ ctor public MulticastSocket(java.net.SocketAddress) throws java.io.IOException;
+ method public java.net.InetAddress getInterface() throws java.net.SocketException;
+ method public boolean getLoopbackMode() throws java.net.SocketException;
+ method public java.net.NetworkInterface getNetworkInterface() throws java.net.SocketException;
+ method public deprecated byte getTTL() throws java.io.IOException;
+ method public int getTimeToLive() throws java.io.IOException;
+ method public void joinGroup(java.net.InetAddress) throws java.io.IOException;
+ method public void joinGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException;
+ method public void leaveGroup(java.net.InetAddress) throws java.io.IOException;
+ method public void leaveGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException;
+ method public deprecated void send(java.net.DatagramPacket, byte) throws java.io.IOException;
+ method public void setInterface(java.net.InetAddress) throws java.net.SocketException;
+ method public void setLoopbackMode(boolean) throws java.net.SocketException;
+ method public void setNetworkInterface(java.net.NetworkInterface) throws java.net.SocketException;
+ method public deprecated void setTTL(byte) throws java.io.IOException;
+ method public void setTimeToLive(int) throws java.io.IOException;
+ }
+
+ public final class NetPermission extends java.security.BasicPermission {
+ ctor public NetPermission(java.lang.String);
+ ctor public NetPermission(java.lang.String, java.lang.String);
+ }
+
+ public final class NetworkInterface {
+ method public static java.net.NetworkInterface getByInetAddress(java.net.InetAddress) throws java.net.SocketException;
+ method public static java.net.NetworkInterface getByName(java.lang.String) throws java.net.SocketException;
+ method public java.lang.String getDisplayName();
+ method public byte[] getHardwareAddress() throws java.net.SocketException;
+ method public java.util.Enumeration<java.net.InetAddress> getInetAddresses();
+ method public java.util.List<java.net.InterfaceAddress> getInterfaceAddresses();
+ method public int getMTU() throws java.net.SocketException;
+ method public java.lang.String getName();
+ method public static java.util.Enumeration<java.net.NetworkInterface> getNetworkInterfaces() throws java.net.SocketException;
+ method public java.net.NetworkInterface getParent();
+ method public java.util.Enumeration<java.net.NetworkInterface> getSubInterfaces();
+ method public boolean isLoopback() throws java.net.SocketException;
+ method public boolean isPointToPoint() throws java.net.SocketException;
+ method public boolean isUp() throws java.net.SocketException;
+ method public boolean isVirtual();
+ method public boolean supportsMulticast() throws java.net.SocketException;
+ }
+
+ public class NoRouteToHostException extends java.net.SocketException {
+ ctor public NoRouteToHostException();
+ ctor public NoRouteToHostException(java.lang.String);
+ }
+
+ public final class PasswordAuthentication {
+ ctor public PasswordAuthentication(java.lang.String, char[]);
+ method public char[] getPassword();
+ method public java.lang.String getUserName();
+ }
+
+ public class PortUnreachableException extends java.net.SocketException {
+ ctor public PortUnreachableException();
+ ctor public PortUnreachableException(java.lang.String);
+ }
+
+ public class ProtocolException extends java.io.IOException {
+ ctor public ProtocolException();
+ ctor public ProtocolException(java.lang.String);
+ }
+
+ public class Proxy {
+ ctor public Proxy(java.net.Proxy.Type, java.net.SocketAddress);
+ method public java.net.SocketAddress address();
+ method public final boolean equals(java.lang.Object);
+ method public final int hashCode();
+ method public java.net.Proxy.Type type();
+ field public static final java.net.Proxy NO_PROXY;
+ }
+
+ public static final class Proxy.Type extends java.lang.Enum {
+ method public static java.net.Proxy.Type valueOf(java.lang.String);
+ method public static final java.net.Proxy.Type[] values();
+ enum_constant public static final java.net.Proxy.Type DIRECT;
+ enum_constant public static final java.net.Proxy.Type HTTP;
+ enum_constant public static final java.net.Proxy.Type SOCKS;
+ }
+
+ public abstract class ProxySelector {
+ ctor public ProxySelector();
+ method public abstract void connectFailed(java.net.URI, java.net.SocketAddress, java.io.IOException);
+ method public static java.net.ProxySelector getDefault();
+ method public abstract java.util.List<java.net.Proxy> select(java.net.URI);
+ method public static void setDefault(java.net.ProxySelector);
+ }
+
+ public abstract class ResponseCache {
+ ctor public ResponseCache();
+ method public abstract java.net.CacheResponse get(java.net.URI, java.lang.String, java.util.Map<java.lang.String, java.util.List<java.lang.String>>) throws java.io.IOException;
+ method public static java.net.ResponseCache getDefault();
+ method public abstract java.net.CacheRequest put(java.net.URI, java.net.URLConnection) throws java.io.IOException;
+ method public static void setDefault(java.net.ResponseCache);
+ }
+
+ public abstract class SecureCacheResponse extends java.net.CacheResponse {
+ ctor public SecureCacheResponse();
+ method public abstract java.lang.String getCipherSuite();
+ method public abstract java.util.List<java.security.cert.Certificate> getLocalCertificateChain();
+ method public abstract java.security.Principal getLocalPrincipal();
+ method public abstract java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException;
+ method public abstract java.util.List<java.security.cert.Certificate> getServerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException;
+ }
+
+ public class ServerSocket {
+ ctor public ServerSocket() throws java.io.IOException;
+ ctor public ServerSocket(int) throws java.io.IOException;
+ ctor public ServerSocket(int, int) throws java.io.IOException;
+ ctor public ServerSocket(int, int, java.net.InetAddress) throws java.io.IOException;
+ method public java.net.Socket accept() throws java.io.IOException;
+ method public void bind(java.net.SocketAddress) throws java.io.IOException;
+ method public void bind(java.net.SocketAddress, int) throws java.io.IOException;
+ method public void close() throws java.io.IOException;
+ method public java.nio.channels.ServerSocketChannel getChannel();
+ method public java.net.InetAddress getInetAddress();
+ method public int getLocalPort();
+ method public java.net.SocketAddress getLocalSocketAddress();
+ method public int getReceiveBufferSize() throws java.net.SocketException;
+ method public boolean getReuseAddress() throws java.net.SocketException;
+ method public synchronized int getSoTimeout() throws java.io.IOException;
+ method protected final void implAccept(java.net.Socket) throws java.io.IOException;
+ method public boolean isBound();
+ method public boolean isClosed();
+ method public void setPerformancePreferences(int, int, int);
+ method public void setReceiveBufferSize(int) throws java.net.SocketException;
+ method public void setReuseAddress(boolean) throws java.net.SocketException;
+ method public synchronized void setSoTimeout(int) throws java.net.SocketException;
+ method public static synchronized void setSocketFactory(java.net.SocketImplFactory) throws java.io.IOException;
+ }
+
+ public class Socket {
+ ctor public Socket();
+ ctor public Socket(java.net.Proxy);
+ ctor public Socket(java.lang.String, int) throws java.io.IOException, java.net.UnknownHostException;
+ ctor public Socket(java.lang.String, int, java.net.InetAddress, int) throws java.io.IOException;
+ ctor public deprecated Socket(java.lang.String, int, boolean) throws java.io.IOException;
+ ctor public Socket(java.net.InetAddress, int) throws java.io.IOException;
+ ctor public Socket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException;
+ ctor public deprecated Socket(java.net.InetAddress, int, boolean) throws java.io.IOException;
+ ctor protected Socket(java.net.SocketImpl) throws java.net.SocketException;
+ method public void bind(java.net.SocketAddress) throws java.io.IOException;
+ method public synchronized void close() throws java.io.IOException;
+ method public void connect(java.net.SocketAddress) throws java.io.IOException;
+ method public void connect(java.net.SocketAddress, int) throws java.io.IOException;
+ method public java.nio.channels.SocketChannel getChannel();
+ method public java.net.InetAddress getInetAddress();
+ method public java.io.InputStream getInputStream() throws java.io.IOException;
+ method public boolean getKeepAlive() throws java.net.SocketException;
+ method public java.net.InetAddress getLocalAddress();
+ method public int getLocalPort();
+ method public java.net.SocketAddress getLocalSocketAddress();
+ method public boolean getOOBInline() throws java.net.SocketException;
+ method public java.io.OutputStream getOutputStream() throws java.io.IOException;
+ method public int getPort();
+ method public synchronized int getReceiveBufferSize() throws java.net.SocketException;
+ method public java.net.SocketAddress getRemoteSocketAddress();
+ method public boolean getReuseAddress() throws java.net.SocketException;
+ method public synchronized int getSendBufferSize() throws java.net.SocketException;
+ method public int getSoLinger() throws java.net.SocketException;
+ method public synchronized int getSoTimeout() throws java.net.SocketException;
+ method public boolean getTcpNoDelay() throws java.net.SocketException;
+ method public int getTrafficClass() throws java.net.SocketException;
+ method public boolean isBound();
+ method public boolean isClosed();
+ method public boolean isConnected();
+ method public boolean isInputShutdown();
+ method public boolean isOutputShutdown();
+ method public void sendUrgentData(int) throws java.io.IOException;
+ method public void setKeepAlive(boolean) throws java.net.SocketException;
+ method public void setOOBInline(boolean) throws java.net.SocketException;
+ method public void setPerformancePreferences(int, int, int);
+ method public synchronized void setReceiveBufferSize(int) throws java.net.SocketException;
+ method public void setReuseAddress(boolean) throws java.net.SocketException;
+ method public synchronized void setSendBufferSize(int) throws java.net.SocketException;
+ method public void setSoLinger(boolean, int) throws java.net.SocketException;
+ method public synchronized void setSoTimeout(int) throws java.net.SocketException;
+ method public static synchronized void setSocketImplFactory(java.net.SocketImplFactory) throws java.io.IOException;
+ method public void setTcpNoDelay(boolean) throws java.net.SocketException;
+ method public void setTrafficClass(int) throws java.net.SocketException;
+ method public void shutdownInput() throws java.io.IOException;
+ method public void shutdownOutput() throws java.io.IOException;
+ }
+
+ public abstract class SocketAddress implements java.io.Serializable {
+ ctor public SocketAddress();
+ }
+
+ public class SocketException extends java.io.IOException {
+ ctor public SocketException();
+ ctor public SocketException(java.lang.String);
+ }
+
+ public abstract class SocketImpl implements java.net.SocketOptions {
+ ctor public SocketImpl();
+ method protected abstract void accept(java.net.SocketImpl) throws java.io.IOException;
+ method protected abstract int available() throws java.io.IOException;
+ method protected abstract void bind(java.net.InetAddress, int) throws java.io.IOException;
+ method protected abstract void close() throws java.io.IOException;
+ method protected abstract void connect(java.lang.String, int) throws java.io.IOException;
+ method protected abstract void connect(java.net.InetAddress, int) throws java.io.IOException;
+ method protected abstract void connect(java.net.SocketAddress, int) throws java.io.IOException;
+ method protected abstract void create(boolean) throws java.io.IOException;
+ method protected java.io.FileDescriptor getFileDescriptor();
+ method protected java.net.InetAddress getInetAddress();
+ method protected abstract java.io.InputStream getInputStream() throws java.io.IOException;
+ method protected int getLocalPort();
+ method protected abstract java.io.OutputStream getOutputStream() throws java.io.IOException;
+ method protected int getPort();
+ method protected abstract void listen(int) throws java.io.IOException;
+ method protected abstract void sendUrgentData(int) throws java.io.IOException;
+ method protected void setPerformancePreferences(int, int, int);
+ method protected void shutdownInput() throws java.io.IOException;
+ method protected void shutdownOutput() throws java.io.IOException;
+ method protected boolean supportsUrgentData();
+ field protected java.net.InetAddress address;
+ field protected java.io.FileDescriptor fd;
+ field protected int localport;
+ field protected int port;
+ }
+
+ public abstract interface SocketImplFactory {
+ method public abstract java.net.SocketImpl createSocketImpl();
+ }
+
+ public abstract interface SocketOptions {
+ method public abstract java.lang.Object getOption(int) throws java.net.SocketException;
+ method public abstract void setOption(int, java.lang.Object) throws java.net.SocketException;
+ field public static final int IP_MULTICAST_IF = 16; // 0x10
+ field public static final int IP_MULTICAST_IF2 = 31; // 0x1f
+ field public static final int IP_MULTICAST_LOOP = 18; // 0x12
+ field public static final int IP_TOS = 3; // 0x3
+ field public static final int SO_BINDADDR = 15; // 0xf
+ field public static final int SO_BROADCAST = 32; // 0x20
+ field public static final int SO_KEEPALIVE = 8; // 0x8
+ field public static final int SO_LINGER = 128; // 0x80
+ field public static final int SO_OOBINLINE = 4099; // 0x1003
+ field public static final int SO_RCVBUF = 4098; // 0x1002
+ field public static final int SO_REUSEADDR = 4; // 0x4
+ field public static final int SO_SNDBUF = 4097; // 0x1001
+ field public static final int SO_TIMEOUT = 4102; // 0x1006
+ field public static final int TCP_NODELAY = 1; // 0x1
+ }
+
+ public final class SocketPermission extends java.security.Permission implements java.io.Serializable {
+ ctor public SocketPermission(java.lang.String, java.lang.String);
+ method public java.lang.String getActions();
+ method public boolean implies(java.security.Permission);
+ }
+
+ public class SocketTimeoutException extends java.io.InterruptedIOException {
+ ctor public SocketTimeoutException();
+ ctor public SocketTimeoutException(java.lang.String);
+ }
+
+ public final class URI implements java.lang.Comparable java.io.Serializable {
+ ctor public URI(java.lang.String) throws java.net.URISyntaxException;
+ ctor public URI(java.lang.String, java.lang.String, java.lang.String) throws java.net.URISyntaxException;
+ ctor public URI(java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String) throws java.net.URISyntaxException;
+ ctor public URI(java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws java.net.URISyntaxException;
+ ctor public URI(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws java.net.URISyntaxException;
+ method public int compareTo(java.net.URI);
+ method public static java.net.URI create(java.lang.String);
+ method public java.lang.String getAuthority();
+ method public java.lang.String getFragment();
+ method public java.lang.String getHost();
+ method public java.lang.String getPath();
+ method public int getPort();
+ method public java.lang.String getQuery();
+ method public java.lang.String getRawAuthority();
+ method public java.lang.String getRawFragment();
+ method public java.lang.String getRawPath();
+ method public java.lang.String getRawQuery();
+ method public java.lang.String getRawSchemeSpecificPart();
+ method public java.lang.String getRawUserInfo();
+ method public java.lang.String getScheme();
+ method public java.lang.String getSchemeSpecificPart();
+ method public java.lang.String getUserInfo();
+ method public boolean isAbsolute();
+ method public boolean isOpaque();
+ method public java.net.URI normalize();
+ method public java.net.URI parseServerAuthority() throws java.net.URISyntaxException;
+ method public java.net.URI relativize(java.net.URI);
+ method public java.net.URI resolve(java.net.URI);
+ method public java.net.URI resolve(java.lang.String);
+ method public java.lang.String toASCIIString();
+ method public java.net.URL toURL() throws java.net.MalformedURLException;
+ }
+
+ public class URISyntaxException extends java.lang.Exception {
+ ctor public URISyntaxException(java.lang.String, java.lang.String, int);
+ ctor public URISyntaxException(java.lang.String, java.lang.String);
+ method public int getIndex();
+ method public java.lang.String getInput();
+ method public java.lang.String getReason();
+ }
+
+ public final class URL implements java.io.Serializable {
+ ctor public URL(java.lang.String) throws java.net.MalformedURLException;
+ ctor public URL(java.net.URL, java.lang.String) throws java.net.MalformedURLException;
+ ctor public URL(java.net.URL, java.lang.String, java.net.URLStreamHandler) throws java.net.MalformedURLException;
+ ctor public URL(java.lang.String, java.lang.String, java.lang.String) throws java.net.MalformedURLException;
+ ctor public URL(java.lang.String, java.lang.String, int, java.lang.String) throws java.net.MalformedURLException;
+ ctor public URL(java.lang.String, java.lang.String, int, java.lang.String, java.net.URLStreamHandler) throws java.net.MalformedURLException;
+ method public java.lang.String getAuthority();
+ method public final java.lang.Object getContent() throws java.io.IOException;
+ method public final java.lang.Object getContent(java.lang.Class[]) throws java.io.IOException;
+ method public int getDefaultPort();
+ method public java.lang.String getFile();
+ method public java.lang.String getHost();
+ method public java.lang.String getPath();
+ method public int getPort();
+ method public java.lang.String getProtocol();
+ method public java.lang.String getQuery();
+ method public java.lang.String getRef();
+ method public java.lang.String getUserInfo();
+ method public java.net.URLConnection openConnection() throws java.io.IOException;
+ method public java.net.URLConnection openConnection(java.net.Proxy) throws java.io.IOException;
+ method public final java.io.InputStream openStream() throws java.io.IOException;
+ method public boolean sameFile(java.net.URL);
+ method protected void set(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String);
+ method protected void set(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public static synchronized void setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory);
+ method public java.lang.String toExternalForm();
+ method public java.net.URI toURI() throws java.net.URISyntaxException;
+ }
+
+ public class URLClassLoader extends java.security.SecureClassLoader {
+ ctor public URLClassLoader(java.net.URL[]);
+ ctor public URLClassLoader(java.net.URL[], java.lang.ClassLoader);
+ ctor public URLClassLoader(java.net.URL[], java.lang.ClassLoader, java.net.URLStreamHandlerFactory);
+ method protected void addURL(java.net.URL);
+ method protected java.lang.Package definePackage(java.lang.String, java.util.jar.Manifest, java.net.URL) throws java.lang.IllegalArgumentException;
+ method public java.net.URL findResource(java.lang.String);
+ method public java.util.Enumeration<java.net.URL> findResources(java.lang.String) throws java.io.IOException;
+ method public java.net.URL[] getURLs();
+ method public static java.net.URLClassLoader newInstance(java.net.URL[]);
+ method public static java.net.URLClassLoader newInstance(java.net.URL[], java.lang.ClassLoader);
+ }
+
+ public abstract class URLConnection {
+ ctor protected URLConnection(java.net.URL);
+ method public void addRequestProperty(java.lang.String, java.lang.String);
+ method public abstract void connect() throws java.io.IOException;
+ method public boolean getAllowUserInteraction();
+ method public int getConnectTimeout();
+ method public java.lang.Object getContent() throws java.io.IOException;
+ method public java.lang.Object getContent(java.lang.Class[]) throws java.io.IOException;
+ method public java.lang.String getContentEncoding();
+ method public int getContentLength();
+ method public java.lang.String getContentType();
+ method public long getDate();
+ method public static boolean getDefaultAllowUserInteraction();
+ method public static deprecated java.lang.String getDefaultRequestProperty(java.lang.String);
+ method public boolean getDefaultUseCaches();
+ method public boolean getDoInput();
+ method public boolean getDoOutput();
+ method public long getExpiration();
+ method public static java.net.FileNameMap getFileNameMap();
+ method public java.lang.String getHeaderField(int);
+ method public java.lang.String getHeaderField(java.lang.String);
+ method public long getHeaderFieldDate(java.lang.String, long);
+ method public int getHeaderFieldInt(java.lang.String, int);
+ method public java.lang.String getHeaderFieldKey(int);
+ method public java.util.Map<java.lang.String, java.util.List<java.lang.String>> getHeaderFields();
+ method public long getIfModifiedSince();
+ method public java.io.InputStream getInputStream() throws java.io.IOException;
+ method public long getLastModified();
+ method public java.io.OutputStream getOutputStream() throws java.io.IOException;
+ method public java.security.Permission getPermission() throws java.io.IOException;
+ method public int getReadTimeout();
+ method public java.util.Map<java.lang.String, java.util.List<java.lang.String>> getRequestProperties();
+ method public java.lang.String getRequestProperty(java.lang.String);
+ method public java.net.URL getURL();
+ method public boolean getUseCaches();
+ method public static java.lang.String guessContentTypeFromName(java.lang.String);
+ method public static java.lang.String guessContentTypeFromStream(java.io.InputStream) throws java.io.IOException;
+ method public void setAllowUserInteraction(boolean);
+ method public void setConnectTimeout(int);
+ method public static synchronized void setContentHandlerFactory(java.net.ContentHandlerFactory);
+ method public static void setDefaultAllowUserInteraction(boolean);
+ method public static deprecated void setDefaultRequestProperty(java.lang.String, java.lang.String);
+ method public void setDefaultUseCaches(boolean);
+ method public void setDoInput(boolean);
+ method public void setDoOutput(boolean);
+ method public static void setFileNameMap(java.net.FileNameMap);
+ method public void setIfModifiedSince(long);
+ method public void setReadTimeout(int);
+ method public void setRequestProperty(java.lang.String, java.lang.String);
+ method public void setUseCaches(boolean);
+ field protected boolean allowUserInteraction;
+ field protected boolean connected;
+ field protected boolean doInput;
+ field protected boolean doOutput;
+ field protected long ifModifiedSince;
+ field protected java.net.URL url;
+ field protected boolean useCaches;
+ }
+
+ public class URLDecoder {
+ ctor public URLDecoder();
+ method public static deprecated java.lang.String decode(java.lang.String);
+ method public static java.lang.String decode(java.lang.String, java.lang.String) throws java.io.UnsupportedEncodingException;
+ }
+
+ public class URLEncoder {
+ method public static deprecated java.lang.String encode(java.lang.String);
+ method public static java.lang.String encode(java.lang.String, java.lang.String) throws java.io.UnsupportedEncodingException;
+ }
+
+ public abstract class URLStreamHandler {
+ ctor public URLStreamHandler();
+ method protected boolean equals(java.net.URL, java.net.URL);
+ method protected int getDefaultPort();
+ method protected java.net.InetAddress getHostAddress(java.net.URL);
+ method protected int hashCode(java.net.URL);
+ method protected boolean hostsEqual(java.net.URL, java.net.URL);
+ method protected abstract java.net.URLConnection openConnection(java.net.URL) throws java.io.IOException;
+ method protected java.net.URLConnection openConnection(java.net.URL, java.net.Proxy) throws java.io.IOException;
+ method protected void parseURL(java.net.URL, java.lang.String, int, int);
+ method protected boolean sameFile(java.net.URL, java.net.URL);
+ method protected deprecated void setURL(java.net.URL, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String);
+ method protected void setURL(java.net.URL, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method protected java.lang.String toExternalForm(java.net.URL);
+ }
+
+ public abstract interface URLStreamHandlerFactory {
+ method public abstract java.net.URLStreamHandler createURLStreamHandler(java.lang.String);
+ }
+
+ public class UnknownHostException extends java.io.IOException {
+ ctor public UnknownHostException();
+ ctor public UnknownHostException(java.lang.String);
+ }
+
+ public class UnknownServiceException extends java.io.IOException {
+ ctor public UnknownServiceException();
+ ctor public UnknownServiceException(java.lang.String);
+ }
+
+}
+
+package java.nio {
+
+ public abstract class Buffer {
+ method public abstract java.lang.Object array();
+ method public abstract int arrayOffset();
+ method public final int capacity();
+ method public final java.nio.Buffer clear();
+ method public final java.nio.Buffer flip();
+ method public abstract boolean hasArray();
+ method public final boolean hasRemaining();
+ method public abstract boolean isDirect();
+ method public abstract boolean isReadOnly();
+ method public final int limit();
+ method public final java.nio.Buffer limit(int);
+ method public final java.nio.Buffer mark();
+ method public final int position();
+ method public final java.nio.Buffer position(int);
+ method public final int remaining();
+ method public final java.nio.Buffer reset();
+ method public final java.nio.Buffer rewind();
+ }
+
+ public class BufferOverflowException extends java.lang.RuntimeException {
+ ctor public BufferOverflowException();
+ }
+
+ public class BufferUnderflowException extends java.lang.RuntimeException {
+ ctor public BufferUnderflowException();
+ }
+
+ public abstract class ByteBuffer extends java.nio.Buffer implements java.lang.Comparable {
+ method public static java.nio.ByteBuffer allocate(int);
+ method public static java.nio.ByteBuffer allocateDirect(int);
+ method public final byte[] array();
+ method public final int arrayOffset();
+ method public abstract java.nio.CharBuffer asCharBuffer();
+ method public abstract java.nio.DoubleBuffer asDoubleBuffer();
+ method public abstract java.nio.FloatBuffer asFloatBuffer();
+ method public abstract java.nio.IntBuffer asIntBuffer();
+ method public abstract java.nio.LongBuffer asLongBuffer();
+ method public abstract java.nio.ByteBuffer asReadOnlyBuffer();
+ method public abstract java.nio.ShortBuffer asShortBuffer();
+ method public abstract java.nio.ByteBuffer compact();
+ method public int compareTo(java.nio.ByteBuffer);
+ method public abstract java.nio.ByteBuffer duplicate();
+ method public abstract byte get();
+ method public java.nio.ByteBuffer get(byte[]);
+ method public java.nio.ByteBuffer get(byte[], int, int);
+ method public abstract byte get(int);
+ method public abstract char getChar();
+ method public abstract char getChar(int);
+ method public abstract double getDouble();
+ method public abstract double getDouble(int);
+ method public abstract float getFloat();
+ method public abstract float getFloat(int);
+ method public abstract int getInt();
+ method public abstract int getInt(int);
+ method public abstract long getLong();
+ method public abstract long getLong(int);
+ method public abstract short getShort();
+ method public abstract short getShort(int);
+ method public final boolean hasArray();
+ method public abstract boolean isDirect();
+ method public final java.nio.ByteOrder order();
+ method public final java.nio.ByteBuffer order(java.nio.ByteOrder);
+ method public abstract java.nio.ByteBuffer put(byte);
+ method public final java.nio.ByteBuffer put(byte[]);
+ method public java.nio.ByteBuffer put(byte[], int, int);
+ method public java.nio.ByteBuffer put(java.nio.ByteBuffer);
+ method public abstract java.nio.ByteBuffer put(int, byte);
+ method public abstract java.nio.ByteBuffer putChar(char);
+ method public abstract java.nio.ByteBuffer putChar(int, char);
+ method public abstract java.nio.ByteBuffer putDouble(double);
+ method public abstract java.nio.ByteBuffer putDouble(int, double);
+ method public abstract java.nio.ByteBuffer putFloat(float);
+ method public abstract java.nio.ByteBuffer putFloat(int, float);
+ method public abstract java.nio.ByteBuffer putInt(int);
+ method public abstract java.nio.ByteBuffer putInt(int, int);
+ method public abstract java.nio.ByteBuffer putLong(long);
+ method public abstract java.nio.ByteBuffer putLong(int, long);
+ method public abstract java.nio.ByteBuffer putShort(short);
+ method public abstract java.nio.ByteBuffer putShort(int, short);
+ method public abstract java.nio.ByteBuffer slice();
+ method public static java.nio.ByteBuffer wrap(byte[]);
+ method public static java.nio.ByteBuffer wrap(byte[], int, int);
+ }
+
+ public final class ByteOrder {
+ method public static java.nio.ByteOrder nativeOrder();
+ field public static final java.nio.ByteOrder BIG_ENDIAN;
+ field public static final java.nio.ByteOrder LITTLE_ENDIAN;
+ }
+
+ public abstract class CharBuffer extends java.nio.Buffer implements java.lang.Appendable java.lang.CharSequence java.lang.Comparable java.lang.Readable {
+ method public static java.nio.CharBuffer allocate(int);
+ method public java.nio.CharBuffer append(char);
+ method public java.nio.CharBuffer append(java.lang.CharSequence);
+ method public java.nio.CharBuffer append(java.lang.CharSequence, int, int);
+ method public final char[] array();
+ method public final int arrayOffset();
+ method public abstract java.nio.CharBuffer asReadOnlyBuffer();
+ method public final char charAt(int);
+ method public abstract java.nio.CharBuffer compact();
+ method public int compareTo(java.nio.CharBuffer);
+ method public abstract java.nio.CharBuffer duplicate();
+ method public abstract char get();
+ method public java.nio.CharBuffer get(char[]);
+ method public java.nio.CharBuffer get(char[], int, int);
+ method public abstract char get(int);
+ method public final boolean hasArray();
+ method public abstract boolean isDirect();
+ method public final int length();
+ method public abstract java.nio.ByteOrder order();
+ method public abstract java.nio.CharBuffer put(char);
+ method public final java.nio.CharBuffer put(char[]);
+ method public java.nio.CharBuffer put(char[], int, int);
+ method public java.nio.CharBuffer put(java.nio.CharBuffer);
+ method public abstract java.nio.CharBuffer put(int, char);
+ method public final java.nio.CharBuffer put(java.lang.String);
+ method public java.nio.CharBuffer put(java.lang.String, int, int);
+ method public int read(java.nio.CharBuffer) throws java.io.IOException;
+ method public abstract java.nio.CharBuffer slice();
+ method public abstract java.lang.CharSequence subSequence(int, int);
+ method public static java.nio.CharBuffer wrap(char[]);
+ method public static java.nio.CharBuffer wrap(char[], int, int);
+ method public static java.nio.CharBuffer wrap(java.lang.CharSequence);
+ method public static java.nio.CharBuffer wrap(java.lang.CharSequence, int, int);
+ }
+
+ public abstract class DoubleBuffer extends java.nio.Buffer implements java.lang.Comparable {
+ method public static java.nio.DoubleBuffer allocate(int);
+ method public final double[] array();
+ method public final int arrayOffset();
+ method public abstract java.nio.DoubleBuffer asReadOnlyBuffer();
+ method public abstract java.nio.DoubleBuffer compact();
+ method public int compareTo(java.nio.DoubleBuffer);
+ method public abstract java.nio.DoubleBuffer duplicate();
+ method public abstract double get();
+ method public java.nio.DoubleBuffer get(double[]);
+ method public java.nio.DoubleBuffer get(double[], int, int);
+ method public abstract double get(int);
+ method public final boolean hasArray();
+ method public abstract boolean isDirect();
+ method public abstract java.nio.ByteOrder order();
+ method public abstract java.nio.DoubleBuffer put(double);
+ method public final java.nio.DoubleBuffer put(double[]);
+ method public java.nio.DoubleBuffer put(double[], int, int);
+ method public java.nio.DoubleBuffer put(java.nio.DoubleBuffer);
+ method public abstract java.nio.DoubleBuffer put(int, double);
+ method public abstract java.nio.DoubleBuffer slice();
+ method public static java.nio.DoubleBuffer wrap(double[]);
+ method public static java.nio.DoubleBuffer wrap(double[], int, int);
+ }
+
+ public abstract class FloatBuffer extends java.nio.Buffer implements java.lang.Comparable {
+ method public static java.nio.FloatBuffer allocate(int);
+ method public final float[] array();
+ method public final int arrayOffset();
+ method public abstract java.nio.FloatBuffer asReadOnlyBuffer();
+ method public abstract java.nio.FloatBuffer compact();
+ method public int compareTo(java.nio.FloatBuffer);
+ method public abstract java.nio.FloatBuffer duplicate();
+ method public abstract float get();
+ method public java.nio.FloatBuffer get(float[]);
+ method public java.nio.FloatBuffer get(float[], int, int);
+ method public abstract float get(int);
+ method public final boolean hasArray();
+ method public abstract boolean isDirect();
+ method public abstract java.nio.ByteOrder order();
+ method public abstract java.nio.FloatBuffer put(float);
+ method public final java.nio.FloatBuffer put(float[]);
+ method public java.nio.FloatBuffer put(float[], int, int);
+ method public java.nio.FloatBuffer put(java.nio.FloatBuffer);
+ method public abstract java.nio.FloatBuffer put(int, float);
+ method public abstract java.nio.FloatBuffer slice();
+ method public static java.nio.FloatBuffer wrap(float[]);
+ method public static java.nio.FloatBuffer wrap(float[], int, int);
+ }
+
+ public abstract class IntBuffer extends java.nio.Buffer implements java.lang.Comparable {
+ method public static java.nio.IntBuffer allocate(int);
+ method public final int[] array();
+ method public final int arrayOffset();
+ method public abstract java.nio.IntBuffer asReadOnlyBuffer();
+ method public abstract java.nio.IntBuffer compact();
+ method public int compareTo(java.nio.IntBuffer);
+ method public abstract java.nio.IntBuffer duplicate();
+ method public abstract int get();
+ method public java.nio.IntBuffer get(int[]);
+ method public java.nio.IntBuffer get(int[], int, int);
+ method public abstract int get(int);
+ method public final boolean hasArray();
+ method public abstract boolean isDirect();
+ method public abstract java.nio.ByteOrder order();
+ method public abstract java.nio.IntBuffer put(int);
+ method public final java.nio.IntBuffer put(int[]);
+ method public java.nio.IntBuffer put(int[], int, int);
+ method public java.nio.IntBuffer put(java.nio.IntBuffer);
+ method public abstract java.nio.IntBuffer put(int, int);
+ method public abstract java.nio.IntBuffer slice();
+ method public static java.nio.IntBuffer wrap(int[]);
+ method public static java.nio.IntBuffer wrap(int[], int, int);
+ }
+
+ public class InvalidMarkException extends java.lang.IllegalStateException {
+ ctor public InvalidMarkException();
+ }
+
+ public abstract class LongBuffer extends java.nio.Buffer implements java.lang.Comparable {
+ method public static java.nio.LongBuffer allocate(int);
+ method public final long[] array();
+ method public final int arrayOffset();
+ method public abstract java.nio.LongBuffer asReadOnlyBuffer();
+ method public abstract java.nio.LongBuffer compact();
+ method public int compareTo(java.nio.LongBuffer);
+ method public abstract java.nio.LongBuffer duplicate();
+ method public abstract long get();
+ method public java.nio.LongBuffer get(long[]);
+ method public java.nio.LongBuffer get(long[], int, int);
+ method public abstract long get(int);
+ method public final boolean hasArray();
+ method public abstract boolean isDirect();
+ method public abstract java.nio.ByteOrder order();
+ method public abstract java.nio.LongBuffer put(long);
+ method public final java.nio.LongBuffer put(long[]);
+ method public java.nio.LongBuffer put(long[], int, int);
+ method public java.nio.LongBuffer put(java.nio.LongBuffer);
+ method public abstract java.nio.LongBuffer put(int, long);
+ method public abstract java.nio.LongBuffer slice();
+ method public static java.nio.LongBuffer wrap(long[]);
+ method public static java.nio.LongBuffer wrap(long[], int, int);
+ }
+
+ public abstract class MappedByteBuffer extends java.nio.ByteBuffer {
+ method public final java.nio.MappedByteBuffer force();
+ method public final boolean isLoaded();
+ method public final java.nio.MappedByteBuffer load();
+ }
+
+ public class ReadOnlyBufferException extends java.lang.UnsupportedOperationException {
+ ctor public ReadOnlyBufferException();
+ }
+
+ public abstract class ShortBuffer extends java.nio.Buffer implements java.lang.Comparable {
+ method public static java.nio.ShortBuffer allocate(int);
+ method public final short[] array();
+ method public final int arrayOffset();
+ method public abstract java.nio.ShortBuffer asReadOnlyBuffer();
+ method public abstract java.nio.ShortBuffer compact();
+ method public int compareTo(java.nio.ShortBuffer);
+ method public abstract java.nio.ShortBuffer duplicate();
+ method public abstract short get();
+ method public java.nio.ShortBuffer get(short[]);
+ method public java.nio.ShortBuffer get(short[], int, int);
+ method public abstract short get(int);
+ method public final boolean hasArray();
+ method public abstract boolean isDirect();
+ method public abstract java.nio.ByteOrder order();
+ method public abstract java.nio.ShortBuffer put(short);
+ method public final java.nio.ShortBuffer put(short[]);
+ method public java.nio.ShortBuffer put(short[], int, int);
+ method public java.nio.ShortBuffer put(java.nio.ShortBuffer);
+ method public abstract java.nio.ShortBuffer put(int, short);
+ method public abstract java.nio.ShortBuffer slice();
+ method public static java.nio.ShortBuffer wrap(short[]);
+ method public static java.nio.ShortBuffer wrap(short[], int, int);
+ }
+
+}
+
+package java.nio.channels {
+
+ public class AlreadyConnectedException extends java.lang.IllegalStateException {
+ ctor public AlreadyConnectedException();
+ }
+
+ public class AsynchronousCloseException extends java.nio.channels.ClosedChannelException {
+ ctor public AsynchronousCloseException();
+ }
+
+ public abstract interface ByteChannel implements java.nio.channels.ReadableByteChannel java.nio.channels.WritableByteChannel {
+ }
+
+ public class CancelledKeyException extends java.lang.IllegalStateException {
+ ctor public CancelledKeyException();
+ }
+
+ public abstract interface Channel implements java.io.Closeable {
+ method public abstract void close() throws java.io.IOException;
+ method public abstract boolean isOpen();
+ }
+
+ public final class Channels {
+ method public static java.nio.channels.ReadableByteChannel newChannel(java.io.InputStream);
+ method public static java.nio.channels.WritableByteChannel newChannel(java.io.OutputStream);
+ method public static java.io.InputStream newInputStream(java.nio.channels.ReadableByteChannel);
+ method public static java.io.OutputStream newOutputStream(java.nio.channels.WritableByteChannel);
+ method public static java.io.Reader newReader(java.nio.channels.ReadableByteChannel, java.nio.charset.CharsetDecoder, int);
+ method public static java.io.Reader newReader(java.nio.channels.ReadableByteChannel, java.lang.String);
+ method public static java.io.Writer newWriter(java.nio.channels.WritableByteChannel, java.nio.charset.CharsetEncoder, int);
+ method public static java.io.Writer newWriter(java.nio.channels.WritableByteChannel, java.lang.String);
+ }
+
+ public class ClosedByInterruptException extends java.nio.channels.AsynchronousCloseException {
+ ctor public ClosedByInterruptException();
+ }
+
+ public class ClosedChannelException extends java.io.IOException {
+ ctor public ClosedChannelException();
+ }
+
+ public class ClosedSelectorException extends java.lang.IllegalStateException {
+ ctor public ClosedSelectorException();
+ }
+
+ public class ConnectionPendingException extends java.lang.IllegalStateException {
+ ctor public ConnectionPendingException();
+ }
+
+ public abstract class DatagramChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ByteChannel java.nio.channels.GatheringByteChannel java.nio.channels.ScatteringByteChannel {
+ ctor protected DatagramChannel(java.nio.channels.spi.SelectorProvider);
+ method public abstract java.nio.channels.DatagramChannel connect(java.net.SocketAddress) throws java.io.IOException;
+ method public abstract java.nio.channels.DatagramChannel disconnect() throws java.io.IOException;
+ method public abstract boolean isConnected();
+ method public static java.nio.channels.DatagramChannel open() throws java.io.IOException;
+ method public abstract int read(java.nio.ByteBuffer) throws java.io.IOException;
+ method public abstract long read(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
+ method public final synchronized long read(java.nio.ByteBuffer[]) throws java.io.IOException;
+ method public abstract java.net.SocketAddress receive(java.nio.ByteBuffer) throws java.io.IOException;
+ method public abstract int send(java.nio.ByteBuffer, java.net.SocketAddress) throws java.io.IOException;
+ method public abstract java.net.DatagramSocket socket();
+ method public final int validOps();
+ method public abstract int write(java.nio.ByteBuffer) throws java.io.IOException;
+ method public abstract long write(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
+ method public final synchronized long write(java.nio.ByteBuffer[]) throws java.io.IOException;
+ }
+
+ public abstract class FileChannel extends java.nio.channels.spi.AbstractInterruptibleChannel implements java.nio.channels.ByteChannel java.nio.channels.GatheringByteChannel java.nio.channels.ScatteringByteChannel {
+ ctor protected FileChannel();
+ method public abstract void force(boolean) throws java.io.IOException;
+ method public final java.nio.channels.FileLock lock() throws java.io.IOException;
+ method public abstract java.nio.channels.FileLock lock(long, long, boolean) throws java.io.IOException;
+ method public abstract java.nio.MappedByteBuffer map(java.nio.channels.FileChannel.MapMode, long, long) throws java.io.IOException;
+ method public abstract long position() throws java.io.IOException;
+ method public abstract java.nio.channels.FileChannel position(long) throws java.io.IOException;
+ method public abstract int read(java.nio.ByteBuffer) throws java.io.IOException;
+ method public abstract int read(java.nio.ByteBuffer, long) throws java.io.IOException;
+ method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException;
+ method public abstract long read(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
+ method public abstract long size() throws java.io.IOException;
+ method public abstract long transferFrom(java.nio.channels.ReadableByteChannel, long, long) throws java.io.IOException;
+ method public abstract long transferTo(long, long, java.nio.channels.WritableByteChannel) throws java.io.IOException;
+ method public abstract java.nio.channels.FileChannel truncate(long) throws java.io.IOException;
+ method public final java.nio.channels.FileLock tryLock() throws java.io.IOException;
+ method public abstract java.nio.channels.FileLock tryLock(long, long, boolean) throws java.io.IOException;
+ method public abstract int write(java.nio.ByteBuffer) throws java.io.IOException;
+ method public abstract int write(java.nio.ByteBuffer, long) throws java.io.IOException;
+ method public final long write(java.nio.ByteBuffer[]) throws java.io.IOException;
+ method public abstract long write(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
+ }
+
+ public static class FileChannel.MapMode {
+ field public static final java.nio.channels.FileChannel.MapMode PRIVATE;
+ field public static final java.nio.channels.FileChannel.MapMode READ_ONLY;
+ field public static final java.nio.channels.FileChannel.MapMode READ_WRITE;
+ }
+
+ public abstract class FileLock {
+ ctor protected FileLock(java.nio.channels.FileChannel, long, long, boolean);
+ method public final java.nio.channels.FileChannel channel();
+ method public final boolean isShared();
+ method public abstract boolean isValid();
+ method public final boolean overlaps(long, long);
+ method public final long position();
+ method public abstract void release() throws java.io.IOException;
+ method public final long size();
+ method public final java.lang.String toString();
+ }
+
+ public class FileLockInterruptionException extends java.io.IOException {
+ ctor public FileLockInterruptionException();
+ }
+
+ public abstract interface GatheringByteChannel implements java.nio.channels.WritableByteChannel {
+ method public abstract long write(java.nio.ByteBuffer[]) throws java.io.IOException;
+ method public abstract long write(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
+ }
+
+ public class IllegalBlockingModeException extends java.lang.IllegalStateException {
+ ctor public IllegalBlockingModeException();
+ }
+
+ public class IllegalSelectorException extends java.lang.IllegalArgumentException {
+ ctor public IllegalSelectorException();
+ }
+
+ public abstract interface InterruptibleChannel implements java.nio.channels.Channel {
+ method public abstract void close() throws java.io.IOException;
+ }
+
+ public class NoConnectionPendingException extends java.lang.IllegalStateException {
+ ctor public NoConnectionPendingException();
+ }
+
+ public class NonReadableChannelException extends java.lang.IllegalStateException {
+ ctor public NonReadableChannelException();
+ }
+
+ public class NonWritableChannelException extends java.lang.IllegalStateException {
+ ctor public NonWritableChannelException();
+ }
+
+ public class NotYetBoundException extends java.lang.IllegalStateException {
+ ctor public NotYetBoundException();
+ }
+
+ public class NotYetConnectedException extends java.lang.IllegalStateException {
+ ctor public NotYetConnectedException();
+ }
+
+ public class OverlappingFileLockException extends java.lang.IllegalStateException {
+ ctor public OverlappingFileLockException();
+ }
+
+ public abstract class Pipe {
+ ctor protected Pipe();
+ method public static java.nio.channels.Pipe open() throws java.io.IOException;
+ method public abstract java.nio.channels.Pipe.SinkChannel sink();
+ method public abstract java.nio.channels.Pipe.SourceChannel source();
+ }
+
+ public static abstract class Pipe.SinkChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.GatheringByteChannel java.nio.channels.WritableByteChannel {
+ ctor protected Pipe.SinkChannel(java.nio.channels.spi.SelectorProvider);
+ method public final int validOps();
+ }
+
+ public static abstract class Pipe.SourceChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ReadableByteChannel java.nio.channels.ScatteringByteChannel {
+ ctor protected Pipe.SourceChannel(java.nio.channels.spi.SelectorProvider);
+ method public final int validOps();
+ }
+
+ public abstract interface ReadableByteChannel implements java.nio.channels.Channel {
+ method public abstract int read(java.nio.ByteBuffer) throws java.io.IOException;
+ }
+
+ public abstract interface ScatteringByteChannel implements java.nio.channels.ReadableByteChannel {
+ method public abstract long read(java.nio.ByteBuffer[]) throws java.io.IOException;
+ method public abstract long read(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
+ }
+
+ public abstract class SelectableChannel extends java.nio.channels.spi.AbstractInterruptibleChannel implements java.nio.channels.Channel {
+ ctor protected SelectableChannel();
+ method public abstract java.lang.Object blockingLock();
+ method public abstract java.nio.channels.SelectableChannel configureBlocking(boolean) throws java.io.IOException;
+ method public abstract boolean isBlocking();
+ method public abstract boolean isRegistered();
+ method public abstract java.nio.channels.SelectionKey keyFor(java.nio.channels.Selector);
+ method public abstract java.nio.channels.spi.SelectorProvider provider();
+ method public final java.nio.channels.SelectionKey register(java.nio.channels.Selector, int) throws java.nio.channels.ClosedChannelException;
+ method public abstract java.nio.channels.SelectionKey register(java.nio.channels.Selector, int, java.lang.Object) throws java.nio.channels.ClosedChannelException;
+ method public abstract int validOps();
+ }
+
+ public abstract class SelectionKey {
+ ctor protected SelectionKey();
+ method public final java.lang.Object attach(java.lang.Object);
+ method public final java.lang.Object attachment();
+ method public abstract void cancel();
+ method public abstract java.nio.channels.SelectableChannel channel();
+ method public abstract int interestOps();
+ method public abstract java.nio.channels.SelectionKey interestOps(int);
+ method public final boolean isAcceptable();
+ method public final boolean isConnectable();
+ method public final boolean isReadable();
+ method public abstract boolean isValid();
+ method public final boolean isWritable();
+ method public abstract int readyOps();
+ method public abstract java.nio.channels.Selector selector();
+ field public static final int OP_ACCEPT = 16; // 0x10
+ field public static final int OP_CONNECT = 8; // 0x8
+ field public static final int OP_READ = 1; // 0x1
+ field public static final int OP_WRITE = 4; // 0x4
+ }
+
+ public abstract class Selector {
+ ctor protected Selector();
+ method public abstract void close() throws java.io.IOException;
+ method public abstract boolean isOpen();
+ method public abstract java.util.Set<java.nio.channels.SelectionKey> keys();
+ method public static java.nio.channels.Selector open() throws java.io.IOException;
+ method public abstract java.nio.channels.spi.SelectorProvider provider();
+ method public abstract int select() throws java.io.IOException;
+ method public abstract int select(long) throws java.io.IOException;
+ method public abstract int selectNow() throws java.io.IOException;
+ method public abstract java.util.Set<java.nio.channels.SelectionKey> selectedKeys();
+ method public abstract java.nio.channels.Selector wakeup();
+ }
+
+ public abstract class ServerSocketChannel extends java.nio.channels.spi.AbstractSelectableChannel {
+ ctor protected ServerSocketChannel(java.nio.channels.spi.SelectorProvider);
+ method public abstract java.nio.channels.SocketChannel accept() throws java.io.IOException;
+ method public static java.nio.channels.ServerSocketChannel open() throws java.io.IOException;
+ method public abstract java.net.ServerSocket socket();
+ method public final int validOps();
+ }
+
+ public abstract class SocketChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ByteChannel java.nio.channels.GatheringByteChannel java.nio.channels.ScatteringByteChannel {
+ ctor protected SocketChannel(java.nio.channels.spi.SelectorProvider);
+ method public abstract boolean connect(java.net.SocketAddress) throws java.io.IOException;
+ method public abstract boolean finishConnect() throws java.io.IOException;
+ method public abstract boolean isConnected();
+ method public abstract boolean isConnectionPending();
+ method public static java.nio.channels.SocketChannel open() throws java.io.IOException;
+ method public static java.nio.channels.SocketChannel open(java.net.SocketAddress) throws java.io.IOException;
+ method public abstract int read(java.nio.ByteBuffer) throws java.io.IOException;
+ method public abstract long read(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
+ method public final synchronized long read(java.nio.ByteBuffer[]) throws java.io.IOException;
+ method public abstract java.net.Socket socket();
+ method public final int validOps();
+ method public abstract int write(java.nio.ByteBuffer) throws java.io.IOException;
+ method public abstract long write(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
+ method public final synchronized long write(java.nio.ByteBuffer[]) throws java.io.IOException;
+ }
+
+ public class UnresolvedAddressException extends java.lang.IllegalArgumentException {
+ ctor public UnresolvedAddressException();
+ }
+
+ public class UnsupportedAddressTypeException extends java.lang.IllegalArgumentException {
+ ctor public UnsupportedAddressTypeException();
+ }
+
+ public abstract interface WritableByteChannel implements java.nio.channels.Channel {
+ method public abstract int write(java.nio.ByteBuffer) throws java.io.IOException;
+ }
+
+}
+
+package java.nio.channels.spi {
+
+ public abstract class AbstractInterruptibleChannel implements java.nio.channels.Channel java.nio.channels.InterruptibleChannel {
+ ctor protected AbstractInterruptibleChannel();
+ method protected final void begin();
+ method public final void close() throws java.io.IOException;
+ method protected final void end(boolean) throws java.nio.channels.AsynchronousCloseException;
+ method protected abstract void implCloseChannel() throws java.io.IOException;
+ method public final synchronized boolean isOpen();
+ }
+
+ public abstract class AbstractSelectableChannel extends java.nio.channels.SelectableChannel {
+ ctor protected AbstractSelectableChannel(java.nio.channels.spi.SelectorProvider);
+ method public final java.lang.Object blockingLock();
+ method public final java.nio.channels.SelectableChannel configureBlocking(boolean) throws java.io.IOException;
+ method protected final synchronized void implCloseChannel() throws java.io.IOException;
+ method protected abstract void implCloseSelectableChannel() throws java.io.IOException;
+ method protected abstract void implConfigureBlocking(boolean) throws java.io.IOException;
+ method public final boolean isBlocking();
+ method public final synchronized boolean isRegistered();
+ method public final synchronized java.nio.channels.SelectionKey keyFor(java.nio.channels.Selector);
+ method public final java.nio.channels.spi.SelectorProvider provider();
+ method public final java.nio.channels.SelectionKey register(java.nio.channels.Selector, int, java.lang.Object) throws java.nio.channels.ClosedChannelException;
+ }
+
+ public abstract class AbstractSelectionKey extends java.nio.channels.SelectionKey {
+ ctor protected AbstractSelectionKey();
+ method public final void cancel();
+ method public final boolean isValid();
+ }
+
+ public abstract class AbstractSelector extends java.nio.channels.Selector {
+ ctor protected AbstractSelector(java.nio.channels.spi.SelectorProvider);
+ method protected final void begin();
+ method protected final java.util.Set<java.nio.channels.SelectionKey> cancelledKeys();
+ method public final void close() throws java.io.IOException;
+ method protected final void deregister(java.nio.channels.spi.AbstractSelectionKey);
+ method protected final void end();
+ method protected abstract void implCloseSelector() throws java.io.IOException;
+ method public final boolean isOpen();
+ method public final java.nio.channels.spi.SelectorProvider provider();
+ method protected abstract java.nio.channels.SelectionKey register(java.nio.channels.spi.AbstractSelectableChannel, int, java.lang.Object);
+ }
+
+ public abstract class SelectorProvider {
+ ctor protected SelectorProvider();
+ method public java.nio.channels.Channel inheritedChannel() throws java.io.IOException;
+ method public abstract java.nio.channels.DatagramChannel openDatagramChannel() throws java.io.IOException;
+ method public abstract java.nio.channels.Pipe openPipe() throws java.io.IOException;
+ method public abstract java.nio.channels.spi.AbstractSelector openSelector() throws java.io.IOException;
+ method public abstract java.nio.channels.ServerSocketChannel openServerSocketChannel() throws java.io.IOException;
+ method public abstract java.nio.channels.SocketChannel openSocketChannel() throws java.io.IOException;
+ method public static synchronized java.nio.channels.spi.SelectorProvider provider();
+ }
+
+}
+
+package java.nio.charset {
+
+ public class CharacterCodingException extends java.io.IOException {
+ ctor public CharacterCodingException();
+ }
+
+ public abstract class Charset implements java.lang.Comparable {
+ ctor protected Charset(java.lang.String, java.lang.String[]);
+ method public final java.util.Set<java.lang.String> aliases();
+ method public static java.util.SortedMap<java.lang.String, java.nio.charset.Charset> availableCharsets();
+ method public boolean canEncode();
+ method public final int compareTo(java.nio.charset.Charset);
+ method public abstract boolean contains(java.nio.charset.Charset);
+ method public final java.nio.CharBuffer decode(java.nio.ByteBuffer);
+ method public static java.nio.charset.Charset defaultCharset();
+ method public java.lang.String displayName();
+ method public java.lang.String displayName(java.util.Locale);
+ method public final java.nio.ByteBuffer encode(java.nio.CharBuffer);
+ method public final java.nio.ByteBuffer encode(java.lang.String);
+ method public final boolean equals(java.lang.Object);
+ method public static java.nio.charset.Charset forName(java.lang.String);
+ method public final int hashCode();
+ method public final boolean isRegistered();
+ method public static boolean isSupported(java.lang.String);
+ method public final java.lang.String name();
+ method public abstract java.nio.charset.CharsetDecoder newDecoder();
+ method public abstract java.nio.charset.CharsetEncoder newEncoder();
+ method public final java.lang.String toString();
+ }
+
+ public abstract class CharsetDecoder {
+ ctor protected CharsetDecoder(java.nio.charset.Charset, float, float);
+ method public final float averageCharsPerByte();
+ method public final java.nio.charset.Charset charset();
+ method public final java.nio.CharBuffer decode(java.nio.ByteBuffer) throws java.nio.charset.CharacterCodingException;
+ method public final java.nio.charset.CoderResult decode(java.nio.ByteBuffer, java.nio.CharBuffer, boolean);
+ method protected abstract java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
+ method public java.nio.charset.Charset detectedCharset();
+ method public final java.nio.charset.CoderResult flush(java.nio.CharBuffer);
+ method protected java.nio.charset.CoderResult implFlush(java.nio.CharBuffer);
+ method protected void implOnMalformedInput(java.nio.charset.CodingErrorAction);
+ method protected void implOnUnmappableCharacter(java.nio.charset.CodingErrorAction);
+ method protected void implReplaceWith(java.lang.String);
+ method protected void implReset();
+ method public boolean isAutoDetecting();
+ method public boolean isCharsetDetected();
+ method public java.nio.charset.CodingErrorAction malformedInputAction();
+ method public final float maxCharsPerByte();
+ method public final java.nio.charset.CharsetDecoder onMalformedInput(java.nio.charset.CodingErrorAction);
+ method public final java.nio.charset.CharsetDecoder onUnmappableCharacter(java.nio.charset.CodingErrorAction);
+ method public final java.nio.charset.CharsetDecoder replaceWith(java.lang.String);
+ method public final java.lang.String replacement();
+ method public final java.nio.charset.CharsetDecoder reset();
+ method public java.nio.charset.CodingErrorAction unmappableCharacterAction();
+ }
+
+ public abstract class CharsetEncoder {
+ ctor protected CharsetEncoder(java.nio.charset.Charset, float, float);
+ ctor protected CharsetEncoder(java.nio.charset.Charset, float, float, byte[]);
+ method public final float averageBytesPerChar();
+ method public boolean canEncode(char);
+ method public boolean canEncode(java.lang.CharSequence);
+ method public final java.nio.charset.Charset charset();
+ method public final java.nio.ByteBuffer encode(java.nio.CharBuffer) throws java.nio.charset.CharacterCodingException;
+ method public final java.nio.charset.CoderResult encode(java.nio.CharBuffer, java.nio.ByteBuffer, boolean);
+ method protected abstract java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
+ method public final java.nio.charset.CoderResult flush(java.nio.ByteBuffer);
+ method protected java.nio.charset.CoderResult implFlush(java.nio.ByteBuffer);
+ method protected void implOnMalformedInput(java.nio.charset.CodingErrorAction);
+ method protected void implOnUnmappableCharacter(java.nio.charset.CodingErrorAction);
+ method protected void implReplaceWith(byte[]);
+ method protected void implReset();
+ method public boolean isLegalReplacement(byte[]);
+ method public java.nio.charset.CodingErrorAction malformedInputAction();
+ method public final float maxBytesPerChar();
+ method public final java.nio.charset.CharsetEncoder onMalformedInput(java.nio.charset.CodingErrorAction);
+ method public final java.nio.charset.CharsetEncoder onUnmappableCharacter(java.nio.charset.CodingErrorAction);
+ method public final java.nio.charset.CharsetEncoder replaceWith(byte[]);
+ method public final byte[] replacement();
+ method public final java.nio.charset.CharsetEncoder reset();
+ method public java.nio.charset.CodingErrorAction unmappableCharacterAction();
+ }
+
+ public class CoderMalfunctionError extends java.lang.Error {
+ ctor public CoderMalfunctionError(java.lang.Exception);
+ }
+
+ public class CoderResult {
+ method public boolean isError();
+ method public boolean isMalformed();
+ method public boolean isOverflow();
+ method public boolean isUnderflow();
+ method public boolean isUnmappable();
+ method public int length() throws java.lang.UnsupportedOperationException;
+ method public static synchronized java.nio.charset.CoderResult malformedForLength(int) throws java.lang.IllegalArgumentException;
+ method public void throwException() throws java.nio.BufferOverflowException, java.nio.BufferUnderflowException, java.nio.charset.CharacterCodingException, java.nio.charset.MalformedInputException, java.nio.charset.UnmappableCharacterException;
+ method public static synchronized java.nio.charset.CoderResult unmappableForLength(int) throws java.lang.IllegalArgumentException;
+ field public static final java.nio.charset.CoderResult OVERFLOW;
+ field public static final java.nio.charset.CoderResult UNDERFLOW;
+ }
+
+ public class CodingErrorAction {
+ field public static final java.nio.charset.CodingErrorAction IGNORE;
+ field public static final java.nio.charset.CodingErrorAction REPLACE;
+ field public static final java.nio.charset.CodingErrorAction REPORT;
+ }
+
+ public class IllegalCharsetNameException extends java.lang.IllegalArgumentException {
+ ctor public IllegalCharsetNameException(java.lang.String);
+ method public java.lang.String getCharsetName();
+ }
+
+ public class MalformedInputException extends java.nio.charset.CharacterCodingException {
+ ctor public MalformedInputException(int);
+ method public int getInputLength();
+ }
+
+ public class UnmappableCharacterException extends java.nio.charset.CharacterCodingException {
+ ctor public UnmappableCharacterException(int);
+ method public int getInputLength();
+ }
+
+ public class UnsupportedCharsetException extends java.lang.IllegalArgumentException {
+ ctor public UnsupportedCharsetException(java.lang.String);
+ method public java.lang.String getCharsetName();
+ }
+
+}
+
+package java.nio.charset.spi {
+
+ public abstract class CharsetProvider {
+ ctor protected CharsetProvider();
+ method public abstract java.nio.charset.Charset charsetForName(java.lang.String);
+ method public abstract java.util.Iterator<java.nio.charset.Charset> charsets();
+ }
+
+}
+
+package java.security {
+
+ public final class AccessControlContext {
+ ctor public AccessControlContext(java.security.AccessControlContext, java.security.DomainCombiner);
+ ctor public AccessControlContext(java.security.ProtectionDomain[]);
+ method public void checkPermission(java.security.Permission) throws java.security.AccessControlException;
+ method public java.security.DomainCombiner getDomainCombiner();
+ }
+
+ public class AccessControlException extends java.lang.SecurityException {
+ ctor public AccessControlException(java.lang.String);
+ ctor public AccessControlException(java.lang.String, java.security.Permission);
+ method public java.security.Permission getPermission();
+ }
+
+ public final class AccessController {
+ method public static void checkPermission(java.security.Permission) throws java.security.AccessControlException;
+ method public static T doPrivileged(java.security.PrivilegedAction<T>);
+ method public static T doPrivileged(java.security.PrivilegedAction<T>, java.security.AccessControlContext);
+ method public static T doPrivileged(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+ method public static T doPrivileged(java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
+ method public static T doPrivilegedWithCombiner(java.security.PrivilegedAction<T>);
+ method public static T doPrivilegedWithCombiner(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+ method public static java.security.AccessControlContext getContext();
+ }
+
+ public class AlgorithmParameterGenerator {
+ ctor protected AlgorithmParameterGenerator(java.security.AlgorithmParameterGeneratorSpi, java.security.Provider, java.lang.String);
+ method public final java.security.AlgorithmParameters generateParameters();
+ method public final java.lang.String getAlgorithm();
+ method public static java.security.AlgorithmParameterGenerator getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static java.security.AlgorithmParameterGenerator getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static java.security.AlgorithmParameterGenerator getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final java.security.Provider getProvider();
+ method public final void init(int);
+ method public final void init(int, java.security.SecureRandom);
+ method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+ method public final void init(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+ }
+
+ public abstract class AlgorithmParameterGeneratorSpi {
+ ctor public AlgorithmParameterGeneratorSpi();
+ method protected abstract java.security.AlgorithmParameters engineGenerateParameters();
+ method protected abstract void engineInit(int, java.security.SecureRandom);
+ method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+ }
+
+ public class AlgorithmParameters {
+ ctor protected AlgorithmParameters(java.security.AlgorithmParametersSpi, java.security.Provider, java.lang.String);
+ method public final java.lang.String getAlgorithm();
+ method public final byte[] getEncoded() throws java.io.IOException;
+ method public final byte[] getEncoded(java.lang.String) throws java.io.IOException;
+ method public static java.security.AlgorithmParameters getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static java.security.AlgorithmParameters getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static java.security.AlgorithmParameters getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final T getParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
+ method public final java.security.Provider getProvider();
+ method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.spec.InvalidParameterSpecException;
+ method public final void init(byte[]) throws java.io.IOException;
+ method public final void init(byte[], java.lang.String) throws java.io.IOException;
+ method public final java.lang.String toString();
+ }
+
+ public abstract class AlgorithmParametersSpi {
+ ctor public AlgorithmParametersSpi();
+ method protected abstract byte[] engineGetEncoded() throws java.io.IOException;
+ method protected abstract byte[] engineGetEncoded(java.lang.String) throws java.io.IOException;
+ method protected abstract T engineGetParameterSpec(java.lang.Class<T>) throws java.security.spec.InvalidParameterSpecException;
+ method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec) throws java.security.spec.InvalidParameterSpecException;
+ method protected abstract void engineInit(byte[]) throws java.io.IOException;
+ method protected abstract void engineInit(byte[], java.lang.String) throws java.io.IOException;
+ method protected abstract java.lang.String engineToString();
+ }
+
+ public final class AllPermission extends java.security.Permission {
+ ctor public AllPermission(java.lang.String, java.lang.String);
+ ctor public AllPermission();
+ method public java.lang.String getActions();
+ method public boolean implies(java.security.Permission);
+ }
+
+ public abstract class AuthProvider extends java.security.Provider {
+ ctor protected AuthProvider(java.lang.String, double, java.lang.String);
+ method public abstract void login(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler) throws javax.security.auth.login.LoginException;
+ method public abstract void logout() throws javax.security.auth.login.LoginException;
+ method public abstract void setCallbackHandler(javax.security.auth.callback.CallbackHandler);
+ }
+
+ public abstract class BasicPermission extends java.security.Permission implements java.io.Serializable {
+ ctor public BasicPermission(java.lang.String);
+ ctor public BasicPermission(java.lang.String, java.lang.String);
+ method public java.lang.String getActions();
+ method public boolean implies(java.security.Permission);
+ }
+
+ public abstract deprecated interface Certificate {
+ method public abstract void decode(java.io.InputStream) throws java.io.IOException, java.security.KeyException;
+ method public abstract void encode(java.io.OutputStream) throws java.io.IOException, java.security.KeyException;
+ method public abstract java.lang.String getFormat();
+ method public abstract java.security.Principal getGuarantor();
+ method public abstract java.security.Principal getPrincipal();
+ method public abstract java.security.PublicKey getPublicKey();
+ method public abstract java.lang.String toString(boolean);
+ }
+
+ public final class CodeSigner implements java.io.Serializable {
+ ctor public CodeSigner(java.security.cert.CertPath, java.security.Timestamp);
+ method public java.security.cert.CertPath getSignerCertPath();
+ method public java.security.Timestamp getTimestamp();
+ }
+
+ public class CodeSource implements java.io.Serializable {
+ ctor public CodeSource(java.net.URL, java.security.cert.Certificate[]);
+ ctor public CodeSource(java.net.URL, java.security.CodeSigner[]);
+ method public final java.security.cert.Certificate[] getCertificates();
+ method public final java.security.CodeSigner[] getCodeSigners();
+ method public final java.net.URL getLocation();
+ method public boolean implies(java.security.CodeSource);
+ }
+
+ public class DigestException extends java.security.GeneralSecurityException {
+ ctor public DigestException(java.lang.String);
+ ctor public DigestException();
+ ctor public DigestException(java.lang.String, java.lang.Throwable);
+ ctor public DigestException(java.lang.Throwable);
+ }
+
+ public class DigestInputStream extends java.io.FilterInputStream {
+ ctor public DigestInputStream(java.io.InputStream, java.security.MessageDigest);
+ method public java.security.MessageDigest getMessageDigest();
+ method public void on(boolean);
+ method public void setMessageDigest(java.security.MessageDigest);
+ field protected java.security.MessageDigest digest;
+ }
+
+ public class DigestOutputStream extends java.io.FilterOutputStream {
+ ctor public DigestOutputStream(java.io.OutputStream, java.security.MessageDigest);
+ method public java.security.MessageDigest getMessageDigest();
+ method public void on(boolean);
+ method public void setMessageDigest(java.security.MessageDigest);
+ field protected java.security.MessageDigest digest;
+ }
+
+ public abstract interface DomainCombiner {
+ method public abstract java.security.ProtectionDomain[] combine(java.security.ProtectionDomain[], java.security.ProtectionDomain[]);
+ }
+
+ public class GeneralSecurityException extends java.lang.Exception {
+ ctor public GeneralSecurityException(java.lang.String);
+ ctor public GeneralSecurityException();
+ ctor public GeneralSecurityException(java.lang.String, java.lang.Throwable);
+ ctor public GeneralSecurityException(java.lang.Throwable);
+ }
+
+ public abstract interface Guard {
+ method public abstract void checkGuard(java.lang.Object) throws java.lang.SecurityException;
+ }
+
+ public class GuardedObject implements java.io.Serializable {
+ ctor public GuardedObject(java.lang.Object, java.security.Guard);
+ method public java.lang.Object getObject() throws java.lang.SecurityException;
+ }
+
+ public abstract deprecated class Identity implements java.security.Principal java.io.Serializable {
+ ctor protected Identity();
+ ctor public Identity(java.lang.String);
+ ctor public Identity(java.lang.String, java.security.IdentityScope) throws java.security.KeyManagementException;
+ method public void addCertificate(java.security.Certificate) throws java.security.KeyManagementException;
+ method public java.security.Certificate[] certificates();
+ method public final boolean equals(java.lang.Object);
+ method public java.lang.String getInfo();
+ method public final java.lang.String getName();
+ method public java.security.PublicKey getPublicKey();
+ method public final java.security.IdentityScope getScope();
+ method protected boolean identityEquals(java.security.Identity);
+ method public void removeCertificate(java.security.Certificate) throws java.security.KeyManagementException;
+ method public void setInfo(java.lang.String);
+ method public void setPublicKey(java.security.PublicKey) throws java.security.KeyManagementException;
+ method public java.lang.String toString(boolean);
+ }
+
+ public abstract deprecated class IdentityScope extends java.security.Identity {
+ ctor protected IdentityScope();
+ ctor public IdentityScope(java.lang.String);
+ ctor public IdentityScope(java.lang.String, java.security.IdentityScope) throws java.security.KeyManagementException;
+ method public abstract void addIdentity(java.security.Identity) throws java.security.KeyManagementException;
+ method public abstract java.security.Identity getIdentity(java.lang.String);
+ method public java.security.Identity getIdentity(java.security.Principal);
+ method public abstract java.security.Identity getIdentity(java.security.PublicKey);
+ method public static java.security.IdentityScope getSystemScope();
+ method public abstract java.util.Enumeration<java.security.Identity> identities();
+ method public abstract void removeIdentity(java.security.Identity) throws java.security.KeyManagementException;
+ method protected static void setSystemScope(java.security.IdentityScope);
+ method public abstract int size();
+ }
+
+ public class InvalidAlgorithmParameterException extends java.security.GeneralSecurityException {
+ ctor public InvalidAlgorithmParameterException(java.lang.String);
+ ctor public InvalidAlgorithmParameterException();
+ ctor public InvalidAlgorithmParameterException(java.lang.String, java.lang.Throwable);
+ ctor public InvalidAlgorithmParameterException(java.lang.Throwable);
+ }
+
+ public class InvalidKeyException extends java.security.KeyException {
+ ctor public InvalidKeyException(java.lang.String);
+ ctor public InvalidKeyException();
+ ctor public InvalidKeyException(java.lang.String, java.lang.Throwable);
+ ctor public InvalidKeyException(java.lang.Throwable);
+ }
+
+ public class InvalidParameterException extends java.lang.IllegalArgumentException {
+ ctor public InvalidParameterException(java.lang.String);
+ ctor public InvalidParameterException();
+ }
+
+ public abstract interface Key implements java.io.Serializable {
+ method public abstract java.lang.String getAlgorithm();
+ method public abstract byte[] getEncoded();
+ method public abstract java.lang.String getFormat();
+ field public static final long serialVersionUID = 6603384152749567654L; // 0x5ba3eee69414eea6L
+ }
+
+ public class KeyException extends java.security.GeneralSecurityException {
+ ctor public KeyException(java.lang.String);
+ ctor public KeyException();
+ ctor public KeyException(java.lang.String, java.lang.Throwable);
+ ctor public KeyException(java.lang.Throwable);
+ }
+
+ public class KeyFactory {
+ ctor protected KeyFactory(java.security.KeyFactorySpi, java.security.Provider, java.lang.String);
+ method public final java.security.PrivateKey generatePrivate(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+ method public final java.security.PublicKey generatePublic(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+ method public final java.lang.String getAlgorithm();
+ method public static java.security.KeyFactory getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static java.security.KeyFactory getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static java.security.KeyFactory getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final T getKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
+ method public final java.security.Provider getProvider();
+ method public final java.security.Key translateKey(java.security.Key) throws java.security.InvalidKeyException;
+ }
+
+ public abstract class KeyFactorySpi {
+ ctor public KeyFactorySpi();
+ method protected abstract java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+ method protected abstract java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+ method protected abstract T engineGetKeySpec(java.security.Key, java.lang.Class<T>) throws java.security.spec.InvalidKeySpecException;
+ method protected abstract java.security.Key engineTranslateKey(java.security.Key) throws java.security.InvalidKeyException;
+ }
+
+ public class KeyManagementException extends java.security.KeyException {
+ ctor public KeyManagementException(java.lang.String);
+ ctor public KeyManagementException();
+ ctor public KeyManagementException(java.lang.String, java.lang.Throwable);
+ ctor public KeyManagementException(java.lang.Throwable);
+ }
+
+ public final class KeyPair implements java.io.Serializable {
+ ctor public KeyPair(java.security.PublicKey, java.security.PrivateKey);
+ method public java.security.PrivateKey getPrivate();
+ method public java.security.PublicKey getPublic();
+ }
+
+ public abstract class KeyPairGenerator extends java.security.KeyPairGeneratorSpi {
+ ctor protected KeyPairGenerator(java.lang.String);
+ method public final java.security.KeyPair genKeyPair();
+ method public java.security.KeyPair generateKeyPair();
+ method public java.lang.String getAlgorithm();
+ method public static java.security.KeyPairGenerator getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static java.security.KeyPairGenerator getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static java.security.KeyPairGenerator getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final java.security.Provider getProvider();
+ method public void initialize(int);
+ method public void initialize(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+ method public void initialize(int, java.security.SecureRandom);
+ }
+
+ public abstract class KeyPairGeneratorSpi {
+ ctor public KeyPairGeneratorSpi();
+ method public abstract java.security.KeyPair generateKeyPair();
+ method public abstract void initialize(int, java.security.SecureRandom);
+ method public void initialize(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+ }
+
+ public class KeyRep implements java.io.Serializable {
+ ctor public KeyRep(java.security.KeyRep.Type, java.lang.String, java.lang.String, byte[]);
+ method protected java.lang.Object readResolve() throws java.io.ObjectStreamException;
+ }
+
+ public static final class KeyRep.Type extends java.lang.Enum {
+ method public static java.security.KeyRep.Type valueOf(java.lang.String);
+ method public static final java.security.KeyRep.Type[] values();
+ enum_constant public static final java.security.KeyRep.Type PRIVATE;
+ enum_constant public static final java.security.KeyRep.Type PUBLIC;
+ enum_constant public static final java.security.KeyRep.Type SECRET;
+ }
+
+ public class KeyStore {
+ ctor protected KeyStore(java.security.KeyStoreSpi, java.security.Provider, java.lang.String);
+ method public final java.util.Enumeration<java.lang.String> aliases() throws java.security.KeyStoreException;
+ method public final boolean containsAlias(java.lang.String) throws java.security.KeyStoreException;
+ method public final void deleteEntry(java.lang.String) throws java.security.KeyStoreException;
+ method public final boolean entryInstanceOf(java.lang.String, java.lang.Class<? extends java.security.KeyStore.Entry>) throws java.security.KeyStoreException;
+ method public final java.security.cert.Certificate getCertificate(java.lang.String) throws java.security.KeyStoreException;
+ method public final java.lang.String getCertificateAlias(java.security.cert.Certificate) throws java.security.KeyStoreException;
+ method public final java.security.cert.Certificate[] getCertificateChain(java.lang.String) throws java.security.KeyStoreException;
+ method public final java.util.Date getCreationDate(java.lang.String) throws java.security.KeyStoreException;
+ method public static final java.lang.String getDefaultType();
+ method public final java.security.KeyStore.Entry getEntry(java.lang.String, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException;
+ method public static java.security.KeyStore getInstance(java.lang.String) throws java.security.KeyStoreException;
+ method public static java.security.KeyStore getInstance(java.lang.String, java.lang.String) throws java.security.KeyStoreException, java.security.NoSuchProviderException;
+ method public static java.security.KeyStore getInstance(java.lang.String, java.security.Provider) throws java.security.KeyStoreException;
+ method public final java.security.Key getKey(java.lang.String, char[]) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+ method public final java.security.Provider getProvider();
+ method public final java.lang.String getType();
+ method public final boolean isCertificateEntry(java.lang.String) throws java.security.KeyStoreException;
+ method public final boolean isKeyEntry(java.lang.String) throws java.security.KeyStoreException;
+ method public final void load(java.io.InputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+ method public final void load(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+ method public final void setCertificateEntry(java.lang.String, java.security.cert.Certificate) throws java.security.KeyStoreException;
+ method public final void setEntry(java.lang.String, java.security.KeyStore.Entry, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException;
+ method public final void setKeyEntry(java.lang.String, java.security.Key, char[], java.security.cert.Certificate[]) throws java.security.KeyStoreException;
+ method public final void setKeyEntry(java.lang.String, byte[], java.security.cert.Certificate[]) throws java.security.KeyStoreException;
+ method public final int size() throws java.security.KeyStoreException;
+ method public final void store(java.io.OutputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException;
+ method public final void store(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException;
+ }
+
+ public static abstract class KeyStore.Builder {
+ ctor protected KeyStore.Builder();
+ method public abstract java.security.KeyStore getKeyStore() throws java.security.KeyStoreException;
+ method public abstract java.security.KeyStore.ProtectionParameter getProtectionParameter(java.lang.String) throws java.security.KeyStoreException;
+ method public static java.security.KeyStore.Builder newInstance(java.security.KeyStore, java.security.KeyStore.ProtectionParameter);
+ method public static java.security.KeyStore.Builder newInstance(java.lang.String, java.security.Provider, java.io.File, java.security.KeyStore.ProtectionParameter);
+ method public static java.security.KeyStore.Builder newInstance(java.lang.String, java.security.Provider, java.security.KeyStore.ProtectionParameter);
+ }
+
+ public static class KeyStore.CallbackHandlerProtection implements java.security.KeyStore.ProtectionParameter {
+ ctor public KeyStore.CallbackHandlerProtection(javax.security.auth.callback.CallbackHandler);
+ method public javax.security.auth.callback.CallbackHandler getCallbackHandler();
+ }
+
+ public static abstract interface KeyStore.Entry {
+ }
+
+ public static abstract interface KeyStore.LoadStoreParameter {
+ method public abstract java.security.KeyStore.ProtectionParameter getProtectionParameter();
+ }
+
+ public static class KeyStore.PasswordProtection implements javax.security.auth.Destroyable java.security.KeyStore.ProtectionParameter {
+ ctor public KeyStore.PasswordProtection(char[]);
+ method public synchronized void destroy() throws javax.security.auth.DestroyFailedException;
+ method public synchronized char[] getPassword();
+ method public synchronized boolean isDestroyed();
+ }
+
+ public static final class KeyStore.PrivateKeyEntry implements java.security.KeyStore.Entry {
+ ctor public KeyStore.PrivateKeyEntry(java.security.PrivateKey, java.security.cert.Certificate[]);
+ method public java.security.cert.Certificate getCertificate();
+ method public java.security.cert.Certificate[] getCertificateChain();
+ method public java.security.PrivateKey getPrivateKey();
+ }
+
+ public static abstract interface KeyStore.ProtectionParameter {
+ }
+
+ public static final class KeyStore.SecretKeyEntry implements java.security.KeyStore.Entry {
+ ctor public KeyStore.SecretKeyEntry(javax.crypto.SecretKey);
+ method public javax.crypto.SecretKey getSecretKey();
+ }
+
+ public static final class KeyStore.TrustedCertificateEntry implements java.security.KeyStore.Entry {
+ ctor public KeyStore.TrustedCertificateEntry(java.security.cert.Certificate);
+ method public java.security.cert.Certificate getTrustedCertificate();
+ }
+
+ public class KeyStoreException extends java.security.GeneralSecurityException {
+ ctor public KeyStoreException(java.lang.String);
+ ctor public KeyStoreException();
+ ctor public KeyStoreException(java.lang.String, java.lang.Throwable);
+ ctor public KeyStoreException(java.lang.Throwable);
+ }
+
+ public abstract class KeyStoreSpi {
+ ctor public KeyStoreSpi();
+ method public abstract java.util.Enumeration<java.lang.String> engineAliases();
+ method public abstract boolean engineContainsAlias(java.lang.String);
+ method public abstract void engineDeleteEntry(java.lang.String) throws java.security.KeyStoreException;
+ method public boolean engineEntryInstanceOf(java.lang.String, java.lang.Class<? extends java.security.KeyStore.Entry>);
+ method public abstract java.security.cert.Certificate engineGetCertificate(java.lang.String);
+ method public abstract java.lang.String engineGetCertificateAlias(java.security.cert.Certificate);
+ method public abstract java.security.cert.Certificate[] engineGetCertificateChain(java.lang.String);
+ method public abstract java.util.Date engineGetCreationDate(java.lang.String);
+ method public java.security.KeyStore.Entry engineGetEntry(java.lang.String, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException;
+ method public abstract java.security.Key engineGetKey(java.lang.String, char[]) throws java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+ method public abstract boolean engineIsCertificateEntry(java.lang.String);
+ method public abstract boolean engineIsKeyEntry(java.lang.String);
+ method public abstract void engineLoad(java.io.InputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+ method public void engineLoad(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+ method public abstract void engineSetCertificateEntry(java.lang.String, java.security.cert.Certificate) throws java.security.KeyStoreException;
+ method public void engineSetEntry(java.lang.String, java.security.KeyStore.Entry, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException;
+ method public abstract void engineSetKeyEntry(java.lang.String, java.security.Key, char[], java.security.cert.Certificate[]) throws java.security.KeyStoreException;
+ method public abstract void engineSetKeyEntry(java.lang.String, byte[], java.security.cert.Certificate[]) throws java.security.KeyStoreException;
+ method public abstract int engineSize();
+ method public abstract void engineStore(java.io.OutputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+ method public void engineStore(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+ }
+
+ public abstract class MessageDigest extends java.security.MessageDigestSpi {
+ ctor protected MessageDigest(java.lang.String);
+ method public byte[] digest();
+ method public int digest(byte[], int, int) throws java.security.DigestException;
+ method public byte[] digest(byte[]);
+ method public final java.lang.String getAlgorithm();
+ method public final int getDigestLength();
+ method public static java.security.MessageDigest getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static java.security.MessageDigest getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static java.security.MessageDigest getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final java.security.Provider getProvider();
+ method public static boolean isEqual(byte[], byte[]);
+ method public void reset();
+ method public void update(byte);
+ method public void update(byte[], int, int);
+ method public void update(byte[]);
+ method public final void update(java.nio.ByteBuffer);
+ }
+
+ public abstract class MessageDigestSpi {
+ ctor public MessageDigestSpi();
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method protected abstract byte[] engineDigest();
+ method protected int engineDigest(byte[], int, int) throws java.security.DigestException;
+ method protected int engineGetDigestLength();
+ method protected abstract void engineReset();
+ method protected abstract void engineUpdate(byte);
+ method protected abstract void engineUpdate(byte[], int, int);
+ method protected void engineUpdate(java.nio.ByteBuffer);
+ }
+
+ public class NoSuchAlgorithmException extends java.security.GeneralSecurityException {
+ ctor public NoSuchAlgorithmException(java.lang.String);
+ ctor public NoSuchAlgorithmException();
+ ctor public NoSuchAlgorithmException(java.lang.String, java.lang.Throwable);
+ ctor public NoSuchAlgorithmException(java.lang.Throwable);
+ }
+
+ public class NoSuchProviderException extends java.security.GeneralSecurityException {
+ ctor public NoSuchProviderException(java.lang.String);
+ ctor public NoSuchProviderException();
+ }
+
+ public abstract class Permission implements java.security.Guard java.io.Serializable {
+ ctor public Permission(java.lang.String);
+ method public void checkGuard(java.lang.Object) throws java.lang.SecurityException;
+ method public abstract java.lang.String getActions();
+ method public final java.lang.String getName();
+ method public abstract boolean implies(java.security.Permission);
+ method public java.security.PermissionCollection newPermissionCollection();
+ }
+
+ public abstract class PermissionCollection implements java.io.Serializable {
+ ctor public PermissionCollection();
+ method public abstract void add(java.security.Permission);
+ method public abstract java.util.Enumeration<java.security.Permission> elements();
+ method public abstract boolean implies(java.security.Permission);
+ method public boolean isReadOnly();
+ method public void setReadOnly();
+ }
+
+ public final class Permissions extends java.security.PermissionCollection implements java.io.Serializable {
+ ctor public Permissions();
+ method public void add(java.security.Permission);
+ method public java.util.Enumeration<java.security.Permission> elements();
+ method public boolean implies(java.security.Permission);
+ }
+
+ public abstract class Policy {
+ ctor public Policy();
+ method public static java.security.Policy getInstance(java.lang.String, java.security.Policy.Parameters) throws java.security.NoSuchAlgorithmException;
+ method public static java.security.Policy getInstance(java.lang.String, java.security.Policy.Parameters, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static java.security.Policy getInstance(java.lang.String, java.security.Policy.Parameters, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public java.security.Policy.Parameters getParameters();
+ method public java.security.PermissionCollection getPermissions(java.security.CodeSource);
+ method public java.security.PermissionCollection getPermissions(java.security.ProtectionDomain);
+ method public static java.security.Policy getPolicy();
+ method public java.security.Provider getProvider();
+ method public java.lang.String getType();
+ method public boolean implies(java.security.ProtectionDomain, java.security.Permission);
+ method public void refresh();
+ method public static void setPolicy(java.security.Policy);
+ field public static final java.security.PermissionCollection UNSUPPORTED_EMPTY_COLLECTION;
+ }
+
+ public static abstract interface Policy.Parameters {
+ }
+
+ public abstract class PolicySpi {
+ ctor public PolicySpi();
+ method protected java.security.PermissionCollection engineGetPermissions(java.security.CodeSource);
+ method protected java.security.PermissionCollection engineGetPermissions(java.security.ProtectionDomain);
+ method protected abstract boolean engineImplies(java.security.ProtectionDomain, java.security.Permission);
+ method protected void engineRefresh();
+ }
+
+ public abstract interface Principal {
+ method public abstract boolean equals(java.lang.Object);
+ method public abstract java.lang.String getName();
+ method public abstract int hashCode();
+ method public abstract java.lang.String toString();
+ }
+
+ public abstract interface PrivateKey implements java.security.Key {
+ field public static final long serialVersionUID = 6034044314589513430L; // 0x53bd3b559a12c6d6L
+ }
+
+ public abstract interface PrivilegedAction {
+ method public abstract T run();
+ }
+
+ public class PrivilegedActionException extends java.lang.Exception {
+ ctor public PrivilegedActionException(java.lang.Exception);
+ method public java.lang.Exception getException();
+ }
+
+ public abstract interface PrivilegedExceptionAction {
+ method public abstract T run() throws java.lang.Exception;
+ }
+
+ public class ProtectionDomain {
+ ctor public ProtectionDomain(java.security.CodeSource, java.security.PermissionCollection);
+ ctor public ProtectionDomain(java.security.CodeSource, java.security.PermissionCollection, java.lang.ClassLoader, java.security.Principal[]);
+ method public final java.lang.ClassLoader getClassLoader();
+ method public final java.security.CodeSource getCodeSource();
+ method public final java.security.PermissionCollection getPermissions();
+ method public final java.security.Principal[] getPrincipals();
+ method public boolean implies(java.security.Permission);
+ }
+
+ public abstract class Provider extends java.util.Properties {
+ ctor protected Provider(java.lang.String, double, java.lang.String);
+ method public java.lang.String getInfo();
+ method public java.lang.String getName();
+ method public synchronized java.security.Provider.Service getService(java.lang.String, java.lang.String);
+ method public synchronized java.util.Set<java.security.Provider.Service> getServices();
+ method public double getVersion();
+ method public synchronized java.lang.Object put(java.lang.Object, java.lang.Object);
+ method public synchronized void putAll(java.util.Map<?, ?>);
+ method protected synchronized void putService(java.security.Provider.Service);
+ method protected synchronized void removeService(java.security.Provider.Service);
+ }
+
+ public static class Provider.Service {
+ ctor public Provider.Service(java.security.Provider, java.lang.String, java.lang.String, java.lang.String, java.util.List<java.lang.String>, java.util.Map<java.lang.String, java.lang.String>);
+ method public final java.lang.String getAlgorithm();
+ method public final java.lang.String getAttribute(java.lang.String);
+ method public final java.lang.String getClassName();
+ method public final java.security.Provider getProvider();
+ method public final java.lang.String getType();
+ method public java.lang.Object newInstance(java.lang.Object) throws java.security.NoSuchAlgorithmException;
+ method public boolean supportsParameter(java.lang.Object);
+ }
+
+ public class ProviderException extends java.lang.RuntimeException {
+ ctor public ProviderException(java.lang.String);
+ ctor public ProviderException();
+ ctor public ProviderException(java.lang.String, java.lang.Throwable);
+ ctor public ProviderException(java.lang.Throwable);
+ }
+
+ public abstract interface PublicKey implements java.security.Key {
+ field public static final long serialVersionUID = 7187392471159151072L; // 0x63bebf5f40c219e0L
+ }
+
+ public class SecureClassLoader extends java.lang.ClassLoader {
+ ctor protected SecureClassLoader();
+ ctor protected SecureClassLoader(java.lang.ClassLoader);
+ method protected final java.lang.Class<?> defineClass(java.lang.String, byte[], int, int, java.security.CodeSource);
+ method protected final java.lang.Class<?> defineClass(java.lang.String, java.nio.ByteBuffer, java.security.CodeSource);
+ method protected java.security.PermissionCollection getPermissions(java.security.CodeSource);
+ }
+
+ public class SecureRandom extends java.util.Random {
+ ctor public SecureRandom();
+ ctor public SecureRandom(byte[]);
+ ctor protected SecureRandom(java.security.SecureRandomSpi, java.security.Provider);
+ method public byte[] generateSeed(int);
+ method public java.lang.String getAlgorithm();
+ method public static java.security.SecureRandom getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static java.security.SecureRandom getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static java.security.SecureRandom getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final java.security.Provider getProvider();
+ method public static byte[] getSeed(int);
+ method protected final int next(int);
+ method public synchronized void setSeed(byte[]);
+ }
+
+ public abstract class SecureRandomSpi implements java.io.Serializable {
+ ctor public SecureRandomSpi();
+ method protected abstract byte[] engineGenerateSeed(int);
+ method protected abstract void engineNextBytes(byte[]);
+ method protected abstract void engineSetSeed(byte[]);
+ }
+
+ public final class Security {
+ method public static int addProvider(java.security.Provider);
+ method public static deprecated java.lang.String getAlgorithmProperty(java.lang.String, java.lang.String);
+ method public static java.util.Set<java.lang.String> getAlgorithms(java.lang.String);
+ method public static java.lang.String getProperty(java.lang.String);
+ method public static synchronized java.security.Provider getProvider(java.lang.String);
+ method public static synchronized java.security.Provider[] getProviders();
+ method public static java.security.Provider[] getProviders(java.lang.String);
+ method public static synchronized java.security.Provider[] getProviders(java.util.Map<java.lang.String, java.lang.String>);
+ method public static synchronized int insertProviderAt(java.security.Provider, int);
+ method public static synchronized void removeProvider(java.lang.String);
+ method public static void setProperty(java.lang.String, java.lang.String);
+ }
+
+ public final class SecurityPermission extends java.security.BasicPermission {
+ ctor public SecurityPermission(java.lang.String);
+ ctor public SecurityPermission(java.lang.String, java.lang.String);
+ }
+
+ public abstract class Signature extends java.security.SignatureSpi {
+ ctor protected Signature(java.lang.String);
+ method public final java.lang.String getAlgorithm();
+ method public static java.security.Signature getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static java.security.Signature getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static java.security.Signature getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final deprecated java.lang.Object getParameter(java.lang.String) throws java.security.InvalidParameterException;
+ method public final java.security.AlgorithmParameters getParameters();
+ method public final java.security.Provider getProvider();
+ method public final void initSign(java.security.PrivateKey) throws java.security.InvalidKeyException;
+ method public final void initSign(java.security.PrivateKey, java.security.SecureRandom) throws java.security.InvalidKeyException;
+ method public final void initVerify(java.security.PublicKey) throws java.security.InvalidKeyException;
+ method public final void initVerify(java.security.cert.Certificate) throws java.security.InvalidKeyException;
+ method public final deprecated void setParameter(java.lang.String, java.lang.Object) throws java.security.InvalidParameterException;
+ method public final void setParameter(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+ method public final byte[] sign() throws java.security.SignatureException;
+ method public final int sign(byte[], int, int) throws java.security.SignatureException;
+ method public final void update(byte) throws java.security.SignatureException;
+ method public final void update(byte[]) throws java.security.SignatureException;
+ method public final void update(byte[], int, int) throws java.security.SignatureException;
+ method public final void update(java.nio.ByteBuffer) throws java.security.SignatureException;
+ method public final boolean verify(byte[]) throws java.security.SignatureException;
+ method public final boolean verify(byte[], int, int) throws java.security.SignatureException;
+ field protected static final int SIGN = 2; // 0x2
+ field protected static final int UNINITIALIZED = 0; // 0x0
+ field protected static final int VERIFY = 3; // 0x3
+ field protected int state;
+ }
+
+ public class SignatureException extends java.security.GeneralSecurityException {
+ ctor public SignatureException(java.lang.String);
+ ctor public SignatureException();
+ ctor public SignatureException(java.lang.String, java.lang.Throwable);
+ ctor public SignatureException(java.lang.Throwable);
+ }
+
+ public abstract class SignatureSpi {
+ ctor public SignatureSpi();
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method protected abstract deprecated java.lang.Object engineGetParameter(java.lang.String) throws java.security.InvalidParameterException;
+ method protected java.security.AlgorithmParameters engineGetParameters();
+ method protected abstract void engineInitSign(java.security.PrivateKey) throws java.security.InvalidKeyException;
+ method protected void engineInitSign(java.security.PrivateKey, java.security.SecureRandom) throws java.security.InvalidKeyException;
+ method protected abstract void engineInitVerify(java.security.PublicKey) throws java.security.InvalidKeyException;
+ method protected abstract deprecated void engineSetParameter(java.lang.String, java.lang.Object) throws java.security.InvalidParameterException;
+ method protected void engineSetParameter(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+ method protected abstract byte[] engineSign() throws java.security.SignatureException;
+ method protected int engineSign(byte[], int, int) throws java.security.SignatureException;
+ method protected abstract void engineUpdate(byte) throws java.security.SignatureException;
+ method protected abstract void engineUpdate(byte[], int, int) throws java.security.SignatureException;
+ method protected void engineUpdate(java.nio.ByteBuffer);
+ method protected abstract boolean engineVerify(byte[]) throws java.security.SignatureException;
+ method protected boolean engineVerify(byte[], int, int) throws java.security.SignatureException;
+ field protected java.security.SecureRandom appRandom;
+ }
+
+ public final class SignedObject implements java.io.Serializable {
+ ctor public SignedObject(java.io.Serializable, java.security.PrivateKey, java.security.Signature) throws java.io.IOException, java.security.InvalidKeyException, java.security.SignatureException;
+ method public java.lang.String getAlgorithm();
+ method public java.lang.Object getObject() throws java.lang.ClassNotFoundException, java.io.IOException;
+ method public byte[] getSignature();
+ method public boolean verify(java.security.PublicKey, java.security.Signature) throws java.security.InvalidKeyException, java.security.SignatureException;
+ }
+
+ public abstract deprecated class Signer extends java.security.Identity {
+ ctor protected Signer();
+ ctor public Signer(java.lang.String);
+ ctor public Signer(java.lang.String, java.security.IdentityScope) throws java.security.KeyManagementException;
+ method public java.security.PrivateKey getPrivateKey();
+ method public final void setKeyPair(java.security.KeyPair) throws java.security.InvalidParameterException, java.security.KeyException;
+ }
+
+ public final class Timestamp implements java.io.Serializable {
+ ctor public Timestamp(java.util.Date, java.security.cert.CertPath);
+ method public java.security.cert.CertPath getSignerCertPath();
+ method public java.util.Date getTimestamp();
+ }
+
+ public class UnrecoverableEntryException extends java.security.GeneralSecurityException {
+ ctor public UnrecoverableEntryException();
+ ctor public UnrecoverableEntryException(java.lang.String);
+ }
+
+ public class UnrecoverableKeyException extends java.security.UnrecoverableEntryException {
+ ctor public UnrecoverableKeyException(java.lang.String);
+ ctor public UnrecoverableKeyException();
+ }
+
+ public final class UnresolvedPermission extends java.security.Permission implements java.io.Serializable {
+ ctor public UnresolvedPermission(java.lang.String, java.lang.String, java.lang.String, java.security.cert.Certificate[]);
+ method public java.lang.String getActions();
+ method public java.lang.String getUnresolvedActions();
+ method public java.security.cert.Certificate[] getUnresolvedCerts();
+ method public java.lang.String getUnresolvedName();
+ method public java.lang.String getUnresolvedType();
+ method public boolean implies(java.security.Permission);
+ }
+
+}
+
+package java.security.acl {
+
+ public abstract interface Acl implements java.security.acl.Owner {
+ method public abstract boolean addEntry(java.security.Principal, java.security.acl.AclEntry) throws java.security.acl.NotOwnerException;
+ method public abstract boolean checkPermission(java.security.Principal, java.security.acl.Permission);
+ method public abstract java.util.Enumeration<java.security.acl.AclEntry> entries();
+ method public abstract java.lang.String getName();
+ method public abstract java.util.Enumeration<java.security.acl.Permission> getPermissions(java.security.Principal);
+ method public abstract boolean removeEntry(java.security.Principal, java.security.acl.AclEntry) throws java.security.acl.NotOwnerException;
+ method public abstract void setName(java.security.Principal, java.lang.String) throws java.security.acl.NotOwnerException;
+ method public abstract java.lang.String toString();
+ }
+
+ public abstract interface AclEntry implements java.lang.Cloneable {
+ method public abstract boolean addPermission(java.security.acl.Permission);
+ method public abstract boolean checkPermission(java.security.acl.Permission);
+ method public abstract java.lang.Object clone();
+ method public abstract java.security.Principal getPrincipal();
+ method public abstract boolean isNegative();
+ method public abstract java.util.Enumeration<java.security.acl.Permission> permissions();
+ method public abstract boolean removePermission(java.security.acl.Permission);
+ method public abstract void setNegativePermissions();
+ method public abstract boolean setPrincipal(java.security.Principal);
+ method public abstract java.lang.String toString();
+ }
+
+ public class AclNotFoundException extends java.lang.Exception {
+ ctor public AclNotFoundException();
+ }
+
+ public abstract interface Group implements java.security.Principal {
+ method public abstract boolean addMember(java.security.Principal);
+ method public abstract boolean isMember(java.security.Principal);
+ method public abstract java.util.Enumeration<? extends java.security.Principal> members();
+ method public abstract boolean removeMember(java.security.Principal);
+ }
+
+ public class LastOwnerException extends java.lang.Exception {
+ ctor public LastOwnerException();
+ }
+
+ public class NotOwnerException extends java.lang.Exception {
+ ctor public NotOwnerException();
+ }
+
+ public abstract interface Owner {
+ method public abstract boolean addOwner(java.security.Principal, java.security.Principal) throws java.security.acl.NotOwnerException;
+ method public abstract boolean deleteOwner(java.security.Principal, java.security.Principal) throws java.security.acl.LastOwnerException, java.security.acl.NotOwnerException;
+ method public abstract boolean isOwner(java.security.Principal);
+ }
+
+ public abstract interface Permission {
+ method public abstract boolean equals(java.lang.Object);
+ method public abstract java.lang.String toString();
+ }
+
+}
+
+package java.security.cert {
+
+ public abstract class CRL {
+ ctor protected CRL(java.lang.String);
+ method public final java.lang.String getType();
+ method public abstract boolean isRevoked(java.security.cert.Certificate);
+ method public abstract java.lang.String toString();
+ }
+
+ public class CRLException extends java.security.GeneralSecurityException {
+ ctor public CRLException(java.lang.String);
+ ctor public CRLException();
+ ctor public CRLException(java.lang.String, java.lang.Throwable);
+ ctor public CRLException(java.lang.Throwable);
+ }
+
+ public abstract interface CRLSelector implements java.lang.Cloneable {
+ method public abstract java.lang.Object clone();
+ method public abstract boolean match(java.security.cert.CRL);
+ }
+
+ public abstract class CertPath implements java.io.Serializable {
+ ctor protected CertPath(java.lang.String);
+ method public abstract java.util.List<? extends java.security.cert.Certificate> getCertificates();
+ method public abstract byte[] getEncoded() throws java.security.cert.CertificateEncodingException;
+ method public abstract byte[] getEncoded(java.lang.String) throws java.security.cert.CertificateEncodingException;
+ method public abstract java.util.Iterator<java.lang.String> getEncodings();
+ method public java.lang.String getType();
+ method protected java.lang.Object writeReplace() throws java.io.ObjectStreamException;
+ }
+
+ protected static class CertPath.CertPathRep implements java.io.Serializable {
+ ctor protected CertPath.CertPathRep(java.lang.String, byte[]);
+ method protected java.lang.Object readResolve() throws java.io.ObjectStreamException;
+ }
+
+ public class CertPathBuilder {
+ ctor protected CertPathBuilder(java.security.cert.CertPathBuilderSpi, java.security.Provider, java.lang.String);
+ method public final java.security.cert.CertPathBuilderResult build(java.security.cert.CertPathParameters) throws java.security.cert.CertPathBuilderException, java.security.InvalidAlgorithmParameterException;
+ method public final java.lang.String getAlgorithm();
+ method public static final java.lang.String getDefaultType();
+ method public static java.security.cert.CertPathBuilder getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static java.security.cert.CertPathBuilder getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static java.security.cert.CertPathBuilder getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final java.security.Provider getProvider();
+ }
+
+ public class CertPathBuilderException extends java.security.GeneralSecurityException {
+ ctor public CertPathBuilderException(java.lang.String, java.lang.Throwable);
+ ctor public CertPathBuilderException(java.lang.Throwable);
+ ctor public CertPathBuilderException(java.lang.String);
+ ctor public CertPathBuilderException();
+ }
+
+ public abstract interface CertPathBuilderResult implements java.lang.Cloneable {
+ method public abstract java.lang.Object clone();
+ method public abstract java.security.cert.CertPath getCertPath();
+ }
+
+ public abstract class CertPathBuilderSpi {
+ ctor public CertPathBuilderSpi();
+ method public abstract java.security.cert.CertPathBuilderResult engineBuild(java.security.cert.CertPathParameters) throws java.security.cert.CertPathBuilderException, java.security.InvalidAlgorithmParameterException;
+ }
+
+ public abstract interface CertPathParameters implements java.lang.Cloneable {
+ method public abstract java.lang.Object clone();
+ }
+
+ public class CertPathValidator {
+ ctor protected CertPathValidator(java.security.cert.CertPathValidatorSpi, java.security.Provider, java.lang.String);
+ method public final java.lang.String getAlgorithm();
+ method public static final java.lang.String getDefaultType();
+ method public static java.security.cert.CertPathValidator getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static java.security.cert.CertPathValidator getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static java.security.cert.CertPathValidator getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final java.security.Provider getProvider();
+ method public final java.security.cert.CertPathValidatorResult validate(java.security.cert.CertPath, java.security.cert.CertPathParameters) throws java.security.cert.CertPathValidatorException, java.security.InvalidAlgorithmParameterException;
+ }
+
+ public class CertPathValidatorException extends java.security.GeneralSecurityException {
+ ctor public CertPathValidatorException(java.lang.String, java.lang.Throwable, java.security.cert.CertPath, int);
+ ctor public CertPathValidatorException(java.lang.String, java.lang.Throwable);
+ ctor public CertPathValidatorException(java.lang.Throwable);
+ ctor public CertPathValidatorException(java.lang.String);
+ ctor public CertPathValidatorException();
+ method public java.security.cert.CertPath getCertPath();
+ method public int getIndex();
+ }
+
+ public abstract interface CertPathValidatorResult implements java.lang.Cloneable {
+ method public abstract java.lang.Object clone();
+ }
+
+ public abstract class CertPathValidatorSpi {
+ ctor public CertPathValidatorSpi();
+ method public abstract java.security.cert.CertPathValidatorResult engineValidate(java.security.cert.CertPath, java.security.cert.CertPathParameters) throws java.security.cert.CertPathValidatorException, java.security.InvalidAlgorithmParameterException;
+ }
+
+ public abstract interface CertSelector implements java.lang.Cloneable {
+ method public abstract java.lang.Object clone();
+ method public abstract boolean match(java.security.cert.Certificate);
+ }
+
+ public class CertStore {
+ ctor protected CertStore(java.security.cert.CertStoreSpi, java.security.Provider, java.lang.String, java.security.cert.CertStoreParameters);
+ method public final java.util.Collection<? extends java.security.cert.CRL> getCRLs(java.security.cert.CRLSelector) throws java.security.cert.CertStoreException;
+ method public final java.security.cert.CertStoreParameters getCertStoreParameters();
+ method public final java.util.Collection<? extends java.security.cert.Certificate> getCertificates(java.security.cert.CertSelector) throws java.security.cert.CertStoreException;
+ method public static final java.lang.String getDefaultType();
+ method public static java.security.cert.CertStore getInstance(java.lang.String, java.security.cert.CertStoreParameters) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException;
+ method public static java.security.cert.CertStore getInstance(java.lang.String, java.security.cert.CertStoreParameters, java.lang.String) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static java.security.cert.CertStore getInstance(java.lang.String, java.security.cert.CertStoreParameters, java.security.Provider) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException;
+ method public final java.security.Provider getProvider();
+ method public final java.lang.String getType();
+ }
+
+ public class CertStoreException extends java.security.GeneralSecurityException {
+ ctor public CertStoreException(java.lang.String, java.lang.Throwable);
+ ctor public CertStoreException(java.lang.Throwable);
+ ctor public CertStoreException(java.lang.String);
+ ctor public CertStoreException();
+ }
+
+ public abstract interface CertStoreParameters implements java.lang.Cloneable {
+ method public abstract java.lang.Object clone();
+ }
+
+ public abstract class CertStoreSpi {
+ ctor public CertStoreSpi(java.security.cert.CertStoreParameters) throws java.security.InvalidAlgorithmParameterException;
+ method public abstract java.util.Collection<? extends java.security.cert.CRL> engineGetCRLs(java.security.cert.CRLSelector) throws java.security.cert.CertStoreException;
+ method public abstract java.util.Collection<? extends java.security.cert.Certificate> engineGetCertificates(java.security.cert.CertSelector) throws java.security.cert.CertStoreException;
+ }
+
+ public abstract class Certificate implements java.io.Serializable {
+ ctor protected Certificate(java.lang.String);
+ method public abstract byte[] getEncoded() throws java.security.cert.CertificateEncodingException;
+ method public abstract java.security.PublicKey getPublicKey();
+ method public final java.lang.String getType();
+ method public abstract java.lang.String toString();
+ method public abstract void verify(java.security.PublicKey) throws java.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+ method public abstract void verify(java.security.PublicKey, java.lang.String) throws java.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+ method protected java.lang.Object writeReplace() throws java.io.ObjectStreamException;
+ }
+
+ protected static class Certificate.CertificateRep implements java.io.Serializable {
+ ctor protected Certificate.CertificateRep(java.lang.String, byte[]);
+ method protected java.lang.Object readResolve() throws java.io.ObjectStreamException;
+ }
+
+ public class CertificateEncodingException extends java.security.cert.CertificateException {
+ ctor public CertificateEncodingException(java.lang.String);
+ ctor public CertificateEncodingException();
+ ctor public CertificateEncodingException(java.lang.String, java.lang.Throwable);
+ ctor public CertificateEncodingException(java.lang.Throwable);
+ }
+
+ public class CertificateException extends java.security.GeneralSecurityException {
+ ctor public CertificateException(java.lang.String);
+ ctor public CertificateException();
+ ctor public CertificateException(java.lang.String, java.lang.Throwable);
+ ctor public CertificateException(java.lang.Throwable);
+ }
+
+ public class CertificateExpiredException extends java.security.cert.CertificateException {
+ ctor public CertificateExpiredException(java.lang.String);
+ ctor public CertificateExpiredException();
+ }
+
+ public class CertificateFactory {
+ ctor protected CertificateFactory(java.security.cert.CertificateFactorySpi, java.security.Provider, java.lang.String);
+ method public final java.security.cert.CRL generateCRL(java.io.InputStream) throws java.security.cert.CRLException;
+ method public final java.util.Collection<? extends java.security.cert.CRL> generateCRLs(java.io.InputStream) throws java.security.cert.CRLException;
+ method public final java.security.cert.CertPath generateCertPath(java.io.InputStream) throws java.security.cert.CertificateException;
+ method public final java.security.cert.CertPath generateCertPath(java.io.InputStream, java.lang.String) throws java.security.cert.CertificateException;
+ method public final java.security.cert.CertPath generateCertPath(java.util.List<? extends java.security.cert.Certificate>) throws java.security.cert.CertificateException;
+ method public final java.security.cert.Certificate generateCertificate(java.io.InputStream) throws java.security.cert.CertificateException;
+ method public final java.util.Collection<? extends java.security.cert.Certificate> generateCertificates(java.io.InputStream) throws java.security.cert.CertificateException;
+ method public final java.util.Iterator<java.lang.String> getCertPathEncodings();
+ method public static final java.security.cert.CertificateFactory getInstance(java.lang.String) throws java.security.cert.CertificateException;
+ method public static final java.security.cert.CertificateFactory getInstance(java.lang.String, java.lang.String) throws java.security.cert.CertificateException, java.security.NoSuchProviderException;
+ method public static final java.security.cert.CertificateFactory getInstance(java.lang.String, java.security.Provider) throws java.security.cert.CertificateException;
+ method public final java.security.Provider getProvider();
+ method public final java.lang.String getType();
+ }
+
+ public abstract class CertificateFactorySpi {
+ ctor public CertificateFactorySpi();
+ method public abstract java.security.cert.CRL engineGenerateCRL(java.io.InputStream) throws java.security.cert.CRLException;
+ method public abstract java.util.Collection<? extends java.security.cert.CRL> engineGenerateCRLs(java.io.InputStream) throws java.security.cert.CRLException;
+ method public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream) throws java.security.cert.CertificateException;
+ method public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream, java.lang.String) throws java.security.cert.CertificateException;
+ method public java.security.cert.CertPath engineGenerateCertPath(java.util.List<? extends java.security.cert.Certificate>) throws java.security.cert.CertificateException;
+ method public abstract java.security.cert.Certificate engineGenerateCertificate(java.io.InputStream) throws java.security.cert.CertificateException;
+ method public abstract java.util.Collection<? extends java.security.cert.Certificate> engineGenerateCertificates(java.io.InputStream) throws java.security.cert.CertificateException;
+ method public java.util.Iterator<java.lang.String> engineGetCertPathEncodings();
+ }
+
+ public class CertificateNotYetValidException extends java.security.cert.CertificateException {
+ ctor public CertificateNotYetValidException(java.lang.String);
+ ctor public CertificateNotYetValidException();
+ }
+
+ public class CertificateParsingException extends java.security.cert.CertificateException {
+ ctor public CertificateParsingException(java.lang.String);
+ ctor public CertificateParsingException();
+ ctor public CertificateParsingException(java.lang.String, java.lang.Throwable);
+ ctor public CertificateParsingException(java.lang.Throwable);
+ }
+
+ public class CollectionCertStoreParameters implements java.security.cert.CertStoreParameters {
+ ctor public CollectionCertStoreParameters();
+ ctor public CollectionCertStoreParameters(java.util.Collection<?>);
+ method public java.lang.Object clone();
+ method public java.util.Collection<?> getCollection();
+ }
+
+ public class LDAPCertStoreParameters implements java.security.cert.CertStoreParameters {
+ ctor public LDAPCertStoreParameters(java.lang.String, int);
+ ctor public LDAPCertStoreParameters();
+ ctor public LDAPCertStoreParameters(java.lang.String);
+ method public java.lang.Object clone();
+ method public int getPort();
+ method public java.lang.String getServerName();
+ }
+
+ public class PKIXBuilderParameters extends java.security.cert.PKIXParameters {
+ ctor public PKIXBuilderParameters(java.util.Set<java.security.cert.TrustAnchor>, java.security.cert.CertSelector) throws java.security.InvalidAlgorithmParameterException;
+ ctor public PKIXBuilderParameters(java.security.KeyStore, java.security.cert.CertSelector) throws java.security.InvalidAlgorithmParameterException, java.security.KeyStoreException;
+ method public int getMaxPathLength();
+ method public void setMaxPathLength(int);
+ }
+
+ public class PKIXCertPathBuilderResult extends java.security.cert.PKIXCertPathValidatorResult implements java.security.cert.CertPathBuilderResult {
+ ctor public PKIXCertPathBuilderResult(java.security.cert.CertPath, java.security.cert.TrustAnchor, java.security.cert.PolicyNode, java.security.PublicKey);
+ method public java.security.cert.CertPath getCertPath();
+ }
+
+ public abstract class PKIXCertPathChecker implements java.lang.Cloneable {
+ ctor protected PKIXCertPathChecker();
+ method public abstract void check(java.security.cert.Certificate, java.util.Collection<java.lang.String>) throws java.security.cert.CertPathValidatorException;
+ method public java.lang.Object clone();
+ method public abstract java.util.Set<java.lang.String> getSupportedExtensions();
+ method public abstract void init(boolean) throws java.security.cert.CertPathValidatorException;
+ method public abstract boolean isForwardCheckingSupported();
+ }
+
+ public class PKIXCertPathValidatorResult implements java.security.cert.CertPathValidatorResult {
+ ctor public PKIXCertPathValidatorResult(java.security.cert.TrustAnchor, java.security.cert.PolicyNode, java.security.PublicKey);
+ method public java.lang.Object clone();
+ method public java.security.cert.PolicyNode getPolicyTree();
+ method public java.security.PublicKey getPublicKey();
+ method public java.security.cert.TrustAnchor getTrustAnchor();
+ }
+
+ public class PKIXParameters implements java.security.cert.CertPathParameters {
+ ctor public PKIXParameters(java.util.Set<java.security.cert.TrustAnchor>) throws java.security.InvalidAlgorithmParameterException;
+ ctor public PKIXParameters(java.security.KeyStore) throws java.security.InvalidAlgorithmParameterException, java.security.KeyStoreException;
+ method public void addCertPathChecker(java.security.cert.PKIXCertPathChecker);
+ method public void addCertStore(java.security.cert.CertStore);
+ method public java.lang.Object clone();
+ method public java.util.List<java.security.cert.PKIXCertPathChecker> getCertPathCheckers();
+ method public java.util.List<java.security.cert.CertStore> getCertStores();
+ method public java.util.Date getDate();
+ method public java.util.Set<java.lang.String> getInitialPolicies();
+ method public boolean getPolicyQualifiersRejected();
+ method public java.lang.String getSigProvider();
+ method public java.security.cert.CertSelector getTargetCertConstraints();
+ method public java.util.Set<java.security.cert.TrustAnchor> getTrustAnchors();
+ method public boolean isAnyPolicyInhibited();
+ method public boolean isExplicitPolicyRequired();
+ method public boolean isPolicyMappingInhibited();
+ method public boolean isRevocationEnabled();
+ method public void setAnyPolicyInhibited(boolean);
+ method public void setCertPathCheckers(java.util.List<java.security.cert.PKIXCertPathChecker>);
+ method public void setCertStores(java.util.List<java.security.cert.CertStore>);
+ method public void setDate(java.util.Date);
+ method public void setExplicitPolicyRequired(boolean);
+ method public void setInitialPolicies(java.util.Set<java.lang.String>);
+ method public void setPolicyMappingInhibited(boolean);
+ method public void setPolicyQualifiersRejected(boolean);
+ method public void setRevocationEnabled(boolean);
+ method public void setSigProvider(java.lang.String);
+ method public void setTargetCertConstraints(java.security.cert.CertSelector);
+ method public void setTrustAnchors(java.util.Set<java.security.cert.TrustAnchor>) throws java.security.InvalidAlgorithmParameterException;
+ }
+
+ public abstract interface PolicyNode {
+ method public abstract java.util.Iterator<? extends java.security.cert.PolicyNode> getChildren();
+ method public abstract int getDepth();
+ method public abstract java.util.Set<java.lang.String> getExpectedPolicies();
+ method public abstract java.security.cert.PolicyNode getParent();
+ method public abstract java.util.Set<? extends java.security.cert.PolicyQualifierInfo> getPolicyQualifiers();
+ method public abstract java.lang.String getValidPolicy();
+ method public abstract boolean isCritical();
+ }
+
+ public class PolicyQualifierInfo {
+ ctor public PolicyQualifierInfo(byte[]) throws java.io.IOException;
+ method public final byte[] getEncoded();
+ method public final byte[] getPolicyQualifier();
+ method public final java.lang.String getPolicyQualifierId();
+ }
+
+ public class TrustAnchor {
+ ctor public TrustAnchor(java.security.cert.X509Certificate, byte[]);
+ ctor public TrustAnchor(java.lang.String, java.security.PublicKey, byte[]);
+ ctor public TrustAnchor(javax.security.auth.x500.X500Principal, java.security.PublicKey, byte[]);
+ method public final javax.security.auth.x500.X500Principal getCA();
+ method public final java.lang.String getCAName();
+ method public final java.security.PublicKey getCAPublicKey();
+ method public final byte[] getNameConstraints();
+ method public final java.security.cert.X509Certificate getTrustedCert();
+ }
+
+ public abstract class X509CRL extends java.security.cert.CRL implements java.security.cert.X509Extension {
+ ctor protected X509CRL();
+ method public abstract byte[] getEncoded() throws java.security.cert.CRLException;
+ method public abstract java.security.Principal getIssuerDN();
+ method public javax.security.auth.x500.X500Principal getIssuerX500Principal();
+ method public abstract java.util.Date getNextUpdate();
+ method public abstract java.security.cert.X509CRLEntry getRevokedCertificate(java.math.BigInteger);
+ method public java.security.cert.X509CRLEntry getRevokedCertificate(java.security.cert.X509Certificate);
+ method public abstract java.util.Set<? extends java.security.cert.X509CRLEntry> getRevokedCertificates();
+ method public abstract java.lang.String getSigAlgName();
+ method public abstract java.lang.String getSigAlgOID();
+ method public abstract byte[] getSigAlgParams();
+ method public abstract byte[] getSignature();
+ method public abstract byte[] getTBSCertList() throws java.security.cert.CRLException;
+ method public abstract java.util.Date getThisUpdate();
+ method public abstract int getVersion();
+ method public abstract void verify(java.security.PublicKey) throws java.security.cert.CRLException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+ method public abstract void verify(java.security.PublicKey, java.lang.String) throws java.security.cert.CRLException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+ }
+
+ public abstract class X509CRLEntry implements java.security.cert.X509Extension {
+ ctor public X509CRLEntry();
+ method public javax.security.auth.x500.X500Principal getCertificateIssuer();
+ method public abstract byte[] getEncoded() throws java.security.cert.CRLException;
+ method public abstract java.util.Date getRevocationDate();
+ method public abstract java.math.BigInteger getSerialNumber();
+ method public abstract boolean hasExtensions();
+ method public abstract java.lang.String toString();
+ }
+
+ public class X509CRLSelector implements java.security.cert.CRLSelector {
+ ctor public X509CRLSelector();
+ method public void addIssuer(javax.security.auth.x500.X500Principal);
+ method public void addIssuerName(java.lang.String) throws java.io.IOException;
+ method public void addIssuerName(byte[]) throws java.io.IOException;
+ method public java.lang.Object clone();
+ method public java.security.cert.X509Certificate getCertificateChecking();
+ method public java.util.Date getDateAndTime();
+ method public java.util.Collection<java.lang.Object> getIssuerNames();
+ method public java.util.Collection<javax.security.auth.x500.X500Principal> getIssuers();
+ method public java.math.BigInteger getMaxCRL();
+ method public java.math.BigInteger getMinCRL();
+ method public boolean match(java.security.cert.CRL);
+ method public void setCertificateChecking(java.security.cert.X509Certificate);
+ method public void setDateAndTime(java.util.Date);
+ method public void setIssuerNames(java.util.Collection<?>) throws java.io.IOException;
+ method public void setIssuers(java.util.Collection<javax.security.auth.x500.X500Principal>);
+ method public void setMaxCRLNumber(java.math.BigInteger);
+ method public void setMinCRLNumber(java.math.BigInteger);
+ }
+
+ public class X509CertSelector implements java.security.cert.CertSelector {
+ ctor public X509CertSelector();
+ method public void addPathToName(int, java.lang.String) throws java.io.IOException;
+ method public void addPathToName(int, byte[]) throws java.io.IOException;
+ method public void addSubjectAlternativeName(int, java.lang.String) throws java.io.IOException;
+ method public void addSubjectAlternativeName(int, byte[]) throws java.io.IOException;
+ method public java.lang.Object clone();
+ method public byte[] getAuthorityKeyIdentifier();
+ method public int getBasicConstraints();
+ method public java.security.cert.X509Certificate getCertificate();
+ method public java.util.Date getCertificateValid();
+ method public java.util.Set<java.lang.String> getExtendedKeyUsage();
+ method public javax.security.auth.x500.X500Principal getIssuer();
+ method public byte[] getIssuerAsBytes() throws java.io.IOException;
+ method public java.lang.String getIssuerAsString();
+ method public boolean[] getKeyUsage();
+ method public boolean getMatchAllSubjectAltNames();
+ method public byte[] getNameConstraints();
+ method public java.util.Collection<java.util.List<?>> getPathToNames();
+ method public java.util.Set<java.lang.String> getPolicy();
+ method public java.util.Date getPrivateKeyValid();
+ method public java.math.BigInteger getSerialNumber();
+ method public javax.security.auth.x500.X500Principal getSubject();
+ method public java.util.Collection<java.util.List<?>> getSubjectAlternativeNames();
+ method public byte[] getSubjectAsBytes() throws java.io.IOException;
+ method public java.lang.String getSubjectAsString();
+ method public byte[] getSubjectKeyIdentifier();
+ method public java.security.PublicKey getSubjectPublicKey();
+ method public java.lang.String getSubjectPublicKeyAlgID();
+ method public boolean match(java.security.cert.Certificate);
+ method public void setAuthorityKeyIdentifier(byte[]);
+ method public void setBasicConstraints(int);
+ method public void setCertificate(java.security.cert.X509Certificate);
+ method public void setCertificateValid(java.util.Date);
+ method public void setExtendedKeyUsage(java.util.Set<java.lang.String>) throws java.io.IOException;
+ method public void setIssuer(javax.security.auth.x500.X500Principal);
+ method public void setIssuer(java.lang.String) throws java.io.IOException;
+ method public void setIssuer(byte[]) throws java.io.IOException;
+ method public void setKeyUsage(boolean[]);
+ method public void setMatchAllSubjectAltNames(boolean);
+ method public void setNameConstraints(byte[]) throws java.io.IOException;
+ method public void setPathToNames(java.util.Collection<java.util.List<?>>) throws java.io.IOException;
+ method public void setPolicy(java.util.Set<java.lang.String>) throws java.io.IOException;
+ method public void setPrivateKeyValid(java.util.Date);
+ method public void setSerialNumber(java.math.BigInteger);
+ method public void setSubject(javax.security.auth.x500.X500Principal);
+ method public void setSubject(java.lang.String) throws java.io.IOException;
+ method public void setSubject(byte[]) throws java.io.IOException;
+ method public void setSubjectAlternativeNames(java.util.Collection<java.util.List<?>>) throws java.io.IOException;
+ method public void setSubjectKeyIdentifier(byte[]);
+ method public void setSubjectPublicKey(java.security.PublicKey);
+ method public void setSubjectPublicKey(byte[]) throws java.io.IOException;
+ method public void setSubjectPublicKeyAlgID(java.lang.String) throws java.io.IOException;
+ }
+
+ public abstract class X509Certificate extends java.security.cert.Certificate implements java.security.cert.X509Extension {
+ ctor protected X509Certificate();
+ method public abstract void checkValidity() throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException;
+ method public abstract void checkValidity(java.util.Date) throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException;
+ method public abstract int getBasicConstraints();
+ method public java.util.List<java.lang.String> getExtendedKeyUsage() throws java.security.cert.CertificateParsingException;
+ method public java.util.Collection<java.util.List<?>> getIssuerAlternativeNames() throws java.security.cert.CertificateParsingException;
+ method public abstract java.security.Principal getIssuerDN();
+ method public abstract boolean[] getIssuerUniqueID();
+ method public javax.security.auth.x500.X500Principal getIssuerX500Principal();
+ method public abstract boolean[] getKeyUsage();
+ method public abstract java.util.Date getNotAfter();
+ method public abstract java.util.Date getNotBefore();
+ method public abstract java.math.BigInteger getSerialNumber();
+ method public abstract java.lang.String getSigAlgName();
+ method public abstract java.lang.String getSigAlgOID();
+ method public abstract byte[] getSigAlgParams();
+ method public abstract byte[] getSignature();
+ method public java.util.Collection<java.util.List<?>> getSubjectAlternativeNames() throws java.security.cert.CertificateParsingException;
+ method public abstract java.security.Principal getSubjectDN();
+ method public abstract boolean[] getSubjectUniqueID();
+ method public javax.security.auth.x500.X500Principal getSubjectX500Principal();
+ method public abstract byte[] getTBSCertificate() throws java.security.cert.CertificateEncodingException;
+ method public abstract int getVersion();
+ }
+
+ public abstract interface X509Extension {
+ method public abstract java.util.Set<java.lang.String> getCriticalExtensionOIDs();
+ method public abstract byte[] getExtensionValue(java.lang.String);
+ method public abstract java.util.Set<java.lang.String> getNonCriticalExtensionOIDs();
+ method public abstract boolean hasUnsupportedCriticalExtension();
+ }
+
+}
+
+package java.security.interfaces {
+
+ public abstract interface DSAKey {
+ method public abstract java.security.interfaces.DSAParams getParams();
+ }
+
+ public abstract interface DSAKeyPairGenerator {
+ method public abstract void initialize(java.security.interfaces.DSAParams, java.security.SecureRandom) throws java.security.InvalidParameterException;
+ method public abstract void initialize(int, boolean, java.security.SecureRandom) throws java.security.InvalidParameterException;
+ }
+
+ public abstract interface DSAParams {
+ method public abstract java.math.BigInteger getG();
+ method public abstract java.math.BigInteger getP();
+ method public abstract java.math.BigInteger getQ();
+ }
+
+ public abstract interface DSAPrivateKey implements java.security.interfaces.DSAKey java.security.PrivateKey {
+ method public abstract java.math.BigInteger getX();
+ field public static final long serialVersionUID = 7776497482533790279L; // 0x6bebab423b256247L
+ }
+
+ public abstract interface DSAPublicKey implements java.security.interfaces.DSAKey java.security.PublicKey {
+ method public abstract java.math.BigInteger getY();
+ field public static final long serialVersionUID = 1234526332779022332L; // 0x1121eb28ab28c7fcL
+ }
+
+ public abstract interface ECKey {
+ method public abstract java.security.spec.ECParameterSpec getParams();
+ }
+
+ public abstract interface ECPrivateKey implements java.security.interfaces.ECKey java.security.PrivateKey {
+ method public abstract java.math.BigInteger getS();
+ field public static final long serialVersionUID = -7896394956925609184L; // 0x926a5e9fa2435b20L
+ }
+
+ public abstract interface ECPublicKey implements java.security.interfaces.ECKey java.security.PublicKey {
+ method public abstract java.security.spec.ECPoint getW();
+ field public static final long serialVersionUID = -3314988629879632826L; // 0xd1fecb679990cc46L
+ }
+
+ public abstract interface RSAKey {
+ method public abstract java.math.BigInteger getModulus();
+ }
+
+ public abstract interface RSAMultiPrimePrivateCrtKey implements java.security.interfaces.RSAPrivateKey {
+ method public abstract java.math.BigInteger getCrtCoefficient();
+ method public abstract java.security.spec.RSAOtherPrimeInfo[] getOtherPrimeInfo();
+ method public abstract java.math.BigInteger getPrimeExponentP();
+ method public abstract java.math.BigInteger getPrimeExponentQ();
+ method public abstract java.math.BigInteger getPrimeP();
+ method public abstract java.math.BigInteger getPrimeQ();
+ method public abstract java.math.BigInteger getPublicExponent();
+ field public static final long serialVersionUID = 618058533534628008L; // 0x893c8f62dbaf8a8L
+ }
+
+ public abstract interface RSAPrivateCrtKey implements java.security.interfaces.RSAPrivateKey {
+ method public abstract java.math.BigInteger getCrtCoefficient();
+ method public abstract java.math.BigInteger getPrimeExponentP();
+ method public abstract java.math.BigInteger getPrimeExponentQ();
+ method public abstract java.math.BigInteger getPrimeP();
+ method public abstract java.math.BigInteger getPrimeQ();
+ method public abstract java.math.BigInteger getPublicExponent();
+ field public static final long serialVersionUID = -5682214253527700368L; // 0xb124b83df8d1ec70L
+ }
+
+ public abstract interface RSAPrivateKey implements java.security.PrivateKey java.security.interfaces.RSAKey {
+ method public abstract java.math.BigInteger getPrivateExponent();
+ field public static final long serialVersionUID = 5187144804936595022L; // 0x47fc70b7a8c2364eL
+ }
+
+ public abstract interface RSAPublicKey implements java.security.PublicKey java.security.interfaces.RSAKey {
+ method public abstract java.math.BigInteger getPublicExponent();
+ field public static final long serialVersionUID = -8727434096241101194L; // 0x86e1ecedeceab676L
+ }
+
+}
+
+package java.security.spec {
+
+ public abstract interface AlgorithmParameterSpec {
+ }
+
+ public class DSAParameterSpec implements java.security.spec.AlgorithmParameterSpec java.security.interfaces.DSAParams {
+ ctor public DSAParameterSpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+ method public java.math.BigInteger getG();
+ method public java.math.BigInteger getP();
+ method public java.math.BigInteger getQ();
+ }
+
+ public class DSAPrivateKeySpec implements java.security.spec.KeySpec {
+ ctor public DSAPrivateKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+ method public java.math.BigInteger getG();
+ method public java.math.BigInteger getP();
+ method public java.math.BigInteger getQ();
+ method public java.math.BigInteger getX();
+ }
+
+ public class DSAPublicKeySpec implements java.security.spec.KeySpec {
+ ctor public DSAPublicKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+ method public java.math.BigInteger getG();
+ method public java.math.BigInteger getP();
+ method public java.math.BigInteger getQ();
+ method public java.math.BigInteger getY();
+ }
+
+ public abstract interface ECField {
+ method public abstract int getFieldSize();
+ }
+
+ public class ECFieldF2m implements java.security.spec.ECField {
+ ctor public ECFieldF2m(int);
+ ctor public ECFieldF2m(int, java.math.BigInteger);
+ ctor public ECFieldF2m(int, int[]);
+ method public int getFieldSize();
+ method public int getM();
+ method public int[] getMidTermsOfReductionPolynomial();
+ method public java.math.BigInteger getReductionPolynomial();
+ }
+
+ public class ECFieldFp implements java.security.spec.ECField {
+ ctor public ECFieldFp(java.math.BigInteger);
+ method public int getFieldSize();
+ method public java.math.BigInteger getP();
+ }
+
+ public class ECGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+ ctor public ECGenParameterSpec(java.lang.String);
+ method public java.lang.String getName();
+ }
+
+ public class ECParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+ ctor public ECParameterSpec(java.security.spec.EllipticCurve, java.security.spec.ECPoint, java.math.BigInteger, int);
+ method public int getCofactor();
+ method public java.security.spec.EllipticCurve getCurve();
+ method public java.security.spec.ECPoint getGenerator();
+ method public java.math.BigInteger getOrder();
+ }
+
+ public class ECPoint {
+ ctor public ECPoint(java.math.BigInteger, java.math.BigInteger);
+ method public java.math.BigInteger getAffineX();
+ method public java.math.BigInteger getAffineY();
+ field public static final java.security.spec.ECPoint POINT_INFINITY;
+ }
+
+ public class ECPrivateKeySpec implements java.security.spec.KeySpec {
+ ctor public ECPrivateKeySpec(java.math.BigInteger, java.security.spec.ECParameterSpec);
+ method public java.security.spec.ECParameterSpec getParams();
+ method public java.math.BigInteger getS();
+ }
+
+ public class ECPublicKeySpec implements java.security.spec.KeySpec {
+ ctor public ECPublicKeySpec(java.security.spec.ECPoint, java.security.spec.ECParameterSpec);
+ method public java.security.spec.ECParameterSpec getParams();
+ method public java.security.spec.ECPoint getW();
+ }
+
+ public class EllipticCurve {
+ ctor public EllipticCurve(java.security.spec.ECField, java.math.BigInteger, java.math.BigInteger, byte[]);
+ ctor public EllipticCurve(java.security.spec.ECField, java.math.BigInteger, java.math.BigInteger);
+ method public java.math.BigInteger getA();
+ method public java.math.BigInteger getB();
+ method public java.security.spec.ECField getField();
+ method public byte[] getSeed();
+ }
+
+ public abstract class EncodedKeySpec implements java.security.spec.KeySpec {
+ ctor public EncodedKeySpec(byte[]);
+ method public byte[] getEncoded();
+ method public abstract java.lang.String getFormat();
+ }
+
+ public class InvalidKeySpecException extends java.security.GeneralSecurityException {
+ ctor public InvalidKeySpecException(java.lang.String);
+ ctor public InvalidKeySpecException();
+ ctor public InvalidKeySpecException(java.lang.String, java.lang.Throwable);
+ ctor public InvalidKeySpecException(java.lang.Throwable);
+ }
+
+ public class InvalidParameterSpecException extends java.security.GeneralSecurityException {
+ ctor public InvalidParameterSpecException(java.lang.String);
+ ctor public InvalidParameterSpecException();
+ }
+
+ public abstract interface KeySpec {
+ }
+
+ public class MGF1ParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+ ctor public MGF1ParameterSpec(java.lang.String);
+ method public java.lang.String getDigestAlgorithm();
+ field public static final java.security.spec.MGF1ParameterSpec SHA1;
+ field public static final java.security.spec.MGF1ParameterSpec SHA256;
+ field public static final java.security.spec.MGF1ParameterSpec SHA384;
+ field public static final java.security.spec.MGF1ParameterSpec SHA512;
+ }
+
+ public class PKCS8EncodedKeySpec extends java.security.spec.EncodedKeySpec {
+ ctor public PKCS8EncodedKeySpec(byte[]);
+ method public final java.lang.String getFormat();
+ }
+
+ public class PSSParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+ ctor public PSSParameterSpec(int);
+ ctor public PSSParameterSpec(java.lang.String, java.lang.String, java.security.spec.AlgorithmParameterSpec, int, int);
+ method public java.lang.String getDigestAlgorithm();
+ method public java.lang.String getMGFAlgorithm();
+ method public java.security.spec.AlgorithmParameterSpec getMGFParameters();
+ method public int getSaltLength();
+ method public int getTrailerField();
+ field public static final java.security.spec.PSSParameterSpec DEFAULT;
+ }
+
+ public class RSAKeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+ ctor public RSAKeyGenParameterSpec(int, java.math.BigInteger);
+ method public int getKeysize();
+ method public java.math.BigInteger getPublicExponent();
+ field public static final java.math.BigInteger F0;
+ field public static final java.math.BigInteger F4;
+ }
+
+ public class RSAMultiPrimePrivateCrtKeySpec extends java.security.spec.RSAPrivateKeySpec {
+ ctor public RSAMultiPrimePrivateCrtKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.security.spec.RSAOtherPrimeInfo[]);
+ method public java.math.BigInteger getCrtCoefficient();
+ method public java.security.spec.RSAOtherPrimeInfo[] getOtherPrimeInfo();
+ method public java.math.BigInteger getPrimeExponentP();
+ method public java.math.BigInteger getPrimeExponentQ();
+ method public java.math.BigInteger getPrimeP();
+ method public java.math.BigInteger getPrimeQ();
+ method public java.math.BigInteger getPublicExponent();
+ }
+
+ public class RSAOtherPrimeInfo {
+ ctor public RSAOtherPrimeInfo(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+ method public final java.math.BigInteger getCrtCoefficient();
+ method public final java.math.BigInteger getExponent();
+ method public final java.math.BigInteger getPrime();
+ }
+
+ public class RSAPrivateCrtKeySpec extends java.security.spec.RSAPrivateKeySpec {
+ ctor public RSAPrivateCrtKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+ method public java.math.BigInteger getCrtCoefficient();
+ method public java.math.BigInteger getPrimeExponentP();
+ method public java.math.BigInteger getPrimeExponentQ();
+ method public java.math.BigInteger getPrimeP();
+ method public java.math.BigInteger getPrimeQ();
+ method public java.math.BigInteger getPublicExponent();
+ }
+
+ public class RSAPrivateKeySpec implements java.security.spec.KeySpec {
+ ctor public RSAPrivateKeySpec(java.math.BigInteger, java.math.BigInteger);
+ method public java.math.BigInteger getModulus();
+ method public java.math.BigInteger getPrivateExponent();
+ }
+
+ public class RSAPublicKeySpec implements java.security.spec.KeySpec {
+ ctor public RSAPublicKeySpec(java.math.BigInteger, java.math.BigInteger);
+ method public java.math.BigInteger getModulus();
+ method public java.math.BigInteger getPublicExponent();
+ }
+
+ public class X509EncodedKeySpec extends java.security.spec.EncodedKeySpec {
+ ctor public X509EncodedKeySpec(byte[]);
+ method public final java.lang.String getFormat();
+ }
+
+}
+
+package java.sql {
+
+ public abstract interface Array {
+ method public abstract void free() throws java.sql.SQLException;
+ method public abstract java.lang.Object getArray() throws java.sql.SQLException;
+ method public abstract java.lang.Object getArray(long, int) throws java.sql.SQLException;
+ method public abstract java.lang.Object getArray(long, int, java.util.Map<java.lang.String, java.lang.Class<?>>) throws java.sql.SQLException;
+ method public abstract java.lang.Object getArray(java.util.Map<java.lang.String, java.lang.Class<?>>) throws java.sql.SQLException;
+ method public abstract int getBaseType() throws java.sql.SQLException;
+ method public abstract java.lang.String getBaseTypeName() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getResultSet() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getResultSet(long, int) throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getResultSet(long, int, java.util.Map<java.lang.String, java.lang.Class<?>>) throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getResultSet(java.util.Map<java.lang.String, java.lang.Class<?>>) throws java.sql.SQLException;
+ }
+
+ public class BatchUpdateException extends java.sql.SQLException implements java.io.Serializable {
+ ctor public BatchUpdateException();
+ ctor public BatchUpdateException(java.lang.Throwable);
+ ctor public BatchUpdateException(int[], java.lang.Throwable);
+ ctor public BatchUpdateException(java.lang.String, int[], java.lang.Throwable);
+ ctor public BatchUpdateException(java.lang.String, java.lang.String, int[], java.lang.Throwable);
+ ctor public BatchUpdateException(java.lang.String, java.lang.String, int, int[], java.lang.Throwable);
+ ctor public BatchUpdateException(int[]);
+ ctor public BatchUpdateException(java.lang.String, int[]);
+ ctor public BatchUpdateException(java.lang.String, java.lang.String, int[]);
+ ctor public BatchUpdateException(java.lang.String, java.lang.String, int, int[]);
+ method public int[] getUpdateCounts();
+ }
+
+ public abstract interface Blob {
+ method public abstract void free() throws java.sql.SQLException;
+ method public abstract java.io.InputStream getBinaryStream() throws java.sql.SQLException;
+ method public abstract java.io.InputStream getBinaryStream(long, long) throws java.sql.SQLException;
+ method public abstract byte[] getBytes(long, int) throws java.sql.SQLException;
+ method public abstract long length() throws java.sql.SQLException;
+ method public abstract long position(java.sql.Blob, long) throws java.sql.SQLException;
+ method public abstract long position(byte[], long) throws java.sql.SQLException;
+ method public abstract java.io.OutputStream setBinaryStream(long) throws java.sql.SQLException;
+ method public abstract int setBytes(long, byte[]) throws java.sql.SQLException;
+ method public abstract int setBytes(long, byte[], int, int) throws java.sql.SQLException;
+ method public abstract void truncate(long) throws java.sql.SQLException;
+ }
+
+ public abstract interface CallableStatement implements java.sql.PreparedStatement {
+ method public abstract java.sql.Array getArray(int) throws java.sql.SQLException;
+ method public abstract java.sql.Array getArray(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.math.BigDecimal getBigDecimal(int) throws java.sql.SQLException;
+ method public abstract deprecated java.math.BigDecimal getBigDecimal(int, int) throws java.sql.SQLException;
+ method public abstract java.math.BigDecimal getBigDecimal(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Blob getBlob(int) throws java.sql.SQLException;
+ method public abstract java.sql.Blob getBlob(java.lang.String) throws java.sql.SQLException;
+ method public abstract boolean getBoolean(int) throws java.sql.SQLException;
+ method public abstract boolean getBoolean(java.lang.String) throws java.sql.SQLException;
+ method public abstract byte getByte(int) throws java.sql.SQLException;
+ method public abstract byte getByte(java.lang.String) throws java.sql.SQLException;
+ method public abstract byte[] getBytes(int) throws java.sql.SQLException;
+ method public abstract byte[] getBytes(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.io.Reader getCharacterStream(int) throws java.sql.SQLException;
+ method public abstract java.io.Reader getCharacterStream(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Clob getClob(int) throws java.sql.SQLException;
+ method public abstract java.sql.Clob getClob(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Date getDate(int) throws java.sql.SQLException;
+ method public abstract java.sql.Date getDate(int, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract java.sql.Date getDate(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Date getDate(java.lang.String, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract double getDouble(int) throws java.sql.SQLException;
+ method public abstract double getDouble(java.lang.String) throws java.sql.SQLException;
+ method public abstract float getFloat(int) throws java.sql.SQLException;
+ method public abstract float getFloat(java.lang.String) throws java.sql.SQLException;
+ method public abstract int getInt(int) throws java.sql.SQLException;
+ method public abstract int getInt(java.lang.String) throws java.sql.SQLException;
+ method public abstract long getLong(int) throws java.sql.SQLException;
+ method public abstract long getLong(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.io.Reader getNCharacterStream(int) throws java.sql.SQLException;
+ method public abstract java.io.Reader getNCharacterStream(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.NClob getNClob(int) throws java.sql.SQLException;
+ method public abstract java.sql.NClob getNClob(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.lang.String getNString(int) throws java.sql.SQLException;
+ method public abstract java.lang.String getNString(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.lang.Object getObject(int) throws java.sql.SQLException;
+ method public abstract java.lang.Object getObject(int, java.util.Map<java.lang.String, java.lang.Class<?>>) throws java.sql.SQLException;
+ method public abstract java.lang.Object getObject(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.lang.Object getObject(java.lang.String, java.util.Map<java.lang.String, java.lang.Class<?>>) throws java.sql.SQLException;
+ method public abstract java.sql.Ref getRef(int) throws java.sql.SQLException;
+ method public abstract java.sql.Ref getRef(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.RowId getRowId(int) throws java.sql.SQLException;
+ method public abstract java.sql.RowId getRowId(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.SQLXML getSQLXML(int) throws java.sql.SQLException;
+ method public abstract java.sql.SQLXML getSQLXML(java.lang.String) throws java.sql.SQLException;
+ method public abstract short getShort(int) throws java.sql.SQLException;
+ method public abstract short getShort(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.lang.String getString(int) throws java.sql.SQLException;
+ method public abstract java.lang.String getString(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Time getTime(int) throws java.sql.SQLException;
+ method public abstract java.sql.Time getTime(int, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract java.sql.Time getTime(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Time getTime(java.lang.String, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract java.sql.Timestamp getTimestamp(int) throws java.sql.SQLException;
+ method public abstract java.sql.Timestamp getTimestamp(int, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract java.sql.Timestamp getTimestamp(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Timestamp getTimestamp(java.lang.String, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract java.net.URL getURL(int) throws java.sql.SQLException;
+ method public abstract java.net.URL getURL(java.lang.String) throws java.sql.SQLException;
+ method public abstract void registerOutParameter(int, int) throws java.sql.SQLException;
+ method public abstract void registerOutParameter(int, int, int) throws java.sql.SQLException;
+ method public abstract void registerOutParameter(int, int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void registerOutParameter(java.lang.String, int) throws java.sql.SQLException;
+ method public abstract void registerOutParameter(java.lang.String, int, int) throws java.sql.SQLException;
+ method public abstract void registerOutParameter(java.lang.String, int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setAsciiStream(java.lang.String, java.io.InputStream, int) throws java.sql.SQLException;
+ method public abstract void setAsciiStream(java.lang.String, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void setAsciiStream(java.lang.String, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void setBigDecimal(java.lang.String, java.math.BigDecimal) throws java.sql.SQLException;
+ method public abstract void setBinaryStream(java.lang.String, java.io.InputStream, int) throws java.sql.SQLException;
+ method public abstract void setBinaryStream(java.lang.String, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void setBinaryStream(java.lang.String, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void setBlob(java.lang.String, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void setBlob(java.lang.String, java.sql.Blob) throws java.sql.SQLException;
+ method public abstract void setBlob(java.lang.String, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void setBoolean(java.lang.String, boolean) throws java.sql.SQLException;
+ method public abstract void setByte(java.lang.String, byte) throws java.sql.SQLException;
+ method public abstract void setBytes(java.lang.String, byte[]) throws java.sql.SQLException;
+ method public abstract void setCharacterStream(java.lang.String, java.io.Reader, int) throws java.sql.SQLException;
+ method public abstract void setCharacterStream(java.lang.String, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setCharacterStream(java.lang.String, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setClob(java.lang.String, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setClob(java.lang.String, java.sql.Clob) throws java.sql.SQLException;
+ method public abstract void setClob(java.lang.String, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setDate(java.lang.String, java.sql.Date) throws java.sql.SQLException;
+ method public abstract void setDate(java.lang.String, java.sql.Date, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract void setDouble(java.lang.String, double) throws java.sql.SQLException;
+ method public abstract void setFloat(java.lang.String, float) throws java.sql.SQLException;
+ method public abstract void setInt(java.lang.String, int) throws java.sql.SQLException;
+ method public abstract void setLong(java.lang.String, long) throws java.sql.SQLException;
+ method public abstract void setNCharacterStream(java.lang.String, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setNCharacterStream(java.lang.String, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setNClob(java.lang.String, java.sql.NClob) throws java.sql.SQLException;
+ method public abstract void setNClob(java.lang.String, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setNClob(java.lang.String, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setNString(java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setNull(java.lang.String, int) throws java.sql.SQLException;
+ method public abstract void setNull(java.lang.String, int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setObject(java.lang.String, java.lang.Object) throws java.sql.SQLException;
+ method public abstract void setObject(java.lang.String, java.lang.Object, int) throws java.sql.SQLException;
+ method public abstract void setObject(java.lang.String, java.lang.Object, int, int) throws java.sql.SQLException;
+ method public abstract void setRowId(java.lang.String, java.sql.RowId) throws java.sql.SQLException;
+ method public abstract void setSQLXML(java.lang.String, java.sql.SQLXML) throws java.sql.SQLException;
+ method public abstract void setShort(java.lang.String, short) throws java.sql.SQLException;
+ method public abstract void setString(java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setTime(java.lang.String, java.sql.Time) throws java.sql.SQLException;
+ method public abstract void setTime(java.lang.String, java.sql.Time, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract void setTimestamp(java.lang.String, java.sql.Timestamp) throws java.sql.SQLException;
+ method public abstract void setTimestamp(java.lang.String, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract void setURL(java.lang.String, java.net.URL) throws java.sql.SQLException;
+ method public abstract boolean wasNull() throws java.sql.SQLException;
+ }
+
+ public final class ClientInfoStatus extends java.lang.Enum {
+ method public static java.sql.ClientInfoStatus valueOf(java.lang.String);
+ method public static final java.sql.ClientInfoStatus[] values();
+ enum_constant public static final java.sql.ClientInfoStatus REASON_UNKNOWN;
+ enum_constant public static final java.sql.ClientInfoStatus REASON_UNKNOWN_PROPERTY;
+ enum_constant public static final java.sql.ClientInfoStatus REASON_VALUE_INVALID;
+ enum_constant public static final java.sql.ClientInfoStatus REASON_VALUE_TRUNCATED;
+ }
+
+ public abstract interface Clob {
+ method public abstract void free() throws java.sql.SQLException;
+ method public abstract java.io.InputStream getAsciiStream() throws java.sql.SQLException;
+ method public abstract java.io.Reader getCharacterStream() throws java.sql.SQLException;
+ method public abstract java.io.Reader getCharacterStream(long, long) throws java.sql.SQLException;
+ method public abstract java.lang.String getSubString(long, int) throws java.sql.SQLException;
+ method public abstract long length() throws java.sql.SQLException;
+ method public abstract long position(java.sql.Clob, long) throws java.sql.SQLException;
+ method public abstract long position(java.lang.String, long) throws java.sql.SQLException;
+ method public abstract java.io.OutputStream setAsciiStream(long) throws java.sql.SQLException;
+ method public abstract java.io.Writer setCharacterStream(long) throws java.sql.SQLException;
+ method public abstract int setString(long, java.lang.String) throws java.sql.SQLException;
+ method public abstract int setString(long, java.lang.String, int, int) throws java.sql.SQLException;
+ method public abstract void truncate(long) throws java.sql.SQLException;
+ }
+
+ public abstract interface Connection implements java.sql.Wrapper {
+ method public abstract void clearWarnings() throws java.sql.SQLException;
+ method public abstract void close() throws java.sql.SQLException;
+ method public abstract void commit() throws java.sql.SQLException;
+ method public abstract java.sql.Array createArrayOf(java.lang.String, java.lang.Object[]) throws java.sql.SQLException;
+ method public abstract java.sql.Blob createBlob() throws java.sql.SQLException;
+ method public abstract java.sql.Clob createClob() throws java.sql.SQLException;
+ method public abstract java.sql.NClob createNClob() throws java.sql.SQLException;
+ method public abstract java.sql.SQLXML createSQLXML() throws java.sql.SQLException;
+ method public abstract java.sql.Statement createStatement() throws java.sql.SQLException;
+ method public abstract java.sql.Statement createStatement(int, int) throws java.sql.SQLException;
+ method public abstract java.sql.Statement createStatement(int, int, int) throws java.sql.SQLException;
+ method public abstract java.sql.Struct createStruct(java.lang.String, java.lang.Object[]) throws java.sql.SQLException;
+ method public abstract boolean getAutoCommit() throws java.sql.SQLException;
+ method public abstract java.lang.String getCatalog() throws java.sql.SQLException;
+ method public abstract java.lang.String getClientInfo(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.util.Properties getClientInfo() throws java.sql.SQLException;
+ method public abstract int getHoldability() throws java.sql.SQLException;
+ method public abstract java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException;
+ method public abstract int getTransactionIsolation() throws java.sql.SQLException;
+ method public abstract java.util.Map<java.lang.String, java.lang.Class<?>> getTypeMap() throws java.sql.SQLException;
+ method public abstract java.sql.SQLWarning getWarnings() throws java.sql.SQLException;
+ method public abstract boolean isClosed() throws java.sql.SQLException;
+ method public abstract boolean isReadOnly() throws java.sql.SQLException;
+ method public abstract boolean isValid(int) throws java.sql.SQLException;
+ method public abstract java.lang.String nativeSQL(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.CallableStatement prepareCall(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.CallableStatement prepareCall(java.lang.String, int, int) throws java.sql.SQLException;
+ method public abstract java.sql.CallableStatement prepareCall(java.lang.String, int, int, int) throws java.sql.SQLException;
+ method public abstract java.sql.PreparedStatement prepareStatement(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.PreparedStatement prepareStatement(java.lang.String, int) throws java.sql.SQLException;
+ method public abstract java.sql.PreparedStatement prepareStatement(java.lang.String, int[]) throws java.sql.SQLException;
+ method public abstract java.sql.PreparedStatement prepareStatement(java.lang.String, int, int) throws java.sql.SQLException;
+ method public abstract java.sql.PreparedStatement prepareStatement(java.lang.String, int, int, int) throws java.sql.SQLException;
+ method public abstract java.sql.PreparedStatement prepareStatement(java.lang.String, java.lang.String[]) throws java.sql.SQLException;
+ method public abstract void releaseSavepoint(java.sql.Savepoint) throws java.sql.SQLException;
+ method public abstract void rollback() throws java.sql.SQLException;
+ method public abstract void rollback(java.sql.Savepoint) throws java.sql.SQLException;
+ method public abstract void setAutoCommit(boolean) throws java.sql.SQLException;
+ method public abstract void setCatalog(java.lang.String) throws java.sql.SQLException;
+ method public abstract void setClientInfo(java.lang.String, java.lang.String) throws java.sql.SQLClientInfoException;
+ method public abstract void setClientInfo(java.util.Properties) throws java.sql.SQLClientInfoException;
+ method public abstract void setHoldability(int) throws java.sql.SQLException;
+ method public abstract void setReadOnly(boolean) throws java.sql.SQLException;
+ method public abstract java.sql.Savepoint setSavepoint() throws java.sql.SQLException;
+ method public abstract java.sql.Savepoint setSavepoint(java.lang.String) throws java.sql.SQLException;
+ method public abstract void setTransactionIsolation(int) throws java.sql.SQLException;
+ method public abstract void setTypeMap(java.util.Map<java.lang.String, java.lang.Class<?>>) throws java.sql.SQLException;
+ field public static final int TRANSACTION_NONE = 0; // 0x0
+ field public static final int TRANSACTION_READ_COMMITTED = 2; // 0x2
+ field public static final int TRANSACTION_READ_UNCOMMITTED = 1; // 0x1
+ field public static final int TRANSACTION_REPEATABLE_READ = 4; // 0x4
+ field public static final int TRANSACTION_SERIALIZABLE = 8; // 0x8
+ }
+
+ public class DataTruncation extends java.sql.SQLWarning implements java.io.Serializable {
+ ctor public DataTruncation(int, boolean, boolean, int, int);
+ ctor public DataTruncation(int, boolean, boolean, int, int, java.lang.Throwable);
+ method public int getDataSize();
+ method public int getIndex();
+ method public boolean getParameter();
+ method public boolean getRead();
+ method public int getTransferSize();
+ }
+
+ public abstract interface DatabaseMetaData implements java.sql.Wrapper {
+ method public abstract boolean allProceduresAreCallable() throws java.sql.SQLException;
+ method public abstract boolean allTablesAreSelectable() throws java.sql.SQLException;
+ method public abstract boolean autoCommitFailureClosesAllResultSets() throws java.sql.SQLException;
+ method public abstract boolean dataDefinitionCausesTransactionCommit() throws java.sql.SQLException;
+ method public abstract boolean dataDefinitionIgnoredInTransactions() throws java.sql.SQLException;
+ method public abstract boolean deletesAreDetected(int) throws java.sql.SQLException;
+ method public abstract boolean doesMaxRowSizeIncludeBlobs() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getAttributes(java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getBestRowIdentifier(java.lang.String, java.lang.String, java.lang.String, int, boolean) throws java.sql.SQLException;
+ method public abstract java.lang.String getCatalogSeparator() throws java.sql.SQLException;
+ method public abstract java.lang.String getCatalogTerm() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getCatalogs() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getClientInfoProperties() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getColumnPrivileges(java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getColumns(java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Connection getConnection() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getCrossReference(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract int getDatabaseMajorVersion() throws java.sql.SQLException;
+ method public abstract int getDatabaseMinorVersion() throws java.sql.SQLException;
+ method public abstract java.lang.String getDatabaseProductName() throws java.sql.SQLException;
+ method public abstract java.lang.String getDatabaseProductVersion() throws java.sql.SQLException;
+ method public abstract int getDefaultTransactionIsolation() throws java.sql.SQLException;
+ method public abstract int getDriverMajorVersion();
+ method public abstract int getDriverMinorVersion();
+ method public abstract java.lang.String getDriverName() throws java.sql.SQLException;
+ method public abstract java.lang.String getDriverVersion() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getExportedKeys(java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract java.lang.String getExtraNameCharacters() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getFunctionColumns(java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getFunctions(java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract java.lang.String getIdentifierQuoteString() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getImportedKeys(java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getIndexInfo(java.lang.String, java.lang.String, java.lang.String, boolean, boolean) throws java.sql.SQLException;
+ method public abstract int getJDBCMajorVersion() throws java.sql.SQLException;
+ method public abstract int getJDBCMinorVersion() throws java.sql.SQLException;
+ method public abstract int getMaxBinaryLiteralLength() throws java.sql.SQLException;
+ method public abstract int getMaxCatalogNameLength() throws java.sql.SQLException;
+ method public abstract int getMaxCharLiteralLength() throws java.sql.SQLException;
+ method public abstract int getMaxColumnNameLength() throws java.sql.SQLException;
+ method public abstract int getMaxColumnsInGroupBy() throws java.sql.SQLException;
+ method public abstract int getMaxColumnsInIndex() throws java.sql.SQLException;
+ method public abstract int getMaxColumnsInOrderBy() throws java.sql.SQLException;
+ method public abstract int getMaxColumnsInSelect() throws java.sql.SQLException;
+ method public abstract int getMaxColumnsInTable() throws java.sql.SQLException;
+ method public abstract int getMaxConnections() throws java.sql.SQLException;
+ method public abstract int getMaxCursorNameLength() throws java.sql.SQLException;
+ method public abstract int getMaxIndexLength() throws java.sql.SQLException;
+ method public abstract int getMaxProcedureNameLength() throws java.sql.SQLException;
+ method public abstract int getMaxRowSize() throws java.sql.SQLException;
+ method public abstract int getMaxSchemaNameLength() throws java.sql.SQLException;
+ method public abstract int getMaxStatementLength() throws java.sql.SQLException;
+ method public abstract int getMaxStatements() throws java.sql.SQLException;
+ method public abstract int getMaxTableNameLength() throws java.sql.SQLException;
+ method public abstract int getMaxTablesInSelect() throws java.sql.SQLException;
+ method public abstract int getMaxUserNameLength() throws java.sql.SQLException;
+ method public abstract java.lang.String getNumericFunctions() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getPrimaryKeys(java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getProcedureColumns(java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract java.lang.String getProcedureTerm() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getProcedures(java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract int getResultSetHoldability() throws java.sql.SQLException;
+ method public abstract java.sql.RowIdLifetime getRowIdLifetime() throws java.sql.SQLException;
+ method public abstract java.lang.String getSQLKeywords() throws java.sql.SQLException;
+ method public abstract int getSQLStateType() throws java.sql.SQLException;
+ method public abstract java.lang.String getSchemaTerm() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getSchemas() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getSchemas(java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract java.lang.String getSearchStringEscape() throws java.sql.SQLException;
+ method public abstract java.lang.String getStringFunctions() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getSuperTables(java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getSuperTypes(java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract java.lang.String getSystemFunctions() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getTablePrivileges(java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getTableTypes() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getTables(java.lang.String, java.lang.String, java.lang.String, java.lang.String[]) throws java.sql.SQLException;
+ method public abstract java.lang.String getTimeDateFunctions() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getTypeInfo() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getUDTs(java.lang.String, java.lang.String, java.lang.String, int[]) throws java.sql.SQLException;
+ method public abstract java.lang.String getURL() throws java.sql.SQLException;
+ method public abstract java.lang.String getUserName() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getVersionColumns(java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract boolean insertsAreDetected(int) throws java.sql.SQLException;
+ method public abstract boolean isCatalogAtStart() throws java.sql.SQLException;
+ method public abstract boolean isReadOnly() throws java.sql.SQLException;
+ method public abstract boolean locatorsUpdateCopy() throws java.sql.SQLException;
+ method public abstract boolean nullPlusNonNullIsNull() throws java.sql.SQLException;
+ method public abstract boolean nullsAreSortedAtEnd() throws java.sql.SQLException;
+ method public abstract boolean nullsAreSortedAtStart() throws java.sql.SQLException;
+ method public abstract boolean nullsAreSortedHigh() throws java.sql.SQLException;
+ method public abstract boolean nullsAreSortedLow() throws java.sql.SQLException;
+ method public abstract boolean othersDeletesAreVisible(int) throws java.sql.SQLException;
+ method public abstract boolean othersInsertsAreVisible(int) throws java.sql.SQLException;
+ method public abstract boolean othersUpdatesAreVisible(int) throws java.sql.SQLException;
+ method public abstract boolean ownDeletesAreVisible(int) throws java.sql.SQLException;
+ method public abstract boolean ownInsertsAreVisible(int) throws java.sql.SQLException;
+ method public abstract boolean ownUpdatesAreVisible(int) throws java.sql.SQLException;
+ method public abstract boolean storesLowerCaseIdentifiers() throws java.sql.SQLException;
+ method public abstract boolean storesLowerCaseQuotedIdentifiers() throws java.sql.SQLException;
+ method public abstract boolean storesMixedCaseIdentifiers() throws java.sql.SQLException;
+ method public abstract boolean storesMixedCaseQuotedIdentifiers() throws java.sql.SQLException;
+ method public abstract boolean storesUpperCaseIdentifiers() throws java.sql.SQLException;
+ method public abstract boolean storesUpperCaseQuotedIdentifiers() throws java.sql.SQLException;
+ method public abstract boolean supportsANSI92EntryLevelSQL() throws java.sql.SQLException;
+ method public abstract boolean supportsANSI92FullSQL() throws java.sql.SQLException;
+ method public abstract boolean supportsANSI92IntermediateSQL() throws java.sql.SQLException;
+ method public abstract boolean supportsAlterTableWithAddColumn() throws java.sql.SQLException;
+ method public abstract boolean supportsAlterTableWithDropColumn() throws java.sql.SQLException;
+ method public abstract boolean supportsBatchUpdates() throws java.sql.SQLException;
+ method public abstract boolean supportsCatalogsInDataManipulation() throws java.sql.SQLException;
+ method public abstract boolean supportsCatalogsInIndexDefinitions() throws java.sql.SQLException;
+ method public abstract boolean supportsCatalogsInPrivilegeDefinitions() throws java.sql.SQLException;
+ method public abstract boolean supportsCatalogsInProcedureCalls() throws java.sql.SQLException;
+ method public abstract boolean supportsCatalogsInTableDefinitions() throws java.sql.SQLException;
+ method public abstract boolean supportsColumnAliasing() throws java.sql.SQLException;
+ method public abstract boolean supportsConvert() throws java.sql.SQLException;
+ method public abstract boolean supportsConvert(int, int) throws java.sql.SQLException;
+ method public abstract boolean supportsCoreSQLGrammar() throws java.sql.SQLException;
+ method public abstract boolean supportsCorrelatedSubqueries() throws java.sql.SQLException;
+ method public abstract boolean supportsDataDefinitionAndDataManipulationTransactions() throws java.sql.SQLException;
+ method public abstract boolean supportsDataManipulationTransactionsOnly() throws java.sql.SQLException;
+ method public abstract boolean supportsDifferentTableCorrelationNames() throws java.sql.SQLException;
+ method public abstract boolean supportsExpressionsInOrderBy() throws java.sql.SQLException;
+ method public abstract boolean supportsExtendedSQLGrammar() throws java.sql.SQLException;
+ method public abstract boolean supportsFullOuterJoins() throws java.sql.SQLException;
+ method public abstract boolean supportsGetGeneratedKeys() throws java.sql.SQLException;
+ method public abstract boolean supportsGroupBy() throws java.sql.SQLException;
+ method public abstract boolean supportsGroupByBeyondSelect() throws java.sql.SQLException;
+ method public abstract boolean supportsGroupByUnrelated() throws java.sql.SQLException;
+ method public abstract boolean supportsIntegrityEnhancementFacility() throws java.sql.SQLException;
+ method public abstract boolean supportsLikeEscapeClause() throws java.sql.SQLException;
+ method public abstract boolean supportsLimitedOuterJoins() throws java.sql.SQLException;
+ method public abstract boolean supportsMinimumSQLGrammar() throws java.sql.SQLException;
+ method public abstract boolean supportsMixedCaseIdentifiers() throws java.sql.SQLException;
+ method public abstract boolean supportsMixedCaseQuotedIdentifiers() throws java.sql.SQLException;
+ method public abstract boolean supportsMultipleOpenResults() throws java.sql.SQLException;
+ method public abstract boolean supportsMultipleResultSets() throws java.sql.SQLException;
+ method public abstract boolean supportsMultipleTransactions() throws java.sql.SQLException;
+ method public abstract boolean supportsNamedParameters() throws java.sql.SQLException;
+ method public abstract boolean supportsNonNullableColumns() throws java.sql.SQLException;
+ method public abstract boolean supportsOpenCursorsAcrossCommit() throws java.sql.SQLException;
+ method public abstract boolean supportsOpenCursorsAcrossRollback() throws java.sql.SQLException;
+ method public abstract boolean supportsOpenStatementsAcrossCommit() throws java.sql.SQLException;
+ method public abstract boolean supportsOpenStatementsAcrossRollback() throws java.sql.SQLException;
+ method public abstract boolean supportsOrderByUnrelated() throws java.sql.SQLException;
+ method public abstract boolean supportsOuterJoins() throws java.sql.SQLException;
+ method public abstract boolean supportsPositionedDelete() throws java.sql.SQLException;
+ method public abstract boolean supportsPositionedUpdate() throws java.sql.SQLException;
+ method public abstract boolean supportsResultSetConcurrency(int, int) throws java.sql.SQLException;
+ method public abstract boolean supportsResultSetHoldability(int) throws java.sql.SQLException;
+ method public abstract boolean supportsResultSetType(int) throws java.sql.SQLException;
+ method public abstract boolean supportsSavepoints() throws java.sql.SQLException;
+ method public abstract boolean supportsSchemasInDataManipulation() throws java.sql.SQLException;
+ method public abstract boolean supportsSchemasInIndexDefinitions() throws java.sql.SQLException;
+ method public abstract boolean supportsSchemasInPrivilegeDefinitions() throws java.sql.SQLException;
+ method public abstract boolean supportsSchemasInProcedureCalls() throws java.sql.SQLException;
+ method public abstract boolean supportsSchemasInTableDefinitions() throws java.sql.SQLException;
+ method public abstract boolean supportsSelectForUpdate() throws java.sql.SQLException;
+ method public abstract boolean supportsStatementPooling() throws java.sql.SQLException;
+ method public abstract boolean supportsStoredFunctionsUsingCallSyntax() throws java.sql.SQLException;
+ method public abstract boolean supportsStoredProcedures() throws java.sql.SQLException;
+ method public abstract boolean supportsSubqueriesInComparisons() throws java.sql.SQLException;
+ method public abstract boolean supportsSubqueriesInExists() throws java.sql.SQLException;
+ method public abstract boolean supportsSubqueriesInIns() throws java.sql.SQLException;
+ method public abstract boolean supportsSubqueriesInQuantifieds() throws java.sql.SQLException;
+ method public abstract boolean supportsTableCorrelationNames() throws java.sql.SQLException;
+ method public abstract boolean supportsTransactionIsolationLevel(int) throws java.sql.SQLException;
+ method public abstract boolean supportsTransactions() throws java.sql.SQLException;
+ method public abstract boolean supportsUnion() throws java.sql.SQLException;
+ method public abstract boolean supportsUnionAll() throws java.sql.SQLException;
+ method public abstract boolean updatesAreDetected(int) throws java.sql.SQLException;
+ method public abstract boolean usesLocalFilePerTable() throws java.sql.SQLException;
+ method public abstract boolean usesLocalFiles() throws java.sql.SQLException;
+ field public static final short attributeNoNulls = 0; // 0x0
+ field public static final short attributeNullable = 1; // 0x1
+ field public static final short attributeNullableUnknown = 2; // 0x2
+ field public static final int bestRowNotPseudo = 1; // 0x1
+ field public static final int bestRowPseudo = 2; // 0x2
+ field public static final int bestRowSession = 2; // 0x2
+ field public static final int bestRowTemporary = 0; // 0x0
+ field public static final int bestRowTransaction = 1; // 0x1
+ field public static final int bestRowUnknown = 0; // 0x0
+ field public static final int columnNoNulls = 0; // 0x0
+ field public static final int columnNullable = 1; // 0x1
+ field public static final int columnNullableUnknown = 2; // 0x2
+ field public static final int functionColumnIn = 1; // 0x1
+ field public static final int functionColumnInOut = 2; // 0x2
+ field public static final int functionColumnOut = 3; // 0x3
+ field public static final int functionColumnResult = 5; // 0x5
+ field public static final int functionColumnUnknown = 0; // 0x0
+ field public static final int functionNoNulls = 0; // 0x0
+ field public static final int functionNoTable = 1; // 0x1
+ field public static final int functionNullable = 1; // 0x1
+ field public static final int functionNullableUnknown = 2; // 0x2
+ field public static final int functionResultUnknown = 0; // 0x0
+ field public static final int functionReturn = 4; // 0x4
+ field public static final int functionReturnsTable = 2; // 0x2
+ field public static final int importedKeyCascade = 0; // 0x0
+ field public static final int importedKeyInitiallyDeferred = 5; // 0x5
+ field public static final int importedKeyInitiallyImmediate = 6; // 0x6
+ field public static final int importedKeyNoAction = 3; // 0x3
+ field public static final int importedKeyNotDeferrable = 7; // 0x7
+ field public static final int importedKeyRestrict = 1; // 0x1
+ field public static final int importedKeySetDefault = 4; // 0x4
+ field public static final int importedKeySetNull = 2; // 0x2
+ field public static final int procedureColumnIn = 1; // 0x1
+ field public static final int procedureColumnInOut = 2; // 0x2
+ field public static final int procedureColumnOut = 4; // 0x4
+ field public static final int procedureColumnResult = 3; // 0x3
+ field public static final int procedureColumnReturn = 5; // 0x5
+ field public static final int procedureColumnUnknown = 0; // 0x0
+ field public static final int procedureNoNulls = 0; // 0x0
+ field public static final int procedureNoResult = 1; // 0x1
+ field public static final int procedureNullable = 1; // 0x1
+ field public static final int procedureNullableUnknown = 2; // 0x2
+ field public static final int procedureResultUnknown = 0; // 0x0
+ field public static final int procedureReturnsResult = 2; // 0x2
+ field public static final int sqlStateSQL = 2; // 0x2
+ field public static final int sqlStateSQL99 = 2; // 0x2
+ field public static final int sqlStateXOpen = 1; // 0x1
+ field public static final short tableIndexClustered = 1; // 0x1
+ field public static final short tableIndexHashed = 2; // 0x2
+ field public static final short tableIndexOther = 3; // 0x3
+ field public static final short tableIndexStatistic = 0; // 0x0
+ field public static final int typeNoNulls = 0; // 0x0
+ field public static final int typeNullable = 1; // 0x1
+ field public static final int typeNullableUnknown = 2; // 0x2
+ field public static final int typePredBasic = 2; // 0x2
+ field public static final int typePredChar = 1; // 0x1
+ field public static final int typePredNone = 0; // 0x0
+ field public static final int typeSearchable = 3; // 0x3
+ field public static final int versionColumnNotPseudo = 1; // 0x1
+ field public static final int versionColumnPseudo = 2; // 0x2
+ field public static final int versionColumnUnknown = 0; // 0x0
+ }
+
+ public class Date extends java.util.Date {
+ ctor public deprecated Date(int, int, int);
+ ctor public Date(long);
+ method public static java.sql.Date valueOf(java.lang.String);
+ }
+
+ public abstract interface Driver {
+ method public abstract boolean acceptsURL(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Connection connect(java.lang.String, java.util.Properties) throws java.sql.SQLException;
+ method public abstract int getMajorVersion();
+ method public abstract int getMinorVersion();
+ method public abstract java.sql.DriverPropertyInfo[] getPropertyInfo(java.lang.String, java.util.Properties) throws java.sql.SQLException;
+ method public abstract boolean jdbcCompliant();
+ }
+
+ public class DriverManager {
+ method public static void deregisterDriver(java.sql.Driver) throws java.sql.SQLException;
+ method public static java.sql.Connection getConnection(java.lang.String) throws java.sql.SQLException;
+ method public static java.sql.Connection getConnection(java.lang.String, java.util.Properties) throws java.sql.SQLException;
+ method public static java.sql.Connection getConnection(java.lang.String, java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public static java.sql.Driver getDriver(java.lang.String) throws java.sql.SQLException;
+ method public static java.util.Enumeration<java.sql.Driver> getDrivers();
+ method public static deprecated java.io.PrintStream getLogStream();
+ method public static java.io.PrintWriter getLogWriter();
+ method public static int getLoginTimeout();
+ method public static void println(java.lang.String);
+ method public static void registerDriver(java.sql.Driver) throws java.sql.SQLException;
+ method public static deprecated void setLogStream(java.io.PrintStream);
+ method public static void setLogWriter(java.io.PrintWriter);
+ method public static void setLoginTimeout(int);
+ }
+
+ public class DriverPropertyInfo {
+ ctor public DriverPropertyInfo(java.lang.String, java.lang.String);
+ field public java.lang.String[] choices;
+ field public java.lang.String description;
+ field public java.lang.String name;
+ field public boolean required;
+ field public java.lang.String value;
+ }
+
+ public abstract interface NClob implements java.sql.Clob {
+ }
+
+ public abstract interface ParameterMetaData implements java.sql.Wrapper {
+ method public abstract java.lang.String getParameterClassName(int) throws java.sql.SQLException;
+ method public abstract int getParameterCount() throws java.sql.SQLException;
+ method public abstract int getParameterMode(int) throws java.sql.SQLException;
+ method public abstract int getParameterType(int) throws java.sql.SQLException;
+ method public abstract java.lang.String getParameterTypeName(int) throws java.sql.SQLException;
+ method public abstract int getPrecision(int) throws java.sql.SQLException;
+ method public abstract int getScale(int) throws java.sql.SQLException;
+ method public abstract int isNullable(int) throws java.sql.SQLException;
+ method public abstract boolean isSigned(int) throws java.sql.SQLException;
+ field public static final int parameterModeIn = 1; // 0x1
+ field public static final int parameterModeInOut = 2; // 0x2
+ field public static final int parameterModeOut = 4; // 0x4
+ field public static final int parameterModeUnknown = 0; // 0x0
+ field public static final int parameterNoNulls = 0; // 0x0
+ field public static final int parameterNullable = 1; // 0x1
+ field public static final int parameterNullableUnknown = 2; // 0x2
+ }
+
+ public abstract interface PreparedStatement implements java.sql.Statement {
+ method public abstract void addBatch() throws java.sql.SQLException;
+ method public abstract void clearParameters() throws java.sql.SQLException;
+ method public abstract boolean execute() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet executeQuery() throws java.sql.SQLException;
+ method public abstract int executeUpdate() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSetMetaData getMetaData() throws java.sql.SQLException;
+ method public abstract java.sql.ParameterMetaData getParameterMetaData() throws java.sql.SQLException;
+ method public abstract void setArray(int, java.sql.Array) throws java.sql.SQLException;
+ method public abstract void setAsciiStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+ method public abstract void setAsciiStream(int, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void setAsciiStream(int, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void setBigDecimal(int, java.math.BigDecimal) throws java.sql.SQLException;
+ method public abstract void setBinaryStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+ method public abstract void setBinaryStream(int, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void setBinaryStream(int, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void setBlob(int, java.sql.Blob) throws java.sql.SQLException;
+ method public abstract void setBlob(int, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void setBlob(int, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void setBoolean(int, boolean) throws java.sql.SQLException;
+ method public abstract void setByte(int, byte) throws java.sql.SQLException;
+ method public abstract void setBytes(int, byte[]) throws java.sql.SQLException;
+ method public abstract void setCharacterStream(int, java.io.Reader, int) throws java.sql.SQLException;
+ method public abstract void setCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setClob(int, java.sql.Clob) throws java.sql.SQLException;
+ method public abstract void setClob(int, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setClob(int, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setDate(int, java.sql.Date) throws java.sql.SQLException;
+ method public abstract void setDate(int, java.sql.Date, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract void setDouble(int, double) throws java.sql.SQLException;
+ method public abstract void setFloat(int, float) throws java.sql.SQLException;
+ method public abstract void setInt(int, int) throws java.sql.SQLException;
+ method public abstract void setLong(int, long) throws java.sql.SQLException;
+ method public abstract void setNCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setNCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setNClob(int, java.sql.NClob) throws java.sql.SQLException;
+ method public abstract void setNClob(int, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setNClob(int, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setNString(int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setNull(int, int) throws java.sql.SQLException;
+ method public abstract void setNull(int, int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setObject(int, java.lang.Object) throws java.sql.SQLException;
+ method public abstract void setObject(int, java.lang.Object, int) throws java.sql.SQLException;
+ method public abstract void setObject(int, java.lang.Object, int, int) throws java.sql.SQLException;
+ method public abstract void setRef(int, java.sql.Ref) throws java.sql.SQLException;
+ method public abstract void setRowId(int, java.sql.RowId) throws java.sql.SQLException;
+ method public abstract void setSQLXML(int, java.sql.SQLXML) throws java.sql.SQLException;
+ method public abstract void setShort(int, short) throws java.sql.SQLException;
+ method public abstract void setString(int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setTime(int, java.sql.Time) throws java.sql.SQLException;
+ method public abstract void setTime(int, java.sql.Time, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract void setTimestamp(int, java.sql.Timestamp) throws java.sql.SQLException;
+ method public abstract void setTimestamp(int, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract void setURL(int, java.net.URL) throws java.sql.SQLException;
+ method public abstract deprecated void setUnicodeStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+ }
+
+ public abstract interface Ref {
+ method public abstract java.lang.String getBaseTypeName() throws java.sql.SQLException;
+ method public abstract java.lang.Object getObject() throws java.sql.SQLException;
+ method public abstract java.lang.Object getObject(java.util.Map<java.lang.String, java.lang.Class<?>>) throws java.sql.SQLException;
+ method public abstract void setObject(java.lang.Object) throws java.sql.SQLException;
+ }
+
+ public abstract interface ResultSet implements java.sql.Wrapper {
+ method public abstract boolean absolute(int) throws java.sql.SQLException;
+ method public abstract void afterLast() throws java.sql.SQLException;
+ method public abstract void beforeFirst() throws java.sql.SQLException;
+ method public abstract void cancelRowUpdates() throws java.sql.SQLException;
+ method public abstract void clearWarnings() throws java.sql.SQLException;
+ method public abstract void close() throws java.sql.SQLException;
+ method public abstract void deleteRow() throws java.sql.SQLException;
+ method public abstract int findColumn(java.lang.String) throws java.sql.SQLException;
+ method public abstract boolean first() throws java.sql.SQLException;
+ method public abstract java.sql.Array getArray(int) throws java.sql.SQLException;
+ method public abstract java.sql.Array getArray(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.io.InputStream getAsciiStream(int) throws java.sql.SQLException;
+ method public abstract java.io.InputStream getAsciiStream(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.math.BigDecimal getBigDecimal(int) throws java.sql.SQLException;
+ method public abstract deprecated java.math.BigDecimal getBigDecimal(int, int) throws java.sql.SQLException;
+ method public abstract java.math.BigDecimal getBigDecimal(java.lang.String) throws java.sql.SQLException;
+ method public abstract deprecated java.math.BigDecimal getBigDecimal(java.lang.String, int) throws java.sql.SQLException;
+ method public abstract java.io.InputStream getBinaryStream(int) throws java.sql.SQLException;
+ method public abstract java.io.InputStream getBinaryStream(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Blob getBlob(int) throws java.sql.SQLException;
+ method public abstract java.sql.Blob getBlob(java.lang.String) throws java.sql.SQLException;
+ method public abstract boolean getBoolean(int) throws java.sql.SQLException;
+ method public abstract boolean getBoolean(java.lang.String) throws java.sql.SQLException;
+ method public abstract byte getByte(int) throws java.sql.SQLException;
+ method public abstract byte getByte(java.lang.String) throws java.sql.SQLException;
+ method public abstract byte[] getBytes(int) throws java.sql.SQLException;
+ method public abstract byte[] getBytes(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.io.Reader getCharacterStream(int) throws java.sql.SQLException;
+ method public abstract java.io.Reader getCharacterStream(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Clob getClob(int) throws java.sql.SQLException;
+ method public abstract java.sql.Clob getClob(java.lang.String) throws java.sql.SQLException;
+ method public abstract int getConcurrency() throws java.sql.SQLException;
+ method public abstract java.lang.String getCursorName() throws java.sql.SQLException;
+ method public abstract java.sql.Date getDate(int) throws java.sql.SQLException;
+ method public abstract java.sql.Date getDate(int, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract java.sql.Date getDate(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Date getDate(java.lang.String, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract double getDouble(int) throws java.sql.SQLException;
+ method public abstract double getDouble(java.lang.String) throws java.sql.SQLException;
+ method public abstract int getFetchDirection() throws java.sql.SQLException;
+ method public abstract int getFetchSize() throws java.sql.SQLException;
+ method public abstract float getFloat(int) throws java.sql.SQLException;
+ method public abstract float getFloat(java.lang.String) throws java.sql.SQLException;
+ method public abstract int getHoldability() throws java.sql.SQLException;
+ method public abstract int getInt(int) throws java.sql.SQLException;
+ method public abstract int getInt(java.lang.String) throws java.sql.SQLException;
+ method public abstract long getLong(int) throws java.sql.SQLException;
+ method public abstract long getLong(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.ResultSetMetaData getMetaData() throws java.sql.SQLException;
+ method public abstract java.io.Reader getNCharacterStream(int) throws java.sql.SQLException;
+ method public abstract java.io.Reader getNCharacterStream(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.NClob getNClob(int) throws java.sql.SQLException;
+ method public abstract java.sql.NClob getNClob(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.lang.String getNString(int) throws java.sql.SQLException;
+ method public abstract java.lang.String getNString(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.lang.Object getObject(int) throws java.sql.SQLException;
+ method public abstract java.lang.Object getObject(int, java.util.Map<java.lang.String, java.lang.Class<?>>) throws java.sql.SQLException;
+ method public abstract java.lang.Object getObject(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.lang.Object getObject(java.lang.String, java.util.Map<java.lang.String, java.lang.Class<?>>) throws java.sql.SQLException;
+ method public abstract java.sql.Ref getRef(int) throws java.sql.SQLException;
+ method public abstract java.sql.Ref getRef(java.lang.String) throws java.sql.SQLException;
+ method public abstract int getRow() throws java.sql.SQLException;
+ method public abstract java.sql.RowId getRowId(int) throws java.sql.SQLException;
+ method public abstract java.sql.RowId getRowId(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.SQLXML getSQLXML(int) throws java.sql.SQLException;
+ method public abstract java.sql.SQLXML getSQLXML(java.lang.String) throws java.sql.SQLException;
+ method public abstract short getShort(int) throws java.sql.SQLException;
+ method public abstract short getShort(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Statement getStatement() throws java.sql.SQLException;
+ method public abstract java.lang.String getString(int) throws java.sql.SQLException;
+ method public abstract java.lang.String getString(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Time getTime(int) throws java.sql.SQLException;
+ method public abstract java.sql.Time getTime(int, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract java.sql.Time getTime(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Time getTime(java.lang.String, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract java.sql.Timestamp getTimestamp(int) throws java.sql.SQLException;
+ method public abstract java.sql.Timestamp getTimestamp(int, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract java.sql.Timestamp getTimestamp(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.Timestamp getTimestamp(java.lang.String, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract int getType() throws java.sql.SQLException;
+ method public abstract java.net.URL getURL(int) throws java.sql.SQLException;
+ method public abstract java.net.URL getURL(java.lang.String) throws java.sql.SQLException;
+ method public abstract deprecated java.io.InputStream getUnicodeStream(int) throws java.sql.SQLException;
+ method public abstract deprecated java.io.InputStream getUnicodeStream(java.lang.String) throws java.sql.SQLException;
+ method public abstract java.sql.SQLWarning getWarnings() throws java.sql.SQLException;
+ method public abstract void insertRow() throws java.sql.SQLException;
+ method public abstract boolean isAfterLast() throws java.sql.SQLException;
+ method public abstract boolean isBeforeFirst() throws java.sql.SQLException;
+ method public abstract boolean isClosed() throws java.sql.SQLException;
+ method public abstract boolean isFirst() throws java.sql.SQLException;
+ method public abstract boolean isLast() throws java.sql.SQLException;
+ method public abstract boolean last() throws java.sql.SQLException;
+ method public abstract void moveToCurrentRow() throws java.sql.SQLException;
+ method public abstract void moveToInsertRow() throws java.sql.SQLException;
+ method public abstract boolean next() throws java.sql.SQLException;
+ method public abstract boolean previous() throws java.sql.SQLException;
+ method public abstract void refreshRow() throws java.sql.SQLException;
+ method public abstract boolean relative(int) throws java.sql.SQLException;
+ method public abstract boolean rowDeleted() throws java.sql.SQLException;
+ method public abstract boolean rowInserted() throws java.sql.SQLException;
+ method public abstract boolean rowUpdated() throws java.sql.SQLException;
+ method public abstract void setFetchDirection(int) throws java.sql.SQLException;
+ method public abstract void setFetchSize(int) throws java.sql.SQLException;
+ method public abstract void updateArray(int, java.sql.Array) throws java.sql.SQLException;
+ method public abstract void updateArray(java.lang.String, java.sql.Array) throws java.sql.SQLException;
+ method public abstract void updateAsciiStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+ method public abstract void updateAsciiStream(java.lang.String, java.io.InputStream, int) throws java.sql.SQLException;
+ method public abstract void updateAsciiStream(int, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void updateAsciiStream(java.lang.String, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void updateAsciiStream(int, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void updateAsciiStream(java.lang.String, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void updateBigDecimal(int, java.math.BigDecimal) throws java.sql.SQLException;
+ method public abstract void updateBigDecimal(java.lang.String, java.math.BigDecimal) throws java.sql.SQLException;
+ method public abstract void updateBinaryStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+ method public abstract void updateBinaryStream(java.lang.String, java.io.InputStream, int) throws java.sql.SQLException;
+ method public abstract void updateBinaryStream(int, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void updateBinaryStream(java.lang.String, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void updateBinaryStream(int, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void updateBinaryStream(java.lang.String, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void updateBlob(int, java.sql.Blob) throws java.sql.SQLException;
+ method public abstract void updateBlob(java.lang.String, java.sql.Blob) throws java.sql.SQLException;
+ method public abstract void updateBlob(int, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void updateBlob(java.lang.String, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void updateBlob(int, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void updateBlob(java.lang.String, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void updateBoolean(int, boolean) throws java.sql.SQLException;
+ method public abstract void updateBoolean(java.lang.String, boolean) throws java.sql.SQLException;
+ method public abstract void updateByte(int, byte) throws java.sql.SQLException;
+ method public abstract void updateByte(java.lang.String, byte) throws java.sql.SQLException;
+ method public abstract void updateBytes(int, byte[]) throws java.sql.SQLException;
+ method public abstract void updateBytes(java.lang.String, byte[]) throws java.sql.SQLException;
+ method public abstract void updateCharacterStream(int, java.io.Reader, int) throws java.sql.SQLException;
+ method public abstract void updateCharacterStream(java.lang.String, java.io.Reader, int) throws java.sql.SQLException;
+ method public abstract void updateCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void updateCharacterStream(java.lang.String, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void updateCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void updateCharacterStream(java.lang.String, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void updateClob(int, java.sql.Clob) throws java.sql.SQLException;
+ method public abstract void updateClob(java.lang.String, java.sql.Clob) throws java.sql.SQLException;
+ method public abstract void updateClob(int, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void updateClob(java.lang.String, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void updateClob(int, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void updateClob(java.lang.String, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void updateDate(int, java.sql.Date) throws java.sql.SQLException;
+ method public abstract void updateDate(java.lang.String, java.sql.Date) throws java.sql.SQLException;
+ method public abstract void updateDouble(int, double) throws java.sql.SQLException;
+ method public abstract void updateDouble(java.lang.String, double) throws java.sql.SQLException;
+ method public abstract void updateFloat(int, float) throws java.sql.SQLException;
+ method public abstract void updateFloat(java.lang.String, float) throws java.sql.SQLException;
+ method public abstract void updateInt(int, int) throws java.sql.SQLException;
+ method public abstract void updateInt(java.lang.String, int) throws java.sql.SQLException;
+ method public abstract void updateLong(int, long) throws java.sql.SQLException;
+ method public abstract void updateLong(java.lang.String, long) throws java.sql.SQLException;
+ method public abstract void updateNCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void updateNCharacterStream(java.lang.String, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void updateNCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void updateNCharacterStream(java.lang.String, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void updateNClob(int, java.sql.NClob) throws java.sql.SQLException;
+ method public abstract void updateNClob(java.lang.String, java.sql.NClob) throws java.sql.SQLException;
+ method public abstract void updateNClob(int, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void updateNClob(java.lang.String, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void updateNClob(int, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void updateNClob(java.lang.String, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void updateNString(int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void updateNString(java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract void updateNull(int) throws java.sql.SQLException;
+ method public abstract void updateNull(java.lang.String) throws java.sql.SQLException;
+ method public abstract void updateObject(int, java.lang.Object) throws java.sql.SQLException;
+ method public abstract void updateObject(int, java.lang.Object, int) throws java.sql.SQLException;
+ method public abstract void updateObject(java.lang.String, java.lang.Object) throws java.sql.SQLException;
+ method public abstract void updateObject(java.lang.String, java.lang.Object, int) throws java.sql.SQLException;
+ method public abstract void updateRef(int, java.sql.Ref) throws java.sql.SQLException;
+ method public abstract void updateRef(java.lang.String, java.sql.Ref) throws java.sql.SQLException;
+ method public abstract void updateRow() throws java.sql.SQLException;
+ method public abstract void updateRowId(int, java.sql.RowId) throws java.sql.SQLException;
+ method public abstract void updateRowId(java.lang.String, java.sql.RowId) throws java.sql.SQLException;
+ method public abstract void updateSQLXML(int, java.sql.SQLXML) throws java.sql.SQLException;
+ method public abstract void updateSQLXML(java.lang.String, java.sql.SQLXML) throws java.sql.SQLException;
+ method public abstract void updateShort(int, short) throws java.sql.SQLException;
+ method public abstract void updateShort(java.lang.String, short) throws java.sql.SQLException;
+ method public abstract void updateString(int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void updateString(java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract void updateTime(int, java.sql.Time) throws java.sql.SQLException;
+ method public abstract void updateTime(java.lang.String, java.sql.Time) throws java.sql.SQLException;
+ method public abstract void updateTimestamp(int, java.sql.Timestamp) throws java.sql.SQLException;
+ method public abstract void updateTimestamp(java.lang.String, java.sql.Timestamp) throws java.sql.SQLException;
+ method public abstract boolean wasNull() throws java.sql.SQLException;
+ field public static final int CLOSE_CURSORS_AT_COMMIT = 2; // 0x2
+ field public static final int CONCUR_READ_ONLY = 1007; // 0x3ef
+ field public static final int CONCUR_UPDATABLE = 1008; // 0x3f0
+ field public static final int FETCH_FORWARD = 1000; // 0x3e8
+ field public static final int FETCH_REVERSE = 1001; // 0x3e9
+ field public static final int FETCH_UNKNOWN = 1002; // 0x3ea
+ field public static final int HOLD_CURSORS_OVER_COMMIT = 1; // 0x1
+ field public static final int TYPE_FORWARD_ONLY = 1003; // 0x3eb
+ field public static final int TYPE_SCROLL_INSENSITIVE = 1004; // 0x3ec
+ field public static final int TYPE_SCROLL_SENSITIVE = 1005; // 0x3ed
+ }
+
+ public abstract interface ResultSetMetaData implements java.sql.Wrapper {
+ method public abstract java.lang.String getCatalogName(int) throws java.sql.SQLException;
+ method public abstract java.lang.String getColumnClassName(int) throws java.sql.SQLException;
+ method public abstract int getColumnCount() throws java.sql.SQLException;
+ method public abstract int getColumnDisplaySize(int) throws java.sql.SQLException;
+ method public abstract java.lang.String getColumnLabel(int) throws java.sql.SQLException;
+ method public abstract java.lang.String getColumnName(int) throws java.sql.SQLException;
+ method public abstract int getColumnType(int) throws java.sql.SQLException;
+ method public abstract java.lang.String getColumnTypeName(int) throws java.sql.SQLException;
+ method public abstract int getPrecision(int) throws java.sql.SQLException;
+ method public abstract int getScale(int) throws java.sql.SQLException;
+ method public abstract java.lang.String getSchemaName(int) throws java.sql.SQLException;
+ method public abstract java.lang.String getTableName(int) throws java.sql.SQLException;
+ method public abstract boolean isAutoIncrement(int) throws java.sql.SQLException;
+ method public abstract boolean isCaseSensitive(int) throws java.sql.SQLException;
+ method public abstract boolean isCurrency(int) throws java.sql.SQLException;
+ method public abstract boolean isDefinitelyWritable(int) throws java.sql.SQLException;
+ method public abstract int isNullable(int) throws java.sql.SQLException;
+ method public abstract boolean isReadOnly(int) throws java.sql.SQLException;
+ method public abstract boolean isSearchable(int) throws java.sql.SQLException;
+ method public abstract boolean isSigned(int) throws java.sql.SQLException;
+ method public abstract boolean isWritable(int) throws java.sql.SQLException;
+ field public static final int columnNoNulls = 0; // 0x0
+ field public static final int columnNullable = 1; // 0x1
+ field public static final int columnNullableUnknown = 2; // 0x2
+ }
+
+ public abstract interface RowId {
+ method public abstract boolean equals(java.lang.Object);
+ method public abstract byte[] getBytes();
+ method public abstract int hashCode();
+ method public abstract java.lang.String toString();
+ }
+
+ public final class RowIdLifetime extends java.lang.Enum {
+ method public static java.sql.RowIdLifetime valueOf(java.lang.String);
+ method public static final java.sql.RowIdLifetime[] values();
+ enum_constant public static final java.sql.RowIdLifetime ROWID_UNSUPPORTED;
+ enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_FOREVER;
+ enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_OTHER;
+ enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_SESSION;
+ enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_TRANSACTION;
+ }
+
+ public class SQLClientInfoException extends java.sql.SQLException {
+ ctor public SQLClientInfoException();
+ ctor public SQLClientInfoException(java.util.Map<java.lang.String, java.sql.ClientInfoStatus>);
+ ctor public SQLClientInfoException(java.util.Map<java.lang.String, java.sql.ClientInfoStatus>, java.lang.Throwable);
+ ctor public SQLClientInfoException(java.lang.String, java.util.Map<java.lang.String, java.sql.ClientInfoStatus>);
+ ctor public SQLClientInfoException(java.lang.String, java.util.Map<java.lang.String, java.sql.ClientInfoStatus>, java.lang.Throwable);
+ ctor public SQLClientInfoException(java.lang.String, java.lang.String, int, java.util.Map<java.lang.String, java.sql.ClientInfoStatus>);
+ ctor public SQLClientInfoException(java.lang.String, java.lang.String, int, java.util.Map<java.lang.String, java.sql.ClientInfoStatus>, java.lang.Throwable);
+ ctor public SQLClientInfoException(java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.sql.ClientInfoStatus>);
+ ctor public SQLClientInfoException(java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.sql.ClientInfoStatus>, java.lang.Throwable);
+ method public java.util.Map<java.lang.String, java.sql.ClientInfoStatus> getFailedProperties();
+ }
+
+ public abstract interface SQLData {
+ method public abstract java.lang.String getSQLTypeName() throws java.sql.SQLException;
+ method public abstract void readSQL(java.sql.SQLInput, java.lang.String) throws java.sql.SQLException;
+ method public abstract void writeSQL(java.sql.SQLOutput) throws java.sql.SQLException;
+ }
+
+ public class SQLDataException extends java.sql.SQLNonTransientException {
+ ctor public SQLDataException();
+ ctor public SQLDataException(java.lang.String);
+ ctor public SQLDataException(java.lang.String, java.lang.String);
+ ctor public SQLDataException(java.lang.String, java.lang.String, int);
+ ctor public SQLDataException(java.lang.Throwable);
+ ctor public SQLDataException(java.lang.String, java.lang.Throwable);
+ ctor public SQLDataException(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLDataException(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ }
+
+ public class SQLException extends java.lang.Exception implements java.lang.Iterable java.io.Serializable {
+ ctor public SQLException();
+ ctor public SQLException(java.lang.String);
+ ctor public SQLException(java.lang.String, java.lang.String);
+ ctor public SQLException(java.lang.String, java.lang.String, int);
+ ctor public SQLException(java.lang.Throwable);
+ ctor public SQLException(java.lang.String, java.lang.Throwable);
+ ctor public SQLException(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLException(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ method public int getErrorCode();
+ method public java.sql.SQLException getNextException();
+ method public java.lang.String getSQLState();
+ method public java.util.Iterator<java.lang.Throwable> iterator();
+ method public void setNextException(java.sql.SQLException);
+ }
+
+ public class SQLFeatureNotSupportedException extends java.sql.SQLNonTransientException {
+ ctor public SQLFeatureNotSupportedException();
+ ctor public SQLFeatureNotSupportedException(java.lang.String);
+ ctor public SQLFeatureNotSupportedException(java.lang.String, java.lang.String);
+ ctor public SQLFeatureNotSupportedException(java.lang.String, java.lang.String, int);
+ ctor public SQLFeatureNotSupportedException(java.lang.Throwable);
+ ctor public SQLFeatureNotSupportedException(java.lang.String, java.lang.Throwable);
+ ctor public SQLFeatureNotSupportedException(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLFeatureNotSupportedException(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ }
+
+ public abstract interface SQLInput {
+ method public abstract java.sql.Array readArray() throws java.sql.SQLException;
+ method public abstract java.io.InputStream readAsciiStream() throws java.sql.SQLException;
+ method public abstract java.math.BigDecimal readBigDecimal() throws java.sql.SQLException;
+ method public abstract java.io.InputStream readBinaryStream() throws java.sql.SQLException;
+ method public abstract java.sql.Blob readBlob() throws java.sql.SQLException;
+ method public abstract boolean readBoolean() throws java.sql.SQLException;
+ method public abstract byte readByte() throws java.sql.SQLException;
+ method public abstract byte[] readBytes() throws java.sql.SQLException;
+ method public abstract java.io.Reader readCharacterStream() throws java.sql.SQLException;
+ method public abstract java.sql.Clob readClob() throws java.sql.SQLException;
+ method public abstract java.sql.Date readDate() throws java.sql.SQLException;
+ method public abstract double readDouble() throws java.sql.SQLException;
+ method public abstract float readFloat() throws java.sql.SQLException;
+ method public abstract int readInt() throws java.sql.SQLException;
+ method public abstract long readLong() throws java.sql.SQLException;
+ method public abstract java.sql.NClob readNClob() throws java.sql.SQLException;
+ method public abstract java.lang.String readNString() throws java.sql.SQLException;
+ method public abstract java.lang.Object readObject() throws java.sql.SQLException;
+ method public abstract java.sql.Ref readRef() throws java.sql.SQLException;
+ method public abstract java.sql.RowId readRowId() throws java.sql.SQLException;
+ method public abstract java.sql.SQLXML readSQLXML() throws java.sql.SQLException;
+ method public abstract short readShort() throws java.sql.SQLException;
+ method public abstract java.lang.String readString() throws java.sql.SQLException;
+ method public abstract java.sql.Time readTime() throws java.sql.SQLException;
+ method public abstract java.sql.Timestamp readTimestamp() throws java.sql.SQLException;
+ method public abstract java.net.URL readURL() throws java.sql.SQLException;
+ method public abstract boolean wasNull() throws java.sql.SQLException;
+ }
+
+ public class SQLIntegrityConstraintViolationException extends java.sql.SQLNonTransientException {
+ ctor public SQLIntegrityConstraintViolationException();
+ ctor public SQLIntegrityConstraintViolationException(java.lang.String);
+ ctor public SQLIntegrityConstraintViolationException(java.lang.String, java.lang.String);
+ ctor public SQLIntegrityConstraintViolationException(java.lang.String, java.lang.String, int);
+ ctor public SQLIntegrityConstraintViolationException(java.lang.Throwable);
+ ctor public SQLIntegrityConstraintViolationException(java.lang.String, java.lang.Throwable);
+ ctor public SQLIntegrityConstraintViolationException(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLIntegrityConstraintViolationException(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ }
+
+ public class SQLInvalidAuthorizationSpecException extends java.sql.SQLNonTransientException {
+ ctor public SQLInvalidAuthorizationSpecException();
+ ctor public SQLInvalidAuthorizationSpecException(java.lang.String);
+ ctor public SQLInvalidAuthorizationSpecException(java.lang.String, java.lang.String);
+ ctor public SQLInvalidAuthorizationSpecException(java.lang.String, java.lang.String, int);
+ ctor public SQLInvalidAuthorizationSpecException(java.lang.Throwable);
+ ctor public SQLInvalidAuthorizationSpecException(java.lang.String, java.lang.Throwable);
+ ctor public SQLInvalidAuthorizationSpecException(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLInvalidAuthorizationSpecException(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ }
+
+ public class SQLNonTransientConnectionException extends java.sql.SQLNonTransientException {
+ ctor public SQLNonTransientConnectionException();
+ ctor public SQLNonTransientConnectionException(java.lang.String);
+ ctor public SQLNonTransientConnectionException(java.lang.String, java.lang.String);
+ ctor public SQLNonTransientConnectionException(java.lang.String, java.lang.String, int);
+ ctor public SQLNonTransientConnectionException(java.lang.Throwable);
+ ctor public SQLNonTransientConnectionException(java.lang.String, java.lang.Throwable);
+ ctor public SQLNonTransientConnectionException(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLNonTransientConnectionException(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ }
+
+ public class SQLNonTransientException extends java.sql.SQLException {
+ ctor public SQLNonTransientException();
+ ctor public SQLNonTransientException(java.lang.String);
+ ctor public SQLNonTransientException(java.lang.String, java.lang.String);
+ ctor public SQLNonTransientException(java.lang.String, java.lang.String, int);
+ ctor public SQLNonTransientException(java.lang.Throwable);
+ ctor public SQLNonTransientException(java.lang.String, java.lang.Throwable);
+ ctor public SQLNonTransientException(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLNonTransientException(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ }
+
+ public abstract interface SQLOutput {
+ method public abstract void writeArray(java.sql.Array) throws java.sql.SQLException;
+ method public abstract void writeAsciiStream(java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void writeBigDecimal(java.math.BigDecimal) throws java.sql.SQLException;
+ method public abstract void writeBinaryStream(java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void writeBlob(java.sql.Blob) throws java.sql.SQLException;
+ method public abstract void writeBoolean(boolean) throws java.sql.SQLException;
+ method public abstract void writeByte(byte) throws java.sql.SQLException;
+ method public abstract void writeBytes(byte[]) throws java.sql.SQLException;
+ method public abstract void writeCharacterStream(java.io.Reader) throws java.sql.SQLException;
+ method public abstract void writeClob(java.sql.Clob) throws java.sql.SQLException;
+ method public abstract void writeDate(java.sql.Date) throws java.sql.SQLException;
+ method public abstract void writeDouble(double) throws java.sql.SQLException;
+ method public abstract void writeFloat(float) throws java.sql.SQLException;
+ method public abstract void writeInt(int) throws java.sql.SQLException;
+ method public abstract void writeLong(long) throws java.sql.SQLException;
+ method public abstract void writeNClob(java.sql.NClob) throws java.sql.SQLException;
+ method public abstract void writeNString(java.lang.String) throws java.sql.SQLException;
+ method public abstract void writeObject(java.sql.SQLData) throws java.sql.SQLException;
+ method public abstract void writeRef(java.sql.Ref) throws java.sql.SQLException;
+ method public abstract void writeRowId(java.sql.RowId) throws java.sql.SQLException;
+ method public abstract void writeSQLXML(java.sql.SQLXML) throws java.sql.SQLException;
+ method public abstract void writeShort(short) throws java.sql.SQLException;
+ method public abstract void writeString(java.lang.String) throws java.sql.SQLException;
+ method public abstract void writeStruct(java.sql.Struct) throws java.sql.SQLException;
+ method public abstract void writeTime(java.sql.Time) throws java.sql.SQLException;
+ method public abstract void writeTimestamp(java.sql.Timestamp) throws java.sql.SQLException;
+ method public abstract void writeURL(java.net.URL) throws java.sql.SQLException;
+ }
+
+ public final class SQLPermission extends java.security.BasicPermission implements java.security.Guard java.io.Serializable {
+ ctor public SQLPermission(java.lang.String);
+ ctor public SQLPermission(java.lang.String, java.lang.String);
+ }
+
+ public class SQLRecoverableException extends java.sql.SQLException {
+ ctor public SQLRecoverableException();
+ ctor public SQLRecoverableException(java.lang.String);
+ ctor public SQLRecoverableException(java.lang.String, java.lang.String);
+ ctor public SQLRecoverableException(java.lang.String, java.lang.String, int);
+ ctor public SQLRecoverableException(java.lang.Throwable);
+ ctor public SQLRecoverableException(java.lang.String, java.lang.Throwable);
+ ctor public SQLRecoverableException(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLRecoverableException(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ }
+
+ public class SQLSyntaxErrorException extends java.sql.SQLNonTransientException {
+ ctor public SQLSyntaxErrorException();
+ ctor public SQLSyntaxErrorException(java.lang.String);
+ ctor public SQLSyntaxErrorException(java.lang.String, java.lang.String);
+ ctor public SQLSyntaxErrorException(java.lang.String, java.lang.String, int);
+ ctor public SQLSyntaxErrorException(java.lang.Throwable);
+ ctor public SQLSyntaxErrorException(java.lang.String, java.lang.Throwable);
+ ctor public SQLSyntaxErrorException(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLSyntaxErrorException(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ }
+
+ public class SQLTimeoutException extends java.sql.SQLTransientException {
+ ctor public SQLTimeoutException();
+ ctor public SQLTimeoutException(java.lang.String);
+ ctor public SQLTimeoutException(java.lang.String, java.lang.String);
+ ctor public SQLTimeoutException(java.lang.String, java.lang.String, int);
+ ctor public SQLTimeoutException(java.lang.Throwable);
+ ctor public SQLTimeoutException(java.lang.String, java.lang.Throwable);
+ ctor public SQLTimeoutException(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLTimeoutException(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ }
+
+ public class SQLTransactionRollbackException extends java.sql.SQLTransientException {
+ ctor public SQLTransactionRollbackException();
+ ctor public SQLTransactionRollbackException(java.lang.String);
+ ctor public SQLTransactionRollbackException(java.lang.String, java.lang.String);
+ ctor public SQLTransactionRollbackException(java.lang.String, java.lang.String, int);
+ ctor public SQLTransactionRollbackException(java.lang.Throwable);
+ ctor public SQLTransactionRollbackException(java.lang.String, java.lang.Throwable);
+ ctor public SQLTransactionRollbackException(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLTransactionRollbackException(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ }
+
+ public class SQLTransientConnectionException extends java.sql.SQLTransientException {
+ ctor public SQLTransientConnectionException();
+ ctor public SQLTransientConnectionException(java.lang.String);
+ ctor public SQLTransientConnectionException(java.lang.String, java.lang.String);
+ ctor public SQLTransientConnectionException(java.lang.String, java.lang.String, int);
+ ctor public SQLTransientConnectionException(java.lang.Throwable);
+ ctor public SQLTransientConnectionException(java.lang.String, java.lang.Throwable);
+ ctor public SQLTransientConnectionException(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLTransientConnectionException(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ }
+
+ public class SQLTransientException extends java.sql.SQLException {
+ ctor public SQLTransientException();
+ ctor public SQLTransientException(java.lang.String);
+ ctor public SQLTransientException(java.lang.String, java.lang.String);
+ ctor public SQLTransientException(java.lang.String, java.lang.String, int);
+ ctor public SQLTransientException(java.lang.Throwable);
+ ctor public SQLTransientException(java.lang.String, java.lang.Throwable);
+ ctor public SQLTransientException(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLTransientException(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ }
+
+ public class SQLWarning extends java.sql.SQLException implements java.io.Serializable {
+ ctor public SQLWarning();
+ ctor public SQLWarning(java.lang.String);
+ ctor public SQLWarning(java.lang.String, java.lang.String);
+ ctor public SQLWarning(java.lang.String, java.lang.String, int);
+ ctor public SQLWarning(java.lang.Throwable);
+ ctor public SQLWarning(java.lang.String, java.lang.Throwable);
+ ctor public SQLWarning(java.lang.String, java.lang.String, java.lang.Throwable);
+ ctor public SQLWarning(java.lang.String, java.lang.String, int, java.lang.Throwable);
+ method public java.sql.SQLWarning getNextWarning();
+ method public void setNextWarning(java.sql.SQLWarning);
+ }
+
+ public abstract interface SQLXML {
+ method public abstract void free() throws java.sql.SQLException;
+ method public abstract java.io.InputStream getBinaryStream() throws java.sql.SQLException;
+ method public abstract java.io.Reader getCharacterStream() throws java.sql.SQLException;
+ method public abstract T getSource(java.lang.Class<T>) throws java.sql.SQLException;
+ method public abstract java.lang.String getString() throws java.sql.SQLException;
+ method public abstract java.io.OutputStream setBinaryStream() throws java.sql.SQLException;
+ method public abstract java.io.Writer setCharacterStream() throws java.sql.SQLException;
+ method public abstract T setResult(java.lang.Class<T>) throws java.sql.SQLException;
+ method public abstract void setString(java.lang.String) throws java.sql.SQLException;
+ }
+
+ public abstract interface Savepoint {
+ method public abstract int getSavepointId() throws java.sql.SQLException;
+ method public abstract java.lang.String getSavepointName() throws java.sql.SQLException;
+ }
+
+ public abstract interface Statement implements java.sql.Wrapper {
+ method public abstract void addBatch(java.lang.String) throws java.sql.SQLException;
+ method public abstract void cancel() throws java.sql.SQLException;
+ method public abstract void clearBatch() throws java.sql.SQLException;
+ method public abstract void clearWarnings() throws java.sql.SQLException;
+ method public abstract void close() throws java.sql.SQLException;
+ method public abstract boolean execute(java.lang.String) throws java.sql.SQLException;
+ method public abstract boolean execute(java.lang.String, int) throws java.sql.SQLException;
+ method public abstract boolean execute(java.lang.String, int[]) throws java.sql.SQLException;
+ method public abstract boolean execute(java.lang.String, java.lang.String[]) throws java.sql.SQLException;
+ method public abstract int[] executeBatch() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet executeQuery(java.lang.String) throws java.sql.SQLException;
+ method public abstract int executeUpdate(java.lang.String) throws java.sql.SQLException;
+ method public abstract int executeUpdate(java.lang.String, int) throws java.sql.SQLException;
+ method public abstract int executeUpdate(java.lang.String, int[]) throws java.sql.SQLException;
+ method public abstract int executeUpdate(java.lang.String, java.lang.String[]) throws java.sql.SQLException;
+ method public abstract java.sql.Connection getConnection() throws java.sql.SQLException;
+ method public abstract int getFetchDirection() throws java.sql.SQLException;
+ method public abstract int getFetchSize() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getGeneratedKeys() throws java.sql.SQLException;
+ method public abstract int getMaxFieldSize() throws java.sql.SQLException;
+ method public abstract int getMaxRows() throws java.sql.SQLException;
+ method public abstract boolean getMoreResults() throws java.sql.SQLException;
+ method public abstract boolean getMoreResults(int) throws java.sql.SQLException;
+ method public abstract int getQueryTimeout() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getResultSet() throws java.sql.SQLException;
+ method public abstract int getResultSetConcurrency() throws java.sql.SQLException;
+ method public abstract int getResultSetHoldability() throws java.sql.SQLException;
+ method public abstract int getResultSetType() throws java.sql.SQLException;
+ method public abstract int getUpdateCount() throws java.sql.SQLException;
+ method public abstract java.sql.SQLWarning getWarnings() throws java.sql.SQLException;
+ method public abstract boolean isClosed() throws java.sql.SQLException;
+ method public abstract boolean isPoolable() throws java.sql.SQLException;
+ method public abstract void setCursorName(java.lang.String) throws java.sql.SQLException;
+ method public abstract void setEscapeProcessing(boolean) throws java.sql.SQLException;
+ method public abstract void setFetchDirection(int) throws java.sql.SQLException;
+ method public abstract void setFetchSize(int) throws java.sql.SQLException;
+ method public abstract void setMaxFieldSize(int) throws java.sql.SQLException;
+ method public abstract void setMaxRows(int) throws java.sql.SQLException;
+ method public abstract void setPoolable(boolean) throws java.sql.SQLException;
+ method public abstract void setQueryTimeout(int) throws java.sql.SQLException;
+ field public static final int CLOSE_ALL_RESULTS = 3; // 0x3
+ field public static final int CLOSE_CURRENT_RESULT = 1; // 0x1
+ field public static final int EXECUTE_FAILED = -3; // 0xfffffffd
+ field public static final int KEEP_CURRENT_RESULT = 2; // 0x2
+ field public static final int NO_GENERATED_KEYS = 2; // 0x2
+ field public static final int RETURN_GENERATED_KEYS = 1; // 0x1
+ field public static final int SUCCESS_NO_INFO = -2; // 0xfffffffe
+ }
+
+ public abstract interface Struct {
+ method public abstract java.lang.Object[] getAttributes() throws java.sql.SQLException;
+ method public abstract java.lang.Object[] getAttributes(java.util.Map<java.lang.String, java.lang.Class<?>>) throws java.sql.SQLException;
+ method public abstract java.lang.String getSQLTypeName() throws java.sql.SQLException;
+ }
+
+ public class Time extends java.util.Date {
+ ctor public deprecated Time(int, int, int);
+ ctor public Time(long);
+ method public static java.sql.Time valueOf(java.lang.String);
+ }
+
+ public class Timestamp extends java.util.Date {
+ ctor public deprecated Timestamp(int, int, int, int, int, int, int) throws java.lang.IllegalArgumentException;
+ ctor public Timestamp(long);
+ method public boolean after(java.sql.Timestamp);
+ method public boolean before(java.sql.Timestamp);
+ method public int compareTo(java.sql.Timestamp);
+ method public boolean equals(java.sql.Timestamp);
+ method public int getNanos();
+ method public void setNanos(int) throws java.lang.IllegalArgumentException;
+ method public static java.sql.Timestamp valueOf(java.lang.String) throws java.lang.IllegalArgumentException;
+ }
+
+ public class Types {
+ field public static final int ARRAY = 2003; // 0x7d3
+ field public static final int BIGINT = -5; // 0xfffffffb
+ field public static final int BINARY = -2; // 0xfffffffe
+ field public static final int BIT = -7; // 0xfffffff9
+ field public static final int BLOB = 2004; // 0x7d4
+ field public static final int BOOLEAN = 16; // 0x10
+ field public static final int CHAR = 1; // 0x1
+ field public static final int CLOB = 2005; // 0x7d5
+ field public static final int DATALINK = 70; // 0x46
+ field public static final int DATE = 91; // 0x5b
+ field public static final int DECIMAL = 3; // 0x3
+ field public static final int DISTINCT = 2001; // 0x7d1
+ field public static final int DOUBLE = 8; // 0x8
+ field public static final int FLOAT = 6; // 0x6
+ field public static final int INTEGER = 4; // 0x4
+ field public static final int JAVA_OBJECT = 2000; // 0x7d0
+ field public static final int LONGNVARCHAR = -16; // 0xfffffff0
+ field public static final int LONGVARBINARY = -4; // 0xfffffffc
+ field public static final int LONGVARCHAR = -1; // 0xffffffff
+ field public static final int NCHAR = -15; // 0xfffffff1
+ field public static final int NCLOB = 2011; // 0x7db
+ field public static final int NULL = 0; // 0x0
+ field public static final int NUMERIC = 2; // 0x2
+ field public static final int NVARCHAR = -9; // 0xfffffff7
+ field public static final int OTHER = 1111; // 0x457
+ field public static final int REAL = 7; // 0x7
+ field public static final int REF = 2006; // 0x7d6
+ field public static final int ROWID = -8; // 0xfffffff8
+ field public static final int SMALLINT = 5; // 0x5
+ field public static final int SQLXML = 2009; // 0x7d9
+ field public static final int STRUCT = 2002; // 0x7d2
+ field public static final int TIME = 92; // 0x5c
+ field public static final int TIMESTAMP = 93; // 0x5d
+ field public static final int TINYINT = -6; // 0xfffffffa
+ field public static final int VARBINARY = -3; // 0xfffffffd
+ field public static final int VARCHAR = 12; // 0xc
+ }
+
+ public abstract interface Wrapper {
+ method public abstract boolean isWrapperFor(java.lang.Class<?>) throws java.sql.SQLException;
+ method public abstract T unwrap(java.lang.Class<T>) throws java.sql.SQLException;
+ }
+
+}
+
+package java.text {
+
+ public class Annotation {
+ ctor public Annotation(java.lang.Object);
+ method public java.lang.Object getValue();
+ }
+
+ public abstract interface AttributedCharacterIterator implements java.text.CharacterIterator {
+ method public abstract java.util.Set<java.text.AttributedCharacterIterator.Attribute> getAllAttributeKeys();
+ method public abstract java.lang.Object getAttribute(java.text.AttributedCharacterIterator.Attribute);
+ method public abstract java.util.Map<java.text.AttributedCharacterIterator.Attribute, java.lang.Object> getAttributes();
+ method public abstract int getRunLimit();
+ method public abstract int getRunLimit(java.text.AttributedCharacterIterator.Attribute);
+ method public abstract int getRunLimit(java.util.Set<? extends java.text.AttributedCharacterIterator.Attribute>);
+ method public abstract int getRunStart();
+ method public abstract int getRunStart(java.text.AttributedCharacterIterator.Attribute);
+ method public abstract int getRunStart(java.util.Set<? extends java.text.AttributedCharacterIterator.Attribute>);
+ }
+
+ public static class AttributedCharacterIterator.Attribute implements java.io.Serializable {
+ ctor protected AttributedCharacterIterator.Attribute(java.lang.String);
+ method public final boolean equals(java.lang.Object);
+ method protected java.lang.String getName();
+ method public final int hashCode();
+ method protected java.lang.Object readResolve() throws java.io.InvalidObjectException;
+ field public static final java.text.AttributedCharacterIterator.Attribute INPUT_METHOD_SEGMENT;
+ field public static final java.text.AttributedCharacterIterator.Attribute LANGUAGE;
+ field public static final java.text.AttributedCharacterIterator.Attribute READING;
+ }
+
+ public class AttributedString {
+ ctor public AttributedString(java.text.AttributedCharacterIterator);
+ ctor public AttributedString(java.text.AttributedCharacterIterator, int, int);
+ ctor public AttributedString(java.text.AttributedCharacterIterator, int, int, java.text.AttributedCharacterIterator.Attribute[]);
+ ctor public AttributedString(java.lang.String);
+ ctor public AttributedString(java.lang.String, java.util.Map<? extends java.text.AttributedCharacterIterator.Attribute, ?>);
+ method public void addAttribute(java.text.AttributedCharacterIterator.Attribute, java.lang.Object);
+ method public void addAttribute(java.text.AttributedCharacterIterator.Attribute, java.lang.Object, int, int);
+ method public void addAttributes(java.util.Map<? extends java.text.AttributedCharacterIterator.Attribute, ?>, int, int);
+ method public java.text.AttributedCharacterIterator getIterator();
+ method public java.text.AttributedCharacterIterator getIterator(java.text.AttributedCharacterIterator.Attribute[]);
+ method public java.text.AttributedCharacterIterator getIterator(java.text.AttributedCharacterIterator.Attribute[], int, int);
+ }
+
+ public final class Bidi {
+ ctor public Bidi(java.text.AttributedCharacterIterator);
+ ctor public Bidi(char[], int, byte[], int, int, int);
+ ctor public Bidi(java.lang.String, int);
+ method public boolean baseIsLeftToRight();
+ method public java.text.Bidi createLineBidi(int, int);
+ method public int getBaseLevel();
+ method public int getLength();
+ method public int getLevelAt(int);
+ method public int getRunCount();
+ method public int getRunLevel(int);
+ method public int getRunLimit(int);
+ method public int getRunStart(int);
+ method public boolean isLeftToRight();
+ method public boolean isMixed();
+ method public boolean isRightToLeft();
+ method public static void reorderVisually(byte[], int, java.lang.Object[], int, int);
+ method public static boolean requiresBidi(char[], int, int);
+ field public static final int DIRECTION_DEFAULT_LEFT_TO_RIGHT = -2; // 0xfffffffe
+ field public static final int DIRECTION_DEFAULT_RIGHT_TO_LEFT = -1; // 0xffffffff
+ field public static final int DIRECTION_LEFT_TO_RIGHT = 0; // 0x0
+ field public static final int DIRECTION_RIGHT_TO_LEFT = 1; // 0x1
+ }
+
+ public abstract class BreakIterator implements java.lang.Cloneable {
+ ctor protected BreakIterator();
+ method public java.lang.Object clone();
+ method public abstract int current();
+ method public abstract int first();
+ method public abstract int following(int);
+ method public static java.util.Locale[] getAvailableLocales();
+ method public static java.text.BreakIterator getCharacterInstance();
+ method public static java.text.BreakIterator getCharacterInstance(java.util.Locale);
+ method public static java.text.BreakIterator getLineInstance();
+ method public static java.text.BreakIterator getLineInstance(java.util.Locale);
+ method public static java.text.BreakIterator getSentenceInstance();
+ method public static java.text.BreakIterator getSentenceInstance(java.util.Locale);
+ method public abstract java.text.CharacterIterator getText();
+ method public static java.text.BreakIterator getWordInstance();
+ method public static java.text.BreakIterator getWordInstance(java.util.Locale);
+ method public boolean isBoundary(int);
+ method public abstract int last();
+ method public abstract int next();
+ method public abstract int next(int);
+ method public int preceding(int);
+ method public abstract int previous();
+ method public void setText(java.lang.String);
+ method public abstract void setText(java.text.CharacterIterator);
+ field public static final int DONE = -1; // 0xffffffff
+ }
+
+ public abstract interface CharacterIterator implements java.lang.Cloneable {
+ method public abstract java.lang.Object clone();
+ method public abstract char current();
+ method public abstract char first();
+ method public abstract int getBeginIndex();
+ method public abstract int getEndIndex();
+ method public abstract int getIndex();
+ method public abstract char last();
+ method public abstract char next();
+ method public abstract char previous();
+ method public abstract char setIndex(int);
+ field public static final char DONE = 65535; // 0xffff '\uffff'
+ }
+
+ public class ChoiceFormat extends java.text.NumberFormat {
+ ctor public ChoiceFormat(double[], java.lang.String[]);
+ ctor public ChoiceFormat(java.lang.String);
+ method public void applyPattern(java.lang.String);
+ method public java.lang.StringBuffer format(double, java.lang.StringBuffer, java.text.FieldPosition);
+ method public java.lang.StringBuffer format(long, java.lang.StringBuffer, java.text.FieldPosition);
+ method public java.lang.Object[] getFormats();
+ method public double[] getLimits();
+ method public static final double nextDouble(double);
+ method public static double nextDouble(double, boolean);
+ method public java.lang.Number parse(java.lang.String, java.text.ParsePosition);
+ method public static final double previousDouble(double);
+ method public void setChoices(double[], java.lang.String[]);
+ method public java.lang.String toPattern();
+ }
+
+ public final class CollationElementIterator {
+ method public int getMaxExpansion(int);
+ method public int getOffset();
+ method public int next();
+ method public int previous();
+ method public static final int primaryOrder(int);
+ method public void reset();
+ method public static final short secondaryOrder(int);
+ method public void setOffset(int);
+ method public void setText(java.text.CharacterIterator);
+ method public void setText(java.lang.String);
+ method public static final short tertiaryOrder(int);
+ field public static final int NULLORDER = -1; // 0xffffffff
+ }
+
+ public abstract class CollationKey implements java.lang.Comparable {
+ ctor protected CollationKey(java.lang.String);
+ method public abstract int compareTo(java.text.CollationKey);
+ method public java.lang.String getSourceString();
+ method public abstract byte[] toByteArray();
+ }
+
+ public abstract class Collator implements java.lang.Cloneable java.util.Comparator {
+ ctor protected Collator();
+ method public java.lang.Object clone();
+ method public int compare(java.lang.Object, java.lang.Object);
+ method public abstract int compare(java.lang.String, java.lang.String);
+ method public boolean equals(java.lang.String, java.lang.String);
+ method public static java.util.Locale[] getAvailableLocales();
+ method public abstract java.text.CollationKey getCollationKey(java.lang.String);
+ method public int getDecomposition();
+ method public static java.text.Collator getInstance();
+ method public static java.text.Collator getInstance(java.util.Locale);
+ method public int getStrength();
+ method public abstract int hashCode();
+ method public void setDecomposition(int);
+ method public void setStrength(int);
+ field public static final int CANONICAL_DECOMPOSITION = 1; // 0x1
+ field public static final int FULL_DECOMPOSITION = 2; // 0x2
+ field public static final int IDENTICAL = 3; // 0x3
+ field public static final int NO_DECOMPOSITION = 0; // 0x0
+ field public static final int PRIMARY = 0; // 0x0
+ field public static final int SECONDARY = 1; // 0x1
+ field public static final int TERTIARY = 2; // 0x2
+ }
+
+ public abstract class DateFormat extends java.text.Format {
+ ctor protected DateFormat();
+ method public final java.lang.StringBuffer format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition);
+ method public final java.lang.String format(java.util.Date);
+ method public abstract java.lang.StringBuffer format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition);
+ method public static java.util.Locale[] getAvailableLocales();
+ method public java.util.Calendar getCalendar();
+ method public static final java.text.DateFormat getDateInstance();
+ method public static final java.text.DateFormat getDateInstance(int);
+ method public static final java.text.DateFormat getDateInstance(int, java.util.Locale);
+ method public static final java.text.DateFormat getDateTimeInstance();
+ method public static final java.text.DateFormat getDateTimeInstance(int, int);
+ method public static final java.text.DateFormat getDateTimeInstance(int, int, java.util.Locale);
+ method public static final java.text.DateFormat getInstance();
+ method public java.text.NumberFormat getNumberFormat();
+ method public static final java.text.DateFormat getTimeInstance();
+ method public static final java.text.DateFormat getTimeInstance(int);
+ method public static final java.text.DateFormat getTimeInstance(int, java.util.Locale);
+ method public java.util.TimeZone getTimeZone();
+ method public boolean isLenient();
+ method public java.util.Date parse(java.lang.String) throws java.text.ParseException;
+ method public abstract java.util.Date parse(java.lang.String, java.text.ParsePosition);
+ method public java.lang.Object parseObject(java.lang.String, java.text.ParsePosition);
+ method public void setCalendar(java.util.Calendar);
+ method public void setLenient(boolean);
+ method public void setNumberFormat(java.text.NumberFormat);
+ method public void setTimeZone(java.util.TimeZone);
+ field public static final int AM_PM_FIELD = 14; // 0xe
+ field public static final int DATE_FIELD = 3; // 0x3
+ field public static final int DAY_OF_WEEK_FIELD = 9; // 0x9
+ field public static final int DAY_OF_WEEK_IN_MONTH_FIELD = 11; // 0xb
+ field public static final int DAY_OF_YEAR_FIELD = 10; // 0xa
+ field public static final int DEFAULT = 2; // 0x2
+ field public static final int ERA_FIELD = 0; // 0x0
+ field public static final int FULL = 0; // 0x0
+ field public static final int HOUR0_FIELD = 16; // 0x10
+ field public static final int HOUR1_FIELD = 15; // 0xf
+ field public static final int HOUR_OF_DAY0_FIELD = 5; // 0x5
+ field public static final int HOUR_OF_DAY1_FIELD = 4; // 0x4
+ field public static final int LONG = 1; // 0x1
+ field public static final int MEDIUM = 2; // 0x2
+ field public static final int MILLISECOND_FIELD = 8; // 0x8
+ field public static final int MINUTE_FIELD = 6; // 0x6
+ field public static final int MONTH_FIELD = 2; // 0x2
+ field public static final int SECOND_FIELD = 7; // 0x7
+ field public static final int SHORT = 3; // 0x3
+ field public static final int TIMEZONE_FIELD = 17; // 0x11
+ field public static final int WEEK_OF_MONTH_FIELD = 13; // 0xd
+ field public static final int WEEK_OF_YEAR_FIELD = 12; // 0xc
+ field public static final int YEAR_FIELD = 1; // 0x1
+ field protected java.util.Calendar calendar;
+ field protected java.text.NumberFormat numberFormat;
+ }
+
+ public static class DateFormat.Field extends java.text.Format.Field {
+ ctor protected DateFormat.Field(java.lang.String, int);
+ method public int getCalendarField();
+ method public static java.text.DateFormat.Field ofCalendarField(int);
+ field public static final java.text.DateFormat.Field AM_PM;
+ field public static final java.text.DateFormat.Field DAY_OF_MONTH;
+ field public static final java.text.DateFormat.Field DAY_OF_WEEK;
+ field public static final java.text.DateFormat.Field DAY_OF_WEEK_IN_MONTH;
+ field public static final java.text.DateFormat.Field DAY_OF_YEAR;
+ field public static final java.text.DateFormat.Field ERA;
+ field public static final java.text.DateFormat.Field HOUR0;
+ field public static final java.text.DateFormat.Field HOUR1;
+ field public static final java.text.DateFormat.Field HOUR_OF_DAY0;
+ field public static final java.text.DateFormat.Field HOUR_OF_DAY1;
+ field public static final java.text.DateFormat.Field MILLISECOND;
+ field public static final java.text.DateFormat.Field MINUTE;
+ field public static final java.text.DateFormat.Field MONTH;
+ field public static final java.text.DateFormat.Field SECOND;
+ field public static final java.text.DateFormat.Field TIME_ZONE;
+ field public static final java.text.DateFormat.Field WEEK_OF_MONTH;
+ field public static final java.text.DateFormat.Field WEEK_OF_YEAR;
+ field public static final java.text.DateFormat.Field YEAR;
+ }
+
+ public class DateFormatSymbols implements java.lang.Cloneable java.io.Serializable {
+ ctor public DateFormatSymbols();
+ ctor public DateFormatSymbols(java.util.Locale);
+ method public java.lang.Object clone();
+ method public java.lang.String[] getAmPmStrings();
+ method public static java.util.Locale[] getAvailableLocales();
+ method public java.lang.String[] getEras();
+ method public static final java.text.DateFormatSymbols getInstance();
+ method public static final java.text.DateFormatSymbols getInstance(java.util.Locale);
+ method public java.lang.String getLocalPatternChars();
+ method public java.lang.String[] getMonths();
+ method public java.lang.String[] getShortMonths();
+ method public java.lang.String[] getShortWeekdays();
+ method public java.lang.String[] getWeekdays();
+ method public java.lang.String[][] getZoneStrings();
+ method public void setAmPmStrings(java.lang.String[]);
+ method public void setEras(java.lang.String[]);
+ method public void setLocalPatternChars(java.lang.String);
+ method public void setMonths(java.lang.String[]);
+ method public void setShortMonths(java.lang.String[]);
+ method public void setShortWeekdays(java.lang.String[]);
+ method public void setWeekdays(java.lang.String[]);
+ method public void setZoneStrings(java.lang.String[][]);
+ }
+
+ public class DecimalFormat extends java.text.NumberFormat {
+ ctor public DecimalFormat();
+ ctor public DecimalFormat(java.lang.String);
+ ctor public DecimalFormat(java.lang.String, java.text.DecimalFormatSymbols);
+ method public void applyLocalizedPattern(java.lang.String);
+ method public void applyPattern(java.lang.String);
+ method public java.lang.StringBuffer format(double, java.lang.StringBuffer, java.text.FieldPosition);
+ method public java.lang.StringBuffer format(long, java.lang.StringBuffer, java.text.FieldPosition);
+ method public final java.lang.StringBuffer format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition);
+ method public java.text.DecimalFormatSymbols getDecimalFormatSymbols();
+ method public int getGroupingSize();
+ method public int getMultiplier();
+ method public java.lang.String getNegativePrefix();
+ method public java.lang.String getNegativeSuffix();
+ method public java.lang.String getPositivePrefix();
+ method public java.lang.String getPositiveSuffix();
+ method public boolean isDecimalSeparatorAlwaysShown();
+ method public boolean isParseBigDecimal();
+ method public java.lang.Number parse(java.lang.String, java.text.ParsePosition);
+ method public void setDecimalFormatSymbols(java.text.DecimalFormatSymbols);
+ method public void setDecimalSeparatorAlwaysShown(boolean);
+ method public void setGroupingSize(int);
+ method public void setMultiplier(int);
+ method public void setNegativePrefix(java.lang.String);
+ method public void setNegativeSuffix(java.lang.String);
+ method public void setParseBigDecimal(boolean);
+ method public void setPositivePrefix(java.lang.String);
+ method public void setPositiveSuffix(java.lang.String);
+ method public java.lang.String toLocalizedPattern();
+ method public java.lang.String toPattern();
+ }
+
+ public class DecimalFormatSymbols implements java.lang.Cloneable java.io.Serializable {
+ ctor public DecimalFormatSymbols();
+ ctor public DecimalFormatSymbols(java.util.Locale);
+ method public java.lang.Object clone();
+ method public static java.util.Locale[] getAvailableLocales();
+ method public java.util.Currency getCurrency();
+ method public java.lang.String getCurrencySymbol();
+ method public char getDecimalSeparator();
+ method public char getDigit();
+ method public java.lang.String getExponentSeparator();
+ method public char getGroupingSeparator();
+ method public java.lang.String getInfinity();
+ method public static java.text.DecimalFormatSymbols getInstance();
+ method public static java.text.DecimalFormatSymbols getInstance(java.util.Locale);
+ method public java.lang.String getInternationalCurrencySymbol();
+ method public char getMinusSign();
+ method public char getMonetaryDecimalSeparator();
+ method public java.lang.String getNaN();
+ method public char getPatternSeparator();
+ method public char getPerMill();
+ method public char getPercent();
+ method public char getZeroDigit();
+ method public void setCurrency(java.util.Currency);
+ method public void setCurrencySymbol(java.lang.String);
+ method public void setDecimalSeparator(char);
+ method public void setDigit(char);
+ method public void setExponentSeparator(java.lang.String);
+ method public void setGroupingSeparator(char);
+ method public void setInfinity(java.lang.String);
+ method public void setInternationalCurrencySymbol(java.lang.String);
+ method public void setMinusSign(char);
+ method public void setMonetaryDecimalSeparator(char);
+ method public void setNaN(java.lang.String);
+ method public void setPatternSeparator(char);
+ method public void setPerMill(char);
+ method public void setPercent(char);
+ method public void setZeroDigit(char);
+ }
+
+ public class FieldPosition {
+ ctor public FieldPosition(int);
+ ctor public FieldPosition(java.text.Format.Field);
+ ctor public FieldPosition(java.text.Format.Field, int);
+ method public int getBeginIndex();
+ method public int getEndIndex();
+ method public int getField();
+ method public java.text.Format.Field getFieldAttribute();
+ method public void setBeginIndex(int);
+ method public void setEndIndex(int);
+ }
+
+ public abstract class Format implements java.lang.Cloneable java.io.Serializable {
+ ctor protected Format();
+ method public java.lang.Object clone();
+ method public final java.lang.String format(java.lang.Object);
+ method public abstract java.lang.StringBuffer format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition);
+ method public java.text.AttributedCharacterIterator formatToCharacterIterator(java.lang.Object);
+ method public java.lang.Object parseObject(java.lang.String) throws java.text.ParseException;
+ method public abstract java.lang.Object parseObject(java.lang.String, java.text.ParsePosition);
+ }
+
+ public static class Format.Field extends java.text.AttributedCharacterIterator.Attribute {
+ ctor protected Format.Field(java.lang.String);
+ }
+
+ public class MessageFormat extends java.text.Format {
+ ctor public MessageFormat(java.lang.String, java.util.Locale);
+ ctor public MessageFormat(java.lang.String);
+ method public void applyPattern(java.lang.String);
+ method public final java.lang.StringBuffer format(java.lang.Object[], java.lang.StringBuffer, java.text.FieldPosition);
+ method public final java.lang.StringBuffer format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition);
+ method public static java.lang.String format(java.lang.String, java.lang.Object...);
+ method public java.text.Format[] getFormats();
+ method public java.text.Format[] getFormatsByArgumentIndex();
+ method public java.util.Locale getLocale();
+ method public java.lang.Object[] parse(java.lang.String) throws java.text.ParseException;
+ method public java.lang.Object[] parse(java.lang.String, java.text.ParsePosition);
+ method public java.lang.Object parseObject(java.lang.String, java.text.ParsePosition);
+ method public void setFormat(int, java.text.Format);
+ method public void setFormatByArgumentIndex(int, java.text.Format);
+ method public void setFormats(java.text.Format[]);
+ method public void setFormatsByArgumentIndex(java.text.Format[]);
+ method public void setLocale(java.util.Locale);
+ method public java.lang.String toPattern();
+ }
+
+ public static class MessageFormat.Field extends java.text.Format.Field {
+ ctor protected MessageFormat.Field(java.lang.String);
+ field public static final java.text.MessageFormat.Field ARGUMENT;
+ }
+
+ public final class Normalizer {
+ method public static boolean isNormalized(java.lang.CharSequence, java.text.Normalizer.Form);
+ method public static java.lang.String normalize(java.lang.CharSequence, java.text.Normalizer.Form);
+ }
+
+ public static final class Normalizer.Form extends java.lang.Enum {
+ method public static java.text.Normalizer.Form valueOf(java.lang.String);
+ method public static final java.text.Normalizer.Form[] values();
+ enum_constant public static final java.text.Normalizer.Form NFC;
+ enum_constant public static final java.text.Normalizer.Form NFD;
+ enum_constant public static final java.text.Normalizer.Form NFKC;
+ enum_constant public static final java.text.Normalizer.Form NFKD;
+ }
+
+ public abstract class NumberFormat extends java.text.Format {
+ ctor protected NumberFormat();
+ method public final java.lang.String format(double);
+ method public abstract java.lang.StringBuffer format(double, java.lang.StringBuffer, java.text.FieldPosition);
+ method public final java.lang.String format(long);
+ method public abstract java.lang.StringBuffer format(long, java.lang.StringBuffer, java.text.FieldPosition);
+ method public java.lang.StringBuffer format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition);
+ method public static java.util.Locale[] getAvailableLocales();
+ method public java.util.Currency getCurrency();
+ method public static final java.text.NumberFormat getCurrencyInstance();
+ method public static java.text.NumberFormat getCurrencyInstance(java.util.Locale);
+ method public static final java.text.NumberFormat getInstance();
+ method public static java.text.NumberFormat getInstance(java.util.Locale);
+ method public static final java.text.NumberFormat getIntegerInstance();
+ method public static java.text.NumberFormat getIntegerInstance(java.util.Locale);
+ method public int getMaximumFractionDigits();
+ method public int getMaximumIntegerDigits();
+ method public int getMinimumFractionDigits();
+ method public int getMinimumIntegerDigits();
+ method public static final java.text.NumberFormat getNumberInstance();
+ method public static java.text.NumberFormat getNumberInstance(java.util.Locale);
+ method public static final java.text.NumberFormat getPercentInstance();
+ method public static java.text.NumberFormat getPercentInstance(java.util.Locale);
+ method public java.math.RoundingMode getRoundingMode();
+ method public boolean isGroupingUsed();
+ method public boolean isParseIntegerOnly();
+ method public java.lang.Number parse(java.lang.String) throws java.text.ParseException;
+ method public abstract java.lang.Number parse(java.lang.String, java.text.ParsePosition);
+ method public final java.lang.Object parseObject(java.lang.String, java.text.ParsePosition);
+ method public void setCurrency(java.util.Currency);
+ method public void setGroupingUsed(boolean);
+ method public void setMaximumFractionDigits(int);
+ method public void setMaximumIntegerDigits(int);
+ method public void setMinimumFractionDigits(int);
+ method public void setMinimumIntegerDigits(int);
+ method public void setParseIntegerOnly(boolean);
+ method public void setRoundingMode(java.math.RoundingMode);
+ field public static final int FRACTION_FIELD = 1; // 0x1
+ field public static final int INTEGER_FIELD = 0; // 0x0
+ }
+
+ public static class NumberFormat.Field extends java.text.Format.Field {
+ ctor protected NumberFormat.Field(java.lang.String);
+ field public static final java.text.NumberFormat.Field CURRENCY;
+ field public static final java.text.NumberFormat.Field DECIMAL_SEPARATOR;
+ field public static final java.text.NumberFormat.Field EXPONENT;
+ field public static final java.text.NumberFormat.Field EXPONENT_SIGN;
+ field public static final java.text.NumberFormat.Field EXPONENT_SYMBOL;
+ field public static final java.text.NumberFormat.Field FRACTION;
+ field public static final java.text.NumberFormat.Field GROUPING_SEPARATOR;
+ field public static final java.text.NumberFormat.Field INTEGER;
+ field public static final java.text.NumberFormat.Field PERCENT;
+ field public static final java.text.NumberFormat.Field PERMILLE;
+ field public static final java.text.NumberFormat.Field SIGN;
+ }
+
+ public class ParseException extends java.lang.Exception {
+ ctor public ParseException(java.lang.String, int);
+ method public int getErrorOffset();
+ }
+
+ public class ParsePosition {
+ ctor public ParsePosition(int);
+ method public int getErrorIndex();
+ method public int getIndex();
+ method public void setErrorIndex(int);
+ method public void setIndex(int);
+ }
+
+ public class RuleBasedCollator extends java.text.Collator {
+ ctor public RuleBasedCollator(java.lang.String) throws java.text.ParseException;
+ method public int compare(java.lang.String, java.lang.String);
+ method public java.text.CollationElementIterator getCollationElementIterator(java.text.CharacterIterator);
+ method public java.text.CollationElementIterator getCollationElementIterator(java.lang.String);
+ method public java.text.CollationKey getCollationKey(java.lang.String);
+ method public java.lang.String getRules();
+ method public int hashCode();
+ }
+
+ public class SimpleDateFormat extends java.text.DateFormat {
+ ctor public SimpleDateFormat();
+ ctor public SimpleDateFormat(java.lang.String);
+ ctor public SimpleDateFormat(java.lang.String, java.text.DateFormatSymbols);
+ ctor public SimpleDateFormat(java.lang.String, java.util.Locale);
+ method public void applyLocalizedPattern(java.lang.String);
+ method public void applyPattern(java.lang.String);
+ method public java.lang.StringBuffer format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition);
+ method public java.util.Date get2DigitYearStart();
+ method public java.text.DateFormatSymbols getDateFormatSymbols();
+ method public java.util.Date parse(java.lang.String, java.text.ParsePosition);
+ method public void set2DigitYearStart(java.util.Date);
+ method public void setDateFormatSymbols(java.text.DateFormatSymbols);
+ method public java.lang.String toLocalizedPattern();
+ method public java.lang.String toPattern();
+ }
+
+ public final class StringCharacterIterator implements java.text.CharacterIterator {
+ ctor public StringCharacterIterator(java.lang.String);
+ ctor public StringCharacterIterator(java.lang.String, int);
+ ctor public StringCharacterIterator(java.lang.String, int, int, int);
+ method public java.lang.Object clone();
+ method public char current();
+ method public char first();
+ method public int getBeginIndex();
+ method public int getEndIndex();
+ method public int getIndex();
+ method public char last();
+ method public char next();
+ method public char previous();
+ method public char setIndex(int);
+ method public void setText(java.lang.String);
+ }
+
+}
+
+package java.util {
+
+ public abstract class AbstractCollection implements java.util.Collection {
+ ctor protected AbstractCollection();
+ method public boolean add(E);
+ method public boolean addAll(java.util.Collection<? extends E>);
+ method public void clear();
+ method public boolean contains(java.lang.Object);
+ method public boolean containsAll(java.util.Collection<?>);
+ method public boolean isEmpty();
+ method public abstract java.util.Iterator<E> iterator();
+ method public boolean remove(java.lang.Object);
+ method public boolean removeAll(java.util.Collection<?>);
+ method public boolean retainAll(java.util.Collection<?>);
+ method public abstract int size();
+ method public java.lang.Object[] toArray();
+ method public T[] toArray(T[]);
+ }
+
+ public abstract class AbstractList extends java.util.AbstractCollection implements java.util.List {
+ ctor protected AbstractList();
+ method public void add(int, E);
+ method public boolean addAll(int, java.util.Collection<? extends E>);
+ method public abstract E get(int);
+ method public int indexOf(java.lang.Object);
+ method public java.util.Iterator<E> iterator();
+ method public int lastIndexOf(java.lang.Object);
+ method public java.util.ListIterator<E> listIterator();
+ method public java.util.ListIterator<E> listIterator(int);
+ method public E remove(int);
+ method protected void removeRange(int, int);
+ method public E set(int, E);
+ method public java.util.List<E> subList(int, int);
+ field protected transient int modCount;
+ }
+
+ public abstract class AbstractMap implements java.util.Map {
+ ctor protected AbstractMap();
+ method public void clear();
+ method public boolean containsKey(java.lang.Object);
+ method public boolean containsValue(java.lang.Object);
+ method public abstract java.util.Set<java.util.Map.Entry<K, V>> entrySet();
+ method public V get(java.lang.Object);
+ method public boolean isEmpty();
+ method public java.util.Set<K> keySet();
+ method public V put(K, V);
+ method public void putAll(java.util.Map<? extends K, ? extends V>);
+ method public V remove(java.lang.Object);
+ method public int size();
+ method public java.util.Collection<V> values();
+ }
+
+ public static class AbstractMap.SimpleEntry implements java.util.Map.Entry java.io.Serializable {
+ ctor public AbstractMap.SimpleEntry(K, V);
+ ctor public AbstractMap.SimpleEntry(java.util.Map.Entry<? extends K, ? extends V>);
+ method public K getKey();
+ method public V getValue();
+ method public V setValue(V);
+ }
+
+ public static class AbstractMap.SimpleImmutableEntry implements java.util.Map.Entry java.io.Serializable {
+ ctor public AbstractMap.SimpleImmutableEntry(K, V);
+ ctor public AbstractMap.SimpleImmutableEntry(java.util.Map.Entry<? extends K, ? extends V>);
+ method public K getKey();
+ method public V getValue();
+ method public V setValue(V);
+ }
+
+ public abstract class AbstractQueue extends java.util.AbstractCollection implements java.util.Queue {
+ ctor protected AbstractQueue();
+ method public E element();
+ method public E remove();
+ }
+
+ public abstract class AbstractSequentialList extends java.util.AbstractList {
+ ctor protected AbstractSequentialList();
+ method public E get(int);
+ method public abstract java.util.ListIterator<E> listIterator(int);
+ }
+
+ public abstract class AbstractSet extends java.util.AbstractCollection implements java.util.Set {
+ ctor protected AbstractSet();
+ }
+
+ public class ArrayDeque extends java.util.AbstractCollection implements java.lang.Cloneable java.util.Deque java.io.Serializable {
+ ctor public ArrayDeque();
+ ctor public ArrayDeque(int);
+ ctor public ArrayDeque(java.util.Collection<? extends E>);
+ method public void addFirst(E);
+ method public void addLast(E);
+ method public java.util.ArrayDeque<E> clone();
+ method public java.util.Iterator<E> descendingIterator();
+ method public E element();
+ method public E getFirst();
+ method public E getLast();
+ method public java.util.Iterator<E> iterator();
+ method public boolean offer(E);
+ method public boolean offerFirst(E);
+ method public boolean offerLast(E);
+ method public E peek();
+ method public E peekFirst();
+ method public E peekLast();
+ method public E poll();
+ method public E pollFirst();
+ method public E pollLast();
+ method public E pop();
+ method public void push(E);
+ method public E remove();
+ method public E removeFirst();
+ method public boolean removeFirstOccurrence(java.lang.Object);
+ method public E removeLast();
+ method public boolean removeLastOccurrence(java.lang.Object);
+ method public int size();
+ }
+
+ public class ArrayList extends java.util.AbstractList implements java.lang.Cloneable java.util.RandomAccess java.io.Serializable {
+ ctor public ArrayList(int);
+ ctor public ArrayList();
+ ctor public ArrayList(java.util.Collection<? extends E>);
+ method public java.lang.Object clone();
+ method public void ensureCapacity(int);
+ method public E get(int);
+ method public int size();
+ method public void trimToSize();
+ }
+
+ public class Arrays {
+ method public static java.util.List<T> asList(T...);
+ method public static int binarySearch(byte[], byte);
+ method public static int binarySearch(byte[], int, int, byte);
+ method public static int binarySearch(char[], char);
+ method public static int binarySearch(char[], int, int, char);
+ method public static int binarySearch(double[], double);
+ method public static int binarySearch(double[], int, int, double);
+ method public static int binarySearch(float[], float);
+ method public static int binarySearch(float[], int, int, float);
+ method public static int binarySearch(int[], int);
+ method public static int binarySearch(int[], int, int, int);
+ method public static int binarySearch(long[], long);
+ method public static int binarySearch(long[], int, int, long);
+ method public static int binarySearch(java.lang.Object[], java.lang.Object);
+ method public static int binarySearch(java.lang.Object[], int, int, java.lang.Object);
+ method public static int binarySearch(T[], T, java.util.Comparator<? super T>);
+ method public static int binarySearch(T[], int, int, T, java.util.Comparator<? super T>);
+ method public static int binarySearch(short[], short);
+ method public static int binarySearch(short[], int, int, short);
+ method public static boolean[] copyOf(boolean[], int);
+ method public static byte[] copyOf(byte[], int);
+ method public static char[] copyOf(char[], int);
+ method public static double[] copyOf(double[], int);
+ method public static float[] copyOf(float[], int);
+ method public static int[] copyOf(int[], int);
+ method public static long[] copyOf(long[], int);
+ method public static short[] copyOf(short[], int);
+ method public static T[] copyOf(T[], int);
+ method public static T[] copyOf(U[], int, java.lang.Class<? extends T[]>);
+ method public static boolean[] copyOfRange(boolean[], int, int);
+ method public static byte[] copyOfRange(byte[], int, int);
+ method public static char[] copyOfRange(char[], int, int);
+ method public static double[] copyOfRange(double[], int, int);
+ method public static float[] copyOfRange(float[], int, int);
+ method public static int[] copyOfRange(int[], int, int);
+ method public static long[] copyOfRange(long[], int, int);
+ method public static short[] copyOfRange(short[], int, int);
+ method public static T[] copyOfRange(T[], int, int);
+ method public static T[] copyOfRange(U[], int, int, java.lang.Class<? extends T[]>);
+ method public static boolean deepEquals(java.lang.Object[], java.lang.Object[]);
+ method public static int deepHashCode(java.lang.Object[]);
+ method public static java.lang.String deepToString(java.lang.Object[]);
+ method public static boolean equals(byte[], byte[]);
+ method public static boolean equals(short[], short[]);
+ method public static boolean equals(char[], char[]);
+ method public static boolean equals(int[], int[]);
+ method public static boolean equals(long[], long[]);
+ method public static boolean equals(float[], float[]);
+ method public static boolean equals(double[], double[]);
+ method public static boolean equals(boolean[], boolean[]);
+ method public static boolean equals(java.lang.Object[], java.lang.Object[]);
+ method public static void fill(byte[], byte);
+ method public static void fill(byte[], int, int, byte);
+ method public static void fill(short[], short);
+ method public static void fill(short[], int, int, short);
+ method public static void fill(char[], char);
+ method public static void fill(char[], int, int, char);
+ method public static void fill(int[], int);
+ method public static void fill(int[], int, int, int);
+ method public static void fill(long[], long);
+ method public static void fill(long[], int, int, long);
+ method public static void fill(float[], float);
+ method public static void fill(float[], int, int, float);
+ method public static void fill(double[], double);
+ method public static void fill(double[], int, int, double);
+ method public static void fill(boolean[], boolean);
+ method public static void fill(boolean[], int, int, boolean);
+ method public static void fill(java.lang.Object[], java.lang.Object);
+ method public static void fill(java.lang.Object[], int, int, java.lang.Object);
+ method public static int hashCode(boolean[]);
+ method public static int hashCode(int[]);
+ method public static int hashCode(short[]);
+ method public static int hashCode(char[]);
+ method public static int hashCode(byte[]);
+ method public static int hashCode(long[]);
+ method public static int hashCode(float[]);
+ method public static int hashCode(double[]);
+ method public static int hashCode(java.lang.Object[]);
+ method public static void sort(byte[]);
+ method public static void sort(byte[], int, int);
+ method public static void sort(char[]);
+ method public static void sort(char[], int, int);
+ method public static void sort(double[]);
+ method public static void sort(double[], int, int);
+ method public static void sort(float[]);
+ method public static void sort(float[], int, int);
+ method public static void sort(int[]);
+ method public static void sort(int[], int, int);
+ method public static void sort(long[]);
+ method public static void sort(long[], int, int);
+ method public static void sort(short[]);
+ method public static void sort(short[], int, int);
+ method public static void sort(java.lang.Object[]);
+ method public static void sort(java.lang.Object[], int, int);
+ method public static void sort(T[], int, int, java.util.Comparator<? super T>);
+ method public static void sort(T[], java.util.Comparator<? super T>);
+ method public static java.lang.String toString(boolean[]);
+ method public static java.lang.String toString(byte[]);
+ method public static java.lang.String toString(char[]);
+ method public static java.lang.String toString(double[]);
+ method public static java.lang.String toString(float[]);
+ method public static java.lang.String toString(int[]);
+ method public static java.lang.String toString(long[]);
+ method public static java.lang.String toString(short[]);
+ method public static java.lang.String toString(java.lang.Object[]);
+ }
+
+ public class BitSet implements java.lang.Cloneable java.io.Serializable {
+ ctor public BitSet();
+ ctor public BitSet(int);
+ method public void and(java.util.BitSet);
+ method public void andNot(java.util.BitSet);
+ method public int cardinality();
+ method public void clear(int);
+ method public void clear();
+ method public void clear(int, int);
+ method public java.lang.Object clone();
+ method public void flip(int);
+ method public void flip(int, int);
+ method public boolean get(int);
+ method public java.util.BitSet get(int, int);
+ method public boolean intersects(java.util.BitSet);
+ method public boolean isEmpty();
+ method public int length();
+ method public int nextClearBit(int);
+ method public int nextSetBit(int);
+ method public void or(java.util.BitSet);
+ method public void set(int);
+ method public void set(int, boolean);
+ method public void set(int, int, boolean);
+ method public void set(int, int);
+ method public int size();
+ method public void xor(java.util.BitSet);
+ }
+
+ public abstract class Calendar implements java.lang.Cloneable java.lang.Comparable java.io.Serializable {
+ ctor protected Calendar();
+ ctor protected Calendar(java.util.TimeZone, java.util.Locale);
+ method public abstract void add(int, int);
+ method public boolean after(java.lang.Object);
+ method public boolean before(java.lang.Object);
+ method public final void clear();
+ method public final void clear(int);
+ method public java.lang.Object clone();
+ method public int compareTo(java.util.Calendar);
+ method protected void complete();
+ method protected abstract void computeFields();
+ method protected abstract void computeTime();
+ method public int get(int);
+ method public int getActualMaximum(int);
+ method public int getActualMinimum(int);
+ method public static synchronized java.util.Locale[] getAvailableLocales();
+ method public java.lang.String getDisplayName(int, int, java.util.Locale);
+ method public java.util.Map<java.lang.String, java.lang.Integer> getDisplayNames(int, int, java.util.Locale);
+ method public int getFirstDayOfWeek();
+ method public abstract int getGreatestMinimum(int);
+ method public static synchronized java.util.Calendar getInstance();
+ method public static synchronized java.util.Calendar getInstance(java.util.Locale);
+ method public static synchronized java.util.Calendar getInstance(java.util.TimeZone);
+ method public static synchronized java.util.Calendar getInstance(java.util.TimeZone, java.util.Locale);
+ method public abstract int getLeastMaximum(int);
+ method public abstract int getMaximum(int);
+ method public int getMinimalDaysInFirstWeek();
+ method public abstract int getMinimum(int);
+ method public final java.util.Date getTime();
+ method public long getTimeInMillis();
+ method public java.util.TimeZone getTimeZone();
+ method protected final int internalGet(int);
+ method public boolean isLenient();
+ method public final boolean isSet(int);
+ method public void roll(int, int);
+ method public abstract void roll(int, boolean);
+ method public void set(int, int);
+ method public final void set(int, int, int);
+ method public final void set(int, int, int, int, int);
+ method public final void set(int, int, int, int, int, int);
+ method public void setFirstDayOfWeek(int);
+ method public void setLenient(boolean);
+ method public void setMinimalDaysInFirstWeek(int);
+ method public final void setTime(java.util.Date);
+ method public void setTimeInMillis(long);
+ method public void setTimeZone(java.util.TimeZone);
+ field public static final int ALL_STYLES = 0; // 0x0
+ field public static final int AM = 0; // 0x0
+ field public static final int AM_PM = 9; // 0x9
+ field public static final int APRIL = 3; // 0x3
+ field public static final int AUGUST = 7; // 0x7
+ field public static final int DATE = 5; // 0x5
+ field public static final int DAY_OF_MONTH = 5; // 0x5
+ field public static final int DAY_OF_WEEK = 7; // 0x7
+ field public static final int DAY_OF_WEEK_IN_MONTH = 8; // 0x8
+ field public static final int DAY_OF_YEAR = 6; // 0x6
+ field public static final int DECEMBER = 11; // 0xb
+ field public static final int DST_OFFSET = 16; // 0x10
+ field public static final int ERA = 0; // 0x0
+ field public static final int FEBRUARY = 1; // 0x1
+ field public static final int FIELD_COUNT = 17; // 0x11
+ field public static final int FRIDAY = 6; // 0x6
+ field public static final int HOUR = 10; // 0xa
+ field public static final int HOUR_OF_DAY = 11; // 0xb
+ field public static final int JANUARY = 0; // 0x0
+ field public static final int JULY = 6; // 0x6
+ field public static final int JUNE = 5; // 0x5
+ field public static final int LONG = 2; // 0x2
+ field public static final int MARCH = 2; // 0x2
+ field public static final int MAY = 4; // 0x4
+ field public static final int MILLISECOND = 14; // 0xe
+ field public static final int MINUTE = 12; // 0xc
+ field public static final int MONDAY = 2; // 0x2
+ field public static final int MONTH = 2; // 0x2
+ field public static final int NOVEMBER = 10; // 0xa
+ field public static final int OCTOBER = 9; // 0x9
+ field public static final int PM = 1; // 0x1
+ field public static final int SATURDAY = 7; // 0x7
+ field public static final int SECOND = 13; // 0xd
+ field public static final int SEPTEMBER = 8; // 0x8
+ field public static final int SHORT = 1; // 0x1
+ field public static final int SUNDAY = 1; // 0x1
+ field public static final int THURSDAY = 5; // 0x5
+ field public static final int TUESDAY = 3; // 0x3
+ field public static final int UNDECIMBER = 12; // 0xc
+ field public static final int WEDNESDAY = 4; // 0x4
+ field public static final int WEEK_OF_MONTH = 4; // 0x4
+ field public static final int WEEK_OF_YEAR = 3; // 0x3
+ field public static final int YEAR = 1; // 0x1
+ field public static final int ZONE_OFFSET = 15; // 0xf
+ field protected boolean areFieldsSet;
+ field protected int[] fields;
+ field protected boolean[] isSet;
+ field protected boolean isTimeSet;
+ field protected long time;
+ }
+
+ public abstract interface Collection implements java.lang.Iterable {
+ method public abstract boolean add(E);
+ method public abstract boolean addAll(java.util.Collection<? extends E>);
+ method public abstract void clear();
+ method public abstract boolean contains(java.lang.Object);
+ method public abstract boolean containsAll(java.util.Collection<?>);
+ method public abstract boolean equals(java.lang.Object);
+ method public abstract int hashCode();
+ method public abstract boolean isEmpty();
+ method public abstract java.util.Iterator<E> iterator();
+ method public abstract boolean remove(java.lang.Object);
+ method public abstract boolean removeAll(java.util.Collection<?>);
+ method public abstract boolean retainAll(java.util.Collection<?>);
+ method public abstract int size();
+ method public abstract java.lang.Object[] toArray();
+ method public abstract T[] toArray(T[]);
+ }
+
+ public class Collections {
+ method public static boolean addAll(java.util.Collection<? super T>, T...);
+ method public static java.util.Queue<T> asLifoQueue(java.util.Deque<T>);
+ method public static int binarySearch(java.util.List<? extends java.lang.Comparable<? super T>>, T);
+ method public static int binarySearch(java.util.List<? extends T>, T, java.util.Comparator<? super T>);
+ method public static java.util.Collection<E> checkedCollection(java.util.Collection<E>, java.lang.Class<E>);
+ method public static java.util.List<E> checkedList(java.util.List<E>, java.lang.Class<E>);
+ method public static java.util.Map<K, V> checkedMap(java.util.Map<K, V>, java.lang.Class<K>, java.lang.Class<V>);
+ method public static java.util.Set<E> checkedSet(java.util.Set<E>, java.lang.Class<E>);
+ method public static java.util.SortedMap<K, V> checkedSortedMap(java.util.SortedMap<K, V>, java.lang.Class<K>, java.lang.Class<V>);
+ method public static java.util.SortedSet<E> checkedSortedSet(java.util.SortedSet<E>, java.lang.Class<E>);
+ method public static void copy(java.util.List<? super T>, java.util.List<? extends T>);
+ method public static boolean disjoint(java.util.Collection<?>, java.util.Collection<?>);
+ method public static final java.util.List<T> emptyList();
+ method public static final java.util.Map<K, V> emptyMap();
+ method public static final java.util.Set<T> emptySet();
+ method public static java.util.Enumeration<T> enumeration(java.util.Collection<T>);
+ method public static void fill(java.util.List<? super T>, T);
+ method public static int frequency(java.util.Collection<?>, java.lang.Object);
+ method public static int indexOfSubList(java.util.List<?>, java.util.List<?>);
+ method public static int lastIndexOfSubList(java.util.List<?>, java.util.List<?>);
+ method public static java.util.ArrayList<T> list(java.util.Enumeration<T>);
+ method public static T max(java.util.Collection<? extends T>);
+ method public static T max(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
+ method public static T min(java.util.Collection<? extends T>);
+ method public static T min(java.util.Collection<? extends T>, java.util.Comparator<? super T>);
+ method public static java.util.List<T> nCopies(int, T);
+ method public static java.util.Set<E> newSetFromMap(java.util.Map<E, java.lang.Boolean>);
+ method public static boolean replaceAll(java.util.List<T>, T, T);
+ method public static void reverse(java.util.List<?>);
+ method public static java.util.Comparator<T> reverseOrder();
+ method public static java.util.Comparator<T> reverseOrder(java.util.Comparator<T>);
+ method public static void rotate(java.util.List<?>, int);
+ method public static void shuffle(java.util.List<?>);
+ method public static void shuffle(java.util.List<?>, java.util.Random);
+ method public static java.util.Set<E> singleton(E);
+ method public static java.util.List<E> singletonList(E);
+ method public static java.util.Map<K, V> singletonMap(K, V);
+ method public static void sort(java.util.List<T>);
+ method public static void sort(java.util.List<T>, java.util.Comparator<? super T>);
+ method public static void swap(java.util.List<?>, int, int);
+ method public static java.util.Collection<T> synchronizedCollection(java.util.Collection<T>);
+ method public static java.util.List<T> synchronizedList(java.util.List<T>);
+ method public static java.util.Map<K, V> synchronizedMap(java.util.Map<K, V>);
+ method public static java.util.Set<E> synchronizedSet(java.util.Set<E>);
+ method public static java.util.SortedMap<K, V> synchronizedSortedMap(java.util.SortedMap<K, V>);
+ method public static java.util.SortedSet<E> synchronizedSortedSet(java.util.SortedSet<E>);
+ method public static java.util.Collection<E> unmodifiableCollection(java.util.Collection<? extends E>);
+ method public static java.util.List<E> unmodifiableList(java.util.List<? extends E>);
+ method public static java.util.Map<K, V> unmodifiableMap(java.util.Map<? extends K, ? extends V>);
+ method public static java.util.Set<E> unmodifiableSet(java.util.Set<? extends E>);
+ method public static java.util.SortedMap<K, V> unmodifiableSortedMap(java.util.SortedMap<K, ? extends V>);
+ method public static java.util.SortedSet<E> unmodifiableSortedSet(java.util.SortedSet<E>);
+ field public static final java.util.List EMPTY_LIST;
+ field public static final java.util.Map EMPTY_MAP;
+ field public static final java.util.Set EMPTY_SET;
+ }
+
+ public abstract interface Comparator {
+ method public abstract int compare(T, T);
+ method public abstract boolean equals(java.lang.Object);
+ }
+
+ public class ConcurrentModificationException extends java.lang.RuntimeException {
+ ctor public ConcurrentModificationException();
+ ctor public ConcurrentModificationException(java.lang.String);
+ }
+
+ public final class Currency implements java.io.Serializable {
+ method public java.lang.String getCurrencyCode();
+ method public int getDefaultFractionDigits();
+ method public static java.util.Currency getInstance(java.lang.String);
+ method public static java.util.Currency getInstance(java.util.Locale);
+ method public java.lang.String getSymbol();
+ method public java.lang.String getSymbol(java.util.Locale);
+ }
+
+ public class Date implements java.lang.Cloneable java.lang.Comparable java.io.Serializable {
+ ctor public Date();
+ ctor public deprecated Date(int, int, int);
+ ctor public deprecated Date(int, int, int, int, int);
+ ctor public deprecated Date(int, int, int, int, int, int);
+ ctor public Date(long);
+ ctor public deprecated Date(java.lang.String);
+ method public static deprecated long UTC(int, int, int, int, int, int);
+ method public boolean after(java.util.Date);
+ method public boolean before(java.util.Date);
+ method public java.lang.Object clone();
+ method public int compareTo(java.util.Date);
+ method public deprecated int getDate();
+ method public deprecated int getDay();
+ method public deprecated int getHours();
+ method public deprecated int getMinutes();
+ method public deprecated int getMonth();
+ method public deprecated int getSeconds();
+ method public long getTime();
+ method public deprecated int getTimezoneOffset();
+ method public deprecated int getYear();
+ method public static deprecated long parse(java.lang.String);
+ method public deprecated void setDate(int);
+ method public deprecated void setHours(int);
+ method public deprecated void setMinutes(int);
+ method public deprecated void setMonth(int);
+ method public deprecated void setSeconds(int);
+ method public void setTime(long);
+ method public deprecated void setYear(int);
+ method public deprecated java.lang.String toGMTString();
+ method public deprecated java.lang.String toLocaleString();
+ }
+
+ public abstract interface Deque implements java.util.Queue {
+ method public abstract boolean add(E);
+ method public abstract void addFirst(E);
+ method public abstract void addLast(E);
+ method public abstract boolean contains(java.lang.Object);
+ method public abstract java.util.Iterator<E> descendingIterator();
+ method public abstract E element();
+ method public abstract E getFirst();
+ method public abstract E getLast();
+ method public abstract java.util.Iterator<E> iterator();
+ method public abstract boolean offer(E);
+ method public abstract boolean offerFirst(E);
+ method public abstract boolean offerLast(E);
+ method public abstract E peek();
+ method public abstract E peekFirst();
+ method public abstract E peekLast();
+ method public abstract E poll();
+ method public abstract E pollFirst();
+ method public abstract E pollLast();
+ method public abstract E pop();
+ method public abstract void push(E);
+ method public abstract E remove();
+ method public abstract boolean remove(java.lang.Object);
+ method public abstract E removeFirst();
+ method public abstract boolean removeFirstOccurrence(java.lang.Object);
+ method public abstract E removeLast();
+ method public abstract boolean removeLastOccurrence(java.lang.Object);
+ method public abstract int size();
+ }
+
+ public abstract class Dictionary {
+ ctor public Dictionary();
+ method public abstract java.util.Enumeration<V> elements();
+ method public abstract V get(java.lang.Object);
+ method public abstract boolean isEmpty();
+ method public abstract java.util.Enumeration<K> keys();
+ method public abstract V put(K, V);
+ method public abstract V remove(java.lang.Object);
+ method public abstract int size();
+ }
+
+ public class DuplicateFormatFlagsException extends java.util.IllegalFormatException {
+ ctor public DuplicateFormatFlagsException(java.lang.String);
+ method public java.lang.String getFlags();
+ }
+
+ public class EmptyStackException extends java.lang.RuntimeException {
+ ctor public EmptyStackException();
+ }
+
+ public class EnumMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
+ ctor public EnumMap(java.lang.Class<K>);
+ ctor public EnumMap(java.util.EnumMap<K, ? extends V>);
+ ctor public EnumMap(java.util.Map<K, ? extends V>);
+ method public java.util.EnumMap<K, V> clone();
+ method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
+ }
+
+ public abstract class EnumSet extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable {
+ method public static java.util.EnumSet<E> allOf(java.lang.Class<E>);
+ method public java.util.EnumSet<E> clone();
+ method public static java.util.EnumSet<E> complementOf(java.util.EnumSet<E>);
+ method public static java.util.EnumSet<E> copyOf(java.util.EnumSet<E>);
+ method public static java.util.EnumSet<E> copyOf(java.util.Collection<E>);
+ method public static java.util.EnumSet<E> noneOf(java.lang.Class<E>);
+ method public static java.util.EnumSet<E> of(E);
+ method public static java.util.EnumSet<E> of(E, E);
+ method public static java.util.EnumSet<E> of(E, E, E);
+ method public static java.util.EnumSet<E> of(E, E, E, E);
+ method public static java.util.EnumSet<E> of(E, E, E, E, E);
+ method public static java.util.EnumSet<E> of(E, E...);
+ method public static java.util.EnumSet<E> range(E, E);
+ }
+
+ public abstract interface Enumeration {
+ method public abstract boolean hasMoreElements();
+ method public abstract E nextElement();
+ }
+
+ public abstract interface EventListener {
+ }
+
+ public abstract class EventListenerProxy implements java.util.EventListener {
+ ctor public EventListenerProxy(java.util.EventListener);
+ method public java.util.EventListener getListener();
+ }
+
+ public class EventObject implements java.io.Serializable {
+ ctor public EventObject(java.lang.Object);
+ method public java.lang.Object getSource();
+ field protected transient java.lang.Object source;
+ }
+
+ public class FormatFlagsConversionMismatchException extends java.util.IllegalFormatException implements java.io.Serializable {
+ ctor public FormatFlagsConversionMismatchException(java.lang.String, char);
+ method public char getConversion();
+ method public java.lang.String getFlags();
+ }
+
+ public abstract interface Formattable {
+ method public abstract void formatTo(java.util.Formatter, int, int, int) throws java.util.IllegalFormatException;
+ }
+
+ public class FormattableFlags {
+ field public static final int ALTERNATE = 4; // 0x4
+ field public static final int LEFT_JUSTIFY = 1; // 0x1
+ field public static final int UPPERCASE = 2; // 0x2
+ }
+
+ public final class Formatter implements java.io.Closeable java.io.Flushable {
+ ctor public Formatter();
+ ctor public Formatter(java.lang.Appendable);
+ ctor public Formatter(java.util.Locale);
+ ctor public Formatter(java.lang.Appendable, java.util.Locale);
+ ctor public Formatter(java.lang.String) throws java.io.FileNotFoundException;
+ ctor public Formatter(java.lang.String, java.lang.String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+ ctor public Formatter(java.lang.String, java.lang.String, java.util.Locale) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+ ctor public Formatter(java.io.File) throws java.io.FileNotFoundException;
+ ctor public Formatter(java.io.File, java.lang.String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+ ctor public Formatter(java.io.File, java.lang.String, java.util.Locale) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+ ctor public Formatter(java.io.OutputStream);
+ ctor public Formatter(java.io.OutputStream, java.lang.String) throws java.io.UnsupportedEncodingException;
+ ctor public Formatter(java.io.OutputStream, java.lang.String, java.util.Locale) throws java.io.UnsupportedEncodingException;
+ ctor public Formatter(java.io.PrintStream);
+ method public void close();
+ method public void flush();
+ method public java.util.Formatter format(java.lang.String, java.lang.Object...);
+ method public java.util.Formatter format(java.util.Locale, java.lang.String, java.lang.Object...);
+ method public java.io.IOException ioException();
+ method public java.util.Locale locale();
+ method public java.lang.Appendable out();
+ }
+
+ public static final class Formatter.BigDecimalLayoutForm extends java.lang.Enum {
+ method public static java.util.Formatter.BigDecimalLayoutForm valueOf(java.lang.String);
+ method public static final java.util.Formatter.BigDecimalLayoutForm[] values();
+ enum_constant public static final java.util.Formatter.BigDecimalLayoutForm DECIMAL_FLOAT;
+ enum_constant public static final java.util.Formatter.BigDecimalLayoutForm SCIENTIFIC;
+ }
+
+ public class FormatterClosedException extends java.lang.IllegalStateException implements java.io.Serializable {
+ ctor public FormatterClosedException();
+ }
+
+ public class GregorianCalendar extends java.util.Calendar {
+ ctor public GregorianCalendar();
+ ctor public GregorianCalendar(int, int, int);
+ ctor public GregorianCalendar(int, int, int, int, int);
+ ctor public GregorianCalendar(int, int, int, int, int, int);
+ ctor public GregorianCalendar(java.util.Locale);
+ ctor public GregorianCalendar(java.util.TimeZone);
+ ctor public GregorianCalendar(java.util.TimeZone, java.util.Locale);
+ method public void add(int, int);
+ method protected void computeFields();
+ method protected void computeTime();
+ method public int getGreatestMinimum(int);
+ method public final java.util.Date getGregorianChange();
+ method public int getLeastMaximum(int);
+ method public int getMaximum(int);
+ method public int getMinimum(int);
+ method public boolean isLeapYear(int);
+ method public void roll(int, boolean);
+ method public void setGregorianChange(java.util.Date);
+ field public static final int AD = 1; // 0x1
+ field public static final int BC = 0; // 0x0
+ }
+
+ public class HashMap extends java.util.AbstractMap implements java.lang.Cloneable java.io.Serializable {
+ ctor public HashMap();
+ ctor public HashMap(int);
+ ctor public HashMap(int, float);
+ ctor public HashMap(java.util.Map<? extends K, ? extends V>);
+ method public java.lang.Object clone();
+ method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
+ }
+
+ public class HashSet extends java.util.AbstractSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
+ ctor public HashSet();
+ ctor public HashSet(int);
+ ctor public HashSet(int, float);
+ ctor public HashSet(java.util.Collection<? extends E>);
+ method public java.lang.Object clone();
+ method public java.util.Iterator<E> iterator();
+ method public int size();
+ }
+
+ public class Hashtable extends java.util.Dictionary implements java.lang.Cloneable java.util.Map java.io.Serializable {
+ ctor public Hashtable();
+ ctor public Hashtable(int);
+ ctor public Hashtable(int, float);
+ ctor public Hashtable(java.util.Map<? extends K, ? extends V>);
+ method public synchronized void clear();
+ method public synchronized java.lang.Object clone();
+ method public boolean contains(java.lang.Object);
+ method public synchronized boolean containsKey(java.lang.Object);
+ method public synchronized boolean containsValue(java.lang.Object);
+ method public synchronized java.util.Enumeration<V> elements();
+ method public synchronized java.util.Set<java.util.Map.Entry<K, V>> entrySet();
+ method public synchronized V get(java.lang.Object);
+ method public synchronized boolean isEmpty();
+ method public synchronized java.util.Set<K> keySet();
+ method public synchronized java.util.Enumeration<K> keys();
+ method public synchronized V put(K, V);
+ method public synchronized void putAll(java.util.Map<? extends K, ? extends V>);
+ method protected void rehash();
+ method public synchronized V remove(java.lang.Object);
+ method public synchronized int size();
+ method public synchronized java.util.Collection<V> values();
+ }
+
+ public class IdentityHashMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.Map java.io.Serializable {
+ ctor public IdentityHashMap();
+ ctor public IdentityHashMap(int);
+ ctor public IdentityHashMap(java.util.Map<? extends K, ? extends V>);
+ method public java.lang.Object clone();
+ method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
+ }
+
+ public class IllegalFormatCodePointException extends java.util.IllegalFormatException implements java.io.Serializable {
+ ctor public IllegalFormatCodePointException(int);
+ method public int getCodePoint();
+ }
+
+ public class IllegalFormatConversionException extends java.util.IllegalFormatException implements java.io.Serializable {
+ ctor public IllegalFormatConversionException(char, java.lang.Class<?>);
+ method public java.lang.Class<?> getArgumentClass();
+ method public char getConversion();
+ }
+
+ public class IllegalFormatException extends java.lang.IllegalArgumentException implements java.io.Serializable {
+ }
+
+ public class IllegalFormatFlagsException extends java.util.IllegalFormatException implements java.io.Serializable {
+ ctor public IllegalFormatFlagsException(java.lang.String);
+ method public java.lang.String getFlags();
+ }
+
+ public class IllegalFormatPrecisionException extends java.util.IllegalFormatException {
+ ctor public IllegalFormatPrecisionException(int);
+ method public int getPrecision();
+ }
+
+ public class IllegalFormatWidthException extends java.util.IllegalFormatException {
+ ctor public IllegalFormatWidthException(int);
+ method public int getWidth();
+ }
+
+ public class InputMismatchException extends java.util.NoSuchElementException implements java.io.Serializable {
+ ctor public InputMismatchException();
+ ctor public InputMismatchException(java.lang.String);
+ }
+
+ public class InvalidPropertiesFormatException extends java.io.IOException {
+ ctor public InvalidPropertiesFormatException(java.lang.String);
+ ctor public InvalidPropertiesFormatException(java.lang.Throwable);
+ }
+
+ public abstract interface Iterator {
+ method public abstract boolean hasNext();
+ method public abstract E next();
+ method public abstract void remove();
+ }
+
+ public class LinkedHashMap extends java.util.HashMap {
+ ctor public LinkedHashMap();
+ ctor public LinkedHashMap(int);
+ ctor public LinkedHashMap(int, float);
+ ctor public LinkedHashMap(int, float, boolean);
+ ctor public LinkedHashMap(java.util.Map<? extends K, ? extends V>);
+ method protected boolean removeEldestEntry(java.util.Map.Entry<K, V>);
+ }
+
+ public class LinkedHashSet extends java.util.HashSet implements java.lang.Cloneable java.io.Serializable java.util.Set {
+ ctor public LinkedHashSet();
+ ctor public LinkedHashSet(int);
+ ctor public LinkedHashSet(int, float);
+ ctor public LinkedHashSet(java.util.Collection<? extends E>);
+ }
+
+ public class LinkedList extends java.util.AbstractSequentialList implements java.lang.Cloneable java.util.Deque java.util.List java.util.Queue java.io.Serializable {
+ ctor public LinkedList();
+ ctor public LinkedList(java.util.Collection<? extends E>);
+ method public void addFirst(E);
+ method public void addLast(E);
+ method public java.lang.Object clone();
+ method public java.util.Iterator<E> descendingIterator();
+ method public E element();
+ method public E getFirst();
+ method public E getLast();
+ method public java.util.ListIterator<E> listIterator(int);
+ method public boolean offer(E);
+ method public boolean offerFirst(E);
+ method public boolean offerLast(E);
+ method public E peek();
+ method public E peekFirst();
+ method public E peekLast();
+ method public E poll();
+ method public E pollFirst();
+ method public E pollLast();
+ method public E pop();
+ method public void push(E);
+ method public E remove();
+ method public E removeFirst();
+ method public boolean removeFirstOccurrence(java.lang.Object);
+ method public E removeLast();
+ method public boolean removeLastOccurrence(java.lang.Object);
+ method public int size();
+ }
+
+ public abstract interface List implements java.util.Collection {
+ method public abstract void add(int, E);
+ method public abstract boolean add(E);
+ method public abstract boolean addAll(int, java.util.Collection<? extends E>);
+ method public abstract boolean addAll(java.util.Collection<? extends E>);
+ method public abstract void clear();
+ method public abstract boolean contains(java.lang.Object);
+ method public abstract boolean containsAll(java.util.Collection<?>);
+ method public abstract boolean equals(java.lang.Object);
+ method public abstract E get(int);
+ method public abstract int hashCode();
+ method public abstract int indexOf(java.lang.Object);
+ method public abstract boolean isEmpty();
+ method public abstract java.util.Iterator<E> iterator();
+ method public abstract int lastIndexOf(java.lang.Object);
+ method public abstract java.util.ListIterator<E> listIterator();
+ method public abstract java.util.ListIterator<E> listIterator(int);
+ method public abstract E remove(int);
+ method public abstract boolean remove(java.lang.Object);
+ method public abstract boolean removeAll(java.util.Collection<?>);
+ method public abstract boolean retainAll(java.util.Collection<?>);
+ method public abstract E set(int, E);
+ method public abstract int size();
+ method public abstract java.util.List<E> subList(int, int);
+ method public abstract java.lang.Object[] toArray();
+ method public abstract T[] toArray(T[]);
+ }
+
+ public abstract interface ListIterator implements java.util.Iterator {
+ method public abstract void add(E);
+ method public abstract boolean hasNext();
+ method public abstract boolean hasPrevious();
+ method public abstract E next();
+ method public abstract int nextIndex();
+ method public abstract E previous();
+ method public abstract int previousIndex();
+ method public abstract void remove();
+ method public abstract void set(E);
+ }
+
+ public abstract class ListResourceBundle extends java.util.ResourceBundle {
+ ctor public ListResourceBundle();
+ method protected abstract java.lang.Object[][] getContents();
+ method public java.util.Enumeration<java.lang.String> getKeys();
+ method public final java.lang.Object handleGetObject(java.lang.String);
+ }
+
+ public final class Locale implements java.lang.Cloneable java.io.Serializable {
+ ctor public Locale(java.lang.String);
+ ctor public Locale(java.lang.String, java.lang.String);
+ ctor public Locale(java.lang.String, java.lang.String, java.lang.String);
+ method public java.lang.Object clone();
+ method public static java.util.Locale[] getAvailableLocales();
+ method public java.lang.String getCountry();
+ method public static java.util.Locale getDefault();
+ method public final java.lang.String getDisplayCountry();
+ method public java.lang.String getDisplayCountry(java.util.Locale);
+ method public final java.lang.String getDisplayLanguage();
+ method public java.lang.String getDisplayLanguage(java.util.Locale);
+ method public final java.lang.String getDisplayName();
+ method public java.lang.String getDisplayName(java.util.Locale);
+ method public final java.lang.String getDisplayVariant();
+ method public java.lang.String getDisplayVariant(java.util.Locale);
+ method public java.lang.String getISO3Country();
+ method public java.lang.String getISO3Language();
+ method public static java.lang.String[] getISOCountries();
+ method public static java.lang.String[] getISOLanguages();
+ method public java.lang.String getLanguage();
+ method public java.lang.String getVariant();
+ method public static synchronized void setDefault(java.util.Locale);
+ method public final java.lang.String toString();
+ field public static final java.util.Locale CANADA;
+ field public static final java.util.Locale CANADA_FRENCH;
+ field public static final java.util.Locale CHINA;
+ field public static final java.util.Locale CHINESE;
+ field public static final java.util.Locale ENGLISH;
+ field public static final java.util.Locale FRANCE;
+ field public static final java.util.Locale FRENCH;
+ field public static final java.util.Locale GERMAN;
+ field public static final java.util.Locale GERMANY;
+ field public static final java.util.Locale ITALIAN;
+ field public static final java.util.Locale ITALY;
+ field public static final java.util.Locale JAPAN;
+ field public static final java.util.Locale JAPANESE;
+ field public static final java.util.Locale KOREA;
+ field public static final java.util.Locale KOREAN;
+ field public static final java.util.Locale PRC;
+ field public static final java.util.Locale ROOT;
+ field public static final java.util.Locale SIMPLIFIED_CHINESE;
+ field public static final java.util.Locale TAIWAN;
+ field public static final java.util.Locale TRADITIONAL_CHINESE;
+ field public static final java.util.Locale UK;
+ field public static final java.util.Locale US;
+ }
+
+ public abstract interface Map {
+ method public abstract void clear();
+ method public abstract boolean containsKey(java.lang.Object);
+ method public abstract boolean containsValue(java.lang.Object);
+ method public abstract java.util.Set<java.util.Map.Entry<K, V>> entrySet();
+ method public abstract boolean equals(java.lang.Object);
+ method public abstract V get(java.lang.Object);
+ method public abstract int hashCode();
+ method public abstract boolean isEmpty();
+ method public abstract java.util.Set<K> keySet();
+ method public abstract V put(K, V);
+ method public abstract void putAll(java.util.Map<? extends K, ? extends V>);
+ method public abstract V remove(java.lang.Object);
+ method public abstract int size();
+ method public abstract java.util.Collection<V> values();
+ }
+
+ public static abstract interface Map.Entry {
+ method public abstract boolean equals(java.lang.Object);
+ method public abstract K getKey();
+ method public abstract V getValue();
+ method public abstract int hashCode();
+ method public abstract V setValue(V);
+ }
+
+ public class MissingFormatArgumentException extends java.util.IllegalFormatException {
+ ctor public MissingFormatArgumentException(java.lang.String);
+ method public java.lang.String getFormatSpecifier();
+ }
+
+ public class MissingFormatWidthException extends java.util.IllegalFormatException {
+ ctor public MissingFormatWidthException(java.lang.String);
+ method public java.lang.String getFormatSpecifier();
+ }
+
+ public class MissingResourceException extends java.lang.RuntimeException {
+ ctor public MissingResourceException(java.lang.String, java.lang.String, java.lang.String);
+ method public java.lang.String getClassName();
+ method public java.lang.String getKey();
+ }
+
+ public abstract interface NavigableMap implements java.util.SortedMap {
+ method public abstract java.util.Map.Entry<K, V> ceilingEntry(K);
+ method public abstract K ceilingKey(K);
+ method public abstract java.util.NavigableSet<K> descendingKeySet();
+ method public abstract java.util.NavigableMap<K, V> descendingMap();
+ method public abstract java.util.Map.Entry<K, V> firstEntry();
+ method public abstract java.util.Map.Entry<K, V> floorEntry(K);
+ method public abstract K floorKey(K);
+ method public abstract java.util.NavigableMap<K, V> headMap(K, boolean);
+ method public abstract java.util.SortedMap<K, V> headMap(K);
+ method public abstract java.util.Map.Entry<K, V> higherEntry(K);
+ method public abstract K higherKey(K);
+ method public abstract java.util.Map.Entry<K, V> lastEntry();
+ method public abstract java.util.Map.Entry<K, V> lowerEntry(K);
+ method public abstract K lowerKey(K);
+ method public abstract java.util.NavigableSet<K> navigableKeySet();
+ method public abstract java.util.Map.Entry<K, V> pollFirstEntry();
+ method public abstract java.util.Map.Entry<K, V> pollLastEntry();
+ method public abstract java.util.NavigableMap<K, V> subMap(K, boolean, K, boolean);
+ method public abstract java.util.SortedMap<K, V> subMap(K, K);
+ method public abstract java.util.NavigableMap<K, V> tailMap(K, boolean);
+ method public abstract java.util.SortedMap<K, V> tailMap(K);
+ }
+
+ public abstract interface NavigableSet implements java.util.SortedSet {
+ method public abstract E ceiling(E);
+ method public abstract java.util.Iterator<E> descendingIterator();
+ method public abstract java.util.NavigableSet<E> descendingSet();
+ method public abstract E floor(E);
+ method public abstract java.util.NavigableSet<E> headSet(E, boolean);
+ method public abstract java.util.SortedSet<E> headSet(E);
+ method public abstract E higher(E);
+ method public abstract java.util.Iterator<E> iterator();
+ method public abstract E lower(E);
+ method public abstract E pollFirst();
+ method public abstract E pollLast();
+ method public abstract java.util.NavigableSet<E> subSet(E, boolean, E, boolean);
+ method public abstract java.util.SortedSet<E> subSet(E, E);
+ method public abstract java.util.NavigableSet<E> tailSet(E, boolean);
+ method public abstract java.util.SortedSet<E> tailSet(E);
+ }
+
+ public class NoSuchElementException extends java.lang.RuntimeException {
+ ctor public NoSuchElementException();
+ ctor public NoSuchElementException(java.lang.String);
+ }
+
+ public class Observable {
+ ctor public Observable();
+ method public void addObserver(java.util.Observer);
+ method protected void clearChanged();
+ method public int countObservers();
+ method public synchronized void deleteObserver(java.util.Observer);
+ method public synchronized void deleteObservers();
+ method public boolean hasChanged();
+ method public void notifyObservers();
+ method public void notifyObservers(java.lang.Object);
+ method protected void setChanged();
+ }
+
+ public abstract interface Observer {
+ method public abstract void update(java.util.Observable, java.lang.Object);
+ }
+
+ public class PriorityQueue extends java.util.AbstractQueue implements java.io.Serializable {
+ ctor public PriorityQueue();
+ ctor public PriorityQueue(int);
+ ctor public PriorityQueue(int, java.util.Comparator<? super E>);
+ ctor public PriorityQueue(java.util.Collection<? extends E>);
+ ctor public PriorityQueue(java.util.PriorityQueue<? extends E>);
+ ctor public PriorityQueue(java.util.SortedSet<? extends E>);
+ method public java.util.Comparator<? super E> comparator();
+ method public java.util.Iterator<E> iterator();
+ method public boolean offer(E);
+ method public E peek();
+ method public E poll();
+ method public int size();
+ }
+
+ public class Properties extends java.util.Hashtable {
+ ctor public Properties();
+ ctor public Properties(java.util.Properties);
+ method public java.lang.String getProperty(java.lang.String);
+ method public java.lang.String getProperty(java.lang.String, java.lang.String);
+ method public void list(java.io.PrintStream);
+ method public void list(java.io.PrintWriter);
+ method public synchronized void load(java.io.InputStream) throws java.io.IOException;
+ method public synchronized void load(java.io.Reader) throws java.io.IOException;
+ method public synchronized void loadFromXML(java.io.InputStream) throws java.io.IOException, java.util.InvalidPropertiesFormatException;
+ method public java.util.Enumeration<?> propertyNames();
+ method public deprecated void save(java.io.OutputStream, java.lang.String);
+ method public java.lang.Object setProperty(java.lang.String, java.lang.String);
+ method public synchronized void store(java.io.OutputStream, java.lang.String) throws java.io.IOException;
+ method public synchronized void store(java.io.Writer, java.lang.String) throws java.io.IOException;
+ method public void storeToXML(java.io.OutputStream, java.lang.String) throws java.io.IOException;
+ method public synchronized void storeToXML(java.io.OutputStream, java.lang.String, java.lang.String) throws java.io.IOException;
+ method public java.util.Set<java.lang.String> stringPropertyNames();
+ field protected java.util.Properties defaults;
+ }
+
+ public final class PropertyPermission extends java.security.BasicPermission {
+ ctor public PropertyPermission(java.lang.String, java.lang.String);
+ }
+
+ public class PropertyResourceBundle extends java.util.ResourceBundle {
+ ctor public PropertyResourceBundle(java.io.InputStream) throws java.io.IOException;
+ ctor public PropertyResourceBundle(java.io.Reader) throws java.io.IOException;
+ method public java.util.Enumeration<java.lang.String> getKeys();
+ method public java.lang.Object handleGetObject(java.lang.String);
+ }
+
+ public abstract interface Queue implements java.util.Collection {
+ method public abstract boolean add(E);
+ method public abstract E element();
+ method public abstract boolean offer(E);
+ method public abstract E peek();
+ method public abstract E poll();
+ method public abstract E remove();
+ }
+
+ public class Random implements java.io.Serializable {
+ ctor public Random();
+ ctor public Random(long);
+ method protected synchronized int next(int);
+ method public boolean nextBoolean();
+ method public void nextBytes(byte[]);
+ method public double nextDouble();
+ method public float nextFloat();
+ method public synchronized double nextGaussian();
+ method public int nextInt();
+ method public int nextInt(int);
+ method public long nextLong();
+ method public synchronized void setSeed(long);
+ }
+
+ public abstract interface RandomAccess {
+ }
+
+ public abstract class ResourceBundle {
+ ctor public ResourceBundle();
+ method public static void clearCache();
+ method public static void clearCache(java.lang.ClassLoader);
+ method public boolean containsKey(java.lang.String);
+ method public static java.util.ResourceBundle getBundle(java.lang.String) throws java.util.MissingResourceException;
+ method public static java.util.ResourceBundle getBundle(java.lang.String, java.util.Locale);
+ method public static java.util.ResourceBundle getBundle(java.lang.String, java.util.Locale, java.lang.ClassLoader) throws java.util.MissingResourceException;
+ method public static java.util.ResourceBundle getBundle(java.lang.String, java.util.ResourceBundle.Control);
+ method public static java.util.ResourceBundle getBundle(java.lang.String, java.util.Locale, java.util.ResourceBundle.Control);
+ method public static java.util.ResourceBundle getBundle(java.lang.String, java.util.Locale, java.lang.ClassLoader, java.util.ResourceBundle.Control);
+ method public abstract java.util.Enumeration<java.lang.String> getKeys();
+ method public java.util.Locale getLocale();
+ method public final java.lang.Object getObject(java.lang.String);
+ method public final java.lang.String getString(java.lang.String);
+ method public final java.lang.String[] getStringArray(java.lang.String);
+ method protected abstract java.lang.Object handleGetObject(java.lang.String);
+ method protected java.util.Set<java.lang.String> handleKeySet();
+ method public java.util.Set<java.lang.String> keySet();
+ method protected void setParent(java.util.ResourceBundle);
+ field protected java.util.ResourceBundle parent;
+ }
+
+ public static class ResourceBundle.Control {
+ ctor protected ResourceBundle.Control();
+ method public java.util.List<java.util.Locale> getCandidateLocales(java.lang.String, java.util.Locale);
+ method public static java.util.ResourceBundle.Control getControl(java.util.List<java.lang.String>);
+ method public java.util.Locale getFallbackLocale(java.lang.String, java.util.Locale);
+ method public java.util.List<java.lang.String> getFormats(java.lang.String);
+ method public static java.util.ResourceBundle.Control getNoFallbackControl(java.util.List<java.lang.String>);
+ method public long getTimeToLive(java.lang.String, java.util.Locale);
+ method public boolean needsReload(java.lang.String, java.util.Locale, java.lang.String, java.lang.ClassLoader, java.util.ResourceBundle, long);
+ method public java.util.ResourceBundle newBundle(java.lang.String, java.util.Locale, java.lang.String, java.lang.ClassLoader, boolean) throws java.io.IOException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+ method public java.lang.String toBundleName(java.lang.String, java.util.Locale);
+ method public final java.lang.String toResourceName(java.lang.String, java.lang.String);
+ field public static final java.util.List FORMAT_CLASS;
+ field public static final java.util.List FORMAT_DEFAULT;
+ field public static final java.util.List FORMAT_PROPERTIES;
+ field public static final long TTL_DONT_CACHE = -1L; // 0xffffffffffffffffL
+ field public static final long TTL_NO_EXPIRATION_CONTROL = -2L; // 0xfffffffffffffffeL
+ }
+
+ public final class Scanner implements java.util.Iterator {
+ ctor public Scanner(java.io.File) throws java.io.FileNotFoundException;
+ ctor public Scanner(java.io.File, java.lang.String) throws java.io.FileNotFoundException;
+ ctor public Scanner(java.lang.String);
+ ctor public Scanner(java.io.InputStream);
+ ctor public Scanner(java.io.InputStream, java.lang.String);
+ ctor public Scanner(java.lang.Readable);
+ ctor public Scanner(java.nio.channels.ReadableByteChannel);
+ ctor public Scanner(java.nio.channels.ReadableByteChannel, java.lang.String);
+ method public void close();
+ method public java.util.regex.Pattern delimiter();
+ method public java.lang.String findInLine(java.util.regex.Pattern);
+ method public java.lang.String findInLine(java.lang.String);
+ method public java.lang.String findWithinHorizon(java.util.regex.Pattern, int);
+ method public java.lang.String findWithinHorizon(java.lang.String, int);
+ method public boolean hasNext();
+ method public boolean hasNext(java.util.regex.Pattern);
+ method public boolean hasNext(java.lang.String);
+ method public boolean hasNextBigDecimal();
+ method public boolean hasNextBigInteger();
+ method public boolean hasNextBigInteger(int);
+ method public boolean hasNextBoolean();
+ method public boolean hasNextByte();
+ method public boolean hasNextByte(int);
+ method public boolean hasNextDouble();
+ method public boolean hasNextFloat();
+ method public boolean hasNextInt();
+ method public boolean hasNextInt(int);
+ method public boolean hasNextLine();
+ method public boolean hasNextLong();
+ method public boolean hasNextLong(int);
+ method public boolean hasNextShort();
+ method public boolean hasNextShort(int);
+ method public java.io.IOException ioException();
+ method public java.util.Locale locale();
+ method public java.util.regex.MatchResult match();
+ method public java.lang.String next();
+ method public java.lang.String next(java.util.regex.Pattern);
+ method public java.lang.String next(java.lang.String);
+ method public java.math.BigDecimal nextBigDecimal();
+ method public java.math.BigInteger nextBigInteger();
+ method public java.math.BigInteger nextBigInteger(int);
+ method public boolean nextBoolean();
+ method public byte nextByte();
+ method public byte nextByte(int);
+ method public double nextDouble();
+ method public float nextFloat();
+ method public int nextInt();
+ method public int nextInt(int);
+ method public java.lang.String nextLine();
+ method public long nextLong();
+ method public long nextLong(int);
+ method public short nextShort();
+ method public short nextShort(int);
+ method public int radix();
+ method public void remove();
+ method public java.util.Scanner reset();
+ method public java.util.Scanner skip(java.util.regex.Pattern);
+ method public java.util.Scanner skip(java.lang.String);
+ method public java.util.Scanner useDelimiter(java.util.regex.Pattern);
+ method public java.util.Scanner useDelimiter(java.lang.String);
+ method public java.util.Scanner useLocale(java.util.Locale);
+ method public java.util.Scanner useRadix(int);
+ }
+
+ public class ServiceConfigurationError extends java.lang.Error {
+ ctor public ServiceConfigurationError(java.lang.String);
+ ctor public ServiceConfigurationError(java.lang.String, java.lang.Throwable);
+ }
+
+ public final class ServiceLoader implements java.lang.Iterable {
+ method public java.util.Iterator<S> iterator();
+ method public static java.util.ServiceLoader<S> load(java.lang.Class<S>, java.lang.ClassLoader);
+ method public static java.util.ServiceLoader<S> load(java.lang.Class<S>);
+ method public static java.util.ServiceLoader<S> loadInstalled(java.lang.Class<S>);
+ method public void reload();
+ }
+
+ public abstract interface Set implements java.util.Collection {
+ method public abstract boolean add(E);
+ method public abstract boolean addAll(java.util.Collection<? extends E>);
+ method public abstract void clear();
+ method public abstract boolean contains(java.lang.Object);
+ method public abstract boolean containsAll(java.util.Collection<?>);
+ method public abstract boolean equals(java.lang.Object);
+ method public abstract int hashCode();
+ method public abstract boolean isEmpty();
+ method public abstract java.util.Iterator<E> iterator();
+ method public abstract boolean remove(java.lang.Object);
+ method public abstract boolean removeAll(java.util.Collection<?>);
+ method public abstract boolean retainAll(java.util.Collection<?>);
+ method public abstract int size();
+ method public abstract java.lang.Object[] toArray();
+ method public abstract T[] toArray(T[]);
+ }
+
+ public class SimpleTimeZone extends java.util.TimeZone {
+ ctor public SimpleTimeZone(int, java.lang.String);
+ ctor public SimpleTimeZone(int, java.lang.String, int, int, int, int, int, int, int, int);
+ ctor public SimpleTimeZone(int, java.lang.String, int, int, int, int, int, int, int, int, int);
+ ctor public SimpleTimeZone(int, java.lang.String, int, int, int, int, int, int, int, int, int, int, int);
+ method public int getOffset(int, int, int, int, int, int);
+ method public int getRawOffset();
+ method public boolean inDaylightTime(java.util.Date);
+ method public void setDSTSavings(int);
+ method public void setEndRule(int, int, int);
+ method public void setEndRule(int, int, int, int);
+ method public void setEndRule(int, int, int, int, boolean);
+ method public void setRawOffset(int);
+ method public void setStartRule(int, int, int);
+ method public void setStartRule(int, int, int, int);
+ method public void setStartRule(int, int, int, int, boolean);
+ method public void setStartYear(int);
+ method public boolean useDaylightTime();
+ field public static final int STANDARD_TIME = 1; // 0x1
+ field public static final int UTC_TIME = 2; // 0x2
+ field public static final int WALL_TIME = 0; // 0x0
+ }
+
+ public abstract interface SortedMap implements java.util.Map {
+ method public abstract java.util.Comparator<? super K> comparator();
+ method public abstract K firstKey();
+ method public abstract java.util.SortedMap<K, V> headMap(K);
+ method public abstract K lastKey();
+ method public abstract java.util.SortedMap<K, V> subMap(K, K);
+ method public abstract java.util.SortedMap<K, V> tailMap(K);
+ }
+
+ public abstract interface SortedSet implements java.util.Set {
+ method public abstract java.util.Comparator<? super E> comparator();
+ method public abstract E first();
+ method public abstract java.util.SortedSet<E> headSet(E);
+ method public abstract E last();
+ method public abstract java.util.SortedSet<E> subSet(E, E);
+ method public abstract java.util.SortedSet<E> tailSet(E);
+ }
+
+ public class Stack extends java.util.Vector {
+ ctor public Stack();
+ method public boolean empty();
+ method public synchronized E peek();
+ method public synchronized E pop();
+ method public E push(E);
+ method public synchronized int search(java.lang.Object);
+ }
+
+ public class StringTokenizer implements java.util.Enumeration {
+ ctor public StringTokenizer(java.lang.String);
+ ctor public StringTokenizer(java.lang.String, java.lang.String);
+ ctor public StringTokenizer(java.lang.String, java.lang.String, boolean);
+ method public int countTokens();
+ method public boolean hasMoreElements();
+ method public boolean hasMoreTokens();
+ method public java.lang.Object nextElement();
+ method public java.lang.String nextToken();
+ method public java.lang.String nextToken(java.lang.String);
+ }
+
+ public abstract class TimeZone implements java.lang.Cloneable java.io.Serializable {
+ ctor public TimeZone();
+ method public java.lang.Object clone();
+ method public static synchronized java.lang.String[] getAvailableIDs();
+ method public static synchronized java.lang.String[] getAvailableIDs(int);
+ method public int getDSTSavings();
+ method public static synchronized java.util.TimeZone getDefault();
+ method public final java.lang.String getDisplayName();
+ method public final java.lang.String getDisplayName(java.util.Locale);
+ method public final java.lang.String getDisplayName(boolean, int);
+ method public java.lang.String getDisplayName(boolean, int, java.util.Locale);
+ method public java.lang.String getID();
+ method public int getOffset(long);
+ method public abstract int getOffset(int, int, int, int, int, int);
+ method public abstract int getRawOffset();
+ method public static synchronized java.util.TimeZone getTimeZone(java.lang.String);
+ method public boolean hasSameRules(java.util.TimeZone);
+ method public abstract boolean inDaylightTime(java.util.Date);
+ method public static synchronized void setDefault(java.util.TimeZone);
+ method public void setID(java.lang.String);
+ method public abstract void setRawOffset(int);
+ method public abstract boolean useDaylightTime();
+ field public static final int LONG = 1; // 0x1
+ field public static final int SHORT = 0; // 0x0
+ }
+
+ public class Timer {
+ ctor public Timer(java.lang.String, boolean);
+ ctor public Timer(java.lang.String);
+ ctor public Timer(boolean);
+ ctor public Timer();
+ method public void cancel();
+ method public int purge();
+ method public void schedule(java.util.TimerTask, java.util.Date);
+ method public void schedule(java.util.TimerTask, long);
+ method public void schedule(java.util.TimerTask, long, long);
+ method public void schedule(java.util.TimerTask, java.util.Date, long);
+ method public void scheduleAtFixedRate(java.util.TimerTask, long, long);
+ method public void scheduleAtFixedRate(java.util.TimerTask, java.util.Date, long);
+ }
+
+ public abstract class TimerTask implements java.lang.Runnable {
+ ctor protected TimerTask();
+ method public boolean cancel();
+ method public abstract void run();
+ method public long scheduledExecutionTime();
+ }
+
+ public class TooManyListenersException extends java.lang.Exception {
+ ctor public TooManyListenersException();
+ ctor public TooManyListenersException(java.lang.String);
+ }
+
+ public class TreeMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.NavigableMap java.io.Serializable java.util.SortedMap {
+ ctor public TreeMap();
+ ctor public TreeMap(java.util.Map<? extends K, ? extends V>);
+ ctor public TreeMap(java.util.Comparator<? super K>);
+ ctor public TreeMap(java.util.SortedMap<K, ? extends V>);
+ method public java.util.Map.Entry<K, V> ceilingEntry(K);
+ method public K ceilingKey(K);
+ method public java.lang.Object clone();
+ method public java.util.Comparator<? super K> comparator();
+ method public java.util.NavigableSet<K> descendingKeySet();
+ method public java.util.NavigableMap<K, V> descendingMap();
+ method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
+ method public java.util.Map.Entry<K, V> firstEntry();
+ method public K firstKey();
+ method public java.util.Map.Entry<K, V> floorEntry(K);
+ method public K floorKey(K);
+ method public java.util.NavigableMap<K, V> headMap(K, boolean);
+ method public java.util.SortedMap<K, V> headMap(K);
+ method public java.util.Map.Entry<K, V> higherEntry(K);
+ method public K higherKey(K);
+ method public java.util.Map.Entry<K, V> lastEntry();
+ method public K lastKey();
+ method public java.util.Map.Entry<K, V> lowerEntry(K);
+ method public K lowerKey(K);
+ method public java.util.NavigableSet<K> navigableKeySet();
+ method public java.util.Map.Entry<K, V> pollFirstEntry();
+ method public java.util.Map.Entry<K, V> pollLastEntry();
+ method public java.util.NavigableMap<K, V> subMap(K, boolean, K, boolean);
+ method public java.util.SortedMap<K, V> subMap(K, K);
+ method public java.util.NavigableMap<K, V> tailMap(K, boolean);
+ method public java.util.SortedMap<K, V> tailMap(K);
+ }
+
+ public class TreeSet extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
+ ctor public TreeSet();
+ ctor public TreeSet(java.util.Collection<? extends E>);
+ ctor public TreeSet(java.util.Comparator<? super E>);
+ ctor public TreeSet(java.util.SortedSet<E>);
+ method public E ceiling(E);
+ method public java.lang.Object clone();
+ method public java.util.Comparator<? super E> comparator();
+ method public java.util.Iterator<E> descendingIterator();
+ method public java.util.NavigableSet<E> descendingSet();
+ method public E first();
+ method public E floor(E);
+ method public java.util.NavigableSet<E> headSet(E, boolean);
+ method public java.util.SortedSet<E> headSet(E);
+ method public E higher(E);
+ method public java.util.Iterator<E> iterator();
+ method public E last();
+ method public E lower(E);
+ method public E pollFirst();
+ method public E pollLast();
+ method public int size();
+ method public java.util.NavigableSet<E> subSet(E, boolean, E, boolean);
+ method public java.util.SortedSet<E> subSet(E, E);
+ method public java.util.NavigableSet<E> tailSet(E, boolean);
+ method public java.util.SortedSet<E> tailSet(E);
+ }
+
+ public final class UUID implements java.lang.Comparable java.io.Serializable {
+ ctor public UUID(long, long);
+ method public int clockSequence();
+ method public int compareTo(java.util.UUID);
+ method public static java.util.UUID fromString(java.lang.String);
+ method public long getLeastSignificantBits();
+ method public long getMostSignificantBits();
+ method public static java.util.UUID nameUUIDFromBytes(byte[]);
+ method public long node();
+ method public static java.util.UUID randomUUID();
+ method public long timestamp();
+ method public int variant();
+ method public int version();
+ }
+
+ public class UnknownFormatConversionException extends java.util.IllegalFormatException {
+ ctor public UnknownFormatConversionException(java.lang.String);
+ method public java.lang.String getConversion();
+ }
+
+ public class UnknownFormatFlagsException extends java.util.IllegalFormatException {
+ ctor public UnknownFormatFlagsException(java.lang.String);
+ method public java.lang.String getFlags();
+ }
+
+ public class Vector extends java.util.AbstractList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
+ ctor public Vector();
+ ctor public Vector(int);
+ ctor public Vector(int, int);
+ ctor public Vector(java.util.Collection<? extends E>);
+ method public synchronized void addElement(E);
+ method public synchronized int capacity();
+ method public synchronized java.lang.Object clone();
+ method public synchronized void copyInto(java.lang.Object[]);
+ method public synchronized E elementAt(int);
+ method public java.util.Enumeration<E> elements();
+ method public synchronized void ensureCapacity(int);
+ method public synchronized E firstElement();
+ method public E get(int);
+ method public synchronized int indexOf(java.lang.Object, int);
+ method public synchronized void insertElementAt(E, int);
+ method public synchronized E lastElement();
+ method public synchronized int lastIndexOf(java.lang.Object, int);
+ method public synchronized void removeAllElements();
+ method public synchronized boolean removeElement(java.lang.Object);
+ method public synchronized void removeElementAt(int);
+ method public synchronized void setElementAt(E, int);
+ method public synchronized void setSize(int);
+ method public synchronized int size();
+ method public synchronized void trimToSize();
+ field protected int capacityIncrement;
+ field protected int elementCount;
+ field protected java.lang.Object[] elementData;
+ }
+
+ public class WeakHashMap extends java.util.AbstractMap implements java.util.Map {
+ ctor public WeakHashMap();
+ ctor public WeakHashMap(int);
+ ctor public WeakHashMap(int, float);
+ ctor public WeakHashMap(java.util.Map<? extends K, ? extends V>);
+ method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
+ }
+
+}
+
+package java.util.concurrent {
+
+ public abstract class AbstractExecutorService implements java.util.concurrent.ExecutorService {
+ ctor public AbstractExecutorService();
+ method public java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
+ method public java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+ method public T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+ method protected java.util.concurrent.RunnableFuture<T> newTaskFor(java.lang.Runnable, T);
+ method protected java.util.concurrent.RunnableFuture<T> newTaskFor(java.util.concurrent.Callable<T>);
+ method public java.util.concurrent.Future<?> submit(java.lang.Runnable);
+ method public java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
+ method public java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
+ }
+
+ public class ArrayBlockingQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ ctor public ArrayBlockingQueue(int);
+ ctor public ArrayBlockingQueue(int, boolean);
+ ctor public ArrayBlockingQueue(int, boolean, java.util.Collection<? extends E>);
+ method public int drainTo(java.util.Collection<? super E>);
+ method public int drainTo(java.util.Collection<? super E>, int);
+ method public java.util.Iterator<E> iterator();
+ method public boolean offer(E);
+ method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public E peek();
+ method public E poll();
+ method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public void put(E) throws java.lang.InterruptedException;
+ method public int remainingCapacity();
+ method public int size();
+ method public E take() throws java.lang.InterruptedException;
+ }
+
+ public abstract interface BlockingDeque implements java.util.concurrent.BlockingQueue java.util.Deque {
+ method public abstract boolean add(E);
+ method public abstract void addFirst(E);
+ method public abstract void addLast(E);
+ method public abstract boolean contains(java.lang.Object);
+ method public abstract E element();
+ method public abstract java.util.Iterator<E> iterator();
+ method public abstract boolean offer(E);
+ method public abstract boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract boolean offerFirst(E);
+ method public abstract boolean offerFirst(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract boolean offerLast(E);
+ method public abstract boolean offerLast(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract E peek();
+ method public abstract E poll();
+ method public abstract E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract E pollFirst(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract E pollLast(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract void push(E);
+ method public abstract void put(E) throws java.lang.InterruptedException;
+ method public abstract void putFirst(E) throws java.lang.InterruptedException;
+ method public abstract void putLast(E) throws java.lang.InterruptedException;
+ method public abstract E remove();
+ method public abstract boolean remove(java.lang.Object);
+ method public abstract boolean removeFirstOccurrence(java.lang.Object);
+ method public abstract boolean removeLastOccurrence(java.lang.Object);
+ method public abstract int size();
+ method public abstract E take() throws java.lang.InterruptedException;
+ method public abstract E takeFirst() throws java.lang.InterruptedException;
+ method public abstract E takeLast() throws java.lang.InterruptedException;
+ }
+
+ public abstract interface BlockingQueue implements java.util.Queue {
+ method public abstract boolean add(E);
+ method public abstract boolean contains(java.lang.Object);
+ method public abstract int drainTo(java.util.Collection<? super E>);
+ method public abstract int drainTo(java.util.Collection<? super E>, int);
+ method public abstract boolean offer(E);
+ method public abstract boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract void put(E) throws java.lang.InterruptedException;
+ method public abstract int remainingCapacity();
+ method public abstract boolean remove(java.lang.Object);
+ method public abstract E take() throws java.lang.InterruptedException;
+ }
+
+ public class BrokenBarrierException extends java.lang.Exception {
+ ctor public BrokenBarrierException();
+ ctor public BrokenBarrierException(java.lang.String);
+ }
+
+ public abstract interface Callable {
+ method public abstract V call() throws java.lang.Exception;
+ }
+
+ public class CancellationException extends java.lang.IllegalStateException {
+ ctor public CancellationException();
+ ctor public CancellationException(java.lang.String);
+ }
+
+ public abstract interface CompletionService {
+ method public abstract java.util.concurrent.Future<V> poll();
+ method public abstract java.util.concurrent.Future<V> poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract java.util.concurrent.Future<V> submit(java.util.concurrent.Callable<V>);
+ method public abstract java.util.concurrent.Future<V> submit(java.lang.Runnable, V);
+ method public abstract java.util.concurrent.Future<V> take() throws java.lang.InterruptedException;
+ }
+
+ public class ConcurrentHashMap extends java.util.AbstractMap implements java.util.concurrent.ConcurrentMap java.io.Serializable {
+ ctor public ConcurrentHashMap(int, float, int);
+ ctor public ConcurrentHashMap(int, float);
+ ctor public ConcurrentHashMap(int);
+ ctor public ConcurrentHashMap();
+ ctor public ConcurrentHashMap(java.util.Map<? extends K, ? extends V>);
+ method public boolean contains(java.lang.Object);
+ method public java.util.Enumeration<V> elements();
+ method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
+ method public java.util.Enumeration<K> keys();
+ method public V putIfAbsent(K, V);
+ method public boolean remove(java.lang.Object, java.lang.Object);
+ method public boolean replace(K, V, V);
+ method public V replace(K, V);
+ }
+
+ public class ConcurrentLinkedQueue extends java.util.AbstractQueue implements java.util.Queue java.io.Serializable {
+ ctor public ConcurrentLinkedQueue();
+ ctor public ConcurrentLinkedQueue(java.util.Collection<? extends E>);
+ method public java.util.Iterator<E> iterator();
+ method public boolean offer(E);
+ method public E peek();
+ method public E poll();
+ method public int size();
+ }
+
+ public abstract interface ConcurrentMap implements java.util.Map {
+ method public abstract V putIfAbsent(K, V);
+ method public abstract boolean remove(java.lang.Object, java.lang.Object);
+ method public abstract boolean replace(K, V, V);
+ method public abstract V replace(K, V);
+ }
+
+ public abstract interface ConcurrentNavigableMap implements java.util.concurrent.ConcurrentMap java.util.NavigableMap {
+ method public abstract java.util.NavigableSet<K> descendingKeySet();
+ method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> descendingMap();
+ method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> headMap(K, boolean);
+ method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> headMap(K);
+ method public abstract java.util.NavigableSet<K> keySet();
+ method public abstract java.util.NavigableSet<K> navigableKeySet();
+ method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> subMap(K, boolean, K, boolean);
+ method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> subMap(K, K);
+ method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> tailMap(K, boolean);
+ method public abstract java.util.concurrent.ConcurrentNavigableMap<K, V> tailMap(K);
+ }
+
+ public class ConcurrentSkipListMap extends java.util.AbstractMap implements java.lang.Cloneable java.util.concurrent.ConcurrentNavigableMap java.io.Serializable {
+ ctor public ConcurrentSkipListMap();
+ ctor public ConcurrentSkipListMap(java.util.Comparator<? super K>);
+ ctor public ConcurrentSkipListMap(java.util.Map<? extends K, ? extends V>);
+ ctor public ConcurrentSkipListMap(java.util.SortedMap<K, ? extends V>);
+ method public java.util.Map.Entry<K, V> ceilingEntry(K);
+ method public K ceilingKey(K);
+ method public java.util.concurrent.ConcurrentSkipListMap<K, V> clone();
+ method public java.util.Comparator<? super K> comparator();
+ method public java.util.NavigableSet<K> descendingKeySet();
+ method public java.util.concurrent.ConcurrentNavigableMap<K, V> descendingMap();
+ method public java.util.Set<java.util.Map.Entry<K, V>> entrySet();
+ method public java.util.Map.Entry<K, V> firstEntry();
+ method public K firstKey();
+ method public java.util.Map.Entry<K, V> floorEntry(K);
+ method public K floorKey(K);
+ method public java.util.concurrent.ConcurrentNavigableMap<K, V> headMap(K, boolean);
+ method public java.util.concurrent.ConcurrentNavigableMap<K, V> headMap(K);
+ method public java.util.Map.Entry<K, V> higherEntry(K);
+ method public K higherKey(K);
+ method public java.util.Map.Entry<K, V> lastEntry();
+ method public K lastKey();
+ method public java.util.Map.Entry<K, V> lowerEntry(K);
+ method public K lowerKey(K);
+ method public java.util.NavigableSet<K> navigableKeySet();
+ method public java.util.Map.Entry<K, V> pollFirstEntry();
+ method public java.util.Map.Entry<K, V> pollLastEntry();
+ method public V putIfAbsent(K, V);
+ method public boolean remove(java.lang.Object, java.lang.Object);
+ method public boolean replace(K, V, V);
+ method public V replace(K, V);
+ method public java.util.concurrent.ConcurrentNavigableMap<K, V> subMap(K, boolean, K, boolean);
+ method public java.util.concurrent.ConcurrentNavigableMap<K, V> subMap(K, K);
+ method public java.util.concurrent.ConcurrentNavigableMap<K, V> tailMap(K, boolean);
+ method public java.util.concurrent.ConcurrentNavigableMap<K, V> tailMap(K);
+ }
+
+ public class ConcurrentSkipListSet extends java.util.AbstractSet implements java.lang.Cloneable java.util.NavigableSet java.io.Serializable {
+ ctor public ConcurrentSkipListSet();
+ ctor public ConcurrentSkipListSet(java.util.Comparator<? super E>);
+ ctor public ConcurrentSkipListSet(java.util.Collection<? extends E>);
+ ctor public ConcurrentSkipListSet(java.util.SortedSet<E>);
+ method public E ceiling(E);
+ method public java.util.concurrent.ConcurrentSkipListSet<E> clone();
+ method public java.util.Comparator<? super E> comparator();
+ method public java.util.Iterator<E> descendingIterator();
+ method public java.util.NavigableSet<E> descendingSet();
+ method public E first();
+ method public E floor(E);
+ method public java.util.NavigableSet<E> headSet(E, boolean);
+ method public java.util.NavigableSet<E> headSet(E);
+ method public E higher(E);
+ method public java.util.Iterator<E> iterator();
+ method public E last();
+ method public E lower(E);
+ method public E pollFirst();
+ method public E pollLast();
+ method public int size();
+ method public java.util.NavigableSet<E> subSet(E, boolean, E, boolean);
+ method public java.util.NavigableSet<E> subSet(E, E);
+ method public java.util.NavigableSet<E> tailSet(E, boolean);
+ method public java.util.NavigableSet<E> tailSet(E);
+ }
+
+ public class CopyOnWriteArrayList implements java.lang.Cloneable java.util.List java.util.RandomAccess java.io.Serializable {
+ ctor public CopyOnWriteArrayList();
+ ctor public CopyOnWriteArrayList(java.util.Collection<? extends E>);
+ ctor public CopyOnWriteArrayList(E[]);
+ method public synchronized boolean add(E);
+ method public synchronized void add(int, E);
+ method public synchronized boolean addAll(java.util.Collection<? extends E>);
+ method public synchronized boolean addAll(int, java.util.Collection<? extends E>);
+ method public synchronized int addAllAbsent(java.util.Collection<? extends E>);
+ method public synchronized boolean addIfAbsent(E);
+ method public synchronized void clear();
+ method public java.lang.Object clone();
+ method public boolean contains(java.lang.Object);
+ method public boolean containsAll(java.util.Collection<?>);
+ method public E get(int);
+ method public int indexOf(E, int);
+ method public int indexOf(java.lang.Object);
+ method public boolean isEmpty();
+ method public java.util.Iterator<E> iterator();
+ method public int lastIndexOf(E, int);
+ method public int lastIndexOf(java.lang.Object);
+ method public java.util.ListIterator<E> listIterator(int);
+ method public java.util.ListIterator<E> listIterator();
+ method public synchronized E remove(int);
+ method public synchronized boolean remove(java.lang.Object);
+ method public synchronized boolean removeAll(java.util.Collection<?>);
+ method public synchronized boolean retainAll(java.util.Collection<?>);
+ method public synchronized E set(int, E);
+ method public int size();
+ method public java.util.List<E> subList(int, int);
+ method public java.lang.Object[] toArray();
+ method public T[] toArray(T[]);
+ }
+
+ public class CopyOnWriteArraySet extends java.util.AbstractSet implements java.io.Serializable {
+ ctor public CopyOnWriteArraySet();
+ ctor public CopyOnWriteArraySet(java.util.Collection<? extends E>);
+ method public java.util.Iterator<E> iterator();
+ method public int size();
+ }
+
+ public class CountDownLatch {
+ ctor public CountDownLatch(int);
+ method public void await() throws java.lang.InterruptedException;
+ method public boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public void countDown();
+ method public long getCount();
+ }
+
+ public class CyclicBarrier {
+ ctor public CyclicBarrier(int, java.lang.Runnable);
+ ctor public CyclicBarrier(int);
+ method public int await() throws java.util.concurrent.BrokenBarrierException, java.lang.InterruptedException;
+ method public int await(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.BrokenBarrierException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+ method public int getNumberWaiting();
+ method public int getParties();
+ method public boolean isBroken();
+ method public void reset();
+ }
+
+ public class DelayQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue {
+ ctor public DelayQueue();
+ ctor public DelayQueue(java.util.Collection<? extends E>);
+ method public int drainTo(java.util.Collection<? super E>);
+ method public int drainTo(java.util.Collection<? super E>, int);
+ method public java.util.Iterator<E> iterator();
+ method public boolean offer(E);
+ method public boolean offer(E, long, java.util.concurrent.TimeUnit);
+ method public E peek();
+ method public E poll();
+ method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public void put(E);
+ method public int remainingCapacity();
+ method public int size();
+ method public E take() throws java.lang.InterruptedException;
+ }
+
+ public abstract interface Delayed implements java.lang.Comparable {
+ method public abstract long getDelay(java.util.concurrent.TimeUnit);
+ }
+
+ public class Exchanger {
+ ctor public Exchanger();
+ method public V exchange(V) throws java.lang.InterruptedException;
+ method public V exchange(V, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+ }
+
+ public class ExecutionException extends java.lang.Exception {
+ ctor protected ExecutionException();
+ ctor protected ExecutionException(java.lang.String);
+ ctor public ExecutionException(java.lang.String, java.lang.Throwable);
+ ctor public ExecutionException(java.lang.Throwable);
+ }
+
+ public abstract interface Executor {
+ method public abstract void execute(java.lang.Runnable);
+ }
+
+ public class ExecutorCompletionService implements java.util.concurrent.CompletionService {
+ ctor public ExecutorCompletionService(java.util.concurrent.Executor);
+ ctor public ExecutorCompletionService(java.util.concurrent.Executor, java.util.concurrent.BlockingQueue<java.util.concurrent.Future<V>>);
+ method public java.util.concurrent.Future<V> poll();
+ method public java.util.concurrent.Future<V> poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public java.util.concurrent.Future<V> submit(java.util.concurrent.Callable<V>);
+ method public java.util.concurrent.Future<V> submit(java.lang.Runnable, V);
+ method public java.util.concurrent.Future<V> take() throws java.lang.InterruptedException;
+ }
+
+ public abstract interface ExecutorService implements java.util.concurrent.Executor {
+ method public abstract boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
+ method public abstract java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+ method public abstract T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+ method public abstract boolean isShutdown();
+ method public abstract boolean isTerminated();
+ method public abstract void shutdown();
+ method public abstract java.util.List<java.lang.Runnable> shutdownNow();
+ method public abstract java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
+ method public abstract java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
+ method public abstract java.util.concurrent.Future<?> submit(java.lang.Runnable);
+ }
+
+ public class Executors {
+ method public static java.util.concurrent.Callable<T> callable(java.lang.Runnable, T);
+ method public static java.util.concurrent.Callable<java.lang.Object> callable(java.lang.Runnable);
+ method public static java.util.concurrent.Callable<java.lang.Object> callable(java.security.PrivilegedAction<?>);
+ method public static java.util.concurrent.Callable<java.lang.Object> callable(java.security.PrivilegedExceptionAction<?>);
+ method public static java.util.concurrent.ThreadFactory defaultThreadFactory();
+ method public static java.util.concurrent.ExecutorService newCachedThreadPool();
+ method public static java.util.concurrent.ExecutorService newCachedThreadPool(java.util.concurrent.ThreadFactory);
+ method public static java.util.concurrent.ExecutorService newFixedThreadPool(int);
+ method public static java.util.concurrent.ExecutorService newFixedThreadPool(int, java.util.concurrent.ThreadFactory);
+ method public static java.util.concurrent.ScheduledExecutorService newScheduledThreadPool(int);
+ method public static java.util.concurrent.ScheduledExecutorService newScheduledThreadPool(int, java.util.concurrent.ThreadFactory);
+ method public static java.util.concurrent.ExecutorService newSingleThreadExecutor();
+ method public static java.util.concurrent.ExecutorService newSingleThreadExecutor(java.util.concurrent.ThreadFactory);
+ method public static java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor();
+ method public static java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor(java.util.concurrent.ThreadFactory);
+ method public static java.util.concurrent.Callable<T> privilegedCallable(java.util.concurrent.Callable<T>);
+ method public static java.util.concurrent.Callable<T> privilegedCallableUsingCurrentClassLoader(java.util.concurrent.Callable<T>);
+ method public static java.util.concurrent.ThreadFactory privilegedThreadFactory();
+ method public static java.util.concurrent.ExecutorService unconfigurableExecutorService(java.util.concurrent.ExecutorService);
+ method public static java.util.concurrent.ScheduledExecutorService unconfigurableScheduledExecutorService(java.util.concurrent.ScheduledExecutorService);
+ }
+
+ public abstract interface Future {
+ method public abstract boolean cancel(boolean);
+ method public abstract V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+ method public abstract V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+ method public abstract boolean isCancelled();
+ method public abstract boolean isDone();
+ }
+
+ public class FutureTask implements java.util.concurrent.RunnableFuture {
+ ctor public FutureTask(java.util.concurrent.Callable<V>);
+ ctor public FutureTask(java.lang.Runnable, V);
+ method public boolean cancel(boolean);
+ method protected void done();
+ method public V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+ method public V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+ method public boolean isCancelled();
+ method public boolean isDone();
+ method public void run();
+ method protected boolean runAndReset();
+ method protected void set(V);
+ method protected void setException(java.lang.Throwable);
+ }
+
+ public class LinkedBlockingDeque extends java.util.AbstractQueue implements java.util.concurrent.BlockingDeque java.io.Serializable {
+ ctor public LinkedBlockingDeque();
+ ctor public LinkedBlockingDeque(int);
+ ctor public LinkedBlockingDeque(java.util.Collection<? extends E>);
+ method public void addFirst(E);
+ method public void addLast(E);
+ method public java.util.Iterator<E> descendingIterator();
+ method public int drainTo(java.util.Collection<? super E>);
+ method public int drainTo(java.util.Collection<? super E>, int);
+ method public E getFirst();
+ method public E getLast();
+ method public java.util.Iterator<E> iterator();
+ method public boolean offer(E);
+ method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public boolean offerFirst(E);
+ method public boolean offerFirst(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public boolean offerLast(E);
+ method public boolean offerLast(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public E peek();
+ method public E peekFirst();
+ method public E peekLast();
+ method public E poll();
+ method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public E pollFirst();
+ method public E pollFirst(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public E pollLast();
+ method public E pollLast(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public E pop();
+ method public void push(E);
+ method public void put(E) throws java.lang.InterruptedException;
+ method public void putFirst(E) throws java.lang.InterruptedException;
+ method public void putLast(E) throws java.lang.InterruptedException;
+ method public int remainingCapacity();
+ method public E removeFirst();
+ method public boolean removeFirstOccurrence(java.lang.Object);
+ method public E removeLast();
+ method public boolean removeLastOccurrence(java.lang.Object);
+ method public int size();
+ method public E take() throws java.lang.InterruptedException;
+ method public E takeFirst() throws java.lang.InterruptedException;
+ method public E takeLast() throws java.lang.InterruptedException;
+ }
+
+ public class LinkedBlockingQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ ctor public LinkedBlockingQueue();
+ ctor public LinkedBlockingQueue(int);
+ ctor public LinkedBlockingQueue(java.util.Collection<? extends E>);
+ method public int drainTo(java.util.Collection<? super E>);
+ method public int drainTo(java.util.Collection<? super E>, int);
+ method public java.util.Iterator<E> iterator();
+ method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public boolean offer(E);
+ method public E peek();
+ method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public E poll();
+ method public void put(E) throws java.lang.InterruptedException;
+ method public int remainingCapacity();
+ method public int size();
+ method public E take() throws java.lang.InterruptedException;
+ }
+
+ public class PriorityBlockingQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ ctor public PriorityBlockingQueue();
+ ctor public PriorityBlockingQueue(int);
+ ctor public PriorityBlockingQueue(int, java.util.Comparator<? super E>);
+ ctor public PriorityBlockingQueue(java.util.Collection<? extends E>);
+ method public java.util.Comparator<? super E> comparator();
+ method public int drainTo(java.util.Collection<? super E>);
+ method public int drainTo(java.util.Collection<? super E>, int);
+ method public java.util.Iterator<E> iterator();
+ method public boolean offer(E);
+ method public boolean offer(E, long, java.util.concurrent.TimeUnit);
+ method public E peek();
+ method public E poll();
+ method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public void put(E);
+ method public int remainingCapacity();
+ method public int size();
+ method public E take() throws java.lang.InterruptedException;
+ }
+
+ public class RejectedExecutionException extends java.lang.RuntimeException {
+ ctor public RejectedExecutionException();
+ ctor public RejectedExecutionException(java.lang.String);
+ ctor public RejectedExecutionException(java.lang.String, java.lang.Throwable);
+ ctor public RejectedExecutionException(java.lang.Throwable);
+ }
+
+ public abstract interface RejectedExecutionHandler {
+ method public abstract void rejectedExecution(java.lang.Runnable, java.util.concurrent.ThreadPoolExecutor);
+ }
+
+ public abstract interface RunnableFuture implements java.util.concurrent.Future java.lang.Runnable {
+ method public abstract void run();
+ }
+
+ public abstract interface RunnableScheduledFuture implements java.util.concurrent.RunnableFuture java.util.concurrent.ScheduledFuture {
+ method public abstract boolean isPeriodic();
+ }
+
+ public abstract interface ScheduledExecutorService implements java.util.concurrent.ExecutorService {
+ method public abstract java.util.concurrent.ScheduledFuture<?> schedule(java.lang.Runnable, long, java.util.concurrent.TimeUnit);
+ method public abstract java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
+ method public abstract java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
+ method public abstract java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
+ }
+
+ public abstract interface ScheduledFuture implements java.util.concurrent.Delayed java.util.concurrent.Future {
+ }
+
+ public class ScheduledThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor implements java.util.concurrent.ScheduledExecutorService {
+ ctor public ScheduledThreadPoolExecutor(int);
+ ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.ThreadFactory);
+ ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.RejectedExecutionHandler);
+ ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.ThreadFactory, java.util.concurrent.RejectedExecutionHandler);
+ method protected java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.lang.Runnable, java.util.concurrent.RunnableScheduledFuture<V>);
+ method protected java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.util.concurrent.Callable<V>, java.util.concurrent.RunnableScheduledFuture<V>);
+ method public boolean getContinueExistingPeriodicTasksAfterShutdownPolicy();
+ method public boolean getExecuteExistingDelayedTasksAfterShutdownPolicy();
+ method public java.util.concurrent.ScheduledFuture<?> schedule(java.lang.Runnable, long, java.util.concurrent.TimeUnit);
+ method public java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
+ method public java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
+ method public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
+ method public void setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean);
+ method public void setExecuteExistingDelayedTasksAfterShutdownPolicy(boolean);
+ }
+
+ public class Semaphore implements java.io.Serializable {
+ ctor public Semaphore(int);
+ ctor public Semaphore(int, boolean);
+ method public void acquire() throws java.lang.InterruptedException;
+ method public void acquire(int) throws java.lang.InterruptedException;
+ method public void acquireUninterruptibly();
+ method public void acquireUninterruptibly(int);
+ method public int availablePermits();
+ method public int drainPermits();
+ method public final int getQueueLength();
+ method protected java.util.Collection<java.lang.Thread> getQueuedThreads();
+ method public final boolean hasQueuedThreads();
+ method public boolean isFair();
+ method protected void reducePermits(int);
+ method public void release();
+ method public void release(int);
+ method public boolean tryAcquire();
+ method public boolean tryAcquire(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public boolean tryAcquire(int);
+ method public boolean tryAcquire(int, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ }
+
+ public class SynchronousQueue extends java.util.AbstractQueue implements java.util.concurrent.BlockingQueue java.io.Serializable {
+ ctor public SynchronousQueue();
+ ctor public SynchronousQueue(boolean);
+ method public int drainTo(java.util.Collection<? super E>);
+ method public int drainTo(java.util.Collection<? super E>, int);
+ method public java.util.Iterator<E> iterator();
+ method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public boolean offer(E);
+ method public E peek();
+ method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public E poll();
+ method public void put(E) throws java.lang.InterruptedException;
+ method public int remainingCapacity();
+ method public int size();
+ method public E take() throws java.lang.InterruptedException;
+ }
+
+ public abstract interface ThreadFactory {
+ method public abstract java.lang.Thread newThread(java.lang.Runnable);
+ }
+
+ public class ThreadPoolExecutor extends java.util.concurrent.AbstractExecutorService {
+ ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>);
+ ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>, java.util.concurrent.ThreadFactory);
+ ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>, java.util.concurrent.RejectedExecutionHandler);
+ ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>, java.util.concurrent.ThreadFactory, java.util.concurrent.RejectedExecutionHandler);
+ method protected void afterExecute(java.lang.Runnable, java.lang.Throwable);
+ method public void allowCoreThreadTimeOut(boolean);
+ method public boolean allowsCoreThreadTimeOut();
+ method public boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method protected void beforeExecute(java.lang.Thread, java.lang.Runnable);
+ method public void execute(java.lang.Runnable);
+ method public int getActiveCount();
+ method public long getCompletedTaskCount();
+ method public int getCorePoolSize();
+ method public long getKeepAliveTime(java.util.concurrent.TimeUnit);
+ method public int getLargestPoolSize();
+ method public int getMaximumPoolSize();
+ method public int getPoolSize();
+ method public java.util.concurrent.BlockingQueue<java.lang.Runnable> getQueue();
+ method public java.util.concurrent.RejectedExecutionHandler getRejectedExecutionHandler();
+ method public long getTaskCount();
+ method public java.util.concurrent.ThreadFactory getThreadFactory();
+ method public boolean isShutdown();
+ method public boolean isTerminated();
+ method public boolean isTerminating();
+ method public int prestartAllCoreThreads();
+ method public boolean prestartCoreThread();
+ method public void purge();
+ method public boolean remove(java.lang.Runnable);
+ method public void setCorePoolSize(int);
+ method public void setKeepAliveTime(long, java.util.concurrent.TimeUnit);
+ method public void setMaximumPoolSize(int);
+ method public void setRejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler);
+ method public void setThreadFactory(java.util.concurrent.ThreadFactory);
+ method public void shutdown();
+ method public java.util.List<java.lang.Runnable> shutdownNow();
+ method protected void terminated();
+ }
+
+ public static class ThreadPoolExecutor.AbortPolicy implements java.util.concurrent.RejectedExecutionHandler {
+ ctor public ThreadPoolExecutor.AbortPolicy();
+ method public void rejectedExecution(java.lang.Runnable, java.util.concurrent.ThreadPoolExecutor);
+ }
+
+ public static class ThreadPoolExecutor.CallerRunsPolicy implements java.util.concurrent.RejectedExecutionHandler {
+ ctor public ThreadPoolExecutor.CallerRunsPolicy();
+ method public void rejectedExecution(java.lang.Runnable, java.util.concurrent.ThreadPoolExecutor);
+ }
+
+ public static class ThreadPoolExecutor.DiscardOldestPolicy implements java.util.concurrent.RejectedExecutionHandler {
+ ctor public ThreadPoolExecutor.DiscardOldestPolicy();
+ method public void rejectedExecution(java.lang.Runnable, java.util.concurrent.ThreadPoolExecutor);
+ }
+
+ public static class ThreadPoolExecutor.DiscardPolicy implements java.util.concurrent.RejectedExecutionHandler {
+ ctor public ThreadPoolExecutor.DiscardPolicy();
+ method public void rejectedExecution(java.lang.Runnable, java.util.concurrent.ThreadPoolExecutor);
+ }
+
+ public class TimeUnit extends java.lang.Enum {
+ method public long convert(long, java.util.concurrent.TimeUnit);
+ method public void sleep(long) throws java.lang.InterruptedException;
+ method public void timedJoin(java.lang.Thread, long) throws java.lang.InterruptedException;
+ method public void timedWait(java.lang.Object, long) throws java.lang.InterruptedException;
+ method public long toDays(long);
+ method public long toHours(long);
+ method public long toMicros(long);
+ method public long toMillis(long);
+ method public long toMinutes(long);
+ method public long toNanos(long);
+ method public long toSeconds(long);
+ method public static java.util.concurrent.TimeUnit valueOf(java.lang.String);
+ method public static final java.util.concurrent.TimeUnit[] values();
+ enum_constant public static final java.util.concurrent.TimeUnit DAYS;
+ enum_constant public static final java.util.concurrent.TimeUnit HOURS;
+ enum_constant public static final java.util.concurrent.TimeUnit MICROSECONDS;
+ enum_constant public static final java.util.concurrent.TimeUnit MILLISECONDS;
+ enum_constant public static final java.util.concurrent.TimeUnit MINUTES;
+ enum_constant public static final java.util.concurrent.TimeUnit NANOSECONDS;
+ enum_constant public static final java.util.concurrent.TimeUnit SECONDS;
+ }
+
+ public class TimeoutException extends java.lang.Exception {
+ ctor public TimeoutException();
+ ctor public TimeoutException(java.lang.String);
+ }
+
+}
+
+package java.util.concurrent.atomic {
+
+ public class AtomicBoolean implements java.io.Serializable {
+ ctor public AtomicBoolean(boolean);
+ ctor public AtomicBoolean();
+ method public final boolean compareAndSet(boolean, boolean);
+ method public final boolean get();
+ method public final boolean getAndSet(boolean);
+ method public final void lazySet(boolean);
+ method public final void set(boolean);
+ method public boolean weakCompareAndSet(boolean, boolean);
+ }
+
+ public class AtomicInteger extends java.lang.Number implements java.io.Serializable {
+ ctor public AtomicInteger(int);
+ ctor public AtomicInteger();
+ method public final int addAndGet(int);
+ method public final boolean compareAndSet(int, int);
+ method public final int decrementAndGet();
+ method public double doubleValue();
+ method public float floatValue();
+ method public final int get();
+ method public final int getAndAdd(int);
+ method public final int getAndDecrement();
+ method public final int getAndIncrement();
+ method public final int getAndSet(int);
+ method public final int incrementAndGet();
+ method public int intValue();
+ method public final void lazySet(int);
+ method public long longValue();
+ method public final void set(int);
+ method public final boolean weakCompareAndSet(int, int);
+ }
+
+ public class AtomicIntegerArray implements java.io.Serializable {
+ ctor public AtomicIntegerArray(int);
+ ctor public AtomicIntegerArray(int[]);
+ method public final int addAndGet(int, int);
+ method public final boolean compareAndSet(int, int, int);
+ method public final int decrementAndGet(int);
+ method public final int get(int);
+ method public final int getAndAdd(int, int);
+ method public final int getAndDecrement(int);
+ method public final int getAndIncrement(int);
+ method public final int getAndSet(int, int);
+ method public final int incrementAndGet(int);
+ method public final void lazySet(int, int);
+ method public final int length();
+ method public final void set(int, int);
+ method public final boolean weakCompareAndSet(int, int, int);
+ }
+
+ public abstract class AtomicIntegerFieldUpdater {
+ ctor protected AtomicIntegerFieldUpdater();
+ method public int addAndGet(T, int);
+ method public abstract boolean compareAndSet(T, int, int);
+ method public int decrementAndGet(T);
+ method public abstract int get(T);
+ method public int getAndAdd(T, int);
+ method public int getAndDecrement(T);
+ method public int getAndIncrement(T);
+ method public int getAndSet(T, int);
+ method public int incrementAndGet(T);
+ method public abstract void lazySet(T, int);
+ method public static java.util.concurrent.atomic.AtomicIntegerFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
+ method public abstract void set(T, int);
+ method public abstract boolean weakCompareAndSet(T, int, int);
+ }
+
+ public class AtomicLong extends java.lang.Number implements java.io.Serializable {
+ ctor public AtomicLong(long);
+ ctor public AtomicLong();
+ method public final long addAndGet(long);
+ method public final boolean compareAndSet(long, long);
+ method public final long decrementAndGet();
+ method public double doubleValue();
+ method public float floatValue();
+ method public final long get();
+ method public final long getAndAdd(long);
+ method public final long getAndDecrement();
+ method public final long getAndIncrement();
+ method public final long getAndSet(long);
+ method public final long incrementAndGet();
+ method public int intValue();
+ method public final void lazySet(long);
+ method public long longValue();
+ method public final void set(long);
+ method public final boolean weakCompareAndSet(long, long);
+ }
+
+ public class AtomicLongArray implements java.io.Serializable {
+ ctor public AtomicLongArray(int);
+ ctor public AtomicLongArray(long[]);
+ method public long addAndGet(int, long);
+ method public final boolean compareAndSet(int, long, long);
+ method public final long decrementAndGet(int);
+ method public final long get(int);
+ method public final long getAndAdd(int, long);
+ method public final long getAndDecrement(int);
+ method public final long getAndIncrement(int);
+ method public final long getAndSet(int, long);
+ method public final long incrementAndGet(int);
+ method public final void lazySet(int, long);
+ method public final int length();
+ method public final void set(int, long);
+ method public final boolean weakCompareAndSet(int, long, long);
+ }
+
+ public abstract class AtomicLongFieldUpdater {
+ ctor protected AtomicLongFieldUpdater();
+ method public long addAndGet(T, long);
+ method public abstract boolean compareAndSet(T, long, long);
+ method public long decrementAndGet(T);
+ method public abstract long get(T);
+ method public long getAndAdd(T, long);
+ method public long getAndDecrement(T);
+ method public long getAndIncrement(T);
+ method public long getAndSet(T, long);
+ method public long incrementAndGet(T);
+ method public abstract void lazySet(T, long);
+ method public static java.util.concurrent.atomic.AtomicLongFieldUpdater<U> newUpdater(java.lang.Class<U>, java.lang.String);
+ method public abstract void set(T, long);
+ method public abstract boolean weakCompareAndSet(T, long, long);
+ }
+
+ public class AtomicMarkableReference {
+ ctor public AtomicMarkableReference(V, boolean);
+ method public boolean attemptMark(V, boolean);
+ method public boolean compareAndSet(V, V, boolean, boolean);
+ method public V get(boolean[]);
+ method public V getReference();
+ method public boolean isMarked();
+ method public void set(V, boolean);
+ method public boolean weakCompareAndSet(V, V, boolean, boolean);
+ }
+
+ public class AtomicReference implements java.io.Serializable {
+ ctor public AtomicReference(V);
+ ctor public AtomicReference();
+ method public final boolean compareAndSet(V, V);
+ method public final V get();
+ method public final V getAndSet(V);
+ method public final void lazySet(V);
+ method public final void set(V);
+ method public final boolean weakCompareAndSet(V, V);
+ }
+
+ public class AtomicReferenceArray implements java.io.Serializable {
+ ctor public AtomicReferenceArray(int);
+ ctor public AtomicReferenceArray(E[]);
+ method public final boolean compareAndSet(int, E, E);
+ method public final E get(int);
+ method public final E getAndSet(int, E);
+ method public final void lazySet(int, E);
+ method public final int length();
+ method public final void set(int, E);
+ method public final boolean weakCompareAndSet(int, E, E);
+ }
+
+ public abstract class AtomicReferenceFieldUpdater {
+ ctor protected AtomicReferenceFieldUpdater();
+ method public abstract boolean compareAndSet(T, V, V);
+ method public abstract V get(T);
+ method public V getAndSet(T, V);
+ method public abstract void lazySet(T, V);
+ method public static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<U, W> newUpdater(java.lang.Class<U>, java.lang.Class<W>, java.lang.String);
+ method public abstract void set(T, V);
+ method public abstract boolean weakCompareAndSet(T, V, V);
+ }
+
+ public class AtomicStampedReference {
+ ctor public AtomicStampedReference(V, int);
+ method public boolean attemptStamp(V, int);
+ method public boolean compareAndSet(V, V, int, int);
+ method public V get(int[]);
+ method public V getReference();
+ method public int getStamp();
+ method public void set(V, int);
+ method public boolean weakCompareAndSet(V, V, int, int);
+ }
+
+}
+
+package java.util.concurrent.locks {
+
+ public abstract class AbstractOwnableSynchronizer implements java.io.Serializable {
+ ctor protected AbstractOwnableSynchronizer();
+ method protected final java.lang.Thread getExclusiveOwnerThread();
+ method protected final void setExclusiveOwnerThread(java.lang.Thread);
+ }
+
+ public abstract class AbstractQueuedLongSynchronizer extends java.util.concurrent.locks.AbstractOwnableSynchronizer implements java.io.Serializable {
+ ctor protected AbstractQueuedLongSynchronizer();
+ method public final void acquire(long);
+ method public final void acquireInterruptibly(long) throws java.lang.InterruptedException;
+ method public final void acquireShared(long);
+ method public final void acquireSharedInterruptibly(long) throws java.lang.InterruptedException;
+ method protected final boolean compareAndSetState(long, long);
+ method public final java.util.Collection<java.lang.Thread> getExclusiveQueuedThreads();
+ method public final java.lang.Thread getFirstQueuedThread();
+ method public final int getQueueLength();
+ method public final java.util.Collection<java.lang.Thread> getQueuedThreads();
+ method public final java.util.Collection<java.lang.Thread> getSharedQueuedThreads();
+ method protected final long getState();
+ method public final int getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject);
+ method public final java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject);
+ method public final boolean hasContended();
+ method public final boolean hasQueuedThreads();
+ method public final boolean hasWaiters(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject);
+ method protected boolean isHeldExclusively();
+ method public final boolean isQueued(java.lang.Thread);
+ method public final boolean owns(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject);
+ method public final boolean release(long);
+ method public final boolean releaseShared(long);
+ method protected final void setState(long);
+ method protected boolean tryAcquire(long);
+ method public final boolean tryAcquireNanos(long, long) throws java.lang.InterruptedException;
+ method protected long tryAcquireShared(long);
+ method public final boolean tryAcquireSharedNanos(long, long) throws java.lang.InterruptedException;
+ method protected boolean tryRelease(long);
+ method protected boolean tryReleaseShared(long);
+ }
+
+ public class AbstractQueuedLongSynchronizer.ConditionObject implements java.util.concurrent.locks.Condition java.io.Serializable {
+ ctor public AbstractQueuedLongSynchronizer.ConditionObject();
+ method public final void await() throws java.lang.InterruptedException;
+ method public final boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public final long awaitNanos(long) throws java.lang.InterruptedException;
+ method public final void awaitUninterruptibly();
+ method public final boolean awaitUntil(java.util.Date) throws java.lang.InterruptedException;
+ method protected final int getWaitQueueLength();
+ method protected final java.util.Collection<java.lang.Thread> getWaitingThreads();
+ method protected final boolean hasWaiters();
+ method public final void signal();
+ method public final void signalAll();
+ }
+
+ public abstract class AbstractQueuedSynchronizer extends java.util.concurrent.locks.AbstractOwnableSynchronizer implements java.io.Serializable {
+ ctor protected AbstractQueuedSynchronizer();
+ method public final void acquire(int);
+ method public final void acquireInterruptibly(int) throws java.lang.InterruptedException;
+ method public final void acquireShared(int);
+ method public final void acquireSharedInterruptibly(int) throws java.lang.InterruptedException;
+ method protected final boolean compareAndSetState(int, int);
+ method public final java.util.Collection<java.lang.Thread> getExclusiveQueuedThreads();
+ method public final java.lang.Thread getFirstQueuedThread();
+ method public final int getQueueLength();
+ method public final java.util.Collection<java.lang.Thread> getQueuedThreads();
+ method public final java.util.Collection<java.lang.Thread> getSharedQueuedThreads();
+ method protected final int getState();
+ method public final int getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject);
+ method public final java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject);
+ method public final boolean hasContended();
+ method public final boolean hasQueuedThreads();
+ method public final boolean hasWaiters(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject);
+ method protected boolean isHeldExclusively();
+ method public final boolean isQueued(java.lang.Thread);
+ method public final boolean owns(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject);
+ method public final boolean release(int);
+ method public final boolean releaseShared(int);
+ method protected final void setState(int);
+ method protected boolean tryAcquire(int);
+ method public final boolean tryAcquireNanos(int, long) throws java.lang.InterruptedException;
+ method protected int tryAcquireShared(int);
+ method public final boolean tryAcquireSharedNanos(int, long) throws java.lang.InterruptedException;
+ method protected boolean tryRelease(int);
+ method protected boolean tryReleaseShared(int);
+ }
+
+ public class AbstractQueuedSynchronizer.ConditionObject implements java.util.concurrent.locks.Condition java.io.Serializable {
+ ctor public AbstractQueuedSynchronizer.ConditionObject();
+ method public final void await() throws java.lang.InterruptedException;
+ method public final boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public final long awaitNanos(long) throws java.lang.InterruptedException;
+ method public final void awaitUninterruptibly();
+ method public final boolean awaitUntil(java.util.Date) throws java.lang.InterruptedException;
+ method protected final int getWaitQueueLength();
+ method protected final java.util.Collection<java.lang.Thread> getWaitingThreads();
+ method protected final boolean hasWaiters();
+ method public final void signal();
+ method public final void signalAll();
+ }
+
+ public abstract interface Condition {
+ method public abstract void await() throws java.lang.InterruptedException;
+ method public abstract boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract long awaitNanos(long) throws java.lang.InterruptedException;
+ method public abstract void awaitUninterruptibly();
+ method public abstract boolean awaitUntil(java.util.Date) throws java.lang.InterruptedException;
+ method public abstract void signal();
+ method public abstract void signalAll();
+ }
+
+ public abstract interface Lock {
+ method public abstract void lock();
+ method public abstract void lockInterruptibly() throws java.lang.InterruptedException;
+ method public abstract java.util.concurrent.locks.Condition newCondition();
+ method public abstract boolean tryLock();
+ method public abstract boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public abstract void unlock();
+ }
+
+ public class LockSupport {
+ method public static java.lang.Object getBlocker(java.lang.Thread);
+ method public static void park(java.lang.Object);
+ method public static void park();
+ method public static void parkNanos(java.lang.Object, long);
+ method public static void parkNanos(long);
+ method public static void parkUntil(java.lang.Object, long);
+ method public static void parkUntil(long);
+ method public static void unpark(java.lang.Thread);
+ }
+
+ public abstract interface ReadWriteLock {
+ method public abstract java.util.concurrent.locks.Lock readLock();
+ method public abstract java.util.concurrent.locks.Lock writeLock();
+ }
+
+ public class ReentrantLock implements java.util.concurrent.locks.Lock java.io.Serializable {
+ ctor public ReentrantLock();
+ ctor public ReentrantLock(boolean);
+ method public int getHoldCount();
+ method protected java.lang.Thread getOwner();
+ method public final int getQueueLength();
+ method protected java.util.Collection<java.lang.Thread> getQueuedThreads();
+ method public int getWaitQueueLength(java.util.concurrent.locks.Condition);
+ method protected java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.Condition);
+ method public final boolean hasQueuedThread(java.lang.Thread);
+ method public final boolean hasQueuedThreads();
+ method public boolean hasWaiters(java.util.concurrent.locks.Condition);
+ method public final boolean isFair();
+ method public boolean isHeldByCurrentThread();
+ method public boolean isLocked();
+ method public void lock();
+ method public void lockInterruptibly() throws java.lang.InterruptedException;
+ method public java.util.concurrent.locks.Condition newCondition();
+ method public boolean tryLock();
+ method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public void unlock();
+ }
+
+ public class ReentrantReadWriteLock implements java.util.concurrent.locks.ReadWriteLock java.io.Serializable {
+ ctor public ReentrantReadWriteLock();
+ ctor public ReentrantReadWriteLock(boolean);
+ method protected java.lang.Thread getOwner();
+ method public final int getQueueLength();
+ method protected java.util.Collection<java.lang.Thread> getQueuedReaderThreads();
+ method protected java.util.Collection<java.lang.Thread> getQueuedThreads();
+ method protected java.util.Collection<java.lang.Thread> getQueuedWriterThreads();
+ method public int getReadHoldCount();
+ method public int getReadLockCount();
+ method public int getWaitQueueLength(java.util.concurrent.locks.Condition);
+ method protected java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.Condition);
+ method public int getWriteHoldCount();
+ method public final boolean hasQueuedThread(java.lang.Thread);
+ method public final boolean hasQueuedThreads();
+ method public boolean hasWaiters(java.util.concurrent.locks.Condition);
+ method public final boolean isFair();
+ method public boolean isWriteLocked();
+ method public boolean isWriteLockedByCurrentThread();
+ method public java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock readLock();
+ method public java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock writeLock();
+ }
+
+ public static class ReentrantReadWriteLock.ReadLock implements java.util.concurrent.locks.Lock java.io.Serializable {
+ ctor protected ReentrantReadWriteLock.ReadLock(java.util.concurrent.locks.ReentrantReadWriteLock);
+ method public void lock();
+ method public void lockInterruptibly() throws java.lang.InterruptedException;
+ method public java.util.concurrent.locks.Condition newCondition();
+ method public boolean tryLock();
+ method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public void unlock();
+ }
+
+ public static class ReentrantReadWriteLock.WriteLock implements java.util.concurrent.locks.Lock java.io.Serializable {
+ ctor protected ReentrantReadWriteLock.WriteLock(java.util.concurrent.locks.ReentrantReadWriteLock);
+ method public int getHoldCount();
+ method public boolean isHeldByCurrentThread();
+ method public void lock();
+ method public void lockInterruptibly() throws java.lang.InterruptedException;
+ method public java.util.concurrent.locks.Condition newCondition();
+ method public boolean tryLock();
+ method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+ method public void unlock();
+ }
+
+}
+
+package java.util.jar {
+
+ public class Attributes implements java.lang.Cloneable java.util.Map {
+ ctor public Attributes();
+ ctor public Attributes(java.util.jar.Attributes);
+ ctor public Attributes(int);
+ method public void clear();
+ method public java.lang.Object clone();
+ method public boolean containsKey(java.lang.Object);
+ method public boolean containsValue(java.lang.Object);
+ method public java.util.Set<java.util.Map.Entry<java.lang.Object, java.lang.Object>> entrySet();
+ method public java.lang.Object get(java.lang.Object);
+ method public java.lang.String getValue(java.util.jar.Attributes.Name);
+ method public java.lang.String getValue(java.lang.String);
+ method public boolean isEmpty();
+ method public java.util.Set<java.lang.Object> keySet();
+ method public java.lang.Object put(java.lang.Object, java.lang.Object);
+ method public void putAll(java.util.Map<?, ?>);
+ method public java.lang.String putValue(java.lang.String, java.lang.String);
+ method public java.lang.Object remove(java.lang.Object);
+ method public int size();
+ method public java.util.Collection<java.lang.Object> values();
+ field protected java.util.Map map;
+ }
+
+ public static class Attributes.Name {
+ ctor public Attributes.Name(java.lang.String);
+ field public static final java.util.jar.Attributes.Name CLASS_PATH;
+ field public static final java.util.jar.Attributes.Name CONTENT_TYPE;
+ field public static final java.util.jar.Attributes.Name EXTENSION_INSTALLATION;
+ field public static final java.util.jar.Attributes.Name EXTENSION_LIST;
+ field public static final java.util.jar.Attributes.Name EXTENSION_NAME;
+ field public static final java.util.jar.Attributes.Name IMPLEMENTATION_TITLE;
+ field public static final java.util.jar.Attributes.Name IMPLEMENTATION_URL;
+ field public static final java.util.jar.Attributes.Name IMPLEMENTATION_VENDOR;
+ field public static final java.util.jar.Attributes.Name IMPLEMENTATION_VENDOR_ID;
+ field public static final java.util.jar.Attributes.Name IMPLEMENTATION_VERSION;
+ field public static final java.util.jar.Attributes.Name MAIN_CLASS;
+ field public static final java.util.jar.Attributes.Name MANIFEST_VERSION;
+ field public static final java.util.jar.Attributes.Name SEALED;
+ field public static final java.util.jar.Attributes.Name SIGNATURE_VERSION;
+ field public static final java.util.jar.Attributes.Name SPECIFICATION_TITLE;
+ field public static final java.util.jar.Attributes.Name SPECIFICATION_VENDOR;
+ field public static final java.util.jar.Attributes.Name SPECIFICATION_VERSION;
+ }
+
+ public class JarEntry extends java.util.zip.ZipEntry {
+ ctor public JarEntry(java.lang.String);
+ ctor public JarEntry(java.util.zip.ZipEntry);
+ ctor public JarEntry(java.util.jar.JarEntry);
+ method public java.util.jar.Attributes getAttributes() throws java.io.IOException;
+ method public java.security.cert.Certificate[] getCertificates();
+ method public java.security.CodeSigner[] getCodeSigners();
+ }
+
+ public class JarException extends java.util.zip.ZipException {
+ ctor public JarException();
+ ctor public JarException(java.lang.String);
+ }
+
+ public class JarFile extends java.util.zip.ZipFile {
+ ctor public JarFile(java.io.File) throws java.io.IOException;
+ ctor public JarFile(java.io.File, boolean) throws java.io.IOException;
+ ctor public JarFile(java.io.File, boolean, int) throws java.io.IOException;
+ ctor public JarFile(java.lang.String) throws java.io.IOException;
+ ctor public JarFile(java.lang.String, boolean) throws java.io.IOException;
+ method public java.util.jar.JarEntry getJarEntry(java.lang.String);
+ method public java.util.jar.Manifest getManifest() throws java.io.IOException;
+ field public static final java.lang.String MANIFEST_NAME = "META-INF/MANIFEST.MF";
+ }
+
+ public class JarInputStream extends java.util.zip.ZipInputStream {
+ ctor public JarInputStream(java.io.InputStream, boolean) throws java.io.IOException;
+ ctor public JarInputStream(java.io.InputStream) throws java.io.IOException;
+ method public java.util.jar.Manifest getManifest();
+ method public java.util.jar.JarEntry getNextJarEntry() throws java.io.IOException;
+ }
+
+ public class JarOutputStream extends java.util.zip.ZipOutputStream {
+ ctor public JarOutputStream(java.io.OutputStream, java.util.jar.Manifest) throws java.io.IOException;
+ ctor public JarOutputStream(java.io.OutputStream) throws java.io.IOException;
+ }
+
+ public class Manifest implements java.lang.Cloneable {
+ ctor public Manifest();
+ ctor public Manifest(java.io.InputStream) throws java.io.IOException;
+ ctor public Manifest(java.util.jar.Manifest);
+ method public void clear();
+ method public java.lang.Object clone();
+ method public java.util.jar.Attributes getAttributes(java.lang.String);
+ method public java.util.Map<java.lang.String, java.util.jar.Attributes> getEntries();
+ method public java.util.jar.Attributes getMainAttributes();
+ method public void read(java.io.InputStream) throws java.io.IOException;
+ method public void write(java.io.OutputStream) throws java.io.IOException;
+ }
+
+ public abstract class Pack200 {
+ method public static java.util.jar.Pack200.Packer newPacker();
+ method public static java.util.jar.Pack200.Unpacker newUnpacker();
+ }
+
+ public static abstract interface Pack200.Packer {
+ method public abstract void addPropertyChangeListener(java.beans.PropertyChangeListener);
+ method public abstract void pack(java.util.jar.JarFile, java.io.OutputStream) throws java.io.IOException;
+ method public abstract void pack(java.util.jar.JarInputStream, java.io.OutputStream) throws java.io.IOException;
+ method public abstract java.util.SortedMap<java.lang.String, java.lang.String> properties();
+ method public abstract void removePropertyChangeListener(java.beans.PropertyChangeListener);
+ field public static final java.lang.String CLASS_ATTRIBUTE_PFX = "pack.class.attribute.";
+ field public static final java.lang.String CODE_ATTRIBUTE_PFX = "pack.code.attribute.";
+ field public static final java.lang.String DEFLATE_HINT = "pack.deflate.hint";
+ field public static final java.lang.String EFFORT = "pack.effort";
+ field public static final java.lang.String ERROR = "error";
+ field public static final java.lang.String FALSE = "false";
+ field public static final java.lang.String FIELD_ATTRIBUTE_PFX = "pack.field.attribute.";
+ field public static final java.lang.String KEEP = "keep";
+ field public static final java.lang.String KEEP_FILE_ORDER = "pack.keep.file.order";
+ field public static final java.lang.String LATEST = "latest";
+ field public static final java.lang.String METHOD_ATTRIBUTE_PFX = "pack.method.attribute.";
+ field public static final java.lang.String MODIFICATION_TIME = "pack.modification.time";
+ field public static final java.lang.String PASS = "pass";
+ field public static final java.lang.String PASS_FILE_PFX = "pack.pass.file.";
+ field public static final java.lang.String PROGRESS = "pack.progress";
+ field public static final java.lang.String SEGMENT_LIMIT = "pack.segment.limit";
+ field public static final java.lang.String STRIP = "strip";
+ field public static final java.lang.String TRUE = "true";
+ field public static final java.lang.String UNKNOWN_ATTRIBUTE = "pack.unknown.attribute";
+ }
+
+ public static abstract interface Pack200.Unpacker {
+ method public abstract void addPropertyChangeListener(java.beans.PropertyChangeListener);
+ method public abstract java.util.SortedMap<java.lang.String, java.lang.String> properties();
+ method public abstract void removePropertyChangeListener(java.beans.PropertyChangeListener);
+ method public abstract void unpack(java.io.InputStream, java.util.jar.JarOutputStream) throws java.io.IOException;
+ method public abstract void unpack(java.io.File, java.util.jar.JarOutputStream) throws java.io.IOException;
+ field public static final java.lang.String DEFLATE_HINT = "unpack.deflate.hint";
+ field public static final java.lang.String FALSE = "false";
+ field public static final java.lang.String KEEP = "keep";
+ field public static final java.lang.String PROGRESS = "unpack.progress";
+ field public static final java.lang.String TRUE = "true";
+ }
+
+}
+
+package java.util.logging {
+
+ public class ConsoleHandler extends java.util.logging.StreamHandler {
+ ctor public ConsoleHandler();
+ }
+
+ public class ErrorManager {
+ ctor public ErrorManager();
+ method public void error(java.lang.String, java.lang.Exception, int);
+ field public static final int CLOSE_FAILURE = 3; // 0x3
+ field public static final int FLUSH_FAILURE = 2; // 0x2
+ field public static final int FORMAT_FAILURE = 5; // 0x5
+ field public static final int GENERIC_FAILURE = 0; // 0x0
+ field public static final int OPEN_FAILURE = 4; // 0x4
+ field public static final int WRITE_FAILURE = 1; // 0x1
+ }
+
+ public class FileHandler extends java.util.logging.StreamHandler {
+ ctor public FileHandler() throws java.io.IOException;
+ ctor public FileHandler(java.lang.String) throws java.io.IOException;
+ ctor public FileHandler(java.lang.String, boolean) throws java.io.IOException;
+ ctor public FileHandler(java.lang.String, int, int) throws java.io.IOException;
+ ctor public FileHandler(java.lang.String, int, int, boolean) throws java.io.IOException;
+ }
+
+ public abstract interface Filter {
+ method public abstract boolean isLoggable(java.util.logging.LogRecord);
+ }
+
+ public abstract class Formatter {
+ ctor protected Formatter();
+ method public abstract java.lang.String format(java.util.logging.LogRecord);
+ method public java.lang.String formatMessage(java.util.logging.LogRecord);
+ method public java.lang.String getHead(java.util.logging.Handler);
+ method public java.lang.String getTail(java.util.logging.Handler);
+ }
+
+ public abstract class Handler {
+ ctor protected Handler();
+ method public abstract void close();
+ method public abstract void flush();
+ method public java.lang.String getEncoding();
+ method public java.util.logging.ErrorManager getErrorManager();
+ method public java.util.logging.Filter getFilter();
+ method public java.util.logging.Formatter getFormatter();
+ method public java.util.logging.Level getLevel();
+ method public boolean isLoggable(java.util.logging.LogRecord);
+ method public abstract void publish(java.util.logging.LogRecord);
+ method protected void reportError(java.lang.String, java.lang.Exception, int);
+ method public void setEncoding(java.lang.String) throws java.io.UnsupportedEncodingException;
+ method public void setErrorManager(java.util.logging.ErrorManager);
+ method public void setFilter(java.util.logging.Filter);
+ method public void setFormatter(java.util.logging.Formatter);
+ method public void setLevel(java.util.logging.Level);
+ }
+
+ public class Level implements java.io.Serializable {
+ ctor protected Level(java.lang.String, int);
+ ctor protected Level(java.lang.String, int, java.lang.String);
+ method public java.lang.String getLocalizedName();
+ method public java.lang.String getName();
+ method public java.lang.String getResourceBundleName();
+ method public final int intValue();
+ method public static java.util.logging.Level parse(java.lang.String) throws java.lang.IllegalArgumentException;
+ method public final java.lang.String toString();
+ field public static final java.util.logging.Level ALL;
+ field public static final java.util.logging.Level CONFIG;
+ field public static final java.util.logging.Level FINE;
+ field public static final java.util.logging.Level FINER;
+ field public static final java.util.logging.Level FINEST;
+ field public static final java.util.logging.Level INFO;
+ field public static final java.util.logging.Level OFF;
+ field public static final java.util.logging.Level SEVERE;
+ field public static final java.util.logging.Level WARNING;
+ }
+
+ public class LogManager {
+ ctor protected LogManager();
+ method public synchronized boolean addLogger(java.util.logging.Logger);
+ method public void addPropertyChangeListener(java.beans.PropertyChangeListener);
+ method public void checkAccess();
+ method public static java.util.logging.LogManager getLogManager();
+ method public synchronized java.util.logging.Logger getLogger(java.lang.String);
+ method public synchronized java.util.Enumeration<java.lang.String> getLoggerNames();
+ method public static java.util.logging.LoggingMXBean getLoggingMXBean();
+ method public java.lang.String getProperty(java.lang.String);
+ method public void readConfiguration() throws java.io.IOException;
+ method public void readConfiguration(java.io.InputStream) throws java.io.IOException;
+ method public void removePropertyChangeListener(java.beans.PropertyChangeListener);
+ method public synchronized void reset();
+ field public static final java.lang.String LOGGING_MXBEAN_NAME = "java.util.logging:type=Logging";
+ }
+
+ public class LogRecord implements java.io.Serializable {
+ ctor public LogRecord(java.util.logging.Level, java.lang.String);
+ method public java.util.logging.Level getLevel();
+ method public java.lang.String getLoggerName();
+ method public java.lang.String getMessage();
+ method public long getMillis();
+ method public java.lang.Object[] getParameters();
+ method public java.util.ResourceBundle getResourceBundle();
+ method public java.lang.String getResourceBundleName();
+ method public long getSequenceNumber();
+ method public java.lang.String getSourceClassName();
+ method public java.lang.String getSourceMethodName();
+ method public int getThreadID();
+ method public java.lang.Throwable getThrown();
+ method public void setLevel(java.util.logging.Level);
+ method public void setLoggerName(java.lang.String);
+ method public void setMessage(java.lang.String);
+ method public void setMillis(long);
+ method public void setParameters(java.lang.Object[]);
+ method public void setResourceBundle(java.util.ResourceBundle);
+ method public void setResourceBundleName(java.lang.String);
+ method public void setSequenceNumber(long);
+ method public void setSourceClassName(java.lang.String);
+ method public void setSourceMethodName(java.lang.String);
+ method public void setThreadID(int);
+ method public void setThrown(java.lang.Throwable);
+ }
+
+ public class Logger {
+ ctor protected Logger(java.lang.String, java.lang.String);
+ method public void addHandler(java.util.logging.Handler);
+ method public void config(java.lang.String);
+ method public void entering(java.lang.String, java.lang.String);
+ method public void entering(java.lang.String, java.lang.String, java.lang.Object);
+ method public void entering(java.lang.String, java.lang.String, java.lang.Object[]);
+ method public void exiting(java.lang.String, java.lang.String);
+ method public void exiting(java.lang.String, java.lang.String, java.lang.Object);
+ method public void fine(java.lang.String);
+ method public void finer(java.lang.String);
+ method public void finest(java.lang.String);
+ method public static java.util.logging.Logger getAnonymousLogger();
+ method public static java.util.logging.Logger getAnonymousLogger(java.lang.String);
+ method public java.util.logging.Filter getFilter();
+ method public java.util.logging.Handler[] getHandlers();
+ method public java.util.logging.Level getLevel();
+ method public static java.util.logging.Logger getLogger(java.lang.String);
+ method public static java.util.logging.Logger getLogger(java.lang.String, java.lang.String);
+ method public java.lang.String getName();
+ method public java.util.logging.Logger getParent();
+ method public java.util.ResourceBundle getResourceBundle();
+ method public java.lang.String getResourceBundleName();
+ method public boolean getUseParentHandlers();
+ method public void info(java.lang.String);
+ method public boolean isLoggable(java.util.logging.Level);
+ method public void log(java.util.logging.Level, java.lang.String);
+ method public void log(java.util.logging.Level, java.lang.String, java.lang.Object);
+ method public void log(java.util.logging.Level, java.lang.String, java.lang.Object[]);
+ method public void log(java.util.logging.Level, java.lang.String, java.lang.Throwable);
+ method public void log(java.util.logging.LogRecord);
+ method public void logp(java.util.logging.Level, java.lang.String, java.lang.String, java.lang.String);
+ method public void logp(java.util.logging.Level, java.lang.String, java.lang.String, java.lang.String, java.lang.Object);
+ method public void logp(java.util.logging.Level, java.lang.String, java.lang.String, java.lang.String, java.lang.Object[]);
+ method public void logp(java.util.logging.Level, java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable);
+ method public void logrb(java.util.logging.Level, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public void logrb(java.util.logging.Level, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Object);
+ method public void logrb(java.util.logging.Level, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Object[]);
+ method public void logrb(java.util.logging.Level, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable);
+ method public void removeHandler(java.util.logging.Handler);
+ method public void setFilter(java.util.logging.Filter);
+ method public void setLevel(java.util.logging.Level);
+ method public void setParent(java.util.logging.Logger);
+ method public void setUseParentHandlers(boolean);
+ method public void severe(java.lang.String);
+ method public void throwing(java.lang.String, java.lang.String, java.lang.Throwable);
+ method public void warning(java.lang.String);
+ field public static final java.lang.String GLOBAL_LOGGER_NAME = "global";
+ field public static final deprecated java.util.logging.Logger global;
+ }
+
+ public abstract interface LoggingMXBean {
+ method public abstract java.lang.String getLoggerLevel(java.lang.String);
+ method public abstract java.util.List<java.lang.String> getLoggerNames();
+ method public abstract java.lang.String getParentLoggerName(java.lang.String);
+ method public abstract void setLoggerLevel(java.lang.String, java.lang.String);
+ }
+
+ public final class LoggingPermission extends java.security.BasicPermission implements java.security.Guard java.io.Serializable {
+ ctor public LoggingPermission(java.lang.String, java.lang.String);
+ }
+
+ public class MemoryHandler extends java.util.logging.Handler {
+ ctor public MemoryHandler();
+ ctor public MemoryHandler(java.util.logging.Handler, int, java.util.logging.Level);
+ method public void close();
+ method public void flush();
+ method public java.util.logging.Level getPushLevel();
+ method public synchronized void publish(java.util.logging.LogRecord);
+ method public void push();
+ method public void setPushLevel(java.util.logging.Level);
+ }
+
+ public class SimpleFormatter extends java.util.logging.Formatter {
+ ctor public SimpleFormatter();
+ method public java.lang.String format(java.util.logging.LogRecord);
+ }
+
+ public class SocketHandler extends java.util.logging.StreamHandler {
+ ctor public SocketHandler() throws java.io.IOException;
+ ctor public SocketHandler(java.lang.String, int) throws java.io.IOException;
+ }
+
+ public class StreamHandler extends java.util.logging.Handler {
+ ctor public StreamHandler();
+ ctor public StreamHandler(java.io.OutputStream, java.util.logging.Formatter);
+ method public void close();
+ method public void flush();
+ method public synchronized void publish(java.util.logging.LogRecord);
+ method protected void setOutputStream(java.io.OutputStream);
+ }
+
+ public class XMLFormatter extends java.util.logging.Formatter {
+ ctor public XMLFormatter();
+ method public java.lang.String format(java.util.logging.LogRecord);
+ }
+
+}
+
+package java.util.prefs {
+
+ public abstract class AbstractPreferences extends java.util.prefs.Preferences {
+ ctor protected AbstractPreferences(java.util.prefs.AbstractPreferences, java.lang.String);
+ method public java.lang.String absolutePath();
+ method public void addNodeChangeListener(java.util.prefs.NodeChangeListener);
+ method public void addPreferenceChangeListener(java.util.prefs.PreferenceChangeListener);
+ method protected final java.util.prefs.AbstractPreferences[] cachedChildren();
+ method protected abstract java.util.prefs.AbstractPreferences childSpi(java.lang.String);
+ method public java.lang.String[] childrenNames() throws java.util.prefs.BackingStoreException;
+ method protected abstract java.lang.String[] childrenNamesSpi() throws java.util.prefs.BackingStoreException;
+ method public void clear() throws java.util.prefs.BackingStoreException;
+ method public void exportNode(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException;
+ method public void exportSubtree(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException;
+ method public void flush() throws java.util.prefs.BackingStoreException;
+ method protected abstract void flushSpi() throws java.util.prefs.BackingStoreException;
+ method public java.lang.String get(java.lang.String, java.lang.String);
+ method public boolean getBoolean(java.lang.String, boolean);
+ method public byte[] getByteArray(java.lang.String, byte[]);
+ method protected java.util.prefs.AbstractPreferences getChild(java.lang.String) throws java.util.prefs.BackingStoreException;
+ method public double getDouble(java.lang.String, double);
+ method public float getFloat(java.lang.String, float);
+ method public int getInt(java.lang.String, int);
+ method public long getLong(java.lang.String, long);
+ method protected abstract java.lang.String getSpi(java.lang.String);
+ method protected boolean isRemoved();
+ method public boolean isUserNode();
+ method public java.lang.String[] keys() throws java.util.prefs.BackingStoreException;
+ method protected abstract java.lang.String[] keysSpi() throws java.util.prefs.BackingStoreException;
+ method public java.lang.String name();
+ method public java.util.prefs.Preferences node(java.lang.String);
+ method public boolean nodeExists(java.lang.String) throws java.util.prefs.BackingStoreException;
+ method public java.util.prefs.Preferences parent();
+ method public void put(java.lang.String, java.lang.String);
+ method public void putBoolean(java.lang.String, boolean);
+ method public void putByteArray(java.lang.String, byte[]);
+ method public void putDouble(java.lang.String, double);
+ method public void putFloat(java.lang.String, float);
+ method public void putInt(java.lang.String, int);
+ method public void putLong(java.lang.String, long);
+ method protected abstract void putSpi(java.lang.String, java.lang.String);
+ method public void remove(java.lang.String);
+ method public void removeNode() throws java.util.prefs.BackingStoreException;
+ method public void removeNodeChangeListener(java.util.prefs.NodeChangeListener);
+ method protected abstract void removeNodeSpi() throws java.util.prefs.BackingStoreException;
+ method public void removePreferenceChangeListener(java.util.prefs.PreferenceChangeListener);
+ method protected abstract void removeSpi(java.lang.String);
+ method public void sync() throws java.util.prefs.BackingStoreException;
+ method protected abstract void syncSpi() throws java.util.prefs.BackingStoreException;
+ method public java.lang.String toString();
+ field protected final java.lang.Object lock;
+ field protected boolean newNode;
+ }
+
+ public class BackingStoreException extends java.lang.Exception {
+ ctor public BackingStoreException(java.lang.String);
+ ctor public BackingStoreException(java.lang.Throwable);
+ }
+
+ public class InvalidPreferencesFormatException extends java.lang.Exception {
+ ctor public InvalidPreferencesFormatException(java.lang.String);
+ ctor public InvalidPreferencesFormatException(java.lang.String, java.lang.Throwable);
+ ctor public InvalidPreferencesFormatException(java.lang.Throwable);
+ }
+
+ public class NodeChangeEvent extends java.util.EventObject implements java.io.Serializable {
+ ctor public NodeChangeEvent(java.util.prefs.Preferences, java.util.prefs.Preferences);
+ method public java.util.prefs.Preferences getChild();
+ method public java.util.prefs.Preferences getParent();
+ }
+
+ public abstract interface NodeChangeListener implements java.util.EventListener {
+ method public abstract void childAdded(java.util.prefs.NodeChangeEvent);
+ method public abstract void childRemoved(java.util.prefs.NodeChangeEvent);
+ }
+
+ public class PreferenceChangeEvent extends java.util.EventObject implements java.io.Serializable {
+ ctor public PreferenceChangeEvent(java.util.prefs.Preferences, java.lang.String, java.lang.String);
+ method public java.lang.String getKey();
+ method public java.lang.String getNewValue();
+ method public java.util.prefs.Preferences getNode();
+ }
+
+ public abstract interface PreferenceChangeListener implements java.util.EventListener {
+ method public abstract void preferenceChange(java.util.prefs.PreferenceChangeEvent);
+ }
+
+ public abstract class Preferences {
+ ctor protected Preferences();
+ method public abstract java.lang.String absolutePath();
+ method public abstract void addNodeChangeListener(java.util.prefs.NodeChangeListener);
+ method public abstract void addPreferenceChangeListener(java.util.prefs.PreferenceChangeListener);
+ method public abstract java.lang.String[] childrenNames() throws java.util.prefs.BackingStoreException;
+ method public abstract void clear() throws java.util.prefs.BackingStoreException;
+ method public abstract void exportNode(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException;
+ method public abstract void exportSubtree(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException;
+ method public abstract void flush() throws java.util.prefs.BackingStoreException;
+ method public abstract java.lang.String get(java.lang.String, java.lang.String);
+ method public abstract boolean getBoolean(java.lang.String, boolean);
+ method public abstract byte[] getByteArray(java.lang.String, byte[]);
+ method public abstract double getDouble(java.lang.String, double);
+ method public abstract float getFloat(java.lang.String, float);
+ method public abstract int getInt(java.lang.String, int);
+ method public abstract long getLong(java.lang.String, long);
+ method public static void importPreferences(java.io.InputStream) throws java.io.IOException, java.util.prefs.InvalidPreferencesFormatException;
+ method public abstract boolean isUserNode();
+ method public abstract java.lang.String[] keys() throws java.util.prefs.BackingStoreException;
+ method public abstract java.lang.String name();
+ method public abstract java.util.prefs.Preferences node(java.lang.String);
+ method public abstract boolean nodeExists(java.lang.String) throws java.util.prefs.BackingStoreException;
+ method public abstract java.util.prefs.Preferences parent();
+ method public abstract void put(java.lang.String, java.lang.String);
+ method public abstract void putBoolean(java.lang.String, boolean);
+ method public abstract void putByteArray(java.lang.String, byte[]);
+ method public abstract void putDouble(java.lang.String, double);
+ method public abstract void putFloat(java.lang.String, float);
+ method public abstract void putInt(java.lang.String, int);
+ method public abstract void putLong(java.lang.String, long);
+ method public abstract void remove(java.lang.String);
+ method public abstract void removeNode() throws java.util.prefs.BackingStoreException;
+ method public abstract void removeNodeChangeListener(java.util.prefs.NodeChangeListener);
+ method public abstract void removePreferenceChangeListener(java.util.prefs.PreferenceChangeListener);
+ method public abstract void sync() throws java.util.prefs.BackingStoreException;
+ method public static java.util.prefs.Preferences systemNodeForPackage(java.lang.Class<?>);
+ method public static java.util.prefs.Preferences systemRoot();
+ method public abstract java.lang.String toString();
+ method public static java.util.prefs.Preferences userNodeForPackage(java.lang.Class<?>);
+ method public static java.util.prefs.Preferences userRoot();
+ field public static final int MAX_KEY_LENGTH = 80; // 0x50
+ field public static final int MAX_NAME_LENGTH = 80; // 0x50
+ field public static final int MAX_VALUE_LENGTH = 8192; // 0x2000
+ }
+
+ public abstract interface PreferencesFactory {
+ method public abstract java.util.prefs.Preferences systemRoot();
+ method public abstract java.util.prefs.Preferences userRoot();
+ }
+
+}
+
+package java.util.regex {
+
+ public abstract interface MatchResult {
+ method public abstract int end();
+ method public abstract int end(int);
+ method public abstract java.lang.String group();
+ method public abstract java.lang.String group(int);
+ method public abstract int groupCount();
+ method public abstract int start();
+ method public abstract int start(int);
+ }
+
+ public final class Matcher implements java.util.regex.MatchResult {
+ method public java.util.regex.Matcher appendReplacement(java.lang.StringBuffer, java.lang.String);
+ method public java.lang.StringBuffer appendTail(java.lang.StringBuffer);
+ method public int end(int);
+ method public int end();
+ method public boolean find(int);
+ method public boolean find();
+ method public java.lang.String group(int);
+ method public java.lang.String group();
+ method public int groupCount();
+ method public boolean hasAnchoringBounds();
+ method public boolean hasTransparentBounds();
+ method public boolean hitEnd();
+ method public boolean lookingAt();
+ method public boolean matches();
+ method public java.util.regex.Pattern pattern();
+ method public static java.lang.String quoteReplacement(java.lang.String);
+ method public java.util.regex.Matcher region(int, int);
+ method public int regionEnd();
+ method public int regionStart();
+ method public java.lang.String replaceAll(java.lang.String);
+ method public java.lang.String replaceFirst(java.lang.String);
+ method public boolean requireEnd();
+ method public java.util.regex.Matcher reset();
+ method public java.util.regex.Matcher reset(java.lang.CharSequence);
+ method public int start(int) throws java.lang.IllegalStateException;
+ method public int start();
+ method public java.util.regex.MatchResult toMatchResult();
+ method public java.util.regex.Matcher useAnchoringBounds(boolean);
+ method public java.util.regex.Matcher usePattern(java.util.regex.Pattern);
+ method public java.util.regex.Matcher useTransparentBounds(boolean);
+ }
+
+ public final class Pattern implements java.io.Serializable {
+ method public static java.util.regex.Pattern compile(java.lang.String, int) throws java.util.regex.PatternSyntaxException;
+ method public static java.util.regex.Pattern compile(java.lang.String);
+ method public int flags();
+ method public java.util.regex.Matcher matcher(java.lang.CharSequence);
+ method public static boolean matches(java.lang.String, java.lang.CharSequence);
+ method public java.lang.String pattern();
+ method public static java.lang.String quote(java.lang.String);
+ method public java.lang.String[] split(java.lang.CharSequence, int);
+ method public java.lang.String[] split(java.lang.CharSequence);
+ field public static final int CANON_EQ = 128; // 0x80
+ field public static final int CASE_INSENSITIVE = 2; // 0x2
+ field public static final int COMMENTS = 4; // 0x4
+ field public static final int DOTALL = 32; // 0x20
+ field public static final int LITERAL = 16; // 0x10
+ field public static final int MULTILINE = 8; // 0x8
+ field public static final int UNICODE_CASE = 64; // 0x40
+ field public static final int UNIX_LINES = 1; // 0x1
+ }
+
+ public class PatternSyntaxException extends java.lang.IllegalArgumentException {
+ ctor public PatternSyntaxException(java.lang.String, java.lang.String, int);
+ method public java.lang.String getDescription();
+ method public int getIndex();
+ method public java.lang.String getPattern();
+ }
+
+}
+
+package java.util.zip {
+
+ public class Adler32 implements java.util.zip.Checksum {
+ ctor public Adler32();
+ method public long getValue();
+ method public void reset();
+ method public void update(int);
+ method public void update(byte[]);
+ method public void update(byte[], int, int);
+ }
+
+ public class CRC32 implements java.util.zip.Checksum {
+ ctor public CRC32();
+ method public long getValue();
+ method public void reset();
+ method public void update(int);
+ method public void update(byte[]);
+ method public void update(byte[], int, int);
+ }
+
+ public class CheckedInputStream extends java.io.FilterInputStream {
+ ctor public CheckedInputStream(java.io.InputStream, java.util.zip.Checksum);
+ method public java.util.zip.Checksum getChecksum();
+ }
+
+ public class CheckedOutputStream extends java.io.FilterOutputStream {
+ ctor public CheckedOutputStream(java.io.OutputStream, java.util.zip.Checksum);
+ method public java.util.zip.Checksum getChecksum();
+ }
+
+ public abstract interface Checksum {
+ method public abstract long getValue();
+ method public abstract void reset();
+ method public abstract void update(byte[], int, int);
+ method public abstract void update(int);
+ }
+
+ public class DataFormatException extends java.lang.Exception {
+ ctor public DataFormatException();
+ ctor public DataFormatException(java.lang.String);
+ }
+
+ public class Deflater {
+ ctor public Deflater();
+ ctor public Deflater(int);
+ ctor public Deflater(int, boolean);
+ method public int deflate(byte[]);
+ method public synchronized int deflate(byte[], int, int);
+ method public synchronized void end();
+ method public synchronized void finish();
+ method public synchronized boolean finished();
+ method public synchronized int getAdler();
+ method public synchronized long getBytesRead();
+ method public synchronized long getBytesWritten();
+ method public synchronized int getTotalIn();
+ method public synchronized int getTotalOut();
+ method public synchronized boolean needsInput();
+ method public synchronized void reset();
+ method public void setDictionary(byte[]);
+ method public synchronized void setDictionary(byte[], int, int);
+ method public void setInput(byte[]);
+ method public synchronized void setInput(byte[], int, int);
+ method public synchronized void setLevel(int);
+ method public synchronized void setStrategy(int);
+ field public static final int BEST_COMPRESSION = 9; // 0x9
+ field public static final int BEST_SPEED = 1; // 0x1
+ field public static final int DEFAULT_COMPRESSION = -1; // 0xffffffff
+ field public static final int DEFAULT_STRATEGY = 0; // 0x0
+ field public static final int DEFLATED = 8; // 0x8
+ field public static final int FILTERED = 1; // 0x1
+ field public static final int HUFFMAN_ONLY = 2; // 0x2
+ field public static final int NO_COMPRESSION = 0; // 0x0
+ }
+
+ public class DeflaterInputStream extends java.io.FilterInputStream {
+ ctor public DeflaterInputStream(java.io.InputStream);
+ ctor public DeflaterInputStream(java.io.InputStream, java.util.zip.Deflater);
+ ctor public DeflaterInputStream(java.io.InputStream, java.util.zip.Deflater, int);
+ field protected final byte[] buf;
+ field protected final java.util.zip.Deflater def;
+ }
+
+ public class DeflaterOutputStream extends java.io.FilterOutputStream {
+ ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater);
+ ctor public DeflaterOutputStream(java.io.OutputStream);
+ ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater, int);
+ method protected void deflate() throws java.io.IOException;
+ method public void finish() throws java.io.IOException;
+ field protected byte[] buf;
+ field protected java.util.zip.Deflater def;
+ }
+
+ public class GZIPInputStream extends java.util.zip.InflaterInputStream {
+ ctor public GZIPInputStream(java.io.InputStream) throws java.io.IOException;
+ ctor public GZIPInputStream(java.io.InputStream, int) throws java.io.IOException;
+ field public static final int GZIP_MAGIC = 35615; // 0x8b1f
+ field protected java.util.zip.CRC32 crc;
+ field protected boolean eos;
+ }
+
+ public class GZIPOutputStream extends java.util.zip.DeflaterOutputStream {
+ ctor public GZIPOutputStream(java.io.OutputStream) throws java.io.IOException;
+ ctor public GZIPOutputStream(java.io.OutputStream, int) throws java.io.IOException;
+ field protected java.util.zip.CRC32 crc;
+ }
+
+ public class Inflater {
+ ctor public Inflater();
+ ctor public Inflater(boolean);
+ method public synchronized void end();
+ method public synchronized boolean finished();
+ method public synchronized int getAdler();
+ method public synchronized long getBytesRead();
+ method public synchronized long getBytesWritten();
+ method public synchronized int getRemaining();
+ method public synchronized int getTotalIn();
+ method public synchronized int getTotalOut();
+ method public int inflate(byte[]) throws java.util.zip.DataFormatException;
+ method public synchronized int inflate(byte[], int, int) throws java.util.zip.DataFormatException;
+ method public synchronized boolean needsDictionary();
+ method public synchronized boolean needsInput();
+ method public synchronized void reset();
+ method public synchronized void setDictionary(byte[]);
+ method public synchronized void setDictionary(byte[], int, int);
+ method public synchronized void setInput(byte[]);
+ method public synchronized void setInput(byte[], int, int);
+ }
+
+ public class InflaterInputStream extends java.io.FilterInputStream {
+ ctor public InflaterInputStream(java.io.InputStream);
+ ctor public InflaterInputStream(java.io.InputStream, java.util.zip.Inflater);
+ ctor public InflaterInputStream(java.io.InputStream, java.util.zip.Inflater, int);
+ method protected void fill() throws java.io.IOException;
+ field protected byte[] buf;
+ field protected java.util.zip.Inflater inf;
+ field protected int len;
+ }
+
+ public class InflaterOutputStream extends java.io.FilterOutputStream {
+ ctor public InflaterOutputStream(java.io.OutputStream);
+ ctor public InflaterOutputStream(java.io.OutputStream, java.util.zip.Inflater);
+ ctor public InflaterOutputStream(java.io.OutputStream, java.util.zip.Inflater, int);
+ method public void finish() throws java.io.IOException;
+ field protected final byte[] buf;
+ field protected final java.util.zip.Inflater inf;
+ }
+
+ public class ZipEntry implements java.lang.Cloneable {
+ ctor public ZipEntry(java.lang.String);
+ ctor public ZipEntry(java.util.zip.ZipEntry);
+ method public java.lang.Object clone();
+ method public java.lang.String getComment();
+ method public long getCompressedSize();
+ method public long getCrc();
+ method public byte[] getExtra();
+ method public int getMethod();
+ method public java.lang.String getName();
+ method public long getSize();
+ method public long getTime();
+ method public boolean isDirectory();
+ method public void setComment(java.lang.String);
+ method public void setCompressedSize(long);
+ method public void setCrc(long);
+ method public void setExtra(byte[]);
+ method public void setMethod(int);
+ method public void setSize(long);
+ method public void setTime(long);
+ field public static final int DEFLATED = 8; // 0x8
+ field public static final int STORED = 0; // 0x0
+ }
+
+ public class ZipError extends java.lang.InternalError {
+ ctor public ZipError(java.lang.String);
+ }
+
+ public class ZipException extends java.io.IOException {
+ ctor public ZipException();
+ ctor public ZipException(java.lang.String);
+ }
+
+ public class ZipFile {
+ ctor public ZipFile(java.io.File) throws java.io.IOException, java.util.zip.ZipException;
+ ctor public ZipFile(java.io.File, int) throws java.io.IOException;
+ ctor public ZipFile(java.lang.String) throws java.io.IOException;
+ method public void close() throws java.io.IOException;
+ method public java.util.Enumeration<? extends java.util.zip.ZipEntry> entries();
+ method public java.util.zip.ZipEntry getEntry(java.lang.String);
+ method public java.io.InputStream getInputStream(java.util.zip.ZipEntry) throws java.io.IOException;
+ method public java.lang.String getName();
+ method public int size();
+ field public static final int OPEN_DELETE = 4; // 0x4
+ field public static final int OPEN_READ = 1; // 0x1
+ }
+
+ public class ZipInputStream extends java.util.zip.InflaterInputStream {
+ ctor public ZipInputStream(java.io.InputStream);
+ method public void closeEntry() throws java.io.IOException;
+ method protected java.util.zip.ZipEntry createZipEntry(java.lang.String);
+ method public java.util.zip.ZipEntry getNextEntry() throws java.io.IOException;
+ }
+
+ public class ZipOutputStream extends java.util.zip.DeflaterOutputStream {
+ ctor public ZipOutputStream(java.io.OutputStream);
+ method public void closeEntry() throws java.io.IOException;
+ method public void putNextEntry(java.util.zip.ZipEntry) throws java.io.IOException;
+ method public void setComment(java.lang.String);
+ method public void setLevel(int);
+ method public void setMethod(int);
+ field public static final int DEFLATED = 8; // 0x8
+ field public static final int STORED = 0; // 0x0
+ }
+
+}
+
+package javax.crypto {
+
+ public class BadPaddingException extends java.security.GeneralSecurityException {
+ ctor public BadPaddingException(java.lang.String);
+ ctor public BadPaddingException();
+ }
+
+ public class Cipher {
+ ctor protected Cipher(javax.crypto.CipherSpi, java.security.Provider, java.lang.String);
+ method public final byte[] doFinal() throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException;
+ method public final int doFinal(byte[], int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+ method public final byte[] doFinal(byte[]) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException;
+ method public final byte[] doFinal(byte[], int, int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException;
+ method public final int doFinal(byte[], int, int, byte[]) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+ method public final int doFinal(byte[], int, int, byte[], int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+ method public final int doFinal(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+ method public final java.lang.String getAlgorithm();
+ method public final int getBlockSize();
+ method public final javax.crypto.ExemptionMechanism getExemptionMechanism();
+ method public final byte[] getIV();
+ method public static final javax.crypto.Cipher getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException;
+ method public static final javax.crypto.Cipher getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.NoSuchProviderException;
+ method public static final javax.crypto.Cipher getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException;
+ method public static final int getMaxAllowedKeyLength(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static final java.security.spec.AlgorithmParameterSpec getMaxAllowedParameterSpec(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public final int getOutputSize(int);
+ method public final java.security.AlgorithmParameters getParameters();
+ method public final java.security.Provider getProvider();
+ method public final void init(int, java.security.Key) throws java.security.InvalidKeyException;
+ method public final void init(int, java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException;
+ method public final void init(int, java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ method public final void init(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ method public final void init(int, java.security.Key, java.security.AlgorithmParameters) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ method public final void init(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ method public final void init(int, java.security.cert.Certificate) throws java.security.InvalidKeyException;
+ method public final void init(int, java.security.cert.Certificate, java.security.SecureRandom) throws java.security.InvalidKeyException;
+ method public final java.security.Key unwrap(byte[], java.lang.String, int) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+ method public final byte[] update(byte[]);
+ method public final byte[] update(byte[], int, int);
+ method public final int update(byte[], int, int, byte[]) throws javax.crypto.ShortBufferException;
+ method public final int update(byte[], int, int, byte[], int) throws javax.crypto.ShortBufferException;
+ method public final int update(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.ShortBufferException;
+ method public final byte[] wrap(java.security.Key) throws javax.crypto.IllegalBlockSizeException, java.security.InvalidKeyException;
+ field public static final int DECRYPT_MODE = 2; // 0x2
+ field public static final int ENCRYPT_MODE = 1; // 0x1
+ field public static final int PRIVATE_KEY = 2; // 0x2
+ field public static final int PUBLIC_KEY = 1; // 0x1
+ field public static final int SECRET_KEY = 3; // 0x3
+ field public static final int UNWRAP_MODE = 4; // 0x4
+ field public static final int WRAP_MODE = 3; // 0x3
+ }
+
+ public class CipherInputStream extends java.io.FilterInputStream {
+ ctor public CipherInputStream(java.io.InputStream, javax.crypto.Cipher);
+ ctor protected CipherInputStream(java.io.InputStream);
+ }
+
+ public class CipherOutputStream extends java.io.FilterOutputStream {
+ ctor public CipherOutputStream(java.io.OutputStream, javax.crypto.Cipher);
+ ctor protected CipherOutputStream(java.io.OutputStream);
+ }
+
+ public abstract class CipherSpi {
+ ctor public CipherSpi();
+ method protected abstract byte[] engineDoFinal(byte[], int, int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException;
+ method protected abstract int engineDoFinal(byte[], int, int, byte[], int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+ method protected int engineDoFinal(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+ method protected abstract int engineGetBlockSize();
+ method protected abstract byte[] engineGetIV();
+ method protected int engineGetKeySize(java.security.Key) throws java.security.InvalidKeyException;
+ method protected abstract int engineGetOutputSize(int);
+ method protected abstract java.security.AlgorithmParameters engineGetParameters();
+ method protected abstract void engineInit(int, java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException;
+ method protected abstract void engineInit(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ method protected abstract void engineInit(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ method protected abstract void engineSetMode(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method protected abstract void engineSetPadding(java.lang.String) throws javax.crypto.NoSuchPaddingException;
+ method protected java.security.Key engineUnwrap(byte[], java.lang.String, int) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+ method protected abstract byte[] engineUpdate(byte[], int, int);
+ method protected abstract int engineUpdate(byte[], int, int, byte[], int) throws javax.crypto.ShortBufferException;
+ method protected int engineUpdate(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.ShortBufferException;
+ method protected byte[] engineWrap(java.security.Key) throws javax.crypto.IllegalBlockSizeException, java.security.InvalidKeyException;
+ }
+
+ public class EncryptedPrivateKeyInfo {
+ ctor public EncryptedPrivateKeyInfo(byte[]) throws java.io.IOException;
+ ctor public EncryptedPrivateKeyInfo(java.lang.String, byte[]) throws java.security.NoSuchAlgorithmException;
+ ctor public EncryptedPrivateKeyInfo(java.security.AlgorithmParameters, byte[]) throws java.security.NoSuchAlgorithmException;
+ method public java.lang.String getAlgName();
+ method public java.security.AlgorithmParameters getAlgParameters();
+ method public byte[] getEncoded() throws java.io.IOException;
+ method public byte[] getEncryptedData();
+ method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(javax.crypto.Cipher) throws java.security.spec.InvalidKeySpecException;
+ method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(java.security.Key) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+ method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(java.security.Key, java.lang.String) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(java.security.Key, java.security.Provider) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+ }
+
+ public class ExemptionMechanism {
+ ctor protected ExemptionMechanism(javax.crypto.ExemptionMechanismSpi, java.security.Provider, java.lang.String);
+ method public final byte[] genExemptionBlob() throws javax.crypto.ExemptionMechanismException, java.lang.IllegalStateException;
+ method public final int genExemptionBlob(byte[]) throws javax.crypto.ExemptionMechanismException, java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+ method public final int genExemptionBlob(byte[], int) throws javax.crypto.ExemptionMechanismException, java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+ method public static final javax.crypto.ExemptionMechanism getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static final javax.crypto.ExemptionMechanism getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static final javax.crypto.ExemptionMechanism getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final java.lang.String getName();
+ method public final int getOutputSize(int) throws java.lang.IllegalStateException;
+ method public final java.security.Provider getProvider();
+ method public final void init(java.security.Key) throws javax.crypto.ExemptionMechanismException, java.security.InvalidKeyException;
+ method public final void init(java.security.Key, java.security.AlgorithmParameters) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ method public final boolean isCryptoAllowed(java.security.Key) throws javax.crypto.ExemptionMechanismException;
+ }
+
+ public class ExemptionMechanismException extends java.security.GeneralSecurityException {
+ ctor public ExemptionMechanismException(java.lang.String);
+ ctor public ExemptionMechanismException();
+ }
+
+ public abstract class ExemptionMechanismSpi {
+ ctor public ExemptionMechanismSpi();
+ method protected abstract byte[] engineGenExemptionBlob() throws javax.crypto.ExemptionMechanismException;
+ method protected abstract int engineGenExemptionBlob(byte[], int) throws javax.crypto.ExemptionMechanismException, javax.crypto.ShortBufferException;
+ method protected abstract int engineGetOutputSize(int);
+ method protected abstract void engineInit(java.security.Key) throws javax.crypto.ExemptionMechanismException, java.security.InvalidKeyException;
+ method protected abstract void engineInit(java.security.Key, java.security.AlgorithmParameters) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ method protected abstract void engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ }
+
+ public class IllegalBlockSizeException extends java.security.GeneralSecurityException {
+ ctor public IllegalBlockSizeException(java.lang.String);
+ ctor public IllegalBlockSizeException();
+ }
+
+ public class KeyAgreement {
+ ctor protected KeyAgreement(javax.crypto.KeyAgreementSpi, java.security.Provider, java.lang.String);
+ method public final java.security.Key doPhase(java.security.Key, boolean) throws java.lang.IllegalStateException, java.security.InvalidKeyException;
+ method public final byte[] generateSecret() throws java.lang.IllegalStateException;
+ method public final int generateSecret(byte[], int) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+ method public final javax.crypto.SecretKey generateSecret(java.lang.String) throws java.lang.IllegalStateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+ method public final java.lang.String getAlgorithm();
+ method public static final javax.crypto.KeyAgreement getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static final javax.crypto.KeyAgreement getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static final javax.crypto.KeyAgreement getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final java.security.Provider getProvider();
+ method public final void init(java.security.Key) throws java.security.InvalidKeyException;
+ method public final void init(java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException;
+ method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ }
+
+ public abstract class KeyAgreementSpi {
+ ctor public KeyAgreementSpi();
+ method protected abstract java.security.Key engineDoPhase(java.security.Key, boolean) throws java.lang.IllegalStateException, java.security.InvalidKeyException;
+ method protected abstract byte[] engineGenerateSecret() throws java.lang.IllegalStateException;
+ method protected abstract int engineGenerateSecret(byte[], int) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+ method protected abstract javax.crypto.SecretKey engineGenerateSecret(java.lang.String) throws java.lang.IllegalStateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+ method protected abstract void engineInit(java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException;
+ method protected abstract void engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ }
+
+ public class KeyGenerator {
+ ctor protected KeyGenerator(javax.crypto.KeyGeneratorSpi, java.security.Provider, java.lang.String);
+ method public final javax.crypto.SecretKey generateKey();
+ method public final java.lang.String getAlgorithm();
+ method public static final javax.crypto.KeyGenerator getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static final javax.crypto.KeyGenerator getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static final javax.crypto.KeyGenerator getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final java.security.Provider getProvider();
+ method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+ method public final void init(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+ method public final void init(int);
+ method public final void init(int, java.security.SecureRandom);
+ method public final void init(java.security.SecureRandom);
+ }
+
+ public abstract class KeyGeneratorSpi {
+ ctor public KeyGeneratorSpi();
+ method protected abstract javax.crypto.SecretKey engineGenerateKey();
+ method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+ method protected abstract void engineInit(int, java.security.SecureRandom);
+ method protected abstract void engineInit(java.security.SecureRandom);
+ }
+
+ public class Mac implements java.lang.Cloneable {
+ ctor protected Mac(javax.crypto.MacSpi, java.security.Provider, java.lang.String);
+ method public final java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public final byte[] doFinal() throws java.lang.IllegalStateException;
+ method public final void doFinal(byte[], int) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+ method public final byte[] doFinal(byte[]) throws java.lang.IllegalStateException;
+ method public final java.lang.String getAlgorithm();
+ method public static final javax.crypto.Mac getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static final javax.crypto.Mac getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static final javax.crypto.Mac getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final int getMacLength();
+ method public final java.security.Provider getProvider();
+ method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ method public final void init(java.security.Key) throws java.security.InvalidKeyException;
+ method public final void reset();
+ method public final void update(byte) throws java.lang.IllegalStateException;
+ method public final void update(byte[], int, int) throws java.lang.IllegalStateException;
+ method public final void update(byte[]) throws java.lang.IllegalStateException;
+ method public final void update(java.nio.ByteBuffer);
+ }
+
+ public abstract class MacSpi {
+ ctor public MacSpi();
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method protected abstract byte[] engineDoFinal();
+ method protected abstract int engineGetMacLength();
+ method protected abstract void engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+ method protected abstract void engineReset();
+ method protected abstract void engineUpdate(byte);
+ method protected abstract void engineUpdate(byte[], int, int);
+ method protected void engineUpdate(java.nio.ByteBuffer);
+ }
+
+ public class NoSuchPaddingException extends java.security.GeneralSecurityException {
+ ctor public NoSuchPaddingException(java.lang.String);
+ ctor public NoSuchPaddingException();
+ }
+
+ public class NullCipher extends javax.crypto.Cipher {
+ ctor public NullCipher();
+ }
+
+ public class SealedObject implements java.io.Serializable {
+ ctor public SealedObject(java.io.Serializable, javax.crypto.Cipher) throws java.io.IOException, javax.crypto.IllegalBlockSizeException;
+ ctor protected SealedObject(javax.crypto.SealedObject);
+ method public final java.lang.String getAlgorithm();
+ method public final java.lang.Object getObject(java.security.Key) throws java.lang.ClassNotFoundException, java.io.IOException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+ method public final java.lang.Object getObject(javax.crypto.Cipher) throws javax.crypto.BadPaddingException, java.lang.ClassNotFoundException, java.io.IOException, javax.crypto.IllegalBlockSizeException;
+ method public final java.lang.Object getObject(java.security.Key, java.lang.String) throws java.lang.ClassNotFoundException, java.io.IOException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ field protected byte[] encodedParams;
+ }
+
+ public abstract interface SecretKey implements java.security.Key {
+ field public static final long serialVersionUID = -4795878709595146952L; // 0xbd719db928b8f538L
+ }
+
+ public class SecretKeyFactory {
+ ctor protected SecretKeyFactory(javax.crypto.SecretKeyFactorySpi, java.security.Provider, java.lang.String);
+ method public final javax.crypto.SecretKey generateSecret(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+ method public final java.lang.String getAlgorithm();
+ method public static final javax.crypto.SecretKeyFactory getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static final javax.crypto.SecretKeyFactory getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static final javax.crypto.SecretKeyFactory getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final java.security.spec.KeySpec getKeySpec(javax.crypto.SecretKey, java.lang.Class) throws java.security.spec.InvalidKeySpecException;
+ method public final java.security.Provider getProvider();
+ method public final javax.crypto.SecretKey translateKey(javax.crypto.SecretKey) throws java.security.InvalidKeyException;
+ }
+
+ public abstract class SecretKeyFactorySpi {
+ ctor public SecretKeyFactorySpi();
+ method protected abstract javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+ method protected abstract java.security.spec.KeySpec engineGetKeySpec(javax.crypto.SecretKey, java.lang.Class) throws java.security.spec.InvalidKeySpecException;
+ method protected abstract javax.crypto.SecretKey engineTranslateKey(javax.crypto.SecretKey) throws java.security.InvalidKeyException;
+ }
+
+ public class ShortBufferException extends java.security.GeneralSecurityException {
+ ctor public ShortBufferException(java.lang.String);
+ ctor public ShortBufferException();
+ }
+
+}
+
+package javax.crypto.interfaces {
+
+ public abstract interface DHKey {
+ method public abstract javax.crypto.spec.DHParameterSpec getParams();
+ }
+
+ public abstract interface DHPrivateKey implements javax.crypto.interfaces.DHKey java.security.PrivateKey {
+ method public abstract java.math.BigInteger getX();
+ field public static final long serialVersionUID = 2211791113380396553L; // 0x1eb1dc4c8e677e09L
+ }
+
+ public abstract interface DHPublicKey implements javax.crypto.interfaces.DHKey java.security.PublicKey {
+ method public abstract java.math.BigInteger getY();
+ field public static final long serialVersionUID = -6628103563352519193L; // 0xa4043eed23df4de7L
+ }
+
+ public abstract interface PBEKey implements javax.crypto.SecretKey {
+ method public abstract int getIterationCount();
+ method public abstract char[] getPassword();
+ method public abstract byte[] getSalt();
+ field public static final long serialVersionUID = -1430015993304333921L; // 0xec279007d7f7c19fL
+ }
+
+}
+
+package javax.crypto.spec {
+
+ public class DESKeySpec implements java.security.spec.KeySpec {
+ ctor public DESKeySpec(byte[]) throws java.security.InvalidKeyException;
+ ctor public DESKeySpec(byte[], int) throws java.security.InvalidKeyException;
+ method public byte[] getKey();
+ method public static boolean isParityAdjusted(byte[], int) throws java.security.InvalidKeyException;
+ method public static boolean isWeak(byte[], int) throws java.security.InvalidKeyException;
+ field public static final int DES_KEY_LEN = 8; // 0x8
+ }
+
+ public class DESedeKeySpec implements java.security.spec.KeySpec {
+ ctor public DESedeKeySpec(byte[]) throws java.security.InvalidKeyException;
+ ctor public DESedeKeySpec(byte[], int) throws java.security.InvalidKeyException;
+ method public byte[] getKey();
+ method public static boolean isParityAdjusted(byte[], int) throws java.security.InvalidKeyException;
+ field public static final int DES_EDE_KEY_LEN = 24; // 0x18
+ }
+
+ public class DHGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+ ctor public DHGenParameterSpec(int, int);
+ method public int getExponentSize();
+ method public int getPrimeSize();
+ }
+
+ public class DHParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+ ctor public DHParameterSpec(java.math.BigInteger, java.math.BigInteger);
+ ctor public DHParameterSpec(java.math.BigInteger, java.math.BigInteger, int);
+ method public java.math.BigInteger getG();
+ method public int getL();
+ method public java.math.BigInteger getP();
+ }
+
+ public class DHPrivateKeySpec implements java.security.spec.KeySpec {
+ ctor public DHPrivateKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+ method public java.math.BigInteger getG();
+ method public java.math.BigInteger getP();
+ method public java.math.BigInteger getX();
+ }
+
+ public class DHPublicKeySpec implements java.security.spec.KeySpec {
+ ctor public DHPublicKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+ method public java.math.BigInteger getG();
+ method public java.math.BigInteger getP();
+ method public java.math.BigInteger getY();
+ }
+
+ public class IvParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+ ctor public IvParameterSpec(byte[]);
+ ctor public IvParameterSpec(byte[], int, int);
+ method public byte[] getIV();
+ }
+
+ public class OAEPParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+ ctor public OAEPParameterSpec(java.lang.String, java.lang.String, java.security.spec.AlgorithmParameterSpec, javax.crypto.spec.PSource);
+ method public java.lang.String getDigestAlgorithm();
+ method public java.lang.String getMGFAlgorithm();
+ method public java.security.spec.AlgorithmParameterSpec getMGFParameters();
+ method public javax.crypto.spec.PSource getPSource();
+ field public static final javax.crypto.spec.OAEPParameterSpec DEFAULT;
+ }
+
+ public class PBEKeySpec implements java.security.spec.KeySpec {
+ ctor public PBEKeySpec(char[]);
+ ctor public PBEKeySpec(char[], byte[], int, int);
+ ctor public PBEKeySpec(char[], byte[], int);
+ method public final void clearPassword();
+ method public final int getIterationCount();
+ method public final int getKeyLength();
+ method public final char[] getPassword();
+ method public final byte[] getSalt();
+ }
+
+ public class PBEParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+ ctor public PBEParameterSpec(byte[], int);
+ method public int getIterationCount();
+ method public byte[] getSalt();
+ }
+
+ public class PSource {
+ ctor protected PSource(java.lang.String);
+ method public java.lang.String getAlgorithm();
+ }
+
+ public static final class PSource.PSpecified extends javax.crypto.spec.PSource {
+ ctor public PSource.PSpecified(byte[]);
+ method public byte[] getValue();
+ field public static final javax.crypto.spec.PSource.PSpecified DEFAULT;
+ }
+
+ public class RC2ParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+ ctor public RC2ParameterSpec(int);
+ ctor public RC2ParameterSpec(int, byte[]);
+ ctor public RC2ParameterSpec(int, byte[], int);
+ method public int getEffectiveKeyBits();
+ method public byte[] getIV();
+ }
+
+ public class RC5ParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+ ctor public RC5ParameterSpec(int, int, int);
+ ctor public RC5ParameterSpec(int, int, int, byte[]);
+ ctor public RC5ParameterSpec(int, int, int, byte[], int);
+ method public byte[] getIV();
+ method public int getRounds();
+ method public int getVersion();
+ method public int getWordSize();
+ }
+
+ public class SecretKeySpec implements java.security.spec.KeySpec javax.crypto.SecretKey java.io.Serializable {
+ ctor public SecretKeySpec(byte[], java.lang.String);
+ ctor public SecretKeySpec(byte[], int, int, java.lang.String);
+ method public java.lang.String getAlgorithm();
+ method public byte[] getEncoded();
+ method public java.lang.String getFormat();
+ }
+
+}
+
+package javax.microedition.khronos.egl {
+
+ public abstract interface EGL {
+ }
+
+ public abstract interface EGL10 implements javax.microedition.khronos.egl.EGL {
+ method public abstract boolean eglChooseConfig(javax.microedition.khronos.egl.EGLDisplay, int[], javax.microedition.khronos.egl.EGLConfig[], int, int[]);
+ method public abstract boolean eglCopyBuffers(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, java.lang.Object);
+ method public abstract javax.microedition.khronos.egl.EGLContext eglCreateContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, javax.microedition.khronos.egl.EGLContext, int[]);
+ method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePbufferSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, int[]);
+ method public abstract javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]);
+ method public abstract javax.microedition.khronos.egl.EGLSurface eglCreateWindowSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, java.lang.Object, int[]);
+ method public abstract boolean eglDestroyContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext);
+ method public abstract boolean eglDestroySurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface);
+ method public abstract boolean eglGetConfigAttrib(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, int, int[]);
+ method public abstract boolean eglGetConfigs(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig[], int, int[]);
+ method public abstract javax.microedition.khronos.egl.EGLContext eglGetCurrentContext();
+ method public abstract javax.microedition.khronos.egl.EGLDisplay eglGetCurrentDisplay();
+ method public abstract javax.microedition.khronos.egl.EGLSurface eglGetCurrentSurface(int);
+ method public abstract javax.microedition.khronos.egl.EGLDisplay eglGetDisplay(java.lang.Object);
+ method public abstract int eglGetError();
+ method public abstract boolean eglInitialize(javax.microedition.khronos.egl.EGLDisplay, int[]);
+ method public abstract boolean eglMakeCurrent(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, javax.microedition.khronos.egl.EGLSurface, javax.microedition.khronos.egl.EGLContext);
+ method public abstract boolean eglQueryContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext, int, int[]);
+ method public abstract java.lang.String eglQueryString(javax.microedition.khronos.egl.EGLDisplay, int);
+ method public abstract boolean eglQuerySurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, int, int[]);
+ method public abstract boolean eglSwapBuffers(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface);
+ method public abstract boolean eglTerminate(javax.microedition.khronos.egl.EGLDisplay);
+ method public abstract boolean eglWaitGL();
+ method public abstract boolean eglWaitNative(int, java.lang.Object);
+ field public static final int EGL_ALPHA_FORMAT = 12424; // 0x3088
+ field public static final int EGL_ALPHA_MASK_SIZE = 12350; // 0x303e
+ field public static final int EGL_ALPHA_SIZE = 12321; // 0x3021
+ field public static final int EGL_BAD_ACCESS = 12290; // 0x3002
+ field public static final int EGL_BAD_ALLOC = 12291; // 0x3003
+ field public static final int EGL_BAD_ATTRIBUTE = 12292; // 0x3004
+ field public static final int EGL_BAD_CONFIG = 12293; // 0x3005
+ field public static final int EGL_BAD_CONTEXT = 12294; // 0x3006
+ field public static final int EGL_BAD_CURRENT_SURFACE = 12295; // 0x3007
+ field public static final int EGL_BAD_DISPLAY = 12296; // 0x3008
+ field public static final int EGL_BAD_MATCH = 12297; // 0x3009
+ field public static final int EGL_BAD_NATIVE_PIXMAP = 12298; // 0x300a
+ field public static final int EGL_BAD_NATIVE_WINDOW = 12299; // 0x300b
+ field public static final int EGL_BAD_PARAMETER = 12300; // 0x300c
+ field public static final int EGL_BAD_SURFACE = 12301; // 0x300d
+ field public static final int EGL_BLUE_SIZE = 12322; // 0x3022
+ field public static final int EGL_BUFFER_SIZE = 12320; // 0x3020
+ field public static final int EGL_COLORSPACE = 12423; // 0x3087
+ field public static final int EGL_COLOR_BUFFER_TYPE = 12351; // 0x303f
+ field public static final int EGL_CONFIG_CAVEAT = 12327; // 0x3027
+ field public static final int EGL_CONFIG_ID = 12328; // 0x3028
+ field public static final int EGL_CORE_NATIVE_ENGINE = 12379; // 0x305b
+ field public static final java.lang.Object EGL_DEFAULT_DISPLAY;
+ field public static final int EGL_DEPTH_SIZE = 12325; // 0x3025
+ field public static final int EGL_DONT_CARE = -1; // 0xffffffff
+ field public static final int EGL_DRAW = 12377; // 0x3059
+ field public static final int EGL_EXTENSIONS = 12373; // 0x3055
+ field public static final int EGL_GREEN_SIZE = 12323; // 0x3023
+ field public static final int EGL_HEIGHT = 12374; // 0x3056
+ field public static final int EGL_HORIZONTAL_RESOLUTION = 12432; // 0x3090
+ field public static final int EGL_LARGEST_PBUFFER = 12376; // 0x3058
+ field public static final int EGL_LEVEL = 12329; // 0x3029
+ field public static final int EGL_LUMINANCE_BUFFER = 12431; // 0x308f
+ field public static final int EGL_LUMINANCE_SIZE = 12349; // 0x303d
+ field public static final int EGL_MAX_PBUFFER_HEIGHT = 12330; // 0x302a
+ field public static final int EGL_MAX_PBUFFER_PIXELS = 12331; // 0x302b
+ field public static final int EGL_MAX_PBUFFER_WIDTH = 12332; // 0x302c
+ field public static final int EGL_NATIVE_RENDERABLE = 12333; // 0x302d
+ field public static final int EGL_NATIVE_VISUAL_ID = 12334; // 0x302e
+ field public static final int EGL_NATIVE_VISUAL_TYPE = 12335; // 0x302f
+ field public static final int EGL_NONE = 12344; // 0x3038
+ field public static final int EGL_NON_CONFORMANT_CONFIG = 12369; // 0x3051
+ field public static final int EGL_NOT_INITIALIZED = 12289; // 0x3001
+ field public static final javax.microedition.khronos.egl.EGLContext EGL_NO_CONTEXT;
+ field public static final javax.microedition.khronos.egl.EGLDisplay EGL_NO_DISPLAY;
+ field public static final javax.microedition.khronos.egl.EGLSurface EGL_NO_SURFACE;
+ field public static final int EGL_PBUFFER_BIT = 1; // 0x1
+ field public static final int EGL_PIXEL_ASPECT_RATIO = 12434; // 0x3092
+ field public static final int EGL_PIXMAP_BIT = 2; // 0x2
+ field public static final int EGL_READ = 12378; // 0x305a
+ field public static final int EGL_RED_SIZE = 12324; // 0x3024
+ field public static final int EGL_RENDERABLE_TYPE = 12352; // 0x3040
+ field public static final int EGL_RENDER_BUFFER = 12422; // 0x3086
+ field public static final int EGL_RGB_BUFFER = 12430; // 0x308e
+ field public static final int EGL_SAMPLES = 12337; // 0x3031
+ field public static final int EGL_SAMPLE_BUFFERS = 12338; // 0x3032
+ field public static final int EGL_SINGLE_BUFFER = 12421; // 0x3085
+ field public static final int EGL_SLOW_CONFIG = 12368; // 0x3050
+ field public static final int EGL_STENCIL_SIZE = 12326; // 0x3026
+ field public static final int EGL_SUCCESS = 12288; // 0x3000
+ field public static final int EGL_SURFACE_TYPE = 12339; // 0x3033
+ field public static final int EGL_TRANSPARENT_BLUE_VALUE = 12341; // 0x3035
+ field public static final int EGL_TRANSPARENT_GREEN_VALUE = 12342; // 0x3036
+ field public static final int EGL_TRANSPARENT_RED_VALUE = 12343; // 0x3037
+ field public static final int EGL_TRANSPARENT_RGB = 12370; // 0x3052
+ field public static final int EGL_TRANSPARENT_TYPE = 12340; // 0x3034
+ field public static final int EGL_VENDOR = 12371; // 0x3053
+ field public static final int EGL_VERSION = 12372; // 0x3054
+ field public static final int EGL_VERTICAL_RESOLUTION = 12433; // 0x3091
+ field public static final int EGL_WIDTH = 12375; // 0x3057
+ field public static final int EGL_WINDOW_BIT = 4; // 0x4
+ }
+
+ public abstract interface EGL11 implements javax.microedition.khronos.egl.EGL10 {
+ field public static final int EGL_CONTEXT_LOST = 12302; // 0x300e
+ }
+
+ public abstract class EGLConfig {
+ ctor public EGLConfig();
+ }
+
+ public abstract class EGLContext {
+ ctor public EGLContext();
+ method public static javax.microedition.khronos.egl.EGL getEGL();
+ method public abstract javax.microedition.khronos.opengles.GL getGL();
+ }
+
+ public abstract class EGLDisplay {
+ ctor public EGLDisplay();
+ }
+
+ public abstract class EGLSurface {
+ ctor public EGLSurface();
+ }
+
+}
+
+package javax.microedition.khronos.opengles {
+
+ public abstract interface GL {
+ }
+
+ public abstract interface GL10 implements javax.microedition.khronos.opengles.GL {
+ method public abstract void glActiveTexture(int);
+ method public abstract void glAlphaFunc(int, float);
+ method public abstract void glAlphaFuncx(int, int);
+ method public abstract void glBindTexture(int, int);
+ method public abstract void glBlendFunc(int, int);
+ method public abstract void glClear(int);
+ method public abstract void glClearColor(float, float, float, float);
+ method public abstract void glClearColorx(int, int, int, int);
+ method public abstract void glClearDepthf(float);
+ method public abstract void glClearDepthx(int);
+ method public abstract void glClearStencil(int);
+ method public abstract void glClientActiveTexture(int);
+ method public abstract void glColor4f(float, float, float, float);
+ method public abstract void glColor4x(int, int, int, int);
+ method public abstract void glColorMask(boolean, boolean, boolean, boolean);
+ method public abstract void glColorPointer(int, int, int, java.nio.Buffer);
+ method public abstract void glCompressedTexImage2D(int, int, int, int, int, int, int, java.nio.Buffer);
+ method public abstract void glCompressedTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+ method public abstract void glCopyTexImage2D(int, int, int, int, int, int, int, int);
+ method public abstract void glCopyTexSubImage2D(int, int, int, int, int, int, int, int);
+ method public abstract void glCullFace(int);
+ method public abstract void glDeleteTextures(int, int[], int);
+ method public abstract void glDeleteTextures(int, java.nio.IntBuffer);
+ method public abstract void glDepthFunc(int);
+ method public abstract void glDepthMask(boolean);
+ method public abstract void glDepthRangef(float, float);
+ method public abstract void glDepthRangex(int, int);
+ method public abstract void glDisable(int);
+ method public abstract void glDisableClientState(int);
+ method public abstract void glDrawArrays(int, int, int);
+ method public abstract void glDrawElements(int, int, int, java.nio.Buffer);
+ method public abstract void glEnable(int);
+ method public abstract void glEnableClientState(int);
+ method public abstract void glFinish();
+ method public abstract void glFlush();
+ method public abstract void glFogf(int, float);
+ method public abstract void glFogfv(int, float[], int);
+ method public abstract void glFogfv(int, java.nio.FloatBuffer);
+ method public abstract void glFogx(int, int);
+ method public abstract void glFogxv(int, int[], int);
+ method public abstract void glFogxv(int, java.nio.IntBuffer);
+ method public abstract void glFrontFace(int);
+ method public abstract void glFrustumf(float, float, float, float, float, float);
+ method public abstract void glFrustumx(int, int, int, int, int, int);
+ method public abstract void glGenTextures(int, int[], int);
+ method public abstract void glGenTextures(int, java.nio.IntBuffer);
+ method public abstract int glGetError();
+ method public abstract void glGetIntegerv(int, int[], int);
+ method public abstract void glGetIntegerv(int, java.nio.IntBuffer);
+ method public abstract java.lang.String glGetString(int);
+ method public abstract void glHint(int, int);
+ method public abstract void glLightModelf(int, float);
+ method public abstract void glLightModelfv(int, float[], int);
+ method public abstract void glLightModelfv(int, java.nio.FloatBuffer);
+ method public abstract void glLightModelx(int, int);
+ method public abstract void glLightModelxv(int, int[], int);
+ method public abstract void glLightModelxv(int, java.nio.IntBuffer);
+ method public abstract void glLightf(int, int, float);
+ method public abstract void glLightfv(int, int, float[], int);
+ method public abstract void glLightfv(int, int, java.nio.FloatBuffer);
+ method public abstract void glLightx(int, int, int);
+ method public abstract void glLightxv(int, int, int[], int);
+ method public abstract void glLightxv(int, int, java.nio.IntBuffer);
+ method public abstract void glLineWidth(float);
+ method public abstract void glLineWidthx(int);
+ method public abstract void glLoadIdentity();
+ method public abstract void glLoadMatrixf(float[], int);
+ method public abstract void glLoadMatrixf(java.nio.FloatBuffer);
+ method public abstract void glLoadMatrixx(int[], int);
+ method public abstract void glLoadMatrixx(java.nio.IntBuffer);
+ method public abstract void glLogicOp(int);
+ method public abstract void glMaterialf(int, int, float);
+ method public abstract void glMaterialfv(int, int, float[], int);
+ method public abstract void glMaterialfv(int, int, java.nio.FloatBuffer);
+ method public abstract void glMaterialx(int, int, int);
+ method public abstract void glMaterialxv(int, int, int[], int);
+ method public abstract void glMaterialxv(int, int, java.nio.IntBuffer);
+ method public abstract void glMatrixMode(int);
+ method public abstract void glMultMatrixf(float[], int);
+ method public abstract void glMultMatrixf(java.nio.FloatBuffer);
+ method public abstract void glMultMatrixx(int[], int);
+ method public abstract void glMultMatrixx(java.nio.IntBuffer);
+ method public abstract void glMultiTexCoord4f(int, float, float, float, float);
+ method public abstract void glMultiTexCoord4x(int, int, int, int, int);
+ method public abstract void glNormal3f(float, float, float);
+ method public abstract void glNormal3x(int, int, int);
+ method public abstract void glNormalPointer(int, int, java.nio.Buffer);
+ method public abstract void glOrthof(float, float, float, float, float, float);
+ method public abstract void glOrthox(int, int, int, int, int, int);
+ method public abstract void glPixelStorei(int, int);
+ method public abstract void glPointSize(float);
+ method public abstract void glPointSizex(int);
+ method public abstract void glPolygonOffset(float, float);
+ method public abstract void glPolygonOffsetx(int, int);
+ method public abstract void glPopMatrix();
+ method public abstract void glPushMatrix();
+ method public abstract void glReadPixels(int, int, int, int, int, int, java.nio.Buffer);
+ method public abstract void glRotatef(float, float, float, float);
+ method public abstract void glRotatex(int, int, int, int);
+ method public abstract void glSampleCoverage(float, boolean);
+ method public abstract void glSampleCoveragex(int, boolean);
+ method public abstract void glScalef(float, float, float);
+ method public abstract void glScalex(int, int, int);
+ method public abstract void glScissor(int, int, int, int);
+ method public abstract void glShadeModel(int);
+ method public abstract void glStencilFunc(int, int, int);
+ method public abstract void glStencilMask(int);
+ method public abstract void glStencilOp(int, int, int);
+ method public abstract void glTexCoordPointer(int, int, int, java.nio.Buffer);
+ method public abstract void glTexEnvf(int, int, float);
+ method public abstract void glTexEnvfv(int, int, float[], int);
+ method public abstract void glTexEnvfv(int, int, java.nio.FloatBuffer);
+ method public abstract void glTexEnvx(int, int, int);
+ method public abstract void glTexEnvxv(int, int, int[], int);
+ method public abstract void glTexEnvxv(int, int, java.nio.IntBuffer);
+ method public abstract void glTexImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+ method public abstract void glTexParameterf(int, int, float);
+ method public abstract void glTexParameterx(int, int, int);
+ method public abstract void glTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+ method public abstract void glTranslatef(float, float, float);
+ method public abstract void glTranslatex(int, int, int);
+ method public abstract void glVertexPointer(int, int, int, java.nio.Buffer);
+ method public abstract void glViewport(int, int, int, int);
+ field public static final int GL_ADD = 260; // 0x104
+ field public static final int GL_ALIASED_LINE_WIDTH_RANGE = 33902; // 0x846e
+ field public static final int GL_ALIASED_POINT_SIZE_RANGE = 33901; // 0x846d
+ field public static final int GL_ALPHA = 6406; // 0x1906
+ field public static final int GL_ALPHA_BITS = 3413; // 0xd55
+ field public static final int GL_ALPHA_TEST = 3008; // 0xbc0
+ field public static final int GL_ALWAYS = 519; // 0x207
+ field public static final int GL_AMBIENT = 4608; // 0x1200
+ field public static final int GL_AMBIENT_AND_DIFFUSE = 5634; // 0x1602
+ field public static final int GL_AND = 5377; // 0x1501
+ field public static final int GL_AND_INVERTED = 5380; // 0x1504
+ field public static final int GL_AND_REVERSE = 5378; // 0x1502
+ field public static final int GL_BACK = 1029; // 0x405
+ field public static final int GL_BLEND = 3042; // 0xbe2
+ field public static final int GL_BLUE_BITS = 3412; // 0xd54
+ field public static final int GL_BYTE = 5120; // 0x1400
+ field public static final int GL_CCW = 2305; // 0x901
+ field public static final int GL_CLAMP_TO_EDGE = 33071; // 0x812f
+ field public static final int GL_CLEAR = 5376; // 0x1500
+ field public static final int GL_COLOR_ARRAY = 32886; // 0x8076
+ field public static final int GL_COLOR_BUFFER_BIT = 16384; // 0x4000
+ field public static final int GL_COLOR_LOGIC_OP = 3058; // 0xbf2
+ field public static final int GL_COLOR_MATERIAL = 2903; // 0xb57
+ field public static final int GL_COMPRESSED_TEXTURE_FORMATS = 34467; // 0x86a3
+ field public static final int GL_CONSTANT_ATTENUATION = 4615; // 0x1207
+ field public static final int GL_COPY = 5379; // 0x1503
+ field public static final int GL_COPY_INVERTED = 5388; // 0x150c
+ field public static final int GL_CULL_FACE = 2884; // 0xb44
+ field public static final int GL_CW = 2304; // 0x900
+ field public static final int GL_DECAL = 8449; // 0x2101
+ field public static final int GL_DECR = 7683; // 0x1e03
+ field public static final int GL_DEPTH_BITS = 3414; // 0xd56
+ field public static final int GL_DEPTH_BUFFER_BIT = 256; // 0x100
+ field public static final int GL_DEPTH_TEST = 2929; // 0xb71
+ field public static final int GL_DIFFUSE = 4609; // 0x1201
+ field public static final int GL_DITHER = 3024; // 0xbd0
+ field public static final int GL_DONT_CARE = 4352; // 0x1100
+ field public static final int GL_DST_ALPHA = 772; // 0x304
+ field public static final int GL_DST_COLOR = 774; // 0x306
+ field public static final int GL_EMISSION = 5632; // 0x1600
+ field public static final int GL_EQUAL = 514; // 0x202
+ field public static final int GL_EQUIV = 5385; // 0x1509
+ field public static final int GL_EXP = 2048; // 0x800
+ field public static final int GL_EXP2 = 2049; // 0x801
+ field public static final int GL_EXTENSIONS = 7939; // 0x1f03
+ field public static final int GL_FALSE = 0; // 0x0
+ field public static final int GL_FASTEST = 4353; // 0x1101
+ field public static final int GL_FIXED = 5132; // 0x140c
+ field public static final int GL_FLAT = 7424; // 0x1d00
+ field public static final int GL_FLOAT = 5126; // 0x1406
+ field public static final int GL_FOG = 2912; // 0xb60
+ field public static final int GL_FOG_COLOR = 2918; // 0xb66
+ field public static final int GL_FOG_DENSITY = 2914; // 0xb62
+ field public static final int GL_FOG_END = 2916; // 0xb64
+ field public static final int GL_FOG_HINT = 3156; // 0xc54
+ field public static final int GL_FOG_MODE = 2917; // 0xb65
+ field public static final int GL_FOG_START = 2915; // 0xb63
+ field public static final int GL_FRONT = 1028; // 0x404
+ field public static final int GL_FRONT_AND_BACK = 1032; // 0x408
+ field public static final int GL_GEQUAL = 518; // 0x206
+ field public static final int GL_GREATER = 516; // 0x204
+ field public static final int GL_GREEN_BITS = 3411; // 0xd53
+ field public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 35739; // 0x8b9b
+ field public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 35738; // 0x8b9a
+ field public static final int GL_INCR = 7682; // 0x1e02
+ field public static final int GL_INVALID_ENUM = 1280; // 0x500
+ field public static final int GL_INVALID_OPERATION = 1282; // 0x502
+ field public static final int GL_INVALID_VALUE = 1281; // 0x501
+ field public static final int GL_INVERT = 5386; // 0x150a
+ field public static final int GL_KEEP = 7680; // 0x1e00
+ field public static final int GL_LEQUAL = 515; // 0x203
+ field public static final int GL_LESS = 513; // 0x201
+ field public static final int GL_LIGHT0 = 16384; // 0x4000
+ field public static final int GL_LIGHT1 = 16385; // 0x4001
+ field public static final int GL_LIGHT2 = 16386; // 0x4002
+ field public static final int GL_LIGHT3 = 16387; // 0x4003
+ field public static final int GL_LIGHT4 = 16388; // 0x4004
+ field public static final int GL_LIGHT5 = 16389; // 0x4005
+ field public static final int GL_LIGHT6 = 16390; // 0x4006
+ field public static final int GL_LIGHT7 = 16391; // 0x4007
+ field public static final int GL_LIGHTING = 2896; // 0xb50
+ field public static final int GL_LIGHT_MODEL_AMBIENT = 2899; // 0xb53
+ field public static final int GL_LIGHT_MODEL_TWO_SIDE = 2898; // 0xb52
+ field public static final int GL_LINEAR = 9729; // 0x2601
+ field public static final int GL_LINEAR_ATTENUATION = 4616; // 0x1208
+ field public static final int GL_LINEAR_MIPMAP_LINEAR = 9987; // 0x2703
+ field public static final int GL_LINEAR_MIPMAP_NEAREST = 9985; // 0x2701
+ field public static final int GL_LINES = 1; // 0x1
+ field public static final int GL_LINE_LOOP = 2; // 0x2
+ field public static final int GL_LINE_SMOOTH = 2848; // 0xb20
+ field public static final int GL_LINE_SMOOTH_HINT = 3154; // 0xc52
+ field public static final int GL_LINE_STRIP = 3; // 0x3
+ field public static final int GL_LUMINANCE = 6409; // 0x1909
+ field public static final int GL_LUMINANCE_ALPHA = 6410; // 0x190a
+ field public static final int GL_MAX_ELEMENTS_INDICES = 33001; // 0x80e9
+ field public static final int GL_MAX_ELEMENTS_VERTICES = 33000; // 0x80e8
+ field public static final int GL_MAX_LIGHTS = 3377; // 0xd31
+ field public static final int GL_MAX_MODELVIEW_STACK_DEPTH = 3382; // 0xd36
+ field public static final int GL_MAX_PROJECTION_STACK_DEPTH = 3384; // 0xd38
+ field public static final int GL_MAX_TEXTURE_SIZE = 3379; // 0xd33
+ field public static final int GL_MAX_TEXTURE_STACK_DEPTH = 3385; // 0xd39
+ field public static final int GL_MAX_TEXTURE_UNITS = 34018; // 0x84e2
+ field public static final int GL_MAX_VIEWPORT_DIMS = 3386; // 0xd3a
+ field public static final int GL_MODELVIEW = 5888; // 0x1700
+ field public static final int GL_MODULATE = 8448; // 0x2100
+ field public static final int GL_MULTISAMPLE = 32925; // 0x809d
+ field public static final int GL_NAND = 5390; // 0x150e
+ field public static final int GL_NEAREST = 9728; // 0x2600
+ field public static final int GL_NEAREST_MIPMAP_LINEAR = 9986; // 0x2702
+ field public static final int GL_NEAREST_MIPMAP_NEAREST = 9984; // 0x2700
+ field public static final int GL_NEVER = 512; // 0x200
+ field public static final int GL_NICEST = 4354; // 0x1102
+ field public static final int GL_NOOP = 5381; // 0x1505
+ field public static final int GL_NOR = 5384; // 0x1508
+ field public static final int GL_NORMALIZE = 2977; // 0xba1
+ field public static final int GL_NORMAL_ARRAY = 32885; // 0x8075
+ field public static final int GL_NOTEQUAL = 517; // 0x205
+ field public static final int GL_NO_ERROR = 0; // 0x0
+ field public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 34466; // 0x86a2
+ field public static final int GL_ONE = 1; // 0x1
+ field public static final int GL_ONE_MINUS_DST_ALPHA = 773; // 0x305
+ field public static final int GL_ONE_MINUS_DST_COLOR = 775; // 0x307
+ field public static final int GL_ONE_MINUS_SRC_ALPHA = 771; // 0x303
+ field public static final int GL_ONE_MINUS_SRC_COLOR = 769; // 0x301
+ field public static final int GL_OR = 5383; // 0x1507
+ field public static final int GL_OR_INVERTED = 5389; // 0x150d
+ field public static final int GL_OR_REVERSE = 5387; // 0x150b
+ field public static final int GL_OUT_OF_MEMORY = 1285; // 0x505
+ field public static final int GL_PACK_ALIGNMENT = 3333; // 0xd05
+ field public static final int GL_PALETTE4_R5_G6_B5_OES = 35730; // 0x8b92
+ field public static final int GL_PALETTE4_RGB5_A1_OES = 35732; // 0x8b94
+ field public static final int GL_PALETTE4_RGB8_OES = 35728; // 0x8b90
+ field public static final int GL_PALETTE4_RGBA4_OES = 35731; // 0x8b93
+ field public static final int GL_PALETTE4_RGBA8_OES = 35729; // 0x8b91
+ field public static final int GL_PALETTE8_R5_G6_B5_OES = 35735; // 0x8b97
+ field public static final int GL_PALETTE8_RGB5_A1_OES = 35737; // 0x8b99
+ field public static final int GL_PALETTE8_RGB8_OES = 35733; // 0x8b95
+ field public static final int GL_PALETTE8_RGBA4_OES = 35736; // 0x8b98
+ field public static final int GL_PALETTE8_RGBA8_OES = 35734; // 0x8b96
+ field public static final int GL_PERSPECTIVE_CORRECTION_HINT = 3152; // 0xc50
+ field public static final int GL_POINTS = 0; // 0x0
+ field public static final int GL_POINT_FADE_THRESHOLD_SIZE = 33064; // 0x8128
+ field public static final int GL_POINT_SIZE = 2833; // 0xb11
+ field public static final int GL_POINT_SMOOTH = 2832; // 0xb10
+ field public static final int GL_POINT_SMOOTH_HINT = 3153; // 0xc51
+ field public static final int GL_POLYGON_OFFSET_FILL = 32823; // 0x8037
+ field public static final int GL_POLYGON_SMOOTH_HINT = 3155; // 0xc53
+ field public static final int GL_POSITION = 4611; // 0x1203
+ field public static final int GL_PROJECTION = 5889; // 0x1701
+ field public static final int GL_QUADRATIC_ATTENUATION = 4617; // 0x1209
+ field public static final int GL_RED_BITS = 3410; // 0xd52
+ field public static final int GL_RENDERER = 7937; // 0x1f01
+ field public static final int GL_REPEAT = 10497; // 0x2901
+ field public static final int GL_REPLACE = 7681; // 0x1e01
+ field public static final int GL_RESCALE_NORMAL = 32826; // 0x803a
+ field public static final int GL_RGB = 6407; // 0x1907
+ field public static final int GL_RGBA = 6408; // 0x1908
+ field public static final int GL_SAMPLE_ALPHA_TO_COVERAGE = 32926; // 0x809e
+ field public static final int GL_SAMPLE_ALPHA_TO_ONE = 32927; // 0x809f
+ field public static final int GL_SAMPLE_COVERAGE = 32928; // 0x80a0
+ field public static final int GL_SCISSOR_TEST = 3089; // 0xc11
+ field public static final int GL_SET = 5391; // 0x150f
+ field public static final int GL_SHININESS = 5633; // 0x1601
+ field public static final int GL_SHORT = 5122; // 0x1402
+ field public static final int GL_SMOOTH = 7425; // 0x1d01
+ field public static final int GL_SMOOTH_LINE_WIDTH_RANGE = 2850; // 0xb22
+ field public static final int GL_SMOOTH_POINT_SIZE_RANGE = 2834; // 0xb12
+ field public static final int GL_SPECULAR = 4610; // 0x1202
+ field public static final int GL_SPOT_CUTOFF = 4614; // 0x1206
+ field public static final int GL_SPOT_DIRECTION = 4612; // 0x1204
+ field public static final int GL_SPOT_EXPONENT = 4613; // 0x1205
+ field public static final int GL_SRC_ALPHA = 770; // 0x302
+ field public static final int GL_SRC_ALPHA_SATURATE = 776; // 0x308
+ field public static final int GL_SRC_COLOR = 768; // 0x300
+ field public static final int GL_STACK_OVERFLOW = 1283; // 0x503
+ field public static final int GL_STACK_UNDERFLOW = 1284; // 0x504
+ field public static final int GL_STENCIL_BITS = 3415; // 0xd57
+ field public static final int GL_STENCIL_BUFFER_BIT = 1024; // 0x400
+ field public static final int GL_STENCIL_TEST = 2960; // 0xb90
+ field public static final int GL_SUBPIXEL_BITS = 3408; // 0xd50
+ field public static final int GL_TEXTURE = 5890; // 0x1702
+ field public static final int GL_TEXTURE0 = 33984; // 0x84c0
+ field public static final int GL_TEXTURE1 = 33985; // 0x84c1
+ field public static final int GL_TEXTURE10 = 33994; // 0x84ca
+ field public static final int GL_TEXTURE11 = 33995; // 0x84cb
+ field public static final int GL_TEXTURE12 = 33996; // 0x84cc
+ field public static final int GL_TEXTURE13 = 33997; // 0x84cd
+ field public static final int GL_TEXTURE14 = 33998; // 0x84ce
+ field public static final int GL_TEXTURE15 = 33999; // 0x84cf
+ field public static final int GL_TEXTURE16 = 34000; // 0x84d0
+ field public static final int GL_TEXTURE17 = 34001; // 0x84d1
+ field public static final int GL_TEXTURE18 = 34002; // 0x84d2
+ field public static final int GL_TEXTURE19 = 34003; // 0x84d3
+ field public static final int GL_TEXTURE2 = 33986; // 0x84c2
+ field public static final int GL_TEXTURE20 = 34004; // 0x84d4
+ field public static final int GL_TEXTURE21 = 34005; // 0x84d5
+ field public static final int GL_TEXTURE22 = 34006; // 0x84d6
+ field public static final int GL_TEXTURE23 = 34007; // 0x84d7
+ field public static final int GL_TEXTURE24 = 34008; // 0x84d8
+ field public static final int GL_TEXTURE25 = 34009; // 0x84d9
+ field public static final int GL_TEXTURE26 = 34010; // 0x84da
+ field public static final int GL_TEXTURE27 = 34011; // 0x84db
+ field public static final int GL_TEXTURE28 = 34012; // 0x84dc
+ field public static final int GL_TEXTURE29 = 34013; // 0x84dd
+ field public static final int GL_TEXTURE3 = 33987; // 0x84c3
+ field public static final int GL_TEXTURE30 = 34014; // 0x84de
+ field public static final int GL_TEXTURE31 = 34015; // 0x84df
+ field public static final int GL_TEXTURE4 = 33988; // 0x84c4
+ field public static final int GL_TEXTURE5 = 33989; // 0x84c5
+ field public static final int GL_TEXTURE6 = 33990; // 0x84c6
+ field public static final int GL_TEXTURE7 = 33991; // 0x84c7
+ field public static final int GL_TEXTURE8 = 33992; // 0x84c8
+ field public static final int GL_TEXTURE9 = 33993; // 0x84c9
+ field public static final int GL_TEXTURE_2D = 3553; // 0xde1
+ field public static final int GL_TEXTURE_COORD_ARRAY = 32888; // 0x8078
+ field public static final int GL_TEXTURE_ENV = 8960; // 0x2300
+ field public static final int GL_TEXTURE_ENV_COLOR = 8705; // 0x2201
+ field public static final int GL_TEXTURE_ENV_MODE = 8704; // 0x2200
+ field public static final int GL_TEXTURE_MAG_FILTER = 10240; // 0x2800
+ field public static final int GL_TEXTURE_MIN_FILTER = 10241; // 0x2801
+ field public static final int GL_TEXTURE_WRAP_S = 10242; // 0x2802
+ field public static final int GL_TEXTURE_WRAP_T = 10243; // 0x2803
+ field public static final int GL_TRIANGLES = 4; // 0x4
+ field public static final int GL_TRIANGLE_FAN = 6; // 0x6
+ field public static final int GL_TRIANGLE_STRIP = 5; // 0x5
+ field public static final int GL_TRUE = 1; // 0x1
+ field public static final int GL_UNPACK_ALIGNMENT = 3317; // 0xcf5
+ field public static final int GL_UNSIGNED_BYTE = 5121; // 0x1401
+ field public static final int GL_UNSIGNED_SHORT = 5123; // 0x1403
+ field public static final int GL_UNSIGNED_SHORT_4_4_4_4 = 32819; // 0x8033
+ field public static final int GL_UNSIGNED_SHORT_5_5_5_1 = 32820; // 0x8034
+ field public static final int GL_UNSIGNED_SHORT_5_6_5 = 33635; // 0x8363
+ field public static final int GL_VENDOR = 7936; // 0x1f00
+ field public static final int GL_VERSION = 7938; // 0x1f02
+ field public static final int GL_VERTEX_ARRAY = 32884; // 0x8074
+ field public static final int GL_XOR = 5382; // 0x1506
+ field public static final int GL_ZERO = 0; // 0x0
+ }
+
+ public abstract interface GL10Ext implements javax.microedition.khronos.opengles.GL {
+ method public abstract int glQueryMatrixxOES(int[], int, int[], int);
+ method public abstract int glQueryMatrixxOES(java.nio.IntBuffer, java.nio.IntBuffer);
+ }
+
+ public abstract interface GL11 implements javax.microedition.khronos.opengles.GL10 {
+ method public abstract void glBindBuffer(int, int);
+ method public abstract void glBufferData(int, int, java.nio.Buffer, int);
+ method public abstract void glBufferSubData(int, int, int, java.nio.Buffer);
+ method public abstract void glClipPlanef(int, float[], int);
+ method public abstract void glClipPlanef(int, java.nio.FloatBuffer);
+ method public abstract void glClipPlanex(int, int[], int);
+ method public abstract void glClipPlanex(int, java.nio.IntBuffer);
+ method public abstract void glColor4ub(byte, byte, byte, byte);
+ method public abstract void glColorPointer(int, int, int, int);
+ method public abstract void glDeleteBuffers(int, int[], int);
+ method public abstract void glDeleteBuffers(int, java.nio.IntBuffer);
+ method public abstract void glDrawElements(int, int, int, int);
+ method public abstract void glGenBuffers(int, int[], int);
+ method public abstract void glGenBuffers(int, java.nio.IntBuffer);
+ method public abstract void glGetBooleanv(int, boolean[], int);
+ method public abstract void glGetBooleanv(int, java.nio.IntBuffer);
+ method public abstract void glGetBufferParameteriv(int, int, int[], int);
+ method public abstract void glGetBufferParameteriv(int, int, java.nio.IntBuffer);
+ method public abstract void glGetClipPlanef(int, float[], int);
+ method public abstract void glGetClipPlanef(int, java.nio.FloatBuffer);
+ method public abstract void glGetClipPlanex(int, int[], int);
+ method public abstract void glGetClipPlanex(int, java.nio.IntBuffer);
+ method public abstract void glGetFixedv(int, int[], int);
+ method public abstract void glGetFixedv(int, java.nio.IntBuffer);
+ method public abstract void glGetFloatv(int, float[], int);
+ method public abstract void glGetFloatv(int, java.nio.FloatBuffer);
+ method public abstract void glGetLightfv(int, int, float[], int);
+ method public abstract void glGetLightfv(int, int, java.nio.FloatBuffer);
+ method public abstract void glGetLightxv(int, int, int[], int);
+ method public abstract void glGetLightxv(int, int, java.nio.IntBuffer);
+ method public abstract void glGetMaterialfv(int, int, float[], int);
+ method public abstract void glGetMaterialfv(int, int, java.nio.FloatBuffer);
+ method public abstract void glGetMaterialxv(int, int, int[], int);
+ method public abstract void glGetMaterialxv(int, int, java.nio.IntBuffer);
+ method public abstract void glGetPointerv(int, java.nio.Buffer[]);
+ method public abstract void glGetTexEnviv(int, int, int[], int);
+ method public abstract void glGetTexEnviv(int, int, java.nio.IntBuffer);
+ method public abstract void glGetTexEnvxv(int, int, int[], int);
+ method public abstract void glGetTexEnvxv(int, int, java.nio.IntBuffer);
+ method public abstract void glGetTexParameterfv(int, int, float[], int);
+ method public abstract void glGetTexParameterfv(int, int, java.nio.FloatBuffer);
+ method public abstract void glGetTexParameteriv(int, int, int[], int);
+ method public abstract void glGetTexParameteriv(int, int, java.nio.IntBuffer);
+ method public abstract void glGetTexParameterxv(int, int, int[], int);
+ method public abstract void glGetTexParameterxv(int, int, java.nio.IntBuffer);
+ method public abstract boolean glIsBuffer(int);
+ method public abstract boolean glIsEnabled(int);
+ method public abstract boolean glIsTexture(int);
+ method public abstract void glNormalPointer(int, int, int);
+ method public abstract void glPointParameterf(int, float);
+ method public abstract void glPointParameterfv(int, float[], int);
+ method public abstract void glPointParameterfv(int, java.nio.FloatBuffer);
+ method public abstract void glPointParameterx(int, int);
+ method public abstract void glPointParameterxv(int, int[], int);
+ method public abstract void glPointParameterxv(int, java.nio.IntBuffer);
+ method public abstract void glPointSizePointerOES(int, int, java.nio.Buffer);
+ method public abstract void glTexCoordPointer(int, int, int, int);
+ method public abstract void glTexEnvi(int, int, int);
+ method public abstract void glTexEnviv(int, int, int[], int);
+ method public abstract void glTexEnviv(int, int, java.nio.IntBuffer);
+ method public abstract void glTexParameterfv(int, int, float[], int);
+ method public abstract void glTexParameterfv(int, int, java.nio.FloatBuffer);
+ method public abstract void glTexParameteri(int, int, int);
+ method public abstract void glTexParameteriv(int, int, int[], int);
+ method public abstract void glTexParameteriv(int, int, java.nio.IntBuffer);
+ method public abstract void glTexParameterxv(int, int, int[], int);
+ method public abstract void glTexParameterxv(int, int, java.nio.IntBuffer);
+ method public abstract void glVertexPointer(int, int, int, int);
+ field public static final int GL_ACTIVE_TEXTURE = 34016; // 0x84e0
+ field public static final int GL_ADD_SIGNED = 34164; // 0x8574
+ field public static final int GL_ALPHA_SCALE = 3356; // 0xd1c
+ field public static final int GL_ALPHA_TEST_FUNC = 3009; // 0xbc1
+ field public static final int GL_ALPHA_TEST_REF = 3010; // 0xbc2
+ field public static final int GL_ARRAY_BUFFER = 34962; // 0x8892
+ field public static final int GL_ARRAY_BUFFER_BINDING = 34964; // 0x8894
+ field public static final int GL_BLEND_DST = 3040; // 0xbe0
+ field public static final int GL_BLEND_SRC = 3041; // 0xbe1
+ field public static final int GL_BUFFER_ACCESS = 35003; // 0x88bb
+ field public static final int GL_BUFFER_SIZE = 34660; // 0x8764
+ field public static final int GL_BUFFER_USAGE = 34661; // 0x8765
+ field public static final int GL_CLIENT_ACTIVE_TEXTURE = 34017; // 0x84e1
+ field public static final int GL_CLIP_PLANE0 = 12288; // 0x3000
+ field public static final int GL_CLIP_PLANE1 = 12289; // 0x3001
+ field public static final int GL_CLIP_PLANE2 = 12290; // 0x3002
+ field public static final int GL_CLIP_PLANE3 = 12291; // 0x3003
+ field public static final int GL_CLIP_PLANE4 = 12292; // 0x3004
+ field public static final int GL_CLIP_PLANE5 = 12293; // 0x3005
+ field public static final int GL_COLOR_ARRAY_BUFFER_BINDING = 34968; // 0x8898
+ field public static final int GL_COLOR_ARRAY_POINTER = 32912; // 0x8090
+ field public static final int GL_COLOR_ARRAY_SIZE = 32897; // 0x8081
+ field public static final int GL_COLOR_ARRAY_STRIDE = 32899; // 0x8083
+ field public static final int GL_COLOR_ARRAY_TYPE = 32898; // 0x8082
+ field public static final int GL_COLOR_CLEAR_VALUE = 3106; // 0xc22
+ field public static final int GL_COLOR_WRITEMASK = 3107; // 0xc23
+ field public static final int GL_COMBINE = 34160; // 0x8570
+ field public static final int GL_COMBINE_ALPHA = 34162; // 0x8572
+ field public static final int GL_COMBINE_RGB = 34161; // 0x8571
+ field public static final int GL_CONSTANT = 34166; // 0x8576
+ field public static final int GL_COORD_REPLACE_OES = 34914; // 0x8862
+ field public static final int GL_CULL_FACE_MODE = 2885; // 0xb45
+ field public static final int GL_CURRENT_COLOR = 2816; // 0xb00
+ field public static final int GL_CURRENT_NORMAL = 2818; // 0xb02
+ field public static final int GL_CURRENT_TEXTURE_COORDS = 2819; // 0xb03
+ field public static final int GL_DEPTH_CLEAR_VALUE = 2931; // 0xb73
+ field public static final int GL_DEPTH_FUNC = 2932; // 0xb74
+ field public static final int GL_DEPTH_RANGE = 2928; // 0xb70
+ field public static final int GL_DEPTH_WRITEMASK = 2930; // 0xb72
+ field public static final int GL_DOT3_RGB = 34478; // 0x86ae
+ field public static final int GL_DOT3_RGBA = 34479; // 0x86af
+ field public static final int GL_DYNAMIC_DRAW = 35048; // 0x88e8
+ field public static final int GL_ELEMENT_ARRAY_BUFFER = 34963; // 0x8893
+ field public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 34965; // 0x8895
+ field public static final int GL_FRONT_FACE = 2886; // 0xb46
+ field public static final int GL_GENERATE_MIPMAP = 33169; // 0x8191
+ field public static final int GL_GENERATE_MIPMAP_HINT = 33170; // 0x8192
+ field public static final int GL_INTERPOLATE = 34165; // 0x8575
+ field public static final int GL_LINE_WIDTH = 2849; // 0xb21
+ field public static final int GL_LOGIC_OP_MODE = 3056; // 0xbf0
+ field public static final int GL_MATRIX_MODE = 2976; // 0xba0
+ field public static final int GL_MAX_CLIP_PLANES = 3378; // 0xd32
+ field public static final int GL_MODELVIEW_MATRIX = 2982; // 0xba6
+ field public static final int GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 35213; // 0x898d
+ field public static final int GL_MODELVIEW_STACK_DEPTH = 2979; // 0xba3
+ field public static final int GL_NORMAL_ARRAY_BUFFER_BINDING = 34967; // 0x8897
+ field public static final int GL_NORMAL_ARRAY_POINTER = 32911; // 0x808f
+ field public static final int GL_NORMAL_ARRAY_STRIDE = 32895; // 0x807f
+ field public static final int GL_NORMAL_ARRAY_TYPE = 32894; // 0x807e
+ field public static final int GL_OPERAND0_ALPHA = 34200; // 0x8598
+ field public static final int GL_OPERAND0_RGB = 34192; // 0x8590
+ field public static final int GL_OPERAND1_ALPHA = 34201; // 0x8599
+ field public static final int GL_OPERAND1_RGB = 34193; // 0x8591
+ field public static final int GL_OPERAND2_ALPHA = 34202; // 0x859a
+ field public static final int GL_OPERAND2_RGB = 34194; // 0x8592
+ field public static final int GL_POINT_DISTANCE_ATTENUATION = 33065; // 0x8129
+ field public static final int GL_POINT_FADE_THRESHOLD_SIZE = 33064; // 0x8128
+ field public static final int GL_POINT_SIZE = 2833; // 0xb11
+ field public static final int GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 35743; // 0x8b9f
+ field public static final int GL_POINT_SIZE_ARRAY_OES = 35740; // 0x8b9c
+ field public static final int GL_POINT_SIZE_ARRAY_POINTER_OES = 35212; // 0x898c
+ field public static final int GL_POINT_SIZE_ARRAY_STRIDE_OES = 35211; // 0x898b
+ field public static final int GL_POINT_SIZE_ARRAY_TYPE_OES = 35210; // 0x898a
+ field public static final int GL_POINT_SIZE_MAX = 33063; // 0x8127
+ field public static final int GL_POINT_SIZE_MIN = 33062; // 0x8126
+ field public static final int GL_POINT_SPRITE_OES = 34913; // 0x8861
+ field public static final int GL_POLYGON_OFFSET_FACTOR = 32824; // 0x8038
+ field public static final int GL_POLYGON_OFFSET_UNITS = 10752; // 0x2a00
+ field public static final int GL_PREVIOUS = 34168; // 0x8578
+ field public static final int GL_PRIMARY_COLOR = 34167; // 0x8577
+ field public static final int GL_PROJECTION_MATRIX = 2983; // 0xba7
+ field public static final int GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 35214; // 0x898e
+ field public static final int GL_PROJECTION_STACK_DEPTH = 2980; // 0xba4
+ field public static final int GL_RGB_SCALE = 34163; // 0x8573
+ field public static final int GL_SAMPLES = 32937; // 0x80a9
+ field public static final int GL_SAMPLE_BUFFERS = 32936; // 0x80a8
+ field public static final int GL_SAMPLE_COVERAGE_INVERT = 32939; // 0x80ab
+ field public static final int GL_SAMPLE_COVERAGE_VALUE = 32938; // 0x80aa
+ field public static final int GL_SCISSOR_BOX = 3088; // 0xc10
+ field public static final int GL_SHADE_MODEL = 2900; // 0xb54
+ field public static final int GL_SRC0_ALPHA = 34184; // 0x8588
+ field public static final int GL_SRC0_RGB = 34176; // 0x8580
+ field public static final int GL_SRC1_ALPHA = 34185; // 0x8589
+ field public static final int GL_SRC1_RGB = 34177; // 0x8581
+ field public static final int GL_SRC2_ALPHA = 34186; // 0x858a
+ field public static final int GL_SRC2_RGB = 34178; // 0x8582
+ field public static final int GL_STATIC_DRAW = 35044; // 0x88e4
+ field public static final int GL_STENCIL_CLEAR_VALUE = 2961; // 0xb91
+ field public static final int GL_STENCIL_FAIL = 2964; // 0xb94
+ field public static final int GL_STENCIL_FUNC = 2962; // 0xb92
+ field public static final int GL_STENCIL_PASS_DEPTH_FAIL = 2965; // 0xb95
+ field public static final int GL_STENCIL_PASS_DEPTH_PASS = 2966; // 0xb96
+ field public static final int GL_STENCIL_REF = 2967; // 0xb97
+ field public static final int GL_STENCIL_VALUE_MASK = 2963; // 0xb93
+ field public static final int GL_STENCIL_WRITEMASK = 2968; // 0xb98
+ field public static final int GL_SUBTRACT = 34023; // 0x84e7
+ field public static final int GL_TEXTURE_BINDING_2D = 32873; // 0x8069
+ field public static final int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 34970; // 0x889a
+ field public static final int GL_TEXTURE_COORD_ARRAY_POINTER = 32914; // 0x8092
+ field public static final int GL_TEXTURE_COORD_ARRAY_SIZE = 32904; // 0x8088
+ field public static final int GL_TEXTURE_COORD_ARRAY_STRIDE = 32906; // 0x808a
+ field public static final int GL_TEXTURE_COORD_ARRAY_TYPE = 32905; // 0x8089
+ field public static final int GL_TEXTURE_MATRIX = 2984; // 0xba8
+ field public static final int GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 35215; // 0x898f
+ field public static final int GL_TEXTURE_STACK_DEPTH = 2981; // 0xba5
+ field public static final int GL_VERTEX_ARRAY_BUFFER_BINDING = 34966; // 0x8896
+ field public static final int GL_VERTEX_ARRAY_POINTER = 32910; // 0x808e
+ field public static final int GL_VERTEX_ARRAY_SIZE = 32890; // 0x807a
+ field public static final int GL_VERTEX_ARRAY_STRIDE = 32892; // 0x807c
+ field public static final int GL_VERTEX_ARRAY_TYPE = 32891; // 0x807b
+ field public static final int GL_VIEWPORT = 2978; // 0xba2
+ field public static final int GL_WRITE_ONLY = 35001; // 0x88b9
+ }
+
+ public abstract interface GL11Ext implements javax.microedition.khronos.opengles.GL {
+ method public abstract void glCurrentPaletteMatrixOES(int);
+ method public abstract void glDrawTexfOES(float, float, float, float, float);
+ method public abstract void glDrawTexfvOES(float[], int);
+ method public abstract void glDrawTexfvOES(java.nio.FloatBuffer);
+ method public abstract void glDrawTexiOES(int, int, int, int, int);
+ method public abstract void glDrawTexivOES(int[], int);
+ method public abstract void glDrawTexivOES(java.nio.IntBuffer);
+ method public abstract void glDrawTexsOES(short, short, short, short, short);
+ method public abstract void glDrawTexsvOES(short[], int);
+ method public abstract void glDrawTexsvOES(java.nio.ShortBuffer);
+ method public abstract void glDrawTexxOES(int, int, int, int, int);
+ method public abstract void glDrawTexxvOES(int[], int);
+ method public abstract void glDrawTexxvOES(java.nio.IntBuffer);
+ method public abstract void glEnable(int);
+ method public abstract void glEnableClientState(int);
+ method public abstract void glLoadPaletteFromModelViewMatrixOES();
+ method public abstract void glMatrixIndexPointerOES(int, int, int, java.nio.Buffer);
+ method public abstract void glMatrixIndexPointerOES(int, int, int, int);
+ method public abstract void glTexParameterfv(int, int, float[], int);
+ method public abstract void glWeightPointerOES(int, int, int, java.nio.Buffer);
+ method public abstract void glWeightPointerOES(int, int, int, int);
+ field public static final int GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 35742; // 0x8b9e
+ field public static final int GL_MATRIX_INDEX_ARRAY_OES = 34884; // 0x8844
+ field public static final int GL_MATRIX_INDEX_ARRAY_POINTER_OES = 34889; // 0x8849
+ field public static final int GL_MATRIX_INDEX_ARRAY_SIZE_OES = 34886; // 0x8846
+ field public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_OES = 34888; // 0x8848
+ field public static final int GL_MATRIX_INDEX_ARRAY_TYPE_OES = 34887; // 0x8847
+ field public static final int GL_MATRIX_PALETTE_OES = 34880; // 0x8840
+ field public static final int GL_MAX_PALETTE_MATRICES_OES = 34882; // 0x8842
+ field public static final int GL_MAX_VERTEX_UNITS_OES = 34468; // 0x86a4
+ field public static final int GL_TEXTURE_CROP_RECT_OES = 35741; // 0x8b9d
+ field public static final int GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = 34974; // 0x889e
+ field public static final int GL_WEIGHT_ARRAY_OES = 34477; // 0x86ad
+ field public static final int GL_WEIGHT_ARRAY_POINTER_OES = 34476; // 0x86ac
+ field public static final int GL_WEIGHT_ARRAY_SIZE_OES = 34475; // 0x86ab
+ field public static final int GL_WEIGHT_ARRAY_STRIDE_OES = 34474; // 0x86aa
+ field public static final int GL_WEIGHT_ARRAY_TYPE_OES = 34473; // 0x86a9
+ }
+
+ public abstract interface GL11ExtensionPack implements javax.microedition.khronos.opengles.GL {
+ method public abstract void glBindFramebufferOES(int, int);
+ method public abstract void glBindRenderbufferOES(int, int);
+ method public abstract void glBindTexture(int, int);
+ method public abstract void glBlendEquation(int);
+ method public abstract void glBlendEquationSeparate(int, int);
+ method public abstract void glBlendFuncSeparate(int, int, int, int);
+ method public abstract int glCheckFramebufferStatusOES(int);
+ method public abstract void glCompressedTexImage2D(int, int, int, int, int, int, int, java.nio.Buffer);
+ method public abstract void glCopyTexImage2D(int, int, int, int, int, int, int, int);
+ method public abstract void glDeleteFramebuffersOES(int, int[], int);
+ method public abstract void glDeleteFramebuffersOES(int, java.nio.IntBuffer);
+ method public abstract void glDeleteRenderbuffersOES(int, int[], int);
+ method public abstract void glDeleteRenderbuffersOES(int, java.nio.IntBuffer);
+ method public abstract void glEnable(int);
+ method public abstract void glFramebufferRenderbufferOES(int, int, int, int);
+ method public abstract void glFramebufferTexture2DOES(int, int, int, int, int);
+ method public abstract void glGenFramebuffersOES(int, int[], int);
+ method public abstract void glGenFramebuffersOES(int, java.nio.IntBuffer);
+ method public abstract void glGenRenderbuffersOES(int, int[], int);
+ method public abstract void glGenRenderbuffersOES(int, java.nio.IntBuffer);
+ method public abstract void glGenerateMipmapOES(int);
+ method public abstract void glGetFramebufferAttachmentParameterivOES(int, int, int, int[], int);
+ method public abstract void glGetFramebufferAttachmentParameterivOES(int, int, int, java.nio.IntBuffer);
+ method public abstract void glGetIntegerv(int, int[], int);
+ method public abstract void glGetIntegerv(int, java.nio.IntBuffer);
+ method public abstract void glGetRenderbufferParameterivOES(int, int, int[], int);
+ method public abstract void glGetRenderbufferParameterivOES(int, int, java.nio.IntBuffer);
+ method public abstract void glGetTexGenfv(int, int, float[], int);
+ method public abstract void glGetTexGenfv(int, int, java.nio.FloatBuffer);
+ method public abstract void glGetTexGeniv(int, int, int[], int);
+ method public abstract void glGetTexGeniv(int, int, java.nio.IntBuffer);
+ method public abstract void glGetTexGenxv(int, int, int[], int);
+ method public abstract void glGetTexGenxv(int, int, java.nio.IntBuffer);
+ method public abstract boolean glIsFramebufferOES(int);
+ method public abstract boolean glIsRenderbufferOES(int);
+ method public abstract void glRenderbufferStorageOES(int, int, int, int);
+ method public abstract void glStencilOp(int, int, int);
+ method public abstract void glTexEnvf(int, int, float);
+ method public abstract void glTexEnvfv(int, int, float[], int);
+ method public abstract void glTexEnvfv(int, int, java.nio.FloatBuffer);
+ method public abstract void glTexEnvx(int, int, int);
+ method public abstract void glTexEnvxv(int, int, int[], int);
+ method public abstract void glTexEnvxv(int, int, java.nio.IntBuffer);
+ method public abstract void glTexGenf(int, int, float);
+ method public abstract void glTexGenfv(int, int, float[], int);
+ method public abstract void glTexGenfv(int, int, java.nio.FloatBuffer);
+ method public abstract void glTexGeni(int, int, int);
+ method public abstract void glTexGeniv(int, int, int[], int);
+ method public abstract void glTexGeniv(int, int, java.nio.IntBuffer);
+ method public abstract void glTexGenx(int, int, int);
+ method public abstract void glTexGenxv(int, int, int[], int);
+ method public abstract void glTexGenxv(int, int, java.nio.IntBuffer);
+ method public abstract void glTexParameterf(int, int, float);
+ field public static final int GL_BLEND_DST_ALPHA = 32970; // 0x80ca
+ field public static final int GL_BLEND_DST_RGB = 32968; // 0x80c8
+ field public static final int GL_BLEND_EQUATION = 32777; // 0x8009
+ field public static final int GL_BLEND_EQUATION_ALPHA = 34877; // 0x883d
+ field public static final int GL_BLEND_EQUATION_RGB = 32777; // 0x8009
+ field public static final int GL_BLEND_SRC_ALPHA = 32971; // 0x80cb
+ field public static final int GL_BLEND_SRC_RGB = 32969; // 0x80c9
+ field public static final int GL_COLOR_ATTACHMENT0_OES = 36064; // 0x8ce0
+ field public static final int GL_COLOR_ATTACHMENT10_OES = 36074; // 0x8cea
+ field public static final int GL_COLOR_ATTACHMENT11_OES = 36075; // 0x8ceb
+ field public static final int GL_COLOR_ATTACHMENT12_OES = 36076; // 0x8cec
+ field public static final int GL_COLOR_ATTACHMENT13_OES = 36077; // 0x8ced
+ field public static final int GL_COLOR_ATTACHMENT14_OES = 36078; // 0x8cee
+ field public static final int GL_COLOR_ATTACHMENT15_OES = 36079; // 0x8cef
+ field public static final int GL_COLOR_ATTACHMENT1_OES = 36065; // 0x8ce1
+ field public static final int GL_COLOR_ATTACHMENT2_OES = 36066; // 0x8ce2
+ field public static final int GL_COLOR_ATTACHMENT3_OES = 36067; // 0x8ce3
+ field public static final int GL_COLOR_ATTACHMENT4_OES = 36068; // 0x8ce4
+ field public static final int GL_COLOR_ATTACHMENT5_OES = 36069; // 0x8ce5
+ field public static final int GL_COLOR_ATTACHMENT6_OES = 36070; // 0x8ce6
+ field public static final int GL_COLOR_ATTACHMENT7_OES = 36071; // 0x8ce7
+ field public static final int GL_COLOR_ATTACHMENT8_OES = 36072; // 0x8ce8
+ field public static final int GL_COLOR_ATTACHMENT9_OES = 36073; // 0x8ce9
+ field public static final int GL_DECR_WRAP = 34056; // 0x8508
+ field public static final int GL_DEPTH_ATTACHMENT_OES = 36096; // 0x8d00
+ field public static final int GL_DEPTH_COMPONENT = 6402; // 0x1902
+ field public static final int GL_DEPTH_COMPONENT16 = 33189; // 0x81a5
+ field public static final int GL_DEPTH_COMPONENT24 = 33190; // 0x81a6
+ field public static final int GL_DEPTH_COMPONENT32 = 33191; // 0x81a7
+ field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 36049; // 0x8cd1
+ field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 36048; // 0x8cd0
+ field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 36051; // 0x8cd3
+ field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 36050; // 0x8cd2
+ field public static final int GL_FRAMEBUFFER_BINDING_OES = 36006; // 0x8ca6
+ field public static final int GL_FRAMEBUFFER_COMPLETE_OES = 36053; // 0x8cd5
+ field public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 36054; // 0x8cd6
+ field public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 36057; // 0x8cd9
+ field public static final int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES = 36059; // 0x8cdb
+ field public static final int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 36058; // 0x8cda
+ field public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 36055; // 0x8cd7
+ field public static final int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES = 36060; // 0x8cdc
+ field public static final int GL_FRAMEBUFFER_OES = 36160; // 0x8d40
+ field public static final int GL_FRAMEBUFFER_UNSUPPORTED_OES = 36061; // 0x8cdd
+ field public static final int GL_FUNC_ADD = 32774; // 0x8006
+ field public static final int GL_FUNC_REVERSE_SUBTRACT = 32779; // 0x800b
+ field public static final int GL_FUNC_SUBTRACT = 32778; // 0x800a
+ field public static final int GL_INCR_WRAP = 34055; // 0x8507
+ field public static final int GL_INVALID_FRAMEBUFFER_OPERATION_OES = 1286; // 0x506
+ field public static final int GL_MAX_COLOR_ATTACHMENTS_OES = 36063; // 0x8cdf
+ field public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE = 34076; // 0x851c
+ field public static final int GL_MAX_RENDERBUFFER_SIZE_OES = 34024; // 0x84e8
+ field public static final int GL_MIRRORED_REPEAT = 33648; // 0x8370
+ field public static final int GL_NORMAL_MAP = 34065; // 0x8511
+ field public static final int GL_REFLECTION_MAP = 34066; // 0x8512
+ field public static final int GL_RENDERBUFFER_ALPHA_SIZE_OES = 36179; // 0x8d53
+ field public static final int GL_RENDERBUFFER_BINDING_OES = 36007; // 0x8ca7
+ field public static final int GL_RENDERBUFFER_BLUE_SIZE_OES = 36178; // 0x8d52
+ field public static final int GL_RENDERBUFFER_DEPTH_SIZE_OES = 36180; // 0x8d54
+ field public static final int GL_RENDERBUFFER_GREEN_SIZE_OES = 36177; // 0x8d51
+ field public static final int GL_RENDERBUFFER_HEIGHT_OES = 36163; // 0x8d43
+ field public static final int GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 36164; // 0x8d44
+ field public static final int GL_RENDERBUFFER_OES = 36161; // 0x8d41
+ field public static final int GL_RENDERBUFFER_RED_SIZE_OES = 36176; // 0x8d50
+ field public static final int GL_RENDERBUFFER_STENCIL_SIZE_OES = 36181; // 0x8d55
+ field public static final int GL_RENDERBUFFER_WIDTH_OES = 36162; // 0x8d42
+ field public static final int GL_RGB565_OES = 36194; // 0x8d62
+ field public static final int GL_RGB5_A1 = 32855; // 0x8057
+ field public static final int GL_RGB8 = 32849; // 0x8051
+ field public static final int GL_RGBA4 = 32854; // 0x8056
+ field public static final int GL_RGBA8 = 32856; // 0x8058
+ field public static final int GL_STENCIL_ATTACHMENT_OES = 36128; // 0x8d20
+ field public static final int GL_STENCIL_INDEX = 6401; // 0x1901
+ field public static final int GL_STENCIL_INDEX1_OES = 36166; // 0x8d46
+ field public static final int GL_STENCIL_INDEX4_OES = 36167; // 0x8d47
+ field public static final int GL_STENCIL_INDEX8_OES = 36168; // 0x8d48
+ field public static final int GL_STR = -1; // 0xffffffff
+ field public static final int GL_TEXTURE_BINDING_CUBE_MAP = 34068; // 0x8514
+ field public static final int GL_TEXTURE_CUBE_MAP = 34067; // 0x8513
+ field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 34070; // 0x8516
+ field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072; // 0x8518
+ field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074; // 0x851a
+ field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X = 34069; // 0x8515
+ field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 34071; // 0x8517
+ field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 34073; // 0x8519
+ field public static final int GL_TEXTURE_GEN_MODE = 9472; // 0x2500
+ field public static final int GL_TEXTURE_GEN_STR = 36192; // 0x8d60
+ }
+
+}
+
+package javax.net {
+
+ public abstract class ServerSocketFactory {
+ ctor protected ServerSocketFactory();
+ method public java.net.ServerSocket createServerSocket() throws java.io.IOException;
+ method public abstract java.net.ServerSocket createServerSocket(int) throws java.io.IOException;
+ method public abstract java.net.ServerSocket createServerSocket(int, int) throws java.io.IOException;
+ method public abstract java.net.ServerSocket createServerSocket(int, int, java.net.InetAddress) throws java.io.IOException;
+ method public static synchronized javax.net.ServerSocketFactory getDefault();
+ }
+
+ public abstract class SocketFactory {
+ ctor protected SocketFactory();
+ method public java.net.Socket createSocket() throws java.io.IOException;
+ method public abstract java.net.Socket createSocket(java.lang.String, int) throws java.io.IOException, java.net.UnknownHostException;
+ method public abstract java.net.Socket createSocket(java.lang.String, int, java.net.InetAddress, int) throws java.io.IOException, java.net.UnknownHostException;
+ method public abstract java.net.Socket createSocket(java.net.InetAddress, int) throws java.io.IOException;
+ method public abstract java.net.Socket createSocket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException;
+ method public static synchronized javax.net.SocketFactory getDefault();
+ }
+
+}
+
+package javax.net.ssl {
+
+ public class CertPathTrustManagerParameters implements javax.net.ssl.ManagerFactoryParameters {
+ ctor public CertPathTrustManagerParameters(java.security.cert.CertPathParameters);
+ method public java.security.cert.CertPathParameters getParameters();
+ }
+
+ public class HandshakeCompletedEvent extends java.util.EventObject {
+ ctor public HandshakeCompletedEvent(javax.net.ssl.SSLSocket, javax.net.ssl.SSLSession);
+ method public java.lang.String getCipherSuite();
+ method public java.security.cert.Certificate[] getLocalCertificates();
+ method public java.security.Principal getLocalPrincipal();
+ method public javax.security.cert.X509Certificate[] getPeerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException;
+ method public java.security.cert.Certificate[] getPeerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException;
+ method public java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException;
+ method public javax.net.ssl.SSLSession getSession();
+ method public javax.net.ssl.SSLSocket getSocket();
+ }
+
+ public abstract interface HandshakeCompletedListener implements java.util.EventListener {
+ method public abstract void handshakeCompleted(javax.net.ssl.HandshakeCompletedEvent);
+ }
+
+ public abstract interface HostnameVerifier {
+ method public abstract boolean verify(java.lang.String, javax.net.ssl.SSLSession);
+ }
+
+ public abstract class HttpsURLConnection extends java.net.HttpURLConnection {
+ ctor protected HttpsURLConnection(java.net.URL);
+ method public abstract java.lang.String getCipherSuite();
+ method public static javax.net.ssl.HostnameVerifier getDefaultHostnameVerifier();
+ method public static javax.net.ssl.SSLSocketFactory getDefaultSSLSocketFactory();
+ method public javax.net.ssl.HostnameVerifier getHostnameVerifier();
+ method public abstract java.security.cert.Certificate[] getLocalCertificates();
+ method public java.security.Principal getLocalPrincipal();
+ method public java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException;
+ method public javax.net.ssl.SSLSocketFactory getSSLSocketFactory();
+ method public abstract java.security.cert.Certificate[] getServerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException;
+ method public static void setDefaultHostnameVerifier(javax.net.ssl.HostnameVerifier);
+ method public static void setDefaultSSLSocketFactory(javax.net.ssl.SSLSocketFactory);
+ method public void setHostnameVerifier(javax.net.ssl.HostnameVerifier);
+ method public void setSSLSocketFactory(javax.net.ssl.SSLSocketFactory);
+ field protected javax.net.ssl.HostnameVerifier hostnameVerifier;
+ }
+
+ public abstract interface KeyManager {
+ }
+
+ public class KeyManagerFactory {
+ ctor protected KeyManagerFactory(javax.net.ssl.KeyManagerFactorySpi, java.security.Provider, java.lang.String);
+ method public final java.lang.String getAlgorithm();
+ method public static final java.lang.String getDefaultAlgorithm();
+ method public static final javax.net.ssl.KeyManagerFactory getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static final javax.net.ssl.KeyManagerFactory getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static final javax.net.ssl.KeyManagerFactory getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final javax.net.ssl.KeyManager[] getKeyManagers();
+ method public final java.security.Provider getProvider();
+ method public final void init(java.security.KeyStore, char[]) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+ method public final void init(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException;
+ }
+
+ public abstract class KeyManagerFactorySpi {
+ ctor public KeyManagerFactorySpi();
+ method protected abstract javax.net.ssl.KeyManager[] engineGetKeyManagers();
+ method protected abstract void engineInit(java.security.KeyStore, char[]) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+ method protected abstract void engineInit(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException;
+ }
+
+ public class KeyStoreBuilderParameters implements javax.net.ssl.ManagerFactoryParameters {
+ ctor public KeyStoreBuilderParameters(java.security.KeyStore.Builder);
+ ctor public KeyStoreBuilderParameters(java.util.List<java.security.KeyStore.Builder>);
+ method public java.util.List<java.security.KeyStore.Builder> getParameters();
+ }
+
+ public abstract interface ManagerFactoryParameters {
+ }
+
+ public class SSLContext {
+ ctor protected SSLContext(javax.net.ssl.SSLContextSpi, java.security.Provider, java.lang.String);
+ method public final javax.net.ssl.SSLEngine createSSLEngine();
+ method public final javax.net.ssl.SSLEngine createSSLEngine(java.lang.String, int);
+ method public final javax.net.ssl.SSLSessionContext getClientSessionContext();
+ method public static javax.net.ssl.SSLContext getDefault() throws java.security.NoSuchAlgorithmException;
+ method public final javax.net.ssl.SSLParameters getDefaultSSLParameters();
+ method public static javax.net.ssl.SSLContext getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static javax.net.ssl.SSLContext getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static javax.net.ssl.SSLContext getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final java.lang.String getProtocol();
+ method public final java.security.Provider getProvider();
+ method public final javax.net.ssl.SSLSessionContext getServerSessionContext();
+ method public final javax.net.ssl.SSLServerSocketFactory getServerSocketFactory();
+ method public final javax.net.ssl.SSLSocketFactory getSocketFactory();
+ method public final javax.net.ssl.SSLParameters getSupportedSSLParameters();
+ method public final void init(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom) throws java.security.KeyManagementException;
+ method public static void setDefault(javax.net.ssl.SSLContext);
+ }
+
+ public abstract class SSLContextSpi {
+ ctor public SSLContextSpi();
+ method protected abstract javax.net.ssl.SSLEngine engineCreateSSLEngine(java.lang.String, int);
+ method protected abstract javax.net.ssl.SSLEngine engineCreateSSLEngine();
+ method protected abstract javax.net.ssl.SSLSessionContext engineGetClientSessionContext();
+ method protected javax.net.ssl.SSLParameters engineGetDefaultSSLParameters();
+ method protected abstract javax.net.ssl.SSLSessionContext engineGetServerSessionContext();
+ method protected abstract javax.net.ssl.SSLServerSocketFactory engineGetServerSocketFactory();
+ method protected abstract javax.net.ssl.SSLSocketFactory engineGetSocketFactory();
+ method protected javax.net.ssl.SSLParameters engineGetSupportedSSLParameters();
+ method protected abstract void engineInit(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom) throws java.security.KeyManagementException;
+ }
+
+ public abstract class SSLEngine {
+ ctor protected SSLEngine();
+ ctor protected SSLEngine(java.lang.String, int);
+ method public abstract void beginHandshake() throws javax.net.ssl.SSLException;
+ method public abstract void closeInbound() throws javax.net.ssl.SSLException;
+ method public abstract void closeOutbound();
+ method public abstract java.lang.Runnable getDelegatedTask();
+ method public abstract boolean getEnableSessionCreation();
+ method public abstract java.lang.String[] getEnabledCipherSuites();
+ method public abstract java.lang.String[] getEnabledProtocols();
+ method public abstract javax.net.ssl.SSLEngineResult.HandshakeStatus getHandshakeStatus();
+ method public abstract boolean getNeedClientAuth();
+ method public java.lang.String getPeerHost();
+ method public int getPeerPort();
+ method public javax.net.ssl.SSLParameters getSSLParameters();
+ method public abstract javax.net.ssl.SSLSession getSession();
+ method public abstract java.lang.String[] getSupportedCipherSuites();
+ method public abstract java.lang.String[] getSupportedProtocols();
+ method public abstract boolean getUseClientMode();
+ method public abstract boolean getWantClientAuth();
+ method public abstract boolean isInboundDone();
+ method public abstract boolean isOutboundDone();
+ method public abstract void setEnableSessionCreation(boolean);
+ method public abstract void setEnabledCipherSuites(java.lang.String[]);
+ method public abstract void setEnabledProtocols(java.lang.String[]);
+ method public abstract void setNeedClientAuth(boolean);
+ method public void setSSLParameters(javax.net.ssl.SSLParameters);
+ method public abstract void setUseClientMode(boolean);
+ method public abstract void setWantClientAuth(boolean);
+ method public abstract javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[], int, int) throws javax.net.ssl.SSLException;
+ method public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.net.ssl.SSLException;
+ method public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[]) throws javax.net.ssl.SSLException;
+ method public abstract javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer) throws javax.net.ssl.SSLException;
+ method public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[], java.nio.ByteBuffer) throws javax.net.ssl.SSLException;
+ method public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.net.ssl.SSLException;
+ }
+
+ public class SSLEngineResult {
+ ctor public SSLEngineResult(javax.net.ssl.SSLEngineResult.Status, javax.net.ssl.SSLEngineResult.HandshakeStatus, int, int);
+ method public final int bytesConsumed();
+ method public final int bytesProduced();
+ method public final javax.net.ssl.SSLEngineResult.HandshakeStatus getHandshakeStatus();
+ method public final javax.net.ssl.SSLEngineResult.Status getStatus();
+ }
+
+ public static final class SSLEngineResult.HandshakeStatus extends java.lang.Enum {
+ method public static javax.net.ssl.SSLEngineResult.HandshakeStatus valueOf(java.lang.String);
+ method public static final javax.net.ssl.SSLEngineResult.HandshakeStatus[] values();
+ enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus FINISHED;
+ enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NEED_TASK;
+ enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NEED_UNWRAP;
+ enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NEED_WRAP;
+ enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NOT_HANDSHAKING;
+ }
+
+ public static final class SSLEngineResult.Status extends java.lang.Enum {
+ method public static javax.net.ssl.SSLEngineResult.Status valueOf(java.lang.String);
+ method public static final javax.net.ssl.SSLEngineResult.Status[] values();
+ enum_constant public static final javax.net.ssl.SSLEngineResult.Status BUFFER_OVERFLOW;
+ enum_constant public static final javax.net.ssl.SSLEngineResult.Status BUFFER_UNDERFLOW;
+ enum_constant public static final javax.net.ssl.SSLEngineResult.Status CLOSED;
+ enum_constant public static final javax.net.ssl.SSLEngineResult.Status OK;
+ }
+
+ public class SSLException extends java.io.IOException {
+ ctor public SSLException(java.lang.String);
+ ctor public SSLException(java.lang.String, java.lang.Throwable);
+ ctor public SSLException(java.lang.Throwable);
+ }
+
+ public class SSLHandshakeException extends javax.net.ssl.SSLException {
+ ctor public SSLHandshakeException(java.lang.String);
+ }
+
+ public class SSLKeyException extends javax.net.ssl.SSLException {
+ ctor public SSLKeyException(java.lang.String);
+ }
+
+ public class SSLParameters {
+ ctor public SSLParameters();
+ ctor public SSLParameters(java.lang.String[]);
+ ctor public SSLParameters(java.lang.String[], java.lang.String[]);
+ method public java.lang.String[] getCipherSuites();
+ method public boolean getNeedClientAuth();
+ method public java.lang.String[] getProtocols();
+ method public boolean getWantClientAuth();
+ method public void setCipherSuites(java.lang.String[]);
+ method public void setNeedClientAuth(boolean);
+ method public void setProtocols(java.lang.String[]);
+ method public void setWantClientAuth(boolean);
+ }
+
+ public class SSLPeerUnverifiedException extends javax.net.ssl.SSLException {
+ ctor public SSLPeerUnverifiedException(java.lang.String);
+ }
+
+ public final class SSLPermission extends java.security.BasicPermission {
+ ctor public SSLPermission(java.lang.String);
+ ctor public SSLPermission(java.lang.String, java.lang.String);
+ }
+
+ public class SSLProtocolException extends javax.net.ssl.SSLException {
+ ctor public SSLProtocolException(java.lang.String);
+ }
+
+ public abstract class SSLServerSocket extends java.net.ServerSocket {
+ ctor protected SSLServerSocket() throws java.io.IOException;
+ ctor protected SSLServerSocket(int) throws java.io.IOException;
+ ctor protected SSLServerSocket(int, int) throws java.io.IOException;
+ ctor protected SSLServerSocket(int, int, java.net.InetAddress) throws java.io.IOException;
+ method public abstract boolean getEnableSessionCreation();
+ method public abstract java.lang.String[] getEnabledCipherSuites();
+ method public abstract java.lang.String[] getEnabledProtocols();
+ method public abstract boolean getNeedClientAuth();
+ method public abstract java.lang.String[] getSupportedCipherSuites();
+ method public abstract java.lang.String[] getSupportedProtocols();
+ method public abstract boolean getUseClientMode();
+ method public abstract boolean getWantClientAuth();
+ method public abstract void setEnableSessionCreation(boolean);
+ method public abstract void setEnabledCipherSuites(java.lang.String[]);
+ method public abstract void setEnabledProtocols(java.lang.String[]);
+ method public abstract void setNeedClientAuth(boolean);
+ method public abstract void setUseClientMode(boolean);
+ method public abstract void setWantClientAuth(boolean);
+ }
+
+ public abstract class SSLServerSocketFactory extends javax.net.ServerSocketFactory {
+ ctor protected SSLServerSocketFactory();
+ method public static synchronized javax.net.ServerSocketFactory getDefault();
+ method public abstract java.lang.String[] getDefaultCipherSuites();
+ method public abstract java.lang.String[] getSupportedCipherSuites();
+ }
+
+ public abstract interface SSLSession {
+ method public abstract int getApplicationBufferSize();
+ method public abstract java.lang.String getCipherSuite();
+ method public abstract long getCreationTime();
+ method public abstract byte[] getId();
+ method public abstract long getLastAccessedTime();
+ method public abstract java.security.cert.Certificate[] getLocalCertificates();
+ method public abstract java.security.Principal getLocalPrincipal();
+ method public abstract int getPacketBufferSize();
+ method public abstract javax.security.cert.X509Certificate[] getPeerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException;
+ method public abstract java.security.cert.Certificate[] getPeerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException;
+ method public abstract java.lang.String getPeerHost();
+ method public abstract int getPeerPort();
+ method public abstract java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException;
+ method public abstract java.lang.String getProtocol();
+ method public abstract javax.net.ssl.SSLSessionContext getSessionContext();
+ method public abstract java.lang.Object getValue(java.lang.String);
+ method public abstract java.lang.String[] getValueNames();
+ method public abstract void invalidate();
+ method public abstract boolean isValid();
+ method public abstract void putValue(java.lang.String, java.lang.Object);
+ method public abstract void removeValue(java.lang.String);
+ }
+
+ public class SSLSessionBindingEvent extends java.util.EventObject {
+ ctor public SSLSessionBindingEvent(javax.net.ssl.SSLSession, java.lang.String);
+ method public java.lang.String getName();
+ method public javax.net.ssl.SSLSession getSession();
+ }
+
+ public abstract interface SSLSessionBindingListener implements java.util.EventListener {
+ method public abstract void valueBound(javax.net.ssl.SSLSessionBindingEvent);
+ method public abstract void valueUnbound(javax.net.ssl.SSLSessionBindingEvent);
+ }
+
+ public abstract interface SSLSessionContext {
+ method public abstract java.util.Enumeration<byte[]> getIds();
+ method public abstract javax.net.ssl.SSLSession getSession(byte[]);
+ method public abstract int getSessionCacheSize();
+ method public abstract int getSessionTimeout();
+ method public abstract void setSessionCacheSize(int) throws java.lang.IllegalArgumentException;
+ method public abstract void setSessionTimeout(int) throws java.lang.IllegalArgumentException;
+ }
+
+ public abstract class SSLSocket extends java.net.Socket {
+ ctor protected SSLSocket();
+ ctor protected SSLSocket(java.lang.String, int) throws java.io.IOException, java.net.UnknownHostException;
+ ctor protected SSLSocket(java.net.InetAddress, int) throws java.io.IOException;
+ ctor protected SSLSocket(java.lang.String, int, java.net.InetAddress, int) throws java.io.IOException, java.net.UnknownHostException;
+ ctor protected SSLSocket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException;
+ method public abstract void addHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
+ method public abstract boolean getEnableSessionCreation();
+ method public abstract java.lang.String[] getEnabledCipherSuites();
+ method public abstract java.lang.String[] getEnabledProtocols();
+ method public abstract boolean getNeedClientAuth();
+ method public javax.net.ssl.SSLParameters getSSLParameters();
+ method public abstract javax.net.ssl.SSLSession getSession();
+ method public abstract java.lang.String[] getSupportedCipherSuites();
+ method public abstract java.lang.String[] getSupportedProtocols();
+ method public abstract boolean getUseClientMode();
+ method public abstract boolean getWantClientAuth();
+ method public abstract void removeHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
+ method public abstract void setEnableSessionCreation(boolean);
+ method public abstract void setEnabledCipherSuites(java.lang.String[]);
+ method public abstract void setEnabledProtocols(java.lang.String[]);
+ method public abstract void setNeedClientAuth(boolean);
+ method public void setSSLParameters(javax.net.ssl.SSLParameters);
+ method public abstract void setUseClientMode(boolean);
+ method public abstract void setWantClientAuth(boolean);
+ method public abstract void startHandshake() throws java.io.IOException;
+ }
+
+ public abstract class SSLSocketFactory extends javax.net.SocketFactory {
+ ctor public SSLSocketFactory();
+ method public abstract java.net.Socket createSocket(java.net.Socket, java.lang.String, int, boolean) throws java.io.IOException;
+ method public static synchronized javax.net.SocketFactory getDefault();
+ method public abstract java.lang.String[] getDefaultCipherSuites();
+ method public abstract java.lang.String[] getSupportedCipherSuites();
+ }
+
+ public abstract interface TrustManager {
+ }
+
+ public class TrustManagerFactory {
+ ctor protected TrustManagerFactory(javax.net.ssl.TrustManagerFactorySpi, java.security.Provider, java.lang.String);
+ method public final java.lang.String getAlgorithm();
+ method public static final java.lang.String getDefaultAlgorithm();
+ method public static final javax.net.ssl.TrustManagerFactory getInstance(java.lang.String) throws java.security.NoSuchAlgorithmException;
+ method public static final javax.net.ssl.TrustManagerFactory getInstance(java.lang.String, java.lang.String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+ method public static final javax.net.ssl.TrustManagerFactory getInstance(java.lang.String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+ method public final java.security.Provider getProvider();
+ method public final javax.net.ssl.TrustManager[] getTrustManagers();
+ method public final void init(java.security.KeyStore) throws java.security.KeyStoreException;
+ method public final void init(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException;
+ }
+
+ public abstract class TrustManagerFactorySpi {
+ ctor public TrustManagerFactorySpi();
+ method protected abstract javax.net.ssl.TrustManager[] engineGetTrustManagers();
+ method protected abstract void engineInit(java.security.KeyStore) throws java.security.KeyStoreException;
+ method protected abstract void engineInit(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException;
+ }
+
+ public abstract class X509ExtendedKeyManager implements javax.net.ssl.X509KeyManager {
+ ctor protected X509ExtendedKeyManager();
+ method public java.lang.String chooseEngineClientAlias(java.lang.String[], java.security.Principal[], javax.net.ssl.SSLEngine);
+ method public java.lang.String chooseEngineServerAlias(java.lang.String, java.security.Principal[], javax.net.ssl.SSLEngine);
+ }
+
+ public abstract interface X509KeyManager implements javax.net.ssl.KeyManager {
+ method public abstract java.lang.String chooseClientAlias(java.lang.String[], java.security.Principal[], java.net.Socket);
+ method public abstract java.lang.String chooseServerAlias(java.lang.String, java.security.Principal[], java.net.Socket);
+ method public abstract java.security.cert.X509Certificate[] getCertificateChain(java.lang.String);
+ method public abstract java.lang.String[] getClientAliases(java.lang.String, java.security.Principal[]);
+ method public abstract java.security.PrivateKey getPrivateKey(java.lang.String);
+ method public abstract java.lang.String[] getServerAliases(java.lang.String, java.security.Principal[]);
+ }
+
+ public abstract interface X509TrustManager implements javax.net.ssl.TrustManager {
+ method public abstract void checkClientTrusted(java.security.cert.X509Certificate[], java.lang.String) throws java.security.cert.CertificateException;
+ method public abstract void checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String) throws java.security.cert.CertificateException;
+ method public abstract java.security.cert.X509Certificate[] getAcceptedIssuers();
+ }
+
+}
+
+package javax.security.auth {
+
+ public final class AuthPermission extends java.security.BasicPermission {
+ ctor public AuthPermission(java.lang.String);
+ ctor public AuthPermission(java.lang.String, java.lang.String);
+ }
+
+ public class DestroyFailedException extends java.lang.Exception {
+ ctor public DestroyFailedException();
+ ctor public DestroyFailedException(java.lang.String);
+ }
+
+ public abstract interface Destroyable {
+ method public abstract void destroy() throws javax.security.auth.DestroyFailedException;
+ method public abstract boolean isDestroyed();
+ }
+
+ public final class PrivateCredentialPermission extends java.security.Permission {
+ ctor public PrivateCredentialPermission(java.lang.String, java.lang.String);
+ method public java.lang.String getActions();
+ method public java.lang.String getCredentialClass();
+ method public java.lang.String[][] getPrincipals();
+ method public boolean implies(java.security.Permission);
+ }
+
+ public final class Subject implements java.io.Serializable {
+ ctor public Subject();
+ ctor public Subject(boolean, java.util.Set<? extends java.security.Principal>, java.util.Set<?>, java.util.Set<?>);
+ method public static T doAs(javax.security.auth.Subject, java.security.PrivilegedAction<T>);
+ method public static T doAs(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+ method public static T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedAction<T>, java.security.AccessControlContext);
+ method public static T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
+ method public java.util.Set<java.security.Principal> getPrincipals();
+ method public java.util.Set<T> getPrincipals(java.lang.Class<T>);
+ method public java.util.Set<java.lang.Object> getPrivateCredentials();
+ method public java.util.Set<T> getPrivateCredentials(java.lang.Class<T>);
+ method public java.util.Set<java.lang.Object> getPublicCredentials();
+ method public java.util.Set<T> getPublicCredentials(java.lang.Class<T>);
+ method public static javax.security.auth.Subject getSubject(java.security.AccessControlContext);
+ method public boolean isReadOnly();
+ method public void setReadOnly();
+ }
+
+ public class SubjectDomainCombiner implements java.security.DomainCombiner {
+ ctor public SubjectDomainCombiner(javax.security.auth.Subject);
+ method public java.security.ProtectionDomain[] combine(java.security.ProtectionDomain[], java.security.ProtectionDomain[]);
+ method public javax.security.auth.Subject getSubject();
+ }
+
+}
+
+package javax.security.auth.callback {
+
+ public abstract interface Callback {
+ }
+
+ public abstract interface CallbackHandler {
+ method public abstract void handle(javax.security.auth.callback.Callback[]) throws java.io.IOException, javax.security.auth.callback.UnsupportedCallbackException;
+ }
+
+ public class PasswordCallback implements javax.security.auth.callback.Callback java.io.Serializable {
+ ctor public PasswordCallback(java.lang.String, boolean);
+ method public void clearPassword();
+ method public char[] getPassword();
+ method public java.lang.String getPrompt();
+ method public boolean isEchoOn();
+ method public void setPassword(char[]);
+ }
+
+ public class UnsupportedCallbackException extends java.lang.Exception {
+ ctor public UnsupportedCallbackException(javax.security.auth.callback.Callback);
+ ctor public UnsupportedCallbackException(javax.security.auth.callback.Callback, java.lang.String);
+ method public javax.security.auth.callback.Callback getCallback();
+ }
+
+}
+
+package javax.security.auth.login {
+
+ public class LoginException extends java.security.GeneralSecurityException {
+ ctor public LoginException();
+ ctor public LoginException(java.lang.String);
+ }
+
+}
+
+package javax.security.auth.x500 {
+
+ public final class X500Principal implements java.security.Principal java.io.Serializable {
+ ctor public X500Principal(byte[]);
+ ctor public X500Principal(java.io.InputStream);
+ ctor public X500Principal(java.lang.String);
+ ctor public X500Principal(java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
+ method public byte[] getEncoded();
+ method public java.lang.String getName();
+ method public java.lang.String getName(java.lang.String);
+ method public java.lang.String getName(java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
+ field public static final java.lang.String CANONICAL = "CANONICAL";
+ field public static final java.lang.String RFC1779 = "RFC1779";
+ field public static final java.lang.String RFC2253 = "RFC2253";
+ }
+
+}
+
+package javax.security.cert {
+
+ public abstract class Certificate {
+ ctor public Certificate();
+ method public abstract byte[] getEncoded() throws javax.security.cert.CertificateEncodingException;
+ method public abstract java.security.PublicKey getPublicKey();
+ method public abstract java.lang.String toString();
+ method public abstract void verify(java.security.PublicKey) throws javax.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+ method public abstract void verify(java.security.PublicKey, java.lang.String) throws javax.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+ }
+
+ public class CertificateEncodingException extends javax.security.cert.CertificateException {
+ ctor public CertificateEncodingException(java.lang.String);
+ ctor public CertificateEncodingException();
+ }
+
+ public class CertificateException extends java.lang.Exception {
+ ctor public CertificateException(java.lang.String);
+ ctor public CertificateException();
+ }
+
+ public class CertificateExpiredException extends javax.security.cert.CertificateException {
+ ctor public CertificateExpiredException(java.lang.String);
+ ctor public CertificateExpiredException();
+ }
+
+ public class CertificateNotYetValidException extends javax.security.cert.CertificateException {
+ ctor public CertificateNotYetValidException(java.lang.String);
+ ctor public CertificateNotYetValidException();
+ }
+
+ public class CertificateParsingException extends javax.security.cert.CertificateException {
+ ctor public CertificateParsingException(java.lang.String);
+ ctor public CertificateParsingException();
+ }
+
+ public abstract class X509Certificate extends javax.security.cert.Certificate {
+ ctor public X509Certificate();
+ method public abstract void checkValidity() throws javax.security.cert.CertificateExpiredException, javax.security.cert.CertificateNotYetValidException;
+ method public abstract void checkValidity(java.util.Date) throws javax.security.cert.CertificateExpiredException, javax.security.cert.CertificateNotYetValidException;
+ method public static final javax.security.cert.X509Certificate getInstance(java.io.InputStream) throws javax.security.cert.CertificateException;
+ method public static final javax.security.cert.X509Certificate getInstance(byte[]) throws javax.security.cert.CertificateException;
+ method public abstract java.security.Principal getIssuerDN();
+ method public abstract java.util.Date getNotAfter();
+ method public abstract java.util.Date getNotBefore();
+ method public abstract java.math.BigInteger getSerialNumber();
+ method public abstract java.lang.String getSigAlgName();
+ method public abstract java.lang.String getSigAlgOID();
+ method public abstract byte[] getSigAlgParams();
+ method public abstract java.security.Principal getSubjectDN();
+ method public abstract int getVersion();
+ }
+
+}
+
+package javax.sql {
+
+ public abstract interface CommonDataSource {
+ method public abstract java.io.PrintWriter getLogWriter() throws java.sql.SQLException;
+ method public abstract int getLoginTimeout() throws java.sql.SQLException;
+ method public abstract void setLogWriter(java.io.PrintWriter) throws java.sql.SQLException;
+ method public abstract void setLoginTimeout(int) throws java.sql.SQLException;
+ }
+
+ public class ConnectionEvent extends java.util.EventObject implements java.io.Serializable {
+ ctor public ConnectionEvent(javax.sql.PooledConnection);
+ ctor public ConnectionEvent(javax.sql.PooledConnection, java.sql.SQLException);
+ method public java.sql.SQLException getSQLException();
+ }
+
+ public abstract interface ConnectionEventListener implements java.util.EventListener {
+ method public abstract void connectionClosed(javax.sql.ConnectionEvent);
+ method public abstract void connectionErrorOccurred(javax.sql.ConnectionEvent);
+ }
+
+ public abstract interface ConnectionPoolDataSource implements javax.sql.CommonDataSource {
+ method public abstract javax.sql.PooledConnection getPooledConnection() throws java.sql.SQLException;
+ method public abstract javax.sql.PooledConnection getPooledConnection(java.lang.String, java.lang.String) throws java.sql.SQLException;
+ }
+
+ public abstract interface DataSource implements javax.sql.CommonDataSource java.sql.Wrapper {
+ method public abstract java.sql.Connection getConnection() throws java.sql.SQLException;
+ method public abstract java.sql.Connection getConnection(java.lang.String, java.lang.String) throws java.sql.SQLException;
+ }
+
+ public abstract interface PooledConnection {
+ method public abstract void addConnectionEventListener(javax.sql.ConnectionEventListener);
+ method public abstract void addStatementEventListener(javax.sql.StatementEventListener);
+ method public abstract void close() throws java.sql.SQLException;
+ method public abstract java.sql.Connection getConnection() throws java.sql.SQLException;
+ method public abstract void removeConnectionEventListener(javax.sql.ConnectionEventListener);
+ method public abstract void removeStatementEventListener(javax.sql.StatementEventListener);
+ }
+
+ public abstract interface RowSet implements java.sql.ResultSet {
+ method public abstract void addRowSetListener(javax.sql.RowSetListener);
+ method public abstract void clearParameters() throws java.sql.SQLException;
+ method public abstract void execute() throws java.sql.SQLException;
+ method public abstract java.lang.String getCommand();
+ method public abstract java.lang.String getDataSourceName();
+ method public abstract boolean getEscapeProcessing() throws java.sql.SQLException;
+ method public abstract int getMaxFieldSize() throws java.sql.SQLException;
+ method public abstract int getMaxRows() throws java.sql.SQLException;
+ method public abstract java.lang.String getPassword();
+ method public abstract int getQueryTimeout() throws java.sql.SQLException;
+ method public abstract int getTransactionIsolation();
+ method public abstract java.util.Map<java.lang.String, java.lang.Class<?>> getTypeMap() throws java.sql.SQLException;
+ method public abstract java.lang.String getUrl() throws java.sql.SQLException;
+ method public abstract java.lang.String getUsername();
+ method public abstract boolean isReadOnly();
+ method public abstract void removeRowSetListener(javax.sql.RowSetListener);
+ method public abstract void setArray(int, java.sql.Array) throws java.sql.SQLException;
+ method public abstract void setAsciiStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+ method public abstract void setAsciiStream(int, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void setAsciiStream(java.lang.String, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void setAsciiStream(java.lang.String, java.io.InputStream, int) throws java.sql.SQLException;
+ method public abstract void setBigDecimal(int, java.math.BigDecimal) throws java.sql.SQLException;
+ method public abstract void setBigDecimal(java.lang.String, java.math.BigDecimal) throws java.sql.SQLException;
+ method public abstract void setBinaryStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+ method public abstract void setBinaryStream(int, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void setBinaryStream(java.lang.String, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void setBinaryStream(java.lang.String, java.io.InputStream, int) throws java.sql.SQLException;
+ method public abstract void setBlob(int, java.sql.Blob) throws java.sql.SQLException;
+ method public abstract void setBlob(int, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void setBlob(int, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void setBlob(java.lang.String, java.io.InputStream) throws java.sql.SQLException;
+ method public abstract void setBlob(java.lang.String, java.io.InputStream, long) throws java.sql.SQLException;
+ method public abstract void setBlob(java.lang.String, java.sql.Blob) throws java.sql.SQLException;
+ method public abstract void setBoolean(int, boolean) throws java.sql.SQLException;
+ method public abstract void setBoolean(java.lang.String, boolean) throws java.sql.SQLException;
+ method public abstract void setByte(int, byte) throws java.sql.SQLException;
+ method public abstract void setByte(java.lang.String, byte) throws java.sql.SQLException;
+ method public abstract void setBytes(int, byte[]) throws java.sql.SQLException;
+ method public abstract void setBytes(java.lang.String, byte[]) throws java.sql.SQLException;
+ method public abstract void setCharacterStream(int, java.io.Reader, int) throws java.sql.SQLException;
+ method public abstract void setCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setCharacterStream(java.lang.String, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setCharacterStream(java.lang.String, java.io.Reader, int) throws java.sql.SQLException;
+ method public abstract void setClob(int, java.sql.Clob) throws java.sql.SQLException;
+ method public abstract void setClob(int, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setClob(int, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setClob(java.lang.String, java.sql.Clob) throws java.sql.SQLException;
+ method public abstract void setClob(java.lang.String, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setClob(java.lang.String, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setCommand(java.lang.String) throws java.sql.SQLException;
+ method public abstract void setConcurrency(int) throws java.sql.SQLException;
+ method public abstract void setDataSourceName(java.lang.String) throws java.sql.SQLException;
+ method public abstract void setDate(int, java.sql.Date) throws java.sql.SQLException;
+ method public abstract void setDate(int, java.sql.Date, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract void setDate(java.lang.String, java.sql.Date) throws java.sql.SQLException;
+ method public abstract void setDate(java.lang.String, java.sql.Date, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract void setDouble(int, double) throws java.sql.SQLException;
+ method public abstract void setDouble(java.lang.String, double) throws java.sql.SQLException;
+ method public abstract void setEscapeProcessing(boolean) throws java.sql.SQLException;
+ method public abstract void setFloat(int, float) throws java.sql.SQLException;
+ method public abstract void setFloat(java.lang.String, float) throws java.sql.SQLException;
+ method public abstract void setInt(int, int) throws java.sql.SQLException;
+ method public abstract void setInt(java.lang.String, int) throws java.sql.SQLException;
+ method public abstract void setLong(int, long) throws java.sql.SQLException;
+ method public abstract void setLong(java.lang.String, long) throws java.sql.SQLException;
+ method public abstract void setMaxFieldSize(int) throws java.sql.SQLException;
+ method public abstract void setMaxRows(int) throws java.sql.SQLException;
+ method public abstract void setNCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setNCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setNCharacterStream(java.lang.String, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setNCharacterStream(java.lang.String, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setNClob(int, java.sql.NClob) throws java.sql.SQLException;
+ method public abstract void setNClob(int, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setNClob(int, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setNClob(java.lang.String, java.sql.NClob) throws java.sql.SQLException;
+ method public abstract void setNClob(java.lang.String, java.io.Reader) throws java.sql.SQLException;
+ method public abstract void setNClob(java.lang.String, java.io.Reader, long) throws java.sql.SQLException;
+ method public abstract void setNString(int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setNString(java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setNull(int, int) throws java.sql.SQLException;
+ method public abstract void setNull(int, int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setNull(java.lang.String, int) throws java.sql.SQLException;
+ method public abstract void setNull(java.lang.String, int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setObject(int, java.lang.Object) throws java.sql.SQLException;
+ method public abstract void setObject(int, java.lang.Object, int) throws java.sql.SQLException;
+ method public abstract void setObject(int, java.lang.Object, int, int) throws java.sql.SQLException;
+ method public abstract void setObject(java.lang.String, java.lang.Object) throws java.sql.SQLException;
+ method public abstract void setObject(java.lang.String, java.lang.Object, int) throws java.sql.SQLException;
+ method public abstract void setObject(java.lang.String, java.lang.Object, int, int) throws java.sql.SQLException;
+ method public abstract void setPassword(java.lang.String) throws java.sql.SQLException;
+ method public abstract void setQueryTimeout(int) throws java.sql.SQLException;
+ method public abstract void setReadOnly(boolean) throws java.sql.SQLException;
+ method public abstract void setRef(int, java.sql.Ref) throws java.sql.SQLException;
+ method public abstract void setRowId(int, java.sql.RowId) throws java.sql.SQLException;
+ method public abstract void setRowId(java.lang.String, java.sql.RowId) throws java.sql.SQLException;
+ method public abstract void setSQLXML(int, java.sql.SQLXML) throws java.sql.SQLException;
+ method public abstract void setSQLXML(java.lang.String, java.sql.SQLXML) throws java.sql.SQLException;
+ method public abstract void setShort(int, short) throws java.sql.SQLException;
+ method public abstract void setShort(java.lang.String, short) throws java.sql.SQLException;
+ method public abstract void setString(int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setString(java.lang.String, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setTime(int, java.sql.Time) throws java.sql.SQLException;
+ method public abstract void setTime(int, java.sql.Time, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract void setTime(java.lang.String, java.sql.Time) throws java.sql.SQLException;
+ method public abstract void setTime(java.lang.String, java.sql.Time, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract void setTimestamp(int, java.sql.Timestamp) throws java.sql.SQLException;
+ method public abstract void setTimestamp(int, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract void setTimestamp(java.lang.String, java.sql.Timestamp) throws java.sql.SQLException;
+ method public abstract void setTimestamp(java.lang.String, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException;
+ method public abstract void setTransactionIsolation(int) throws java.sql.SQLException;
+ method public abstract void setType(int) throws java.sql.SQLException;
+ method public abstract void setTypeMap(java.util.Map<java.lang.String, java.lang.Class<?>>) throws java.sql.SQLException;
+ method public abstract void setURL(int, java.net.URL) throws java.sql.SQLException;
+ method public abstract void setUrl(java.lang.String) throws java.sql.SQLException;
+ method public abstract void setUsername(java.lang.String) throws java.sql.SQLException;
+ }
+
+ public class RowSetEvent extends java.util.EventObject implements java.io.Serializable {
+ ctor public RowSetEvent(javax.sql.RowSet);
+ }
+
+ public abstract interface RowSetInternal {
+ method public abstract java.sql.Connection getConnection() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getOriginal() throws java.sql.SQLException;
+ method public abstract java.sql.ResultSet getOriginalRow() throws java.sql.SQLException;
+ method public abstract java.lang.Object[] getParams() throws java.sql.SQLException;
+ method public abstract void setMetaData(javax.sql.RowSetMetaData) throws java.sql.SQLException;
+ }
+
+ public abstract interface RowSetListener implements java.util.EventListener {
+ method public abstract void cursorMoved(javax.sql.RowSetEvent);
+ method public abstract void rowChanged(javax.sql.RowSetEvent);
+ method public abstract void rowSetChanged(javax.sql.RowSetEvent);
+ }
+
+ public abstract interface RowSetMetaData implements java.sql.ResultSetMetaData {
+ method public abstract void setAutoIncrement(int, boolean) throws java.sql.SQLException;
+ method public abstract void setCaseSensitive(int, boolean) throws java.sql.SQLException;
+ method public abstract void setCatalogName(int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setColumnCount(int) throws java.sql.SQLException;
+ method public abstract void setColumnDisplaySize(int, int) throws java.sql.SQLException;
+ method public abstract void setColumnLabel(int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setColumnName(int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setColumnType(int, int) throws java.sql.SQLException;
+ method public abstract void setColumnTypeName(int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setCurrency(int, boolean) throws java.sql.SQLException;
+ method public abstract void setNullable(int, int) throws java.sql.SQLException;
+ method public abstract void setPrecision(int, int) throws java.sql.SQLException;
+ method public abstract void setScale(int, int) throws java.sql.SQLException;
+ method public abstract void setSchemaName(int, java.lang.String) throws java.sql.SQLException;
+ method public abstract void setSearchable(int, boolean) throws java.sql.SQLException;
+ method public abstract void setSigned(int, boolean) throws java.sql.SQLException;
+ method public abstract void setTableName(int, java.lang.String) throws java.sql.SQLException;
+ }
+
+ public abstract interface RowSetReader {
+ method public abstract void readData(javax.sql.RowSetInternal) throws java.sql.SQLException;
+ }
+
+ public abstract interface RowSetWriter {
+ method public abstract boolean writeData(javax.sql.RowSetInternal) throws java.sql.SQLException;
+ }
+
+ public class StatementEvent extends java.util.EventObject {
+ ctor public StatementEvent(javax.sql.PooledConnection, java.sql.PreparedStatement, java.sql.SQLException);
+ ctor public StatementEvent(javax.sql.PooledConnection, java.sql.PreparedStatement);
+ method public java.sql.SQLException getSQLException();
+ method public java.sql.PreparedStatement getStatement();
+ }
+
+ public abstract interface StatementEventListener implements java.util.EventListener {
+ method public abstract void statementClosed(javax.sql.StatementEvent);
+ method public abstract void statementErrorOccurred(javax.sql.StatementEvent);
+ }
+
+}
+
+package javax.xml {
+
+ public final class XMLConstants {
+ field public static final java.lang.String DEFAULT_NS_PREFIX = "";
+ field public static final java.lang.String FEATURE_SECURE_PROCESSING = "http://javax.xml.XMLConstants/feature/secure-processing";
+ field public static final java.lang.String NULL_NS_URI = "";
+ field public static final java.lang.String RELAXNG_NS_URI = "http://relaxng.org/ns/structure/1.0";
+ field public static final java.lang.String W3C_XML_SCHEMA_INSTANCE_NS_URI = "http://www.w3.org/2001/XMLSchema-instance";
+ field public static final java.lang.String W3C_XML_SCHEMA_NS_URI = "http://www.w3.org/2001/XMLSchema";
+ field public static final java.lang.String W3C_XPATH_DATATYPE_NS_URI = "http://www.w3.org/2003/11/xpath-datatypes";
+ field public static final java.lang.String XMLNS_ATTRIBUTE = "xmlns";
+ field public static final java.lang.String XMLNS_ATTRIBUTE_NS_URI = "http://www.w3.org/2000/xmlns/";
+ field public static final java.lang.String XML_DTD_NS_URI = "http://www.w3.org/TR/REC-xml";
+ field public static final java.lang.String XML_NS_PREFIX = "xml";
+ field public static final java.lang.String XML_NS_URI = "http://www.w3.org/XML/1998/namespace";
+ }
+
+}
+
+package javax.xml.datatype {
+
+ public class DatatypeConfigurationException extends java.lang.Exception {
+ ctor public DatatypeConfigurationException();
+ ctor public DatatypeConfigurationException(java.lang.String);
+ ctor public DatatypeConfigurationException(java.lang.String, java.lang.Throwable);
+ ctor public DatatypeConfigurationException(java.lang.Throwable);
+ }
+
+ public final class DatatypeConstants {
+ field public static final int APRIL = 4; // 0x4
+ field public static final int AUGUST = 8; // 0x8
+ field public static final javax.xml.namespace.QName DATE;
+ field public static final javax.xml.namespace.QName DATETIME;
+ field public static final javax.xml.datatype.DatatypeConstants.Field DAYS;
+ field public static final int DECEMBER = 12; // 0xc
+ field public static final javax.xml.namespace.QName DURATION;
+ field public static final javax.xml.namespace.QName DURATION_DAYTIME;
+ field public static final javax.xml.namespace.QName DURATION_YEARMONTH;
+ field public static final int EQUAL = 0; // 0x0
+ field public static final int FEBRUARY = 2; // 0x2
+ field public static final int FIELD_UNDEFINED = -2147483648; // 0x80000000
+ field public static final javax.xml.namespace.QName GDAY;
+ field public static final javax.xml.namespace.QName GMONTH;
+ field public static final javax.xml.namespace.QName GMONTHDAY;
+ field public static final int GREATER = 1; // 0x1
+ field public static final javax.xml.namespace.QName GYEAR;
+ field public static final javax.xml.namespace.QName GYEARMONTH;
+ field public static final javax.xml.datatype.DatatypeConstants.Field HOURS;
+ field public static final int INDETERMINATE = 2; // 0x2
+ field public static final int JANUARY = 1; // 0x1
+ field public static final int JULY = 7; // 0x7
+ field public static final int JUNE = 6; // 0x6
+ field public static final int LESSER = -1; // 0xffffffff
+ field public static final int MARCH = 3; // 0x3
+ field public static final int MAX_TIMEZONE_OFFSET = -840; // 0xfffffcb8
+ field public static final int MAY = 5; // 0x5
+ field public static final javax.xml.datatype.DatatypeConstants.Field MINUTES;
+ field public static final int MIN_TIMEZONE_OFFSET = 840; // 0x348
+ field public static final javax.xml.datatype.DatatypeConstants.Field MONTHS;
+ field public static final int NOVEMBER = 11; // 0xb
+ field public static final int OCTOBER = 10; // 0xa
+ field public static final javax.xml.datatype.DatatypeConstants.Field SECONDS;
+ field public static final int SEPTEMBER = 9; // 0x9
+ field public static final javax.xml.namespace.QName TIME;
+ field public static final javax.xml.datatype.DatatypeConstants.Field YEARS;
+ }
+
+ public static final class DatatypeConstants.Field {
+ method public int getId();
+ }
+
+ public abstract class DatatypeFactory {
+ ctor protected DatatypeFactory();
+ method public abstract javax.xml.datatype.Duration newDuration(java.lang.String);
+ method public abstract javax.xml.datatype.Duration newDuration(long);
+ method public abstract javax.xml.datatype.Duration newDuration(boolean, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigDecimal);
+ method public javax.xml.datatype.Duration newDuration(boolean, int, int, int, int, int, int);
+ method public javax.xml.datatype.Duration newDurationDayTime(java.lang.String);
+ method public javax.xml.datatype.Duration newDurationDayTime(long);
+ method public javax.xml.datatype.Duration newDurationDayTime(boolean, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+ method public javax.xml.datatype.Duration newDurationDayTime(boolean, int, int, int, int);
+ method public javax.xml.datatype.Duration newDurationYearMonth(java.lang.String);
+ method public javax.xml.datatype.Duration newDurationYearMonth(long);
+ method public javax.xml.datatype.Duration newDurationYearMonth(boolean, java.math.BigInteger, java.math.BigInteger);
+ method public javax.xml.datatype.Duration newDurationYearMonth(boolean, int, int);
+ method public static javax.xml.datatype.DatatypeFactory newInstance() throws javax.xml.datatype.DatatypeConfigurationException;
+ method public static javax.xml.datatype.DatatypeFactory newInstance(java.lang.String, java.lang.ClassLoader) throws javax.xml.datatype.DatatypeConfigurationException;
+ method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar();
+ method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(java.lang.String);
+ method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(java.util.GregorianCalendar);
+ method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(java.math.BigInteger, int, int, int, int, int, java.math.BigDecimal, int);
+ method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(int, int, int, int, int, int, int, int);
+ method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarDate(int, int, int, int);
+ method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, int);
+ method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, java.math.BigDecimal, int);
+ method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, int, int);
+ field public static final java.lang.String DATATYPEFACTORY_IMPLEMENTATION_CLASS;
+ field public static final java.lang.String DATATYPEFACTORY_PROPERTY = "javax.xml.datatype.DatatypeFactory";
+ }
+
+ public abstract class Duration {
+ ctor public Duration();
+ method public abstract javax.xml.datatype.Duration add(javax.xml.datatype.Duration);
+ method public abstract void addTo(java.util.Calendar);
+ method public void addTo(java.util.Date);
+ method public abstract int compare(javax.xml.datatype.Duration);
+ method public int getDays();
+ method public abstract java.lang.Number getField(javax.xml.datatype.DatatypeConstants.Field);
+ method public int getHours();
+ method public int getMinutes();
+ method public int getMonths();
+ method public int getSeconds();
+ method public abstract int getSign();
+ method public long getTimeInMillis(java.util.Calendar);
+ method public long getTimeInMillis(java.util.Date);
+ method public javax.xml.namespace.QName getXMLSchemaType();
+ method public int getYears();
+ method public abstract int hashCode();
+ method public boolean isLongerThan(javax.xml.datatype.Duration);
+ method public abstract boolean isSet(javax.xml.datatype.DatatypeConstants.Field);
+ method public boolean isShorterThan(javax.xml.datatype.Duration);
+ method public javax.xml.datatype.Duration multiply(int);
+ method public abstract javax.xml.datatype.Duration multiply(java.math.BigDecimal);
+ method public abstract javax.xml.datatype.Duration negate();
+ method public abstract javax.xml.datatype.Duration normalizeWith(java.util.Calendar);
+ method public javax.xml.datatype.Duration subtract(javax.xml.datatype.Duration);
+ }
+
+ public abstract class XMLGregorianCalendar implements java.lang.Cloneable {
+ ctor public XMLGregorianCalendar();
+ method public abstract void add(javax.xml.datatype.Duration);
+ method public abstract void clear();
+ method public abstract java.lang.Object clone();
+ method public abstract int compare(javax.xml.datatype.XMLGregorianCalendar);
+ method public abstract int getDay();
+ method public abstract java.math.BigInteger getEon();
+ method public abstract java.math.BigInteger getEonAndYear();
+ method public abstract java.math.BigDecimal getFractionalSecond();
+ method public abstract int getHour();
+ method public int getMillisecond();
+ method public abstract int getMinute();
+ method public abstract int getMonth();
+ method public abstract int getSecond();
+ method public abstract java.util.TimeZone getTimeZone(int);
+ method public abstract int getTimezone();
+ method public abstract javax.xml.namespace.QName getXMLSchemaType();
+ method public abstract int getYear();
+ method public abstract boolean isValid();
+ method public abstract javax.xml.datatype.XMLGregorianCalendar normalize();
+ method public abstract void reset();
+ method public abstract void setDay(int);
+ method public abstract void setFractionalSecond(java.math.BigDecimal);
+ method public abstract void setHour(int);
+ method public abstract void setMillisecond(int);
+ method public abstract void setMinute(int);
+ method public abstract void setMonth(int);
+ method public abstract void setSecond(int);
+ method public void setTime(int, int, int);
+ method public void setTime(int, int, int, java.math.BigDecimal);
+ method public void setTime(int, int, int, int);
+ method public abstract void setTimezone(int);
+ method public abstract void setYear(java.math.BigInteger);
+ method public abstract void setYear(int);
+ method public abstract java.util.GregorianCalendar toGregorianCalendar();
+ method public abstract java.util.GregorianCalendar toGregorianCalendar(java.util.TimeZone, java.util.Locale, javax.xml.datatype.XMLGregorianCalendar);
+ method public abstract java.lang.String toXMLFormat();
+ }
+
+}
+
+package javax.xml.namespace {
+
+ public abstract interface NamespaceContext {
+ method public abstract java.lang.String getNamespaceURI(java.lang.String);
+ method public abstract java.lang.String getPrefix(java.lang.String);
+ method public abstract java.util.Iterator getPrefixes(java.lang.String);
+ }
+
+ public class QName implements java.io.Serializable {
+ ctor public QName(java.lang.String, java.lang.String);
+ ctor public QName(java.lang.String, java.lang.String, java.lang.String);
+ ctor public QName(java.lang.String);
+ method public final boolean equals(java.lang.Object);
+ method public java.lang.String getLocalPart();
+ method public java.lang.String getNamespaceURI();
+ method public java.lang.String getPrefix();
+ method public final int hashCode();
+ method public static javax.xml.namespace.QName valueOf(java.lang.String);
+ }
+
+}
+
+package javax.xml.parsers {
+
+ public abstract class DocumentBuilder {
+ ctor protected DocumentBuilder();
+ method public abstract org.w3c.dom.DOMImplementation getDOMImplementation();
+ method public javax.xml.validation.Schema getSchema();
+ method public abstract boolean isNamespaceAware();
+ method public abstract boolean isValidating();
+ method public boolean isXIncludeAware();
+ method public abstract org.w3c.dom.Document newDocument();
+ method public org.w3c.dom.Document parse(java.io.InputStream) throws java.io.IOException, org.xml.sax.SAXException;
+ method public org.w3c.dom.Document parse(java.io.InputStream, java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public org.w3c.dom.Document parse(java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public org.w3c.dom.Document parse(java.io.File) throws java.io.IOException, org.xml.sax.SAXException;
+ method public abstract org.w3c.dom.Document parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void reset();
+ method public abstract void setEntityResolver(org.xml.sax.EntityResolver);
+ method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+ }
+
+ public abstract class DocumentBuilderFactory {
+ ctor protected DocumentBuilderFactory();
+ method public abstract java.lang.Object getAttribute(java.lang.String) throws java.lang.IllegalArgumentException;
+ method public abstract boolean getFeature(java.lang.String) throws javax.xml.parsers.ParserConfigurationException;
+ method public javax.xml.validation.Schema getSchema();
+ method public boolean isCoalescing();
+ method public boolean isExpandEntityReferences();
+ method public boolean isIgnoringComments();
+ method public boolean isIgnoringElementContentWhitespace();
+ method public boolean isNamespaceAware();
+ method public boolean isValidating();
+ method public boolean isXIncludeAware();
+ method public abstract javax.xml.parsers.DocumentBuilder newDocumentBuilder() throws javax.xml.parsers.ParserConfigurationException;
+ method public static javax.xml.parsers.DocumentBuilderFactory newInstance();
+ method public static javax.xml.parsers.DocumentBuilderFactory newInstance(java.lang.String, java.lang.ClassLoader);
+ method public abstract void setAttribute(java.lang.String, java.lang.Object) throws java.lang.IllegalArgumentException;
+ method public void setCoalescing(boolean);
+ method public void setExpandEntityReferences(boolean);
+ method public abstract void setFeature(java.lang.String, boolean) throws javax.xml.parsers.ParserConfigurationException;
+ method public void setIgnoringComments(boolean);
+ method public void setIgnoringElementContentWhitespace(boolean);
+ method public void setNamespaceAware(boolean);
+ method public void setSchema(javax.xml.validation.Schema);
+ method public void setValidating(boolean);
+ method public void setXIncludeAware(boolean);
+ }
+
+ public class FactoryConfigurationError extends java.lang.Error {
+ ctor public FactoryConfigurationError();
+ ctor public FactoryConfigurationError(java.lang.String);
+ ctor public FactoryConfigurationError(java.lang.Exception);
+ ctor public FactoryConfigurationError(java.lang.Exception, java.lang.String);
+ method public java.lang.Exception getException();
+ }
+
+ public class ParserConfigurationException extends java.lang.Exception {
+ ctor public ParserConfigurationException();
+ ctor public ParserConfigurationException(java.lang.String);
+ }
+
+ public abstract class SAXParser {
+ ctor protected SAXParser();
+ method public abstract org.xml.sax.Parser getParser() throws org.xml.sax.SAXException;
+ method public abstract java.lang.Object getProperty(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public javax.xml.validation.Schema getSchema();
+ method public abstract org.xml.sax.XMLReader getXMLReader() throws org.xml.sax.SAXException;
+ method public abstract boolean isNamespaceAware();
+ method public abstract boolean isValidating();
+ method public boolean isXIncludeAware();
+ method public void parse(java.io.InputStream, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parse(java.io.InputStream, org.xml.sax.HandlerBase, java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parse(java.io.InputStream, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parse(java.io.InputStream, org.xml.sax.helpers.DefaultHandler, java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parse(java.lang.String, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parse(java.lang.String, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parse(java.io.File, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parse(java.io.File, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parse(org.xml.sax.InputSource, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parse(org.xml.sax.InputSource, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void reset();
+ method public abstract void setProperty(java.lang.String, java.lang.Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ }
+
+ public abstract class SAXParserFactory {
+ ctor protected SAXParserFactory();
+ method public abstract boolean getFeature(java.lang.String) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public javax.xml.validation.Schema getSchema();
+ method public boolean isNamespaceAware();
+ method public boolean isValidating();
+ method public boolean isXIncludeAware();
+ method public static javax.xml.parsers.SAXParserFactory newInstance();
+ method public static javax.xml.parsers.SAXParserFactory newInstance(java.lang.String, java.lang.ClassLoader);
+ method public abstract javax.xml.parsers.SAXParser newSAXParser() throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException;
+ method public abstract void setFeature(java.lang.String, boolean) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public void setNamespaceAware(boolean);
+ method public void setSchema(javax.xml.validation.Schema);
+ method public void setValidating(boolean);
+ method public void setXIncludeAware(boolean);
+ }
+
+}
+
+package javax.xml.transform {
+
+ public abstract interface ErrorListener {
+ method public abstract void error(javax.xml.transform.TransformerException) throws javax.xml.transform.TransformerException;
+ method public abstract void fatalError(javax.xml.transform.TransformerException) throws javax.xml.transform.TransformerException;
+ method public abstract void warning(javax.xml.transform.TransformerException) throws javax.xml.transform.TransformerException;
+ }
+
+ public class OutputKeys {
+ field public static final java.lang.String CDATA_SECTION_ELEMENTS = "cdata-section-elements";
+ field public static final java.lang.String DOCTYPE_PUBLIC = "doctype-public";
+ field public static final java.lang.String DOCTYPE_SYSTEM = "doctype-system";
+ field public static final java.lang.String ENCODING = "encoding";
+ field public static final java.lang.String INDENT = "indent";
+ field public static final java.lang.String MEDIA_TYPE = "media-type";
+ field public static final java.lang.String METHOD = "method";
+ field public static final java.lang.String OMIT_XML_DECLARATION = "omit-xml-declaration";
+ field public static final java.lang.String STANDALONE = "standalone";
+ field public static final java.lang.String VERSION = "version";
+ }
+
+ public abstract interface Result {
+ method public abstract java.lang.String getSystemId();
+ method public abstract void setSystemId(java.lang.String);
+ field public static final java.lang.String PI_DISABLE_OUTPUT_ESCAPING = "javax.xml.transform.disable-output-escaping";
+ field public static final java.lang.String PI_ENABLE_OUTPUT_ESCAPING = "javax.xml.transform.enable-output-escaping";
+ }
+
+ public abstract interface Source {
+ method public abstract java.lang.String getSystemId();
+ method public abstract void setSystemId(java.lang.String);
+ }
+
+ public abstract interface SourceLocator {
+ method public abstract int getColumnNumber();
+ method public abstract int getLineNumber();
+ method public abstract java.lang.String getPublicId();
+ method public abstract java.lang.String getSystemId();
+ }
+
+ public abstract interface Templates {
+ method public abstract java.util.Properties getOutputProperties();
+ method public abstract javax.xml.transform.Transformer newTransformer() throws javax.xml.transform.TransformerConfigurationException;
+ }
+
+ public abstract class Transformer {
+ ctor protected Transformer();
+ method public abstract void clearParameters();
+ method public abstract javax.xml.transform.ErrorListener getErrorListener();
+ method public abstract java.util.Properties getOutputProperties();
+ method public abstract java.lang.String getOutputProperty(java.lang.String) throws java.lang.IllegalArgumentException;
+ method public abstract java.lang.Object getParameter(java.lang.String);
+ method public abstract javax.xml.transform.URIResolver getURIResolver();
+ method public void reset();
+ method public abstract void setErrorListener(javax.xml.transform.ErrorListener) throws java.lang.IllegalArgumentException;
+ method public abstract void setOutputProperties(java.util.Properties);
+ method public abstract void setOutputProperty(java.lang.String, java.lang.String) throws java.lang.IllegalArgumentException;
+ method public abstract void setParameter(java.lang.String, java.lang.Object);
+ method public abstract void setURIResolver(javax.xml.transform.URIResolver);
+ method public abstract void transform(javax.xml.transform.Source, javax.xml.transform.Result) throws javax.xml.transform.TransformerException;
+ }
+
+ public class TransformerConfigurationException extends javax.xml.transform.TransformerException {
+ ctor public TransformerConfigurationException();
+ ctor public TransformerConfigurationException(java.lang.String);
+ ctor public TransformerConfigurationException(java.lang.Throwable);
+ ctor public TransformerConfigurationException(java.lang.String, java.lang.Throwable);
+ ctor public TransformerConfigurationException(java.lang.String, javax.xml.transform.SourceLocator);
+ ctor public TransformerConfigurationException(java.lang.String, javax.xml.transform.SourceLocator, java.lang.Throwable);
+ }
+
+ public class TransformerException extends java.lang.Exception {
+ ctor public TransformerException(java.lang.String);
+ ctor public TransformerException(java.lang.Throwable);
+ ctor public TransformerException(java.lang.String, java.lang.Throwable);
+ ctor public TransformerException(java.lang.String, javax.xml.transform.SourceLocator);
+ ctor public TransformerException(java.lang.String, javax.xml.transform.SourceLocator, java.lang.Throwable);
+ method public java.lang.Throwable getException();
+ method public java.lang.String getLocationAsString();
+ method public javax.xml.transform.SourceLocator getLocator();
+ method public java.lang.String getMessageAndLocation();
+ method public void setLocator(javax.xml.transform.SourceLocator);
+ }
+
+ public abstract class TransformerFactory {
+ ctor protected TransformerFactory();
+ method public abstract javax.xml.transform.Source getAssociatedStylesheet(javax.xml.transform.Source, java.lang.String, java.lang.String, java.lang.String) throws javax.xml.transform.TransformerConfigurationException;
+ method public abstract java.lang.Object getAttribute(java.lang.String);
+ method public abstract javax.xml.transform.ErrorListener getErrorListener();
+ method public abstract boolean getFeature(java.lang.String);
+ method public abstract javax.xml.transform.URIResolver getURIResolver();
+ method public static javax.xml.transform.TransformerFactory newInstance() throws javax.xml.transform.TransformerFactoryConfigurationError;
+ method public static javax.xml.transform.TransformerFactory newInstance(java.lang.String, java.lang.ClassLoader) throws javax.xml.transform.TransformerFactoryConfigurationError;
+ method public abstract javax.xml.transform.Templates newTemplates(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException;
+ method public abstract javax.xml.transform.Transformer newTransformer(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException;
+ method public abstract javax.xml.transform.Transformer newTransformer() throws javax.xml.transform.TransformerConfigurationException;
+ method public abstract void setAttribute(java.lang.String, java.lang.Object);
+ method public abstract void setErrorListener(javax.xml.transform.ErrorListener);
+ method public abstract void setFeature(java.lang.String, boolean) throws javax.xml.transform.TransformerConfigurationException;
+ method public abstract void setURIResolver(javax.xml.transform.URIResolver);
+ }
+
+ public class TransformerFactoryConfigurationError extends java.lang.Error {
+ ctor public TransformerFactoryConfigurationError();
+ ctor public TransformerFactoryConfigurationError(java.lang.String);
+ ctor public TransformerFactoryConfigurationError(java.lang.Exception);
+ ctor public TransformerFactoryConfigurationError(java.lang.Exception, java.lang.String);
+ method public java.lang.Exception getException();
+ }
+
+ public abstract interface URIResolver {
+ method public abstract javax.xml.transform.Source resolve(java.lang.String, java.lang.String) throws javax.xml.transform.TransformerException;
+ }
+
+}
+
+package javax.xml.transform.dom {
+
+ public abstract interface DOMLocator implements javax.xml.transform.SourceLocator {
+ method public abstract org.w3c.dom.Node getOriginatingNode();
+ }
+
+ public class DOMResult implements javax.xml.transform.Result {
+ ctor public DOMResult();
+ ctor public DOMResult(org.w3c.dom.Node);
+ ctor public DOMResult(org.w3c.dom.Node, java.lang.String);
+ ctor public DOMResult(org.w3c.dom.Node, org.w3c.dom.Node);
+ ctor public DOMResult(org.w3c.dom.Node, org.w3c.dom.Node, java.lang.String);
+ method public org.w3c.dom.Node getNextSibling();
+ method public org.w3c.dom.Node getNode();
+ method public java.lang.String getSystemId();
+ method public void setNextSibling(org.w3c.dom.Node);
+ method public void setNode(org.w3c.dom.Node);
+ method public void setSystemId(java.lang.String);
+ field public static final java.lang.String FEATURE = "http://javax.xml.transform.dom.DOMResult/feature";
+ }
+
+ public class DOMSource implements javax.xml.transform.Source {
+ ctor public DOMSource();
+ ctor public DOMSource(org.w3c.dom.Node);
+ ctor public DOMSource(org.w3c.dom.Node, java.lang.String);
+ method public org.w3c.dom.Node getNode();
+ method public java.lang.String getSystemId();
+ method public void setNode(org.w3c.dom.Node);
+ method public void setSystemId(java.lang.String);
+ field public static final java.lang.String FEATURE = "http://javax.xml.transform.dom.DOMSource/feature";
+ }
+
+}
+
+package javax.xml.transform.sax {
+
+ public class SAXResult implements javax.xml.transform.Result {
+ ctor public SAXResult();
+ ctor public SAXResult(org.xml.sax.ContentHandler);
+ method public org.xml.sax.ContentHandler getHandler();
+ method public org.xml.sax.ext.LexicalHandler getLexicalHandler();
+ method public java.lang.String getSystemId();
+ method public void setHandler(org.xml.sax.ContentHandler);
+ method public void setLexicalHandler(org.xml.sax.ext.LexicalHandler);
+ method public void setSystemId(java.lang.String);
+ field public static final java.lang.String FEATURE = "http://javax.xml.transform.sax.SAXResult/feature";
+ }
+
+ public class SAXSource implements javax.xml.transform.Source {
+ ctor public SAXSource();
+ ctor public SAXSource(org.xml.sax.XMLReader, org.xml.sax.InputSource);
+ ctor public SAXSource(org.xml.sax.InputSource);
+ method public org.xml.sax.InputSource getInputSource();
+ method public java.lang.String getSystemId();
+ method public org.xml.sax.XMLReader getXMLReader();
+ method public void setInputSource(org.xml.sax.InputSource);
+ method public void setSystemId(java.lang.String);
+ method public void setXMLReader(org.xml.sax.XMLReader);
+ method public static org.xml.sax.InputSource sourceToInputSource(javax.xml.transform.Source);
+ field public static final java.lang.String FEATURE = "http://javax.xml.transform.sax.SAXSource/feature";
+ }
+
+ public abstract class SAXTransformerFactory extends javax.xml.transform.TransformerFactory {
+ ctor protected SAXTransformerFactory();
+ method public abstract javax.xml.transform.sax.TemplatesHandler newTemplatesHandler() throws javax.xml.transform.TransformerConfigurationException;
+ method public abstract javax.xml.transform.sax.TransformerHandler newTransformerHandler(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException;
+ method public abstract javax.xml.transform.sax.TransformerHandler newTransformerHandler(javax.xml.transform.Templates) throws javax.xml.transform.TransformerConfigurationException;
+ method public abstract javax.xml.transform.sax.TransformerHandler newTransformerHandler() throws javax.xml.transform.TransformerConfigurationException;
+ method public abstract org.xml.sax.XMLFilter newXMLFilter(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException;
+ method public abstract org.xml.sax.XMLFilter newXMLFilter(javax.xml.transform.Templates) throws javax.xml.transform.TransformerConfigurationException;
+ field public static final java.lang.String FEATURE = "http://javax.xml.transform.sax.SAXTransformerFactory/feature";
+ field public static final java.lang.String FEATURE_XMLFILTER = "http://javax.xml.transform.sax.SAXTransformerFactory/feature/xmlfilter";
+ }
+
+ public abstract interface TemplatesHandler implements org.xml.sax.ContentHandler {
+ method public abstract java.lang.String getSystemId();
+ method public abstract javax.xml.transform.Templates getTemplates();
+ method public abstract void setSystemId(java.lang.String);
+ }
+
+ public abstract interface TransformerHandler implements org.xml.sax.ContentHandler org.xml.sax.DTDHandler org.xml.sax.ext.LexicalHandler {
+ method public abstract java.lang.String getSystemId();
+ method public abstract javax.xml.transform.Transformer getTransformer();
+ method public abstract void setResult(javax.xml.transform.Result) throws java.lang.IllegalArgumentException;
+ method public abstract void setSystemId(java.lang.String);
+ }
+
+}
+
+package javax.xml.transform.stream {
+
+ public class StreamResult implements javax.xml.transform.Result {
+ ctor public StreamResult();
+ ctor public StreamResult(java.io.OutputStream);
+ ctor public StreamResult(java.io.Writer);
+ ctor public StreamResult(java.lang.String);
+ ctor public StreamResult(java.io.File);
+ method public java.io.OutputStream getOutputStream();
+ method public java.lang.String getSystemId();
+ method public java.io.Writer getWriter();
+ method public void setOutputStream(java.io.OutputStream);
+ method public void setSystemId(java.lang.String);
+ method public void setSystemId(java.io.File);
+ method public void setWriter(java.io.Writer);
+ field public static final java.lang.String FEATURE = "http://javax.xml.transform.stream.StreamResult/feature";
+ }
+
+ public class StreamSource implements javax.xml.transform.Source {
+ ctor public StreamSource();
+ ctor public StreamSource(java.io.InputStream);
+ ctor public StreamSource(java.io.InputStream, java.lang.String);
+ ctor public StreamSource(java.io.Reader);
+ ctor public StreamSource(java.io.Reader, java.lang.String);
+ ctor public StreamSource(java.lang.String);
+ ctor public StreamSource(java.io.File);
+ method public java.io.InputStream getInputStream();
+ method public java.lang.String getPublicId();
+ method public java.io.Reader getReader();
+ method public java.lang.String getSystemId();
+ method public void setInputStream(java.io.InputStream);
+ method public void setPublicId(java.lang.String);
+ method public void setReader(java.io.Reader);
+ method public void setSystemId(java.lang.String);
+ method public void setSystemId(java.io.File);
+ field public static final java.lang.String FEATURE = "http://javax.xml.transform.stream.StreamSource/feature";
+ }
+
+}
+
+package javax.xml.validation {
+
+ public abstract class Schema {
+ ctor protected Schema();
+ method public abstract javax.xml.validation.Validator newValidator();
+ method public abstract javax.xml.validation.ValidatorHandler newValidatorHandler();
+ }
+
+ public abstract class SchemaFactory {
+ ctor protected SchemaFactory();
+ method public abstract org.xml.sax.ErrorHandler getErrorHandler();
+ method public boolean getFeature(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public java.lang.Object getProperty(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public abstract org.w3c.dom.ls.LSResourceResolver getResourceResolver();
+ method public abstract boolean isSchemaLanguageSupported(java.lang.String);
+ method public static javax.xml.validation.SchemaFactory newInstance(java.lang.String);
+ method public static javax.xml.validation.SchemaFactory newInstance(java.lang.String, java.lang.String, java.lang.ClassLoader);
+ method public javax.xml.validation.Schema newSchema(javax.xml.transform.Source) throws org.xml.sax.SAXException;
+ method public javax.xml.validation.Schema newSchema(java.io.File) throws org.xml.sax.SAXException;
+ method public javax.xml.validation.Schema newSchema(java.net.URL) throws org.xml.sax.SAXException;
+ method public abstract javax.xml.validation.Schema newSchema(javax.xml.transform.Source[]) throws org.xml.sax.SAXException;
+ method public abstract javax.xml.validation.Schema newSchema() throws org.xml.sax.SAXException;
+ method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+ method public void setFeature(java.lang.String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public void setProperty(java.lang.String, java.lang.Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public abstract void setResourceResolver(org.w3c.dom.ls.LSResourceResolver);
+ }
+
+ public abstract class SchemaFactoryLoader {
+ ctor protected SchemaFactoryLoader();
+ method public abstract javax.xml.validation.SchemaFactory newFactory(java.lang.String);
+ }
+
+ public abstract class TypeInfoProvider {
+ ctor protected TypeInfoProvider();
+ method public abstract org.w3c.dom.TypeInfo getAttributeTypeInfo(int);
+ method public abstract org.w3c.dom.TypeInfo getElementTypeInfo();
+ method public abstract boolean isIdAttribute(int);
+ method public abstract boolean isSpecified(int);
+ }
+
+ public abstract class Validator {
+ ctor protected Validator();
+ method public abstract org.xml.sax.ErrorHandler getErrorHandler();
+ method public boolean getFeature(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public java.lang.Object getProperty(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public abstract org.w3c.dom.ls.LSResourceResolver getResourceResolver();
+ method public abstract void reset();
+ method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+ method public void setFeature(java.lang.String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public void setProperty(java.lang.String, java.lang.Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public abstract void setResourceResolver(org.w3c.dom.ls.LSResourceResolver);
+ method public void validate(javax.xml.transform.Source) throws java.io.IOException, org.xml.sax.SAXException;
+ method public abstract void validate(javax.xml.transform.Source, javax.xml.transform.Result) throws java.io.IOException, org.xml.sax.SAXException;
+ }
+
+ public abstract class ValidatorHandler implements org.xml.sax.ContentHandler {
+ ctor protected ValidatorHandler();
+ method public abstract org.xml.sax.ContentHandler getContentHandler();
+ method public abstract org.xml.sax.ErrorHandler getErrorHandler();
+ method public boolean getFeature(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public java.lang.Object getProperty(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public abstract org.w3c.dom.ls.LSResourceResolver getResourceResolver();
+ method public abstract javax.xml.validation.TypeInfoProvider getTypeInfoProvider();
+ method public abstract void setContentHandler(org.xml.sax.ContentHandler);
+ method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+ method public void setFeature(java.lang.String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public void setProperty(java.lang.String, java.lang.Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public abstract void setResourceResolver(org.w3c.dom.ls.LSResourceResolver);
+ }
+
+}
+
+package javax.xml.xpath {
+
+ public abstract interface XPath {
+ method public abstract javax.xml.xpath.XPathExpression compile(java.lang.String) throws javax.xml.xpath.XPathExpressionException;
+ method public abstract java.lang.Object evaluate(java.lang.String, java.lang.Object, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException;
+ method public abstract java.lang.String evaluate(java.lang.String, java.lang.Object) throws javax.xml.xpath.XPathExpressionException;
+ method public abstract java.lang.Object evaluate(java.lang.String, org.xml.sax.InputSource, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException;
+ method public abstract java.lang.String evaluate(java.lang.String, org.xml.sax.InputSource) throws javax.xml.xpath.XPathExpressionException;
+ method public abstract javax.xml.namespace.NamespaceContext getNamespaceContext();
+ method public abstract javax.xml.xpath.XPathFunctionResolver getXPathFunctionResolver();
+ method public abstract javax.xml.xpath.XPathVariableResolver getXPathVariableResolver();
+ method public abstract void reset();
+ method public abstract void setNamespaceContext(javax.xml.namespace.NamespaceContext);
+ method public abstract void setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver);
+ method public abstract void setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver);
+ }
+
+ public class XPathConstants {
+ field public static final javax.xml.namespace.QName BOOLEAN;
+ field public static final java.lang.String DOM_OBJECT_MODEL = "http://java.sun.com/jaxp/xpath/dom";
+ field public static final javax.xml.namespace.QName NODE;
+ field public static final javax.xml.namespace.QName NODESET;
+ field public static final javax.xml.namespace.QName NUMBER;
+ field public static final javax.xml.namespace.QName STRING;
+ }
+
+ public class XPathException extends java.lang.Exception {
+ ctor public XPathException(java.lang.String);
+ ctor public XPathException(java.lang.Throwable);
+ }
+
+ public abstract interface XPathExpression {
+ method public abstract java.lang.Object evaluate(java.lang.Object, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException;
+ method public abstract java.lang.String evaluate(java.lang.Object) throws javax.xml.xpath.XPathExpressionException;
+ method public abstract java.lang.Object evaluate(org.xml.sax.InputSource, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException;
+ method public abstract java.lang.String evaluate(org.xml.sax.InputSource) throws javax.xml.xpath.XPathExpressionException;
+ }
+
+ public class XPathExpressionException extends javax.xml.xpath.XPathException {
+ ctor public XPathExpressionException(java.lang.String);
+ ctor public XPathExpressionException(java.lang.Throwable);
+ }
+
+ public abstract class XPathFactory {
+ ctor protected XPathFactory();
+ method public abstract boolean getFeature(java.lang.String) throws javax.xml.xpath.XPathFactoryConfigurationException;
+ method public abstract boolean isObjectModelSupported(java.lang.String);
+ method public static final javax.xml.xpath.XPathFactory newInstance();
+ method public static final javax.xml.xpath.XPathFactory newInstance(java.lang.String) throws javax.xml.xpath.XPathFactoryConfigurationException;
+ method public static javax.xml.xpath.XPathFactory newInstance(java.lang.String, java.lang.String, java.lang.ClassLoader) throws javax.xml.xpath.XPathFactoryConfigurationException;
+ method public abstract javax.xml.xpath.XPath newXPath();
+ method public abstract void setFeature(java.lang.String, boolean) throws javax.xml.xpath.XPathFactoryConfigurationException;
+ method public abstract void setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver);
+ method public abstract void setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver);
+ field public static final java.lang.String DEFAULT_OBJECT_MODEL_URI = "http://java.sun.com/jaxp/xpath/dom";
+ field public static final java.lang.String DEFAULT_PROPERTY_NAME = "javax.xml.xpath.XPathFactory";
+ }
+
+ public class XPathFactoryConfigurationException extends javax.xml.xpath.XPathException {
+ ctor public XPathFactoryConfigurationException(java.lang.String);
+ ctor public XPathFactoryConfigurationException(java.lang.Throwable);
+ }
+
+ public abstract interface XPathFunction {
+ method public abstract java.lang.Object evaluate(java.util.List) throws javax.xml.xpath.XPathFunctionException;
+ }
+
+ public class XPathFunctionException extends javax.xml.xpath.XPathExpressionException {
+ ctor public XPathFunctionException(java.lang.String);
+ ctor public XPathFunctionException(java.lang.Throwable);
+ }
+
+ public abstract interface XPathFunctionResolver {
+ method public abstract javax.xml.xpath.XPathFunction resolveFunction(javax.xml.namespace.QName, int);
+ }
+
+ public abstract interface XPathVariableResolver {
+ method public abstract java.lang.Object resolveVariable(javax.xml.namespace.QName);
+ }
+
+}
+
+package junit.framework {
+
+ public class Assert {
+ ctor protected Assert();
+ method public static void assertEquals(java.lang.String, java.lang.Object, java.lang.Object);
+ method public static void assertEquals(java.lang.Object, java.lang.Object);
+ method public static void assertEquals(java.lang.String, java.lang.String, java.lang.String);
+ method public static void assertEquals(java.lang.String, java.lang.String);
+ method public static void assertEquals(java.lang.String, double, double, double);
+ method public static void assertEquals(double, double, double);
+ method public static void assertEquals(java.lang.String, float, float, float);
+ method public static void assertEquals(float, float, float);
+ method public static void assertEquals(java.lang.String, long, long);
+ method public static void assertEquals(long, long);
+ method public static void assertEquals(java.lang.String, boolean, boolean);
+ method public static void assertEquals(boolean, boolean);
+ method public static void assertEquals(java.lang.String, byte, byte);
+ method public static void assertEquals(byte, byte);
+ method public static void assertEquals(java.lang.String, char, char);
+ method public static void assertEquals(char, char);
+ method public static void assertEquals(java.lang.String, short, short);
+ method public static void assertEquals(short, short);
+ method public static void assertEquals(java.lang.String, int, int);
+ method public static void assertEquals(int, int);
+ method public static void assertFalse(java.lang.String, boolean);
+ method public static void assertFalse(boolean);
+ method public static void assertNotNull(java.lang.Object);
+ method public static void assertNotNull(java.lang.String, java.lang.Object);
+ method public static void assertNotSame(java.lang.String, java.lang.Object, java.lang.Object);
+ method public static void assertNotSame(java.lang.Object, java.lang.Object);
+ method public static void assertNull(java.lang.Object);
+ method public static void assertNull(java.lang.String, java.lang.Object);
+ method public static void assertSame(java.lang.String, java.lang.Object, java.lang.Object);
+ method public static void assertSame(java.lang.Object, java.lang.Object);
+ method public static void assertTrue(java.lang.String, boolean);
+ method public static void assertTrue(boolean);
+ method public static void fail(java.lang.String);
+ method public static void fail();
+ }
+
+ public class AssertionFailedError extends java.lang.Error {
+ ctor public AssertionFailedError();
+ ctor public AssertionFailedError(java.lang.String);
+ }
+
+ public class ComparisonFailure extends junit.framework.AssertionFailedError {
+ ctor public ComparisonFailure(java.lang.String, java.lang.String, java.lang.String);
+ }
+
+ public abstract interface Protectable {
+ method public abstract void protect() throws java.lang.Throwable;
+ }
+
+ public abstract interface Test {
+ method public abstract int countTestCases();
+ method public abstract void run(junit.framework.TestResult);
+ }
+
+ public abstract class TestCase extends junit.framework.Assert implements junit.framework.Test {
+ ctor public TestCase();
+ ctor public TestCase(java.lang.String);
+ method public int countTestCases();
+ method protected junit.framework.TestResult createResult();
+ method public java.lang.String getName();
+ method public junit.framework.TestResult run();
+ method public void run(junit.framework.TestResult);
+ method public void runBare() throws java.lang.Throwable;
+ method protected void runTest() throws java.lang.Throwable;
+ method public void setName(java.lang.String);
+ method protected void setUp() throws java.lang.Exception;
+ method protected void tearDown() throws java.lang.Exception;
+ }
+
+ public class TestFailure {
+ ctor public TestFailure(junit.framework.Test, java.lang.Throwable);
+ method public java.lang.String exceptionMessage();
+ method public junit.framework.Test failedTest();
+ method public boolean isFailure();
+ method public java.lang.Throwable thrownException();
+ method public java.lang.String trace();
+ field protected junit.framework.Test fFailedTest;
+ field protected java.lang.Throwable fThrownException;
+ }
+
+ public abstract interface TestListener {
+ method public abstract void addError(junit.framework.Test, java.lang.Throwable);
+ method public abstract void addFailure(junit.framework.Test, junit.framework.AssertionFailedError);
+ method public abstract void endTest(junit.framework.Test);
+ method public abstract void startTest(junit.framework.Test);
+ }
+
+ public class TestResult {
+ ctor public TestResult();
+ method public synchronized void addError(junit.framework.Test, java.lang.Throwable);
+ method public synchronized void addFailure(junit.framework.Test, junit.framework.AssertionFailedError);
+ method public synchronized void addListener(junit.framework.TestListener);
+ method public void endTest(junit.framework.Test);
+ method public synchronized int errorCount();
+ method public synchronized java.util.Enumeration errors();
+ method public synchronized int failureCount();
+ method public synchronized java.util.Enumeration failures();
+ method public synchronized void removeListener(junit.framework.TestListener);
+ method protected void run(junit.framework.TestCase);
+ method public synchronized int runCount();
+ method public void runProtected(junit.framework.Test, junit.framework.Protectable);
+ method public synchronized boolean shouldStop();
+ method public void startTest(junit.framework.Test);
+ method public synchronized void stop();
+ method public synchronized boolean wasSuccessful();
+ field protected java.util.Vector fErrors;
+ field protected java.util.Vector fFailures;
+ field protected java.util.Vector fListeners;
+ field protected int fRunTests;
+ }
+
+ public class TestSuite implements junit.framework.Test {
+ ctor public TestSuite();
+ ctor public TestSuite(java.lang.Class, java.lang.String);
+ ctor public TestSuite(java.lang.Class);
+ ctor public TestSuite(java.lang.String);
+ method public void addTest(junit.framework.Test);
+ method public void addTestSuite(java.lang.Class);
+ method public int countTestCases();
+ method public static junit.framework.Test createTest(java.lang.Class, java.lang.String);
+ method public java.lang.String getName();
+ method public static java.lang.reflect.Constructor getTestConstructor(java.lang.Class) throws java.lang.NoSuchMethodException;
+ method public void run(junit.framework.TestResult);
+ method public void runTest(junit.framework.Test, junit.framework.TestResult);
+ method public void setName(java.lang.String);
+ method public junit.framework.Test testAt(int);
+ method public int testCount();
+ method public java.util.Enumeration tests();
+ }
+
+}
+
+package junit.runner {
+
+ public abstract class BaseTestRunner implements junit.framework.TestListener {
+ ctor public BaseTestRunner();
+ method public synchronized void addError(junit.framework.Test, java.lang.Throwable);
+ method public synchronized void addFailure(junit.framework.Test, junit.framework.AssertionFailedError);
+ method protected void clearStatus();
+ method public java.lang.String elapsedTimeAsString(long);
+ method public synchronized void endTest(junit.framework.Test);
+ method public java.lang.String extractClassName(java.lang.String);
+ method public static java.lang.String getFilteredTrace(java.lang.Throwable);
+ method public static java.lang.String getFilteredTrace(java.lang.String);
+ method public junit.runner.TestSuiteLoader getLoader();
+ method public static java.lang.String getPreference(java.lang.String);
+ method public static int getPreference(java.lang.String, int);
+ method protected static java.util.Properties getPreferences();
+ method public junit.framework.Test getTest(java.lang.String);
+ method public static boolean inVAJava();
+ method protected java.lang.Class loadSuiteClass(java.lang.String) throws java.lang.ClassNotFoundException;
+ method protected java.lang.String processArguments(java.lang.String[]);
+ method protected abstract void runFailed(java.lang.String);
+ method public static void savePreferences() throws java.io.IOException;
+ method public void setLoading(boolean);
+ method public void setPreference(java.lang.String, java.lang.String);
+ method protected static void setPreferences(java.util.Properties);
+ method protected static boolean showStackRaw();
+ method public synchronized void startTest(junit.framework.Test);
+ method public abstract void testEnded(java.lang.String);
+ method public abstract void testFailed(int, junit.framework.Test, java.lang.Throwable);
+ method public abstract void testStarted(java.lang.String);
+ method public static java.lang.String truncate(java.lang.String);
+ method protected boolean useReloadingTestSuiteLoader();
+ field public static final java.lang.String SUITE_METHODNAME = "suite";
+ }
+
+ public abstract interface TestSuiteLoader {
+ method public abstract java.lang.Class load(java.lang.String) throws java.lang.ClassNotFoundException;
+ method public abstract java.lang.Class reload(java.lang.Class) throws java.lang.ClassNotFoundException;
+ }
+
+ public class Version {
+ method public static java.lang.String id();
+ }
+
+}
+
+package org.apache.commons.logging {
+
+ public abstract interface Log {
+ method public abstract void debug(java.lang.Object);
+ method public abstract void debug(java.lang.Object, java.lang.Throwable);
+ method public abstract void error(java.lang.Object);
+ method public abstract void error(java.lang.Object, java.lang.Throwable);
+ method public abstract void fatal(java.lang.Object);
+ method public abstract void fatal(java.lang.Object, java.lang.Throwable);
+ method public abstract void info(java.lang.Object);
+ method public abstract void info(java.lang.Object, java.lang.Throwable);
+ method public abstract boolean isDebugEnabled();
+ method public abstract boolean isErrorEnabled();
+ method public abstract boolean isFatalEnabled();
+ method public abstract boolean isInfoEnabled();
+ method public abstract boolean isTraceEnabled();
+ method public abstract boolean isWarnEnabled();
+ method public abstract void trace(java.lang.Object);
+ method public abstract void trace(java.lang.Object, java.lang.Throwable);
+ method public abstract void warn(java.lang.Object);
+ method public abstract void warn(java.lang.Object, java.lang.Throwable);
+ }
+
+}
+
+package org.apache.http {
+
+ public class ConnectionClosedException extends java.io.IOException {
+ ctor public ConnectionClosedException(java.lang.String);
+ }
+
+ public abstract interface ConnectionReuseStrategy {
+ method public abstract boolean keepAlive(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+ }
+
+ public abstract interface FormattedHeader implements org.apache.http.Header {
+ method public abstract org.apache.http.util.CharArrayBuffer getBuffer();
+ method public abstract int getValuePos();
+ }
+
+ public abstract interface Header {
+ method public abstract org.apache.http.HeaderElement[] getElements() throws org.apache.http.ParseException;
+ method public abstract java.lang.String getName();
+ method public abstract java.lang.String getValue();
+ }
+
+ public abstract interface HeaderElement {
+ method public abstract java.lang.String getName();
+ method public abstract org.apache.http.NameValuePair getParameter(int);
+ method public abstract org.apache.http.NameValuePair getParameterByName(java.lang.String);
+ method public abstract int getParameterCount();
+ method public abstract org.apache.http.NameValuePair[] getParameters();
+ method public abstract java.lang.String getValue();
+ }
+
+ public abstract interface HeaderElementIterator implements java.util.Iterator {
+ method public abstract boolean hasNext();
+ method public abstract org.apache.http.HeaderElement nextElement();
+ }
+
+ public abstract interface HeaderIterator implements java.util.Iterator {
+ method public abstract boolean hasNext();
+ method public abstract org.apache.http.Header nextHeader();
+ }
+
+ public abstract interface HttpClientConnection implements org.apache.http.HttpConnection {
+ method public abstract void flush() throws java.io.IOException;
+ method public abstract boolean isResponseAvailable(int) throws java.io.IOException;
+ method public abstract void receiveResponseEntity(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+ method public abstract org.apache.http.HttpResponse receiveResponseHeader() throws org.apache.http.HttpException, java.io.IOException;
+ method public abstract void sendRequestEntity(org.apache.http.HttpEntityEnclosingRequest) throws org.apache.http.HttpException, java.io.IOException;
+ method public abstract void sendRequestHeader(org.apache.http.HttpRequest) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public abstract interface HttpConnection {
+ method public abstract void close() throws java.io.IOException;
+ method public abstract org.apache.http.HttpConnectionMetrics getMetrics();
+ method public abstract int getSocketTimeout();
+ method public abstract boolean isOpen();
+ method public abstract boolean isStale();
+ method public abstract void setSocketTimeout(int);
+ method public abstract void shutdown() throws java.io.IOException;
+ }
+
+ public abstract interface HttpConnectionMetrics {
+ method public abstract java.lang.Object getMetric(java.lang.String);
+ method public abstract long getReceivedBytesCount();
+ method public abstract long getRequestCount();
+ method public abstract long getResponseCount();
+ method public abstract long getSentBytesCount();
+ method public abstract void reset();
+ }
+
+ public abstract interface HttpEntity {
+ method public abstract void consumeContent() throws java.io.IOException;
+ method public abstract java.io.InputStream getContent() throws java.io.IOException, java.lang.IllegalStateException;
+ method public abstract org.apache.http.Header getContentEncoding();
+ method public abstract long getContentLength();
+ method public abstract org.apache.http.Header getContentType();
+ method public abstract boolean isChunked();
+ method public abstract boolean isRepeatable();
+ method public abstract boolean isStreaming();
+ method public abstract void writeTo(java.io.OutputStream) throws java.io.IOException;
+ }
+
+ public abstract interface HttpEntityEnclosingRequest implements org.apache.http.HttpRequest {
+ method public abstract boolean expectContinue();
+ method public abstract org.apache.http.HttpEntity getEntity();
+ method public abstract void setEntity(org.apache.http.HttpEntity);
+ }
+
+ public class HttpException extends java.lang.Exception {
+ ctor public HttpException();
+ ctor public HttpException(java.lang.String);
+ ctor public HttpException(java.lang.String, java.lang.Throwable);
+ }
+
+ public final class HttpHost implements java.lang.Cloneable {
+ ctor public HttpHost(java.lang.String, int, java.lang.String);
+ ctor public HttpHost(java.lang.String, int);
+ ctor public HttpHost(java.lang.String);
+ ctor public HttpHost(org.apache.http.HttpHost);
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public java.lang.String getHostName();
+ method public int getPort();
+ method public java.lang.String getSchemeName();
+ method public java.lang.String toHostString();
+ method public java.lang.String toURI();
+ field public static final java.lang.String DEFAULT_SCHEME_NAME = "http";
+ field protected final java.lang.String hostname;
+ field protected final java.lang.String lcHostname;
+ field protected final int port;
+ field protected final java.lang.String schemeName;
+ }
+
+ public abstract interface HttpInetConnection implements org.apache.http.HttpConnection {
+ method public abstract java.net.InetAddress getLocalAddress();
+ method public abstract int getLocalPort();
+ method public abstract java.net.InetAddress getRemoteAddress();
+ method public abstract int getRemotePort();
+ }
+
+ public abstract interface HttpMessage {
+ method public abstract void addHeader(org.apache.http.Header);
+ method public abstract void addHeader(java.lang.String, java.lang.String);
+ method public abstract boolean containsHeader(java.lang.String);
+ method public abstract org.apache.http.Header[] getAllHeaders();
+ method public abstract org.apache.http.Header getFirstHeader(java.lang.String);
+ method public abstract org.apache.http.Header[] getHeaders(java.lang.String);
+ method public abstract org.apache.http.Header getLastHeader(java.lang.String);
+ method public abstract org.apache.http.params.HttpParams getParams();
+ method public abstract org.apache.http.ProtocolVersion getProtocolVersion();
+ method public abstract org.apache.http.HeaderIterator headerIterator();
+ method public abstract org.apache.http.HeaderIterator headerIterator(java.lang.String);
+ method public abstract void removeHeader(org.apache.http.Header);
+ method public abstract void removeHeaders(java.lang.String);
+ method public abstract void setHeader(org.apache.http.Header);
+ method public abstract void setHeader(java.lang.String, java.lang.String);
+ method public abstract void setHeaders(org.apache.http.Header[]);
+ method public abstract void setParams(org.apache.http.params.HttpParams);
+ }
+
+ public abstract interface HttpRequest implements org.apache.http.HttpMessage {
+ method public abstract org.apache.http.RequestLine getRequestLine();
+ }
+
+ public abstract interface HttpRequestFactory {
+ method public abstract org.apache.http.HttpRequest newHttpRequest(org.apache.http.RequestLine) throws org.apache.http.MethodNotSupportedException;
+ method public abstract org.apache.http.HttpRequest newHttpRequest(java.lang.String, java.lang.String) throws org.apache.http.MethodNotSupportedException;
+ }
+
+ public abstract interface HttpRequestInterceptor {
+ method public abstract void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public abstract interface HttpResponse implements org.apache.http.HttpMessage {
+ method public abstract org.apache.http.HttpEntity getEntity();
+ method public abstract java.util.Locale getLocale();
+ method public abstract org.apache.http.StatusLine getStatusLine();
+ method public abstract void setEntity(org.apache.http.HttpEntity);
+ method public abstract void setLocale(java.util.Locale);
+ method public abstract void setReasonPhrase(java.lang.String) throws java.lang.IllegalStateException;
+ method public abstract void setStatusCode(int) throws java.lang.IllegalStateException;
+ method public abstract void setStatusLine(org.apache.http.StatusLine);
+ method public abstract void setStatusLine(org.apache.http.ProtocolVersion, int);
+ method public abstract void setStatusLine(org.apache.http.ProtocolVersion, int, java.lang.String);
+ }
+
+ public abstract interface HttpResponseFactory {
+ method public abstract org.apache.http.HttpResponse newHttpResponse(org.apache.http.ProtocolVersion, int, org.apache.http.protocol.HttpContext);
+ method public abstract org.apache.http.HttpResponse newHttpResponse(org.apache.http.StatusLine, org.apache.http.protocol.HttpContext);
+ }
+
+ public abstract interface HttpResponseInterceptor {
+ method public abstract void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public abstract interface HttpServerConnection implements org.apache.http.HttpConnection {
+ method public abstract void flush() throws java.io.IOException;
+ method public abstract void receiveRequestEntity(org.apache.http.HttpEntityEnclosingRequest) throws org.apache.http.HttpException, java.io.IOException;
+ method public abstract org.apache.http.HttpRequest receiveRequestHeader() throws org.apache.http.HttpException, java.io.IOException;
+ method public abstract void sendResponseEntity(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+ method public abstract void sendResponseHeader(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public abstract interface HttpStatus {
+ field public static final int SC_ACCEPTED = 202; // 0xca
+ field public static final int SC_BAD_GATEWAY = 502; // 0x1f6
+ field public static final int SC_BAD_REQUEST = 400; // 0x190
+ field public static final int SC_CONFLICT = 409; // 0x199
+ field public static final int SC_CONTINUE = 100; // 0x64
+ field public static final int SC_CREATED = 201; // 0xc9
+ field public static final int SC_EXPECTATION_FAILED = 417; // 0x1a1
+ field public static final int SC_FAILED_DEPENDENCY = 424; // 0x1a8
+ field public static final int SC_FORBIDDEN = 403; // 0x193
+ field public static final int SC_GATEWAY_TIMEOUT = 504; // 0x1f8
+ field public static final int SC_GONE = 410; // 0x19a
+ field public static final int SC_HTTP_VERSION_NOT_SUPPORTED = 505; // 0x1f9
+ field public static final int SC_INSUFFICIENT_SPACE_ON_RESOURCE = 419; // 0x1a3
+ field public static final int SC_INSUFFICIENT_STORAGE = 507; // 0x1fb
+ field public static final int SC_INTERNAL_SERVER_ERROR = 500; // 0x1f4
+ field public static final int SC_LENGTH_REQUIRED = 411; // 0x19b
+ field public static final int SC_LOCKED = 423; // 0x1a7
+ field public static final int SC_METHOD_FAILURE = 420; // 0x1a4
+ field public static final int SC_METHOD_NOT_ALLOWED = 405; // 0x195
+ field public static final int SC_MOVED_PERMANENTLY = 301; // 0x12d
+ field public static final int SC_MOVED_TEMPORARILY = 302; // 0x12e
+ field public static final int SC_MULTIPLE_CHOICES = 300; // 0x12c
+ field public static final int SC_MULTI_STATUS = 207; // 0xcf
+ field public static final int SC_NON_AUTHORITATIVE_INFORMATION = 203; // 0xcb
+ field public static final int SC_NOT_ACCEPTABLE = 406; // 0x196
+ field public static final int SC_NOT_FOUND = 404; // 0x194
+ field public static final int SC_NOT_IMPLEMENTED = 501; // 0x1f5
+ field public static final int SC_NOT_MODIFIED = 304; // 0x130
+ field public static final int SC_NO_CONTENT = 204; // 0xcc
+ field public static final int SC_OK = 200; // 0xc8
+ field public static final int SC_PARTIAL_CONTENT = 206; // 0xce
+ field public static final int SC_PAYMENT_REQUIRED = 402; // 0x192
+ field public static final int SC_PRECONDITION_FAILED = 412; // 0x19c
+ field public static final int SC_PROCESSING = 102; // 0x66
+ field public static final int SC_PROXY_AUTHENTICATION_REQUIRED = 407; // 0x197
+ field public static final int SC_REQUESTED_RANGE_NOT_SATISFIABLE = 416; // 0x1a0
+ field public static final int SC_REQUEST_TIMEOUT = 408; // 0x198
+ field public static final int SC_REQUEST_TOO_LONG = 413; // 0x19d
+ field public static final int SC_REQUEST_URI_TOO_LONG = 414; // 0x19e
+ field public static final int SC_RESET_CONTENT = 205; // 0xcd
+ field public static final int SC_SEE_OTHER = 303; // 0x12f
+ field public static final int SC_SERVICE_UNAVAILABLE = 503; // 0x1f7
+ field public static final int SC_SWITCHING_PROTOCOLS = 101; // 0x65
+ field public static final int SC_TEMPORARY_REDIRECT = 307; // 0x133
+ field public static final int SC_UNAUTHORIZED = 401; // 0x191
+ field public static final int SC_UNPROCESSABLE_ENTITY = 422; // 0x1a6
+ field public static final int SC_UNSUPPORTED_MEDIA_TYPE = 415; // 0x19f
+ field public static final int SC_USE_PROXY = 305; // 0x131
+ }
+
+ public final class HttpVersion extends org.apache.http.ProtocolVersion implements java.io.Serializable {
+ ctor public HttpVersion(int, int);
+ field public static final java.lang.String HTTP = "HTTP";
+ field public static final org.apache.http.HttpVersion HTTP_0_9;
+ field public static final org.apache.http.HttpVersion HTTP_1_0;
+ field public static final org.apache.http.HttpVersion HTTP_1_1;
+ }
+
+ public class MalformedChunkCodingException extends java.io.IOException {
+ ctor public MalformedChunkCodingException();
+ ctor public MalformedChunkCodingException(java.lang.String);
+ }
+
+ public class MethodNotSupportedException extends org.apache.http.HttpException {
+ ctor public MethodNotSupportedException(java.lang.String);
+ ctor public MethodNotSupportedException(java.lang.String, java.lang.Throwable);
+ }
+
+ public abstract interface NameValuePair {
+ method public abstract java.lang.String getName();
+ method public abstract java.lang.String getValue();
+ }
+
+ public class NoHttpResponseException extends java.io.IOException {
+ ctor public NoHttpResponseException(java.lang.String);
+ }
+
+ public class ParseException extends java.lang.RuntimeException {
+ ctor public ParseException();
+ ctor public ParseException(java.lang.String);
+ }
+
+ public class ProtocolException extends org.apache.http.HttpException {
+ ctor public ProtocolException();
+ ctor public ProtocolException(java.lang.String);
+ ctor public ProtocolException(java.lang.String, java.lang.Throwable);
+ }
+
+ public class ProtocolVersion implements java.lang.Cloneable java.io.Serializable {
+ ctor public ProtocolVersion(java.lang.String, int, int);
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public int compareToVersion(org.apache.http.ProtocolVersion);
+ method public final boolean equals(java.lang.Object);
+ method public org.apache.http.ProtocolVersion forVersion(int, int);
+ method public final int getMajor();
+ method public final int getMinor();
+ method public final java.lang.String getProtocol();
+ method public final boolean greaterEquals(org.apache.http.ProtocolVersion);
+ method public final int hashCode();
+ method public boolean isComparable(org.apache.http.ProtocolVersion);
+ method public final boolean lessEquals(org.apache.http.ProtocolVersion);
+ field protected final int major;
+ field protected final int minor;
+ field protected final java.lang.String protocol;
+ }
+
+ public abstract interface ReasonPhraseCatalog {
+ method public abstract java.lang.String getReason(int, java.util.Locale);
+ }
+
+ public abstract interface RequestLine {
+ method public abstract java.lang.String getMethod();
+ method public abstract org.apache.http.ProtocolVersion getProtocolVersion();
+ method public abstract java.lang.String getUri();
+ }
+
+ public abstract interface StatusLine {
+ method public abstract org.apache.http.ProtocolVersion getProtocolVersion();
+ method public abstract java.lang.String getReasonPhrase();
+ method public abstract int getStatusCode();
+ }
+
+ public abstract interface TokenIterator implements java.util.Iterator {
+ method public abstract boolean hasNext();
+ method public abstract java.lang.String nextToken();
+ }
+
+ public class UnsupportedHttpVersionException extends org.apache.http.ProtocolException {
+ ctor public UnsupportedHttpVersionException();
+ ctor public UnsupportedHttpVersionException(java.lang.String);
+ }
+
+}
+
+package org.apache.http.auth {
+
+ public final class AUTH {
+ field public static final java.lang.String PROXY_AUTH = "Proxy-Authenticate";
+ field public static final java.lang.String PROXY_AUTH_RESP = "Proxy-Authorization";
+ field public static final java.lang.String WWW_AUTH = "WWW-Authenticate";
+ field public static final java.lang.String WWW_AUTH_RESP = "Authorization";
+ }
+
+ public abstract interface AuthScheme {
+ method public abstract org.apache.http.Header authenticate(org.apache.http.auth.Credentials, org.apache.http.HttpRequest) throws org.apache.http.auth.AuthenticationException;
+ method public abstract java.lang.String getParameter(java.lang.String);
+ method public abstract java.lang.String getRealm();
+ method public abstract java.lang.String getSchemeName();
+ method public abstract boolean isComplete();
+ method public abstract boolean isConnectionBased();
+ method public abstract void processChallenge(org.apache.http.Header) throws org.apache.http.auth.MalformedChallengeException;
+ }
+
+ public abstract interface AuthSchemeFactory {
+ method public abstract org.apache.http.auth.AuthScheme newInstance(org.apache.http.params.HttpParams);
+ }
+
+ public final class AuthSchemeRegistry {
+ ctor public AuthSchemeRegistry();
+ method public synchronized org.apache.http.auth.AuthScheme getAuthScheme(java.lang.String, org.apache.http.params.HttpParams) throws java.lang.IllegalStateException;
+ method public synchronized java.util.List<java.lang.String> getSchemeNames();
+ method public synchronized void register(java.lang.String, org.apache.http.auth.AuthSchemeFactory);
+ method public synchronized void setItems(java.util.Map<java.lang.String, org.apache.http.auth.AuthSchemeFactory>);
+ method public synchronized void unregister(java.lang.String);
+ }
+
+ public class AuthScope {
+ ctor public AuthScope(java.lang.String, int, java.lang.String, java.lang.String);
+ ctor public AuthScope(java.lang.String, int, java.lang.String);
+ ctor public AuthScope(java.lang.String, int);
+ ctor public AuthScope(org.apache.http.auth.AuthScope);
+ method public java.lang.String getHost();
+ method public int getPort();
+ method public java.lang.String getRealm();
+ method public java.lang.String getScheme();
+ method public int match(org.apache.http.auth.AuthScope);
+ field public static final org.apache.http.auth.AuthScope ANY;
+ field public static final java.lang.String ANY_HOST;
+ field public static final int ANY_PORT = -1; // 0xffffffff
+ field public static final java.lang.String ANY_REALM;
+ field public static final java.lang.String ANY_SCHEME;
+ }
+
+ public class AuthState {
+ ctor public AuthState();
+ method public org.apache.http.auth.AuthScheme getAuthScheme();
+ method public org.apache.http.auth.AuthScope getAuthScope();
+ method public org.apache.http.auth.Credentials getCredentials();
+ method public void invalidate();
+ method public boolean isValid();
+ method public void setAuthScheme(org.apache.http.auth.AuthScheme);
+ method public void setAuthScope(org.apache.http.auth.AuthScope);
+ method public void setCredentials(org.apache.http.auth.Credentials);
+ }
+
+ public class AuthenticationException extends org.apache.http.ProtocolException {
+ ctor public AuthenticationException();
+ ctor public AuthenticationException(java.lang.String);
+ ctor public AuthenticationException(java.lang.String, java.lang.Throwable);
+ }
+
+ public final class BasicUserPrincipal implements java.security.Principal {
+ ctor public BasicUserPrincipal(java.lang.String);
+ method public java.lang.String getName();
+ }
+
+ public abstract interface Credentials {
+ method public abstract java.lang.String getPassword();
+ method public abstract java.security.Principal getUserPrincipal();
+ }
+
+ public class InvalidCredentialsException extends org.apache.http.auth.AuthenticationException {
+ ctor public InvalidCredentialsException();
+ ctor public InvalidCredentialsException(java.lang.String);
+ ctor public InvalidCredentialsException(java.lang.String, java.lang.Throwable);
+ }
+
+ public class MalformedChallengeException extends org.apache.http.ProtocolException {
+ ctor public MalformedChallengeException();
+ ctor public MalformedChallengeException(java.lang.String);
+ ctor public MalformedChallengeException(java.lang.String, java.lang.Throwable);
+ }
+
+ public class NTCredentials implements org.apache.http.auth.Credentials {
+ ctor public NTCredentials(java.lang.String);
+ ctor public NTCredentials(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public java.lang.String getDomain();
+ method public java.lang.String getPassword();
+ method public java.lang.String getUserName();
+ method public java.security.Principal getUserPrincipal();
+ method public java.lang.String getWorkstation();
+ }
+
+ public class NTUserPrincipal implements java.security.Principal {
+ ctor public NTUserPrincipal(java.lang.String, java.lang.String);
+ method public java.lang.String getDomain();
+ method public java.lang.String getName();
+ method public java.lang.String getUsername();
+ }
+
+ public class UsernamePasswordCredentials implements org.apache.http.auth.Credentials {
+ ctor public UsernamePasswordCredentials(java.lang.String);
+ ctor public UsernamePasswordCredentials(java.lang.String, java.lang.String);
+ method public java.lang.String getPassword();
+ method public java.lang.String getUserName();
+ method public java.security.Principal getUserPrincipal();
+ }
+
+}
+
+package org.apache.http.auth.params {
+
+ public abstract interface AuthPNames {
+ field public static final java.lang.String CREDENTIAL_CHARSET = "http.auth.credential-charset";
+ }
+
+ public class AuthParamBean extends org.apache.http.params.HttpAbstractParamBean {
+ ctor public AuthParamBean(org.apache.http.params.HttpParams);
+ method public void setCredentialCharset(java.lang.String);
+ }
+
+ public final class AuthParams {
+ method public static java.lang.String getCredentialCharset(org.apache.http.params.HttpParams);
+ method public static void setCredentialCharset(org.apache.http.params.HttpParams, java.lang.String);
+ }
+
+}
+
+package org.apache.http.client {
+
+ public abstract interface AuthenticationHandler {
+ method public abstract java.util.Map<java.lang.String, org.apache.http.Header> getChallenges(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.MalformedChallengeException;
+ method public abstract boolean isAuthenticationRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+ method public abstract org.apache.http.auth.AuthScheme selectScheme(java.util.Map<java.lang.String, org.apache.http.Header>, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.AuthenticationException;
+ }
+
+ public class CircularRedirectException extends org.apache.http.client.RedirectException {
+ ctor public CircularRedirectException();
+ ctor public CircularRedirectException(java.lang.String);
+ ctor public CircularRedirectException(java.lang.String, java.lang.Throwable);
+ }
+
+ public class ClientProtocolException extends java.io.IOException {
+ ctor public ClientProtocolException();
+ ctor public ClientProtocolException(java.lang.String);
+ ctor public ClientProtocolException(java.lang.Throwable);
+ ctor public ClientProtocolException(java.lang.String, java.lang.Throwable);
+ }
+
+ public abstract interface CookieStore {
+ method public abstract void addCookie(org.apache.http.cookie.Cookie);
+ method public abstract void clear();
+ method public abstract boolean clearExpired(java.util.Date);
+ method public abstract java.util.List<org.apache.http.cookie.Cookie> getCookies();
+ }
+
+ public abstract interface CredentialsProvider {
+ method public abstract void clear();
+ method public abstract org.apache.http.auth.Credentials getCredentials(org.apache.http.auth.AuthScope);
+ method public abstract void setCredentials(org.apache.http.auth.AuthScope, org.apache.http.auth.Credentials);
+ }
+
+ public abstract interface HttpClient {
+ method public abstract org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public abstract org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public abstract org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public abstract org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public abstract T execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.client.ResponseHandler<? extends T>) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public abstract T execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.client.ResponseHandler<? extends T>, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public abstract T execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.client.ResponseHandler<? extends T>) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public abstract T execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.client.ResponseHandler<? extends T>, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public abstract org.apache.http.conn.ClientConnectionManager getConnectionManager();
+ method public abstract org.apache.http.params.HttpParams getParams();
+ }
+
+ public abstract interface HttpRequestRetryHandler {
+ method public abstract boolean retryRequest(java.io.IOException, int, org.apache.http.protocol.HttpContext);
+ }
+
+ public class HttpResponseException extends org.apache.http.client.ClientProtocolException {
+ ctor public HttpResponseException(int, java.lang.String);
+ method public int getStatusCode();
+ }
+
+ public class NonRepeatableRequestException extends org.apache.http.ProtocolException {
+ ctor public NonRepeatableRequestException();
+ ctor public NonRepeatableRequestException(java.lang.String);
+ }
+
+ public class RedirectException extends org.apache.http.ProtocolException {
+ ctor public RedirectException();
+ ctor public RedirectException(java.lang.String);
+ ctor public RedirectException(java.lang.String, java.lang.Throwable);
+ }
+
+ public abstract interface RedirectHandler {
+ method public abstract java.net.URI getLocationURI(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.ProtocolException;
+ method public abstract boolean isRedirectRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+ }
+
+ public abstract interface RequestDirector {
+ method public abstract org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public abstract interface ResponseHandler {
+ method public abstract T handleResponse(org.apache.http.HttpResponse) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ }
+
+ public abstract interface UserTokenHandler {
+ method public abstract java.lang.Object getUserToken(org.apache.http.protocol.HttpContext);
+ }
+
+}
+
+package org.apache.http.client.entity {
+
+ public class UrlEncodedFormEntity extends org.apache.http.entity.StringEntity {
+ ctor public UrlEncodedFormEntity(java.util.List<? extends org.apache.http.NameValuePair>, java.lang.String) throws java.io.UnsupportedEncodingException;
+ ctor public UrlEncodedFormEntity(java.util.List<? extends org.apache.http.NameValuePair>) throws java.io.UnsupportedEncodingException;
+ }
+
+}
+
+package org.apache.http.client.methods {
+
+ public abstract interface AbortableHttpRequest {
+ method public abstract void abort();
+ method public abstract void setConnectionRequest(org.apache.http.conn.ClientConnectionRequest) throws java.io.IOException;
+ method public abstract void setReleaseTrigger(org.apache.http.conn.ConnectionReleaseTrigger) throws java.io.IOException;
+ }
+
+ public class HttpDelete extends org.apache.http.client.methods.HttpRequestBase {
+ ctor public HttpDelete();
+ ctor public HttpDelete(java.net.URI);
+ ctor public HttpDelete(java.lang.String);
+ method public java.lang.String getMethod();
+ field public static final java.lang.String METHOD_NAME = "DELETE";
+ }
+
+ public abstract class HttpEntityEnclosingRequestBase extends org.apache.http.client.methods.HttpRequestBase implements org.apache.http.HttpEntityEnclosingRequest {
+ ctor public HttpEntityEnclosingRequestBase();
+ method public boolean expectContinue();
+ method public org.apache.http.HttpEntity getEntity();
+ method public void setEntity(org.apache.http.HttpEntity);
+ }
+
+ public class HttpGet extends org.apache.http.client.methods.HttpRequestBase {
+ ctor public HttpGet();
+ ctor public HttpGet(java.net.URI);
+ ctor public HttpGet(java.lang.String);
+ method public java.lang.String getMethod();
+ field public static final java.lang.String METHOD_NAME = "GET";
+ }
+
+ public class HttpHead extends org.apache.http.client.methods.HttpRequestBase {
+ ctor public HttpHead();
+ ctor public HttpHead(java.net.URI);
+ ctor public HttpHead(java.lang.String);
+ method public java.lang.String getMethod();
+ field public static final java.lang.String METHOD_NAME = "HEAD";
+ }
+
+ public class HttpOptions extends org.apache.http.client.methods.HttpRequestBase {
+ ctor public HttpOptions();
+ ctor public HttpOptions(java.net.URI);
+ ctor public HttpOptions(java.lang.String);
+ method public java.util.Set<java.lang.String> getAllowedMethods(org.apache.http.HttpResponse);
+ method public java.lang.String getMethod();
+ field public static final java.lang.String METHOD_NAME = "OPTIONS";
+ }
+
+ public class HttpPost extends org.apache.http.client.methods.HttpEntityEnclosingRequestBase {
+ ctor public HttpPost();
+ ctor public HttpPost(java.net.URI);
+ ctor public HttpPost(java.lang.String);
+ method public java.lang.String getMethod();
+ field public static final java.lang.String METHOD_NAME = "POST";
+ }
+
+ public class HttpPut extends org.apache.http.client.methods.HttpEntityEnclosingRequestBase {
+ ctor public HttpPut();
+ ctor public HttpPut(java.net.URI);
+ ctor public HttpPut(java.lang.String);
+ method public java.lang.String getMethod();
+ field public static final java.lang.String METHOD_NAME = "PUT";
+ }
+
+ public abstract class HttpRequestBase extends org.apache.http.message.AbstractHttpMessage implements org.apache.http.client.methods.AbortableHttpRequest java.lang.Cloneable org.apache.http.client.methods.HttpUriRequest {
+ ctor public HttpRequestBase();
+ method public void abort();
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public abstract java.lang.String getMethod();
+ method public org.apache.http.ProtocolVersion getProtocolVersion();
+ method public org.apache.http.RequestLine getRequestLine();
+ method public java.net.URI getURI();
+ method public boolean isAborted();
+ method public void setConnectionRequest(org.apache.http.conn.ClientConnectionRequest) throws java.io.IOException;
+ method public void setReleaseTrigger(org.apache.http.conn.ConnectionReleaseTrigger) throws java.io.IOException;
+ method public void setURI(java.net.URI);
+ }
+
+ public class HttpTrace extends org.apache.http.client.methods.HttpRequestBase {
+ ctor public HttpTrace();
+ ctor public HttpTrace(java.net.URI);
+ ctor public HttpTrace(java.lang.String);
+ method public java.lang.String getMethod();
+ field public static final java.lang.String METHOD_NAME = "TRACE";
+ }
+
+ public abstract interface HttpUriRequest implements org.apache.http.HttpRequest {
+ method public abstract void abort() throws java.lang.UnsupportedOperationException;
+ method public abstract java.lang.String getMethod();
+ method public abstract java.net.URI getURI();
+ method public abstract boolean isAborted();
+ }
+
+}
+
+package org.apache.http.client.params {
+
+ public abstract interface AllClientPNames implements org.apache.http.auth.params.AuthPNames org.apache.http.client.params.ClientPNames org.apache.http.conn.params.ConnConnectionPNames org.apache.http.conn.params.ConnManagerPNames org.apache.http.conn.params.ConnRoutePNames org.apache.http.cookie.params.CookieSpecPNames org.apache.http.params.CoreConnectionPNames org.apache.http.params.CoreProtocolPNames {
+ }
+
+ public final class AuthPolicy {
+ field public static final java.lang.String BASIC = "Basic";
+ field public static final java.lang.String DIGEST = "Digest";
+ field public static final java.lang.String NTLM = "NTLM";
+ }
+
+ public abstract interface ClientPNames {
+ field public static final java.lang.String ALLOW_CIRCULAR_REDIRECTS = "http.protocol.allow-circular-redirects";
+ field public static final java.lang.String CONNECTION_MANAGER_FACTORY = "http.connection-manager.factory-object";
+ field public static final java.lang.String CONNECTION_MANAGER_FACTORY_CLASS_NAME = "http.connection-manager.factory-class-name";
+ field public static final java.lang.String COOKIE_POLICY = "http.protocol.cookie-policy";
+ field public static final java.lang.String DEFAULT_HEADERS = "http.default-headers";
+ field public static final java.lang.String DEFAULT_HOST = "http.default-host";
+ field public static final java.lang.String HANDLE_AUTHENTICATION = "http.protocol.handle-authentication";
+ field public static final java.lang.String HANDLE_REDIRECTS = "http.protocol.handle-redirects";
+ field public static final java.lang.String MAX_REDIRECTS = "http.protocol.max-redirects";
+ field public static final java.lang.String REJECT_RELATIVE_REDIRECT = "http.protocol.reject-relative-redirect";
+ field public static final java.lang.String VIRTUAL_HOST = "http.virtual-host";
+ }
+
+ public class ClientParamBean extends org.apache.http.params.HttpAbstractParamBean {
+ ctor public ClientParamBean(org.apache.http.params.HttpParams);
+ method public void setAllowCircularRedirects(boolean);
+ method public void setConnectionManagerFactory(org.apache.http.conn.ClientConnectionManagerFactory);
+ method public void setConnectionManagerFactoryClassName(java.lang.String);
+ method public void setCookiePolicy(java.lang.String);
+ method public void setDefaultHeaders(java.util.Collection<org.apache.http.Header>);
+ method public void setDefaultHost(org.apache.http.HttpHost);
+ method public void setHandleAuthentication(boolean);
+ method public void setHandleRedirects(boolean);
+ method public void setMaxRedirects(int);
+ method public void setRejectRelativeRedirect(boolean);
+ method public void setVirtualHost(org.apache.http.HttpHost);
+ }
+
+ public final class CookiePolicy {
+ field public static final java.lang.String BEST_MATCH = "best-match";
+ field public static final java.lang.String BROWSER_COMPATIBILITY = "compatibility";
+ field public static final java.lang.String NETSCAPE = "netscape";
+ field public static final java.lang.String RFC_2109 = "rfc2109";
+ field public static final java.lang.String RFC_2965 = "rfc2965";
+ }
+
+ public class HttpClientParams {
+ method public static java.lang.String getCookiePolicy(org.apache.http.params.HttpParams);
+ method public static boolean isAuthenticating(org.apache.http.params.HttpParams);
+ method public static boolean isRedirecting(org.apache.http.params.HttpParams);
+ method public static void setAuthenticating(org.apache.http.params.HttpParams, boolean);
+ method public static void setCookiePolicy(org.apache.http.params.HttpParams, java.lang.String);
+ method public static void setRedirecting(org.apache.http.params.HttpParams, boolean);
+ }
+
+}
+
+package org.apache.http.client.protocol {
+
+ public abstract interface ClientContext {
+ field public static final java.lang.String AUTHSCHEME_REGISTRY = "http.authscheme-registry";
+ field public static final java.lang.String AUTH_SCHEME_PREF = "http.auth.scheme-pref";
+ field public static final java.lang.String COOKIESPEC_REGISTRY = "http.cookiespec-registry";
+ field public static final java.lang.String COOKIE_ORIGIN = "http.cookie-origin";
+ field public static final java.lang.String COOKIE_SPEC = "http.cookie-spec";
+ field public static final java.lang.String COOKIE_STORE = "http.cookie-store";
+ field public static final java.lang.String CREDS_PROVIDER = "http.auth.credentials-provider";
+ field public static final java.lang.String PROXY_AUTH_STATE = "http.auth.proxy-scope";
+ field public static final java.lang.String TARGET_AUTH_STATE = "http.auth.target-scope";
+ field public static final java.lang.String USER_TOKEN = "http.user-token";
+ }
+
+ public class ClientContextConfigurer implements org.apache.http.client.protocol.ClientContext {
+ ctor public ClientContextConfigurer(org.apache.http.protocol.HttpContext);
+ method public void setAuthSchemePref(java.util.List<java.lang.String>);
+ method public void setAuthSchemeRegistry(org.apache.http.auth.AuthSchemeRegistry);
+ method public void setCookieSpecRegistry(org.apache.http.cookie.CookieSpecRegistry);
+ method public void setCookieStore(org.apache.http.client.CookieStore);
+ method public void setCredentialsProvider(org.apache.http.client.CredentialsProvider);
+ }
+
+ public class RequestAddCookies implements org.apache.http.HttpRequestInterceptor {
+ ctor public RequestAddCookies();
+ method public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class RequestDefaultHeaders implements org.apache.http.HttpRequestInterceptor {
+ ctor public RequestDefaultHeaders();
+ method public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class RequestProxyAuthentication implements org.apache.http.HttpRequestInterceptor {
+ ctor public RequestProxyAuthentication();
+ method public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class RequestTargetAuthentication implements org.apache.http.HttpRequestInterceptor {
+ ctor public RequestTargetAuthentication();
+ method public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class ResponseProcessCookies implements org.apache.http.HttpResponseInterceptor {
+ ctor public ResponseProcessCookies();
+ method public void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+}
+
+package org.apache.http.client.utils {
+
+ public class CloneUtils {
+ method public static java.lang.Object clone(java.lang.Object) throws java.lang.CloneNotSupportedException;
+ }
+
+ public class URIUtils {
+ method public static java.net.URI createURI(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String) throws java.net.URISyntaxException;
+ method public static java.net.URI resolve(java.net.URI, java.lang.String);
+ method public static java.net.URI resolve(java.net.URI, java.net.URI);
+ method public static java.net.URI rewriteURI(java.net.URI, org.apache.http.HttpHost, boolean) throws java.net.URISyntaxException;
+ method public static java.net.URI rewriteURI(java.net.URI, org.apache.http.HttpHost) throws java.net.URISyntaxException;
+ }
+
+ public class URLEncodedUtils {
+ ctor public URLEncodedUtils();
+ method public static java.lang.String format(java.util.List<? extends org.apache.http.NameValuePair>, java.lang.String);
+ method public static boolean isEncoded(org.apache.http.HttpEntity);
+ method public static java.util.List<org.apache.http.NameValuePair> parse(java.net.URI, java.lang.String);
+ method public static java.util.List<org.apache.http.NameValuePair> parse(org.apache.http.HttpEntity) throws java.io.IOException;
+ method public static void parse(java.util.List<org.apache.http.NameValuePair>, java.util.Scanner, java.lang.String);
+ field public static final java.lang.String CONTENT_TYPE = "application/x-www-form-urlencoded";
+ }
+
+}
+
+package org.apache.http.conn {
+
+ public class BasicEofSensorWatcher implements org.apache.http.conn.EofSensorWatcher {
+ ctor public BasicEofSensorWatcher(org.apache.http.conn.ManagedClientConnection, boolean);
+ method public boolean eofDetected(java.io.InputStream) throws java.io.IOException;
+ method public boolean streamAbort(java.io.InputStream) throws java.io.IOException;
+ method public boolean streamClosed(java.io.InputStream) throws java.io.IOException;
+ field protected boolean attemptReuse;
+ field protected org.apache.http.conn.ManagedClientConnection managedConn;
+ }
+
+ public class BasicManagedEntity extends org.apache.http.entity.HttpEntityWrapper implements org.apache.http.conn.ConnectionReleaseTrigger org.apache.http.conn.EofSensorWatcher {
+ ctor public BasicManagedEntity(org.apache.http.HttpEntity, org.apache.http.conn.ManagedClientConnection, boolean);
+ method public void abortConnection() throws java.io.IOException;
+ method public boolean eofDetected(java.io.InputStream) throws java.io.IOException;
+ method public void releaseConnection() throws java.io.IOException;
+ method protected void releaseManagedConnection() throws java.io.IOException;
+ method public boolean streamAbort(java.io.InputStream) throws java.io.IOException;
+ method public boolean streamClosed(java.io.InputStream) throws java.io.IOException;
+ field protected final boolean attemptReuse;
+ field protected org.apache.http.conn.ManagedClientConnection managedConn;
+ }
+
+ public abstract interface ClientConnectionManager {
+ method public abstract void closeExpiredConnections();
+ method public abstract void closeIdleConnections(long, java.util.concurrent.TimeUnit);
+ method public abstract org.apache.http.conn.scheme.SchemeRegistry getSchemeRegistry();
+ method public abstract void releaseConnection(org.apache.http.conn.ManagedClientConnection, long, java.util.concurrent.TimeUnit);
+ method public abstract org.apache.http.conn.ClientConnectionRequest requestConnection(org.apache.http.conn.routing.HttpRoute, java.lang.Object);
+ method public abstract void shutdown();
+ }
+
+ public abstract interface ClientConnectionManagerFactory {
+ method public abstract org.apache.http.conn.ClientConnectionManager newInstance(org.apache.http.params.HttpParams, org.apache.http.conn.scheme.SchemeRegistry);
+ }
+
+ public abstract interface ClientConnectionOperator {
+ method public abstract org.apache.http.conn.OperatedClientConnection createConnection();
+ method public abstract void openConnection(org.apache.http.conn.OperatedClientConnection, org.apache.http.HttpHost, java.net.InetAddress, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public abstract void updateSecureConnection(org.apache.http.conn.OperatedClientConnection, org.apache.http.HttpHost, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+ }
+
+ public abstract interface ClientConnectionRequest {
+ method public abstract void abortRequest();
+ method public abstract org.apache.http.conn.ManagedClientConnection getConnection(long, java.util.concurrent.TimeUnit) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+ }
+
+ public class ConnectTimeoutException extends java.io.InterruptedIOException {
+ ctor public ConnectTimeoutException();
+ ctor public ConnectTimeoutException(java.lang.String);
+ }
+
+ public abstract interface ConnectionKeepAliveStrategy {
+ method public abstract long getKeepAliveDuration(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+ }
+
+ public class ConnectionPoolTimeoutException extends org.apache.http.conn.ConnectTimeoutException {
+ ctor public ConnectionPoolTimeoutException();
+ ctor public ConnectionPoolTimeoutException(java.lang.String);
+ }
+
+ public abstract interface ConnectionReleaseTrigger {
+ method public abstract void abortConnection() throws java.io.IOException;
+ method public abstract void releaseConnection() throws java.io.IOException;
+ }
+
+ public class EofSensorInputStream extends java.io.InputStream implements org.apache.http.conn.ConnectionReleaseTrigger {
+ ctor public EofSensorInputStream(java.io.InputStream, org.apache.http.conn.EofSensorWatcher);
+ method public void abortConnection() throws java.io.IOException;
+ method protected void checkAbort() throws java.io.IOException;
+ method protected void checkClose() throws java.io.IOException;
+ method protected void checkEOF(int) throws java.io.IOException;
+ method protected boolean isReadAllowed() throws java.io.IOException;
+ method public int read() throws java.io.IOException;
+ method public void releaseConnection() throws java.io.IOException;
+ field protected java.io.InputStream wrappedStream;
+ }
+
+ public abstract interface EofSensorWatcher {
+ method public abstract boolean eofDetected(java.io.InputStream) throws java.io.IOException;
+ method public abstract boolean streamAbort(java.io.InputStream) throws java.io.IOException;
+ method public abstract boolean streamClosed(java.io.InputStream) throws java.io.IOException;
+ }
+
+ public class HttpHostConnectException extends java.net.ConnectException {
+ ctor public HttpHostConnectException(org.apache.http.HttpHost, java.net.ConnectException);
+ method public org.apache.http.HttpHost getHost();
+ }
+
+ public abstract interface ManagedClientConnection implements org.apache.http.conn.ConnectionReleaseTrigger org.apache.http.HttpClientConnection org.apache.http.HttpInetConnection {
+ method public abstract org.apache.http.conn.routing.HttpRoute getRoute();
+ method public abstract javax.net.ssl.SSLSession getSSLSession();
+ method public abstract java.lang.Object getState();
+ method public abstract boolean isMarkedReusable();
+ method public abstract boolean isSecure();
+ method public abstract void layerProtocol(org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public abstract void markReusable();
+ method public abstract void open(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public abstract void setIdleDuration(long, java.util.concurrent.TimeUnit);
+ method public abstract void setState(java.lang.Object);
+ method public abstract void tunnelProxy(org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public abstract void tunnelTarget(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public abstract void unmarkReusable();
+ }
+
+ public final class MultihomePlainSocketFactory implements org.apache.http.conn.scheme.SocketFactory {
+ method public java.net.Socket connectSocket(java.net.Socket, java.lang.String, int, java.net.InetAddress, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public java.net.Socket createSocket();
+ method public static org.apache.http.conn.MultihomePlainSocketFactory getSocketFactory();
+ method public final boolean isSecure(java.net.Socket) throws java.lang.IllegalArgumentException;
+ }
+
+ public abstract interface OperatedClientConnection implements org.apache.http.HttpClientConnection org.apache.http.HttpInetConnection {
+ method public abstract java.net.Socket getSocket();
+ method public abstract org.apache.http.HttpHost getTargetHost();
+ method public abstract boolean isSecure();
+ method public abstract void openCompleted(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public abstract void opening(java.net.Socket, org.apache.http.HttpHost) throws java.io.IOException;
+ method public abstract void update(java.net.Socket, org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+ }
+
+}
+
+package org.apache.http.conn.params {
+
+ public abstract interface ConnConnectionPNames {
+ field public static final java.lang.String MAX_STATUS_LINE_GARBAGE = "http.connection.max-status-line-garbage";
+ }
+
+ public class ConnConnectionParamBean extends org.apache.http.params.HttpAbstractParamBean {
+ ctor public ConnConnectionParamBean(org.apache.http.params.HttpParams);
+ method public void setMaxStatusLineGarbage(int);
+ }
+
+ public abstract interface ConnManagerPNames {
+ field public static final java.lang.String MAX_CONNECTIONS_PER_ROUTE = "http.conn-manager.max-per-route";
+ field public static final java.lang.String MAX_TOTAL_CONNECTIONS = "http.conn-manager.max-total";
+ field public static final java.lang.String TIMEOUT = "http.conn-manager.timeout";
+ }
+
+ public class ConnManagerParamBean extends org.apache.http.params.HttpAbstractParamBean {
+ ctor public ConnManagerParamBean(org.apache.http.params.HttpParams);
+ method public void setConnectionsPerRoute(org.apache.http.conn.params.ConnPerRouteBean);
+ method public void setMaxTotalConnections(int);
+ method public void setTimeout(long);
+ }
+
+ public final class ConnManagerParams implements org.apache.http.conn.params.ConnManagerPNames {
+ ctor public ConnManagerParams();
+ method public static org.apache.http.conn.params.ConnPerRoute getMaxConnectionsPerRoute(org.apache.http.params.HttpParams);
+ method public static int getMaxTotalConnections(org.apache.http.params.HttpParams);
+ method public static long getTimeout(org.apache.http.params.HttpParams);
+ method public static void setMaxConnectionsPerRoute(org.apache.http.params.HttpParams, org.apache.http.conn.params.ConnPerRoute);
+ method public static void setMaxTotalConnections(org.apache.http.params.HttpParams, int);
+ method public static void setTimeout(org.apache.http.params.HttpParams, long);
+ field public static final int DEFAULT_MAX_TOTAL_CONNECTIONS = 20; // 0x14
+ }
+
+ public abstract interface ConnPerRoute {
+ method public abstract int getMaxForRoute(org.apache.http.conn.routing.HttpRoute);
+ }
+
+ public final class ConnPerRouteBean implements org.apache.http.conn.params.ConnPerRoute {
+ ctor public ConnPerRouteBean(int);
+ ctor public ConnPerRouteBean();
+ method public int getDefaultMax();
+ method public int getMaxForRoute(org.apache.http.conn.routing.HttpRoute);
+ method public void setDefaultMaxPerRoute(int);
+ method public void setMaxForRoute(org.apache.http.conn.routing.HttpRoute, int);
+ method public void setMaxForRoutes(java.util.Map<org.apache.http.conn.routing.HttpRoute, java.lang.Integer>);
+ field public static final int DEFAULT_MAX_CONNECTIONS_PER_ROUTE = 2; // 0x2
+ }
+
+ public abstract interface ConnRoutePNames {
+ field public static final java.lang.String DEFAULT_PROXY = "http.route.default-proxy";
+ field public static final java.lang.String FORCED_ROUTE = "http.route.forced-route";
+ field public static final java.lang.String LOCAL_ADDRESS = "http.route.local-address";
+ }
+
+ public class ConnRouteParamBean extends org.apache.http.params.HttpAbstractParamBean {
+ ctor public ConnRouteParamBean(org.apache.http.params.HttpParams);
+ method public void setDefaultProxy(org.apache.http.HttpHost);
+ method public void setForcedRoute(org.apache.http.conn.routing.HttpRoute);
+ method public void setLocalAddress(java.net.InetAddress);
+ }
+
+ public class ConnRouteParams implements org.apache.http.conn.params.ConnRoutePNames {
+ method public static org.apache.http.HttpHost getDefaultProxy(org.apache.http.params.HttpParams);
+ method public static org.apache.http.conn.routing.HttpRoute getForcedRoute(org.apache.http.params.HttpParams);
+ method public static java.net.InetAddress getLocalAddress(org.apache.http.params.HttpParams);
+ method public static void setDefaultProxy(org.apache.http.params.HttpParams, org.apache.http.HttpHost);
+ method public static void setForcedRoute(org.apache.http.params.HttpParams, org.apache.http.conn.routing.HttpRoute);
+ method public static void setLocalAddress(org.apache.http.params.HttpParams, java.net.InetAddress);
+ field public static final org.apache.http.HttpHost NO_HOST;
+ field public static final org.apache.http.conn.routing.HttpRoute NO_ROUTE;
+ }
+
+}
+
+package org.apache.http.conn.routing {
+
+ public class BasicRouteDirector implements org.apache.http.conn.routing.HttpRouteDirector {
+ ctor public BasicRouteDirector();
+ method protected int directStep(org.apache.http.conn.routing.RouteInfo, org.apache.http.conn.routing.RouteInfo);
+ method protected int firstStep(org.apache.http.conn.routing.RouteInfo);
+ method public int nextStep(org.apache.http.conn.routing.RouteInfo, org.apache.http.conn.routing.RouteInfo);
+ method protected int proxiedStep(org.apache.http.conn.routing.RouteInfo, org.apache.http.conn.routing.RouteInfo);
+ }
+
+ public final class HttpRoute implements java.lang.Cloneable org.apache.http.conn.routing.RouteInfo {
+ ctor public HttpRoute(org.apache.http.HttpHost, java.net.InetAddress, org.apache.http.HttpHost[], boolean, org.apache.http.conn.routing.RouteInfo.TunnelType, org.apache.http.conn.routing.RouteInfo.LayerType);
+ ctor public HttpRoute(org.apache.http.HttpHost, java.net.InetAddress, org.apache.http.HttpHost, boolean, org.apache.http.conn.routing.RouteInfo.TunnelType, org.apache.http.conn.routing.RouteInfo.LayerType);
+ ctor public HttpRoute(org.apache.http.HttpHost, java.net.InetAddress, boolean);
+ ctor public HttpRoute(org.apache.http.HttpHost);
+ ctor public HttpRoute(org.apache.http.HttpHost, java.net.InetAddress, org.apache.http.HttpHost, boolean);
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public final boolean equals(java.lang.Object);
+ method public final int getHopCount();
+ method public final org.apache.http.HttpHost getHopTarget(int);
+ method public final org.apache.http.conn.routing.RouteInfo.LayerType getLayerType();
+ method public final java.net.InetAddress getLocalAddress();
+ method public final org.apache.http.HttpHost getProxyHost();
+ method public final org.apache.http.HttpHost getTargetHost();
+ method public final org.apache.http.conn.routing.RouteInfo.TunnelType getTunnelType();
+ method public final int hashCode();
+ method public final boolean isLayered();
+ method public final boolean isSecure();
+ method public final boolean isTunnelled();
+ method public final java.lang.String toString();
+ }
+
+ public abstract interface HttpRouteDirector {
+ method public abstract int nextStep(org.apache.http.conn.routing.RouteInfo, org.apache.http.conn.routing.RouteInfo);
+ field public static final int COMPLETE = 0; // 0x0
+ field public static final int CONNECT_PROXY = 2; // 0x2
+ field public static final int CONNECT_TARGET = 1; // 0x1
+ field public static final int LAYER_PROTOCOL = 5; // 0x5
+ field public static final int TUNNEL_PROXY = 4; // 0x4
+ field public static final int TUNNEL_TARGET = 3; // 0x3
+ field public static final int UNREACHABLE = -1; // 0xffffffff
+ }
+
+ public abstract interface HttpRoutePlanner {
+ method public abstract org.apache.http.conn.routing.HttpRoute determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+ }
+
+ public abstract interface RouteInfo {
+ method public abstract int getHopCount();
+ method public abstract org.apache.http.HttpHost getHopTarget(int);
+ method public abstract org.apache.http.conn.routing.RouteInfo.LayerType getLayerType();
+ method public abstract java.net.InetAddress getLocalAddress();
+ method public abstract org.apache.http.HttpHost getProxyHost();
+ method public abstract org.apache.http.HttpHost getTargetHost();
+ method public abstract org.apache.http.conn.routing.RouteInfo.TunnelType getTunnelType();
+ method public abstract boolean isLayered();
+ method public abstract boolean isSecure();
+ method public abstract boolean isTunnelled();
+ }
+
+ public static final class RouteInfo.LayerType extends java.lang.Enum {
+ method public static org.apache.http.conn.routing.RouteInfo.LayerType valueOf(java.lang.String);
+ method public static final org.apache.http.conn.routing.RouteInfo.LayerType[] values();
+ enum_constant public static final org.apache.http.conn.routing.RouteInfo.LayerType LAYERED;
+ enum_constant public static final org.apache.http.conn.routing.RouteInfo.LayerType PLAIN;
+ }
+
+ public static final class RouteInfo.TunnelType extends java.lang.Enum {
+ method public static org.apache.http.conn.routing.RouteInfo.TunnelType valueOf(java.lang.String);
+ method public static final org.apache.http.conn.routing.RouteInfo.TunnelType[] values();
+ enum_constant public static final org.apache.http.conn.routing.RouteInfo.TunnelType PLAIN;
+ enum_constant public static final org.apache.http.conn.routing.RouteInfo.TunnelType TUNNELLED;
+ }
+
+ public final class RouteTracker implements java.lang.Cloneable org.apache.http.conn.routing.RouteInfo {
+ ctor public RouteTracker(org.apache.http.HttpHost, java.net.InetAddress);
+ ctor public RouteTracker(org.apache.http.conn.routing.HttpRoute);
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public final void connectProxy(org.apache.http.HttpHost, boolean);
+ method public final void connectTarget(boolean);
+ method public final boolean equals(java.lang.Object);
+ method public final int getHopCount();
+ method public final org.apache.http.HttpHost getHopTarget(int);
+ method public final org.apache.http.conn.routing.RouteInfo.LayerType getLayerType();
+ method public final java.net.InetAddress getLocalAddress();
+ method public final org.apache.http.HttpHost getProxyHost();
+ method public final org.apache.http.HttpHost getTargetHost();
+ method public final org.apache.http.conn.routing.RouteInfo.TunnelType getTunnelType();
+ method public final int hashCode();
+ method public final boolean isConnected();
+ method public final boolean isLayered();
+ method public final boolean isSecure();
+ method public final boolean isTunnelled();
+ method public final void layerProtocol(boolean);
+ method public final org.apache.http.conn.routing.HttpRoute toRoute();
+ method public final java.lang.String toString();
+ method public final void tunnelProxy(org.apache.http.HttpHost, boolean);
+ method public final void tunnelTarget(boolean);
+ }
+
+}
+
+package org.apache.http.conn.scheme {
+
+ public abstract interface HostNameResolver {
+ method public abstract java.net.InetAddress resolve(java.lang.String) throws java.io.IOException;
+ }
+
+ public abstract interface LayeredSocketFactory implements org.apache.http.conn.scheme.SocketFactory {
+ method public abstract java.net.Socket createSocket(java.net.Socket, java.lang.String, int, boolean) throws java.io.IOException, java.net.UnknownHostException;
+ }
+
+ public final class PlainSocketFactory implements org.apache.http.conn.scheme.SocketFactory {
+ ctor public PlainSocketFactory(org.apache.http.conn.scheme.HostNameResolver);
+ ctor public PlainSocketFactory();
+ method public java.net.Socket connectSocket(java.net.Socket, java.lang.String, int, java.net.InetAddress, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public java.net.Socket createSocket();
+ method public static org.apache.http.conn.scheme.PlainSocketFactory getSocketFactory();
+ method public final boolean isSecure(java.net.Socket) throws java.lang.IllegalArgumentException;
+ }
+
+ public final class Scheme {
+ ctor public Scheme(java.lang.String, org.apache.http.conn.scheme.SocketFactory, int);
+ method public final boolean equals(java.lang.Object);
+ method public final int getDefaultPort();
+ method public final java.lang.String getName();
+ method public final org.apache.http.conn.scheme.SocketFactory getSocketFactory();
+ method public final boolean isLayered();
+ method public final int resolvePort(int);
+ method public final java.lang.String toString();
+ }
+
+ public final class SchemeRegistry {
+ ctor public SchemeRegistry();
+ method public final synchronized org.apache.http.conn.scheme.Scheme get(java.lang.String);
+ method public final synchronized org.apache.http.conn.scheme.Scheme getScheme(java.lang.String);
+ method public final synchronized org.apache.http.conn.scheme.Scheme getScheme(org.apache.http.HttpHost);
+ method public final synchronized java.util.List<java.lang.String> getSchemeNames();
+ method public final synchronized org.apache.http.conn.scheme.Scheme register(org.apache.http.conn.scheme.Scheme);
+ method public synchronized void setItems(java.util.Map<java.lang.String, org.apache.http.conn.scheme.Scheme>);
+ method public final synchronized org.apache.http.conn.scheme.Scheme unregister(java.lang.String);
+ }
+
+ public abstract interface SocketFactory {
+ method public abstract java.net.Socket connectSocket(java.net.Socket, java.lang.String, int, java.net.InetAddress, int, org.apache.http.params.HttpParams) throws org.apache.http.conn.ConnectTimeoutException, java.io.IOException, java.net.UnknownHostException;
+ method public abstract java.net.Socket createSocket() throws java.io.IOException;
+ method public abstract boolean isSecure(java.net.Socket) throws java.lang.IllegalArgumentException;
+ }
+
+}
+
+package org.apache.http.conn.ssl {
+
+ public abstract class AbstractVerifier implements org.apache.http.conn.ssl.X509HostnameVerifier {
+ ctor public AbstractVerifier();
+ method public static boolean acceptableCountryWildcard(java.lang.String);
+ method public static int countDots(java.lang.String);
+ method public static java.lang.String[] getCNs(java.security.cert.X509Certificate);
+ method public static java.lang.String[] getDNSSubjectAlts(java.security.cert.X509Certificate);
+ method public final void verify(java.lang.String, javax.net.ssl.SSLSocket) throws java.io.IOException;
+ method public final boolean verify(java.lang.String, javax.net.ssl.SSLSession);
+ method public final void verify(java.lang.String, java.security.cert.X509Certificate) throws javax.net.ssl.SSLException;
+ method public final void verify(java.lang.String, java.lang.String[], java.lang.String[], boolean) throws javax.net.ssl.SSLException;
+ }
+
+ public class AllowAllHostnameVerifier extends org.apache.http.conn.ssl.AbstractVerifier {
+ ctor public AllowAllHostnameVerifier();
+ method public final java.lang.String toString();
+ method public final void verify(java.lang.String, java.lang.String[], java.lang.String[]);
+ }
+
+ public class BrowserCompatHostnameVerifier extends org.apache.http.conn.ssl.AbstractVerifier {
+ ctor public BrowserCompatHostnameVerifier();
+ method public final java.lang.String toString();
+ method public final void verify(java.lang.String, java.lang.String[], java.lang.String[]) throws javax.net.ssl.SSLException;
+ }
+
+ public class SSLSocketFactory implements org.apache.http.conn.scheme.LayeredSocketFactory {
+ ctor public SSLSocketFactory(java.lang.String, java.security.KeyStore, java.lang.String, java.security.KeyStore, java.security.SecureRandom, org.apache.http.conn.scheme.HostNameResolver) throws java.security.KeyManagementException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+ ctor public SSLSocketFactory(java.security.KeyStore, java.lang.String, java.security.KeyStore) throws java.security.KeyManagementException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+ ctor public SSLSocketFactory(java.security.KeyStore, java.lang.String) throws java.security.KeyManagementException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+ ctor public SSLSocketFactory(java.security.KeyStore) throws java.security.KeyManagementException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+ method public java.net.Socket connectSocket(java.net.Socket, java.lang.String, int, java.net.InetAddress, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public java.net.Socket createSocket() throws java.io.IOException;
+ method public java.net.Socket createSocket(java.net.Socket, java.lang.String, int, boolean) throws java.io.IOException, java.net.UnknownHostException;
+ method public org.apache.http.conn.ssl.X509HostnameVerifier getHostnameVerifier();
+ method public static org.apache.http.conn.ssl.SSLSocketFactory getSocketFactory();
+ method public boolean isSecure(java.net.Socket) throws java.lang.IllegalArgumentException;
+ method public void setHostnameVerifier(org.apache.http.conn.ssl.X509HostnameVerifier);
+ field public static final org.apache.http.conn.ssl.X509HostnameVerifier ALLOW_ALL_HOSTNAME_VERIFIER;
+ field public static final org.apache.http.conn.ssl.X509HostnameVerifier BROWSER_COMPATIBLE_HOSTNAME_VERIFIER;
+ field public static final java.lang.String SSL = "SSL";
+ field public static final java.lang.String SSLV2 = "SSLv2";
+ field public static final org.apache.http.conn.ssl.X509HostnameVerifier STRICT_HOSTNAME_VERIFIER;
+ field public static final java.lang.String TLS = "TLS";
+ }
+
+ public class StrictHostnameVerifier extends org.apache.http.conn.ssl.AbstractVerifier {
+ ctor public StrictHostnameVerifier();
+ method public final java.lang.String toString();
+ method public final void verify(java.lang.String, java.lang.String[], java.lang.String[]) throws javax.net.ssl.SSLException;
+ }
+
+ public abstract interface X509HostnameVerifier implements javax.net.ssl.HostnameVerifier {
+ method public abstract boolean verify(java.lang.String, javax.net.ssl.SSLSession);
+ method public abstract void verify(java.lang.String, javax.net.ssl.SSLSocket) throws java.io.IOException;
+ method public abstract void verify(java.lang.String, java.security.cert.X509Certificate) throws javax.net.ssl.SSLException;
+ method public abstract void verify(java.lang.String, java.lang.String[], java.lang.String[]) throws javax.net.ssl.SSLException;
+ }
+
+}
+
+package org.apache.http.conn.util {
+
+ public class InetAddressUtils {
+ method public static boolean isIPv4Address(java.lang.String);
+ method public static boolean isIPv6Address(java.lang.String);
+ method public static boolean isIPv6HexCompressedAddress(java.lang.String);
+ method public static boolean isIPv6StdAddress(java.lang.String);
+ }
+
+}
+
+package org.apache.http.cookie {
+
+ public abstract interface ClientCookie implements org.apache.http.cookie.Cookie {
+ method public abstract boolean containsAttribute(java.lang.String);
+ method public abstract java.lang.String getAttribute(java.lang.String);
+ field public static final java.lang.String COMMENTURL_ATTR = "commenturl";
+ field public static final java.lang.String COMMENT_ATTR = "comment";
+ field public static final java.lang.String DISCARD_ATTR = "discard";
+ field public static final java.lang.String DOMAIN_ATTR = "domain";
+ field public static final java.lang.String EXPIRES_ATTR = "expires";
+ field public static final java.lang.String MAX_AGE_ATTR = "max-age";
+ field public static final java.lang.String PATH_ATTR = "path";
+ field public static final java.lang.String PORT_ATTR = "port";
+ field public static final java.lang.String SECURE_ATTR = "secure";
+ field public static final java.lang.String VERSION_ATTR = "version";
+ }
+
+ public abstract interface Cookie {
+ method public abstract java.lang.String getComment();
+ method public abstract java.lang.String getCommentURL();
+ method public abstract java.lang.String getDomain();
+ method public abstract java.util.Date getExpiryDate();
+ method public abstract java.lang.String getName();
+ method public abstract java.lang.String getPath();
+ method public abstract int[] getPorts();
+ method public abstract java.lang.String getValue();
+ method public abstract int getVersion();
+ method public abstract boolean isExpired(java.util.Date);
+ method public abstract boolean isPersistent();
+ method public abstract boolean isSecure();
+ }
+
+ public abstract interface CookieAttributeHandler {
+ method public abstract boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+ method public abstract void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ method public abstract void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class CookieIdentityComparator implements java.util.Comparator java.io.Serializable {
+ ctor public CookieIdentityComparator();
+ method public int compare(org.apache.http.cookie.Cookie, org.apache.http.cookie.Cookie);
+ }
+
+ public final class CookieOrigin {
+ ctor public CookieOrigin(java.lang.String, int, java.lang.String, boolean);
+ method public java.lang.String getHost();
+ method public java.lang.String getPath();
+ method public int getPort();
+ method public boolean isSecure();
+ }
+
+ public class CookiePathComparator implements java.util.Comparator java.io.Serializable {
+ ctor public CookiePathComparator();
+ method public int compare(org.apache.http.cookie.Cookie, org.apache.http.cookie.Cookie);
+ }
+
+ public abstract interface CookieSpec {
+ method public abstract java.util.List<org.apache.http.Header> formatCookies(java.util.List<org.apache.http.cookie.Cookie>);
+ method public abstract int getVersion();
+ method public abstract org.apache.http.Header getVersionHeader();
+ method public abstract boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+ method public abstract java.util.List<org.apache.http.cookie.Cookie> parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ method public abstract void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public abstract interface CookieSpecFactory {
+ method public abstract org.apache.http.cookie.CookieSpec newInstance(org.apache.http.params.HttpParams);
+ }
+
+ public final class CookieSpecRegistry {
+ ctor public CookieSpecRegistry();
+ method public synchronized org.apache.http.cookie.CookieSpec getCookieSpec(java.lang.String, org.apache.http.params.HttpParams) throws java.lang.IllegalStateException;
+ method public synchronized org.apache.http.cookie.CookieSpec getCookieSpec(java.lang.String) throws java.lang.IllegalStateException;
+ method public synchronized java.util.List<java.lang.String> getSpecNames();
+ method public synchronized void register(java.lang.String, org.apache.http.cookie.CookieSpecFactory);
+ method public synchronized void setItems(java.util.Map<java.lang.String, org.apache.http.cookie.CookieSpecFactory>);
+ method public synchronized void unregister(java.lang.String);
+ }
+
+ public class MalformedCookieException extends org.apache.http.ProtocolException {
+ ctor public MalformedCookieException();
+ ctor public MalformedCookieException(java.lang.String);
+ ctor public MalformedCookieException(java.lang.String, java.lang.Throwable);
+ }
+
+ public abstract interface SM {
+ field public static final java.lang.String COOKIE = "Cookie";
+ field public static final java.lang.String COOKIE2 = "Cookie2";
+ field public static final java.lang.String SET_COOKIE = "Set-Cookie";
+ field public static final java.lang.String SET_COOKIE2 = "Set-Cookie2";
+ }
+
+ public abstract interface SetCookie implements org.apache.http.cookie.Cookie {
+ method public abstract void setComment(java.lang.String);
+ method public abstract void setDomain(java.lang.String);
+ method public abstract void setExpiryDate(java.util.Date);
+ method public abstract void setPath(java.lang.String);
+ method public abstract void setSecure(boolean);
+ method public abstract void setValue(java.lang.String);
+ method public abstract void setVersion(int);
+ }
+
+ public abstract interface SetCookie2 implements org.apache.http.cookie.SetCookie {
+ method public abstract void setCommentURL(java.lang.String);
+ method public abstract void setDiscard(boolean);
+ method public abstract void setPorts(int[]);
+ }
+
+}
+
+package org.apache.http.cookie.params {
+
+ public abstract interface CookieSpecPNames {
+ field public static final java.lang.String DATE_PATTERNS = "http.protocol.cookie-datepatterns";
+ field public static final java.lang.String SINGLE_COOKIE_HEADER = "http.protocol.single-cookie-header";
+ }
+
+ public class CookieSpecParamBean extends org.apache.http.params.HttpAbstractParamBean {
+ ctor public CookieSpecParamBean(org.apache.http.params.HttpParams);
+ method public void setDatePatterns(java.util.Collection<java.lang.String>);
+ method public void setSingleHeader(boolean);
+ }
+
+}
+
+package org.apache.http.entity {
+
+ public abstract class AbstractHttpEntity implements org.apache.http.HttpEntity {
+ ctor protected AbstractHttpEntity();
+ method public void consumeContent() throws java.io.IOException, java.lang.UnsupportedOperationException;
+ method public org.apache.http.Header getContentEncoding();
+ method public org.apache.http.Header getContentType();
+ method public boolean isChunked();
+ method public void setChunked(boolean);
+ method public void setContentEncoding(org.apache.http.Header);
+ method public void setContentEncoding(java.lang.String);
+ method public void setContentType(org.apache.http.Header);
+ method public void setContentType(java.lang.String);
+ field protected boolean chunked;
+ field protected org.apache.http.Header contentEncoding;
+ field protected org.apache.http.Header contentType;
+ }
+
+ public class BasicHttpEntity extends org.apache.http.entity.AbstractHttpEntity {
+ ctor public BasicHttpEntity();
+ method public java.io.InputStream getContent() throws java.lang.IllegalStateException;
+ method public long getContentLength();
+ method public boolean isRepeatable();
+ method public boolean isStreaming();
+ method public void setContent(java.io.InputStream);
+ method public void setContentLength(long);
+ method public void writeTo(java.io.OutputStream) throws java.io.IOException;
+ }
+
+ public class BufferedHttpEntity extends org.apache.http.entity.HttpEntityWrapper {
+ ctor public BufferedHttpEntity(org.apache.http.HttpEntity) throws java.io.IOException;
+ }
+
+ public class ByteArrayEntity extends org.apache.http.entity.AbstractHttpEntity implements java.lang.Cloneable {
+ ctor public ByteArrayEntity(byte[]);
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public java.io.InputStream getContent();
+ method public long getContentLength();
+ method public boolean isRepeatable();
+ method public boolean isStreaming();
+ method public void writeTo(java.io.OutputStream) throws java.io.IOException;
+ field protected final byte[] content;
+ }
+
+ public abstract interface ContentLengthStrategy {
+ method public abstract long determineLength(org.apache.http.HttpMessage) throws org.apache.http.HttpException;
+ field public static final int CHUNKED = -2; // 0xfffffffe
+ field public static final int IDENTITY = -1; // 0xffffffff
+ }
+
+ public abstract interface ContentProducer {
+ method public abstract void writeTo(java.io.OutputStream) throws java.io.IOException;
+ }
+
+ public class EntityTemplate extends org.apache.http.entity.AbstractHttpEntity {
+ ctor public EntityTemplate(org.apache.http.entity.ContentProducer);
+ method public java.io.InputStream getContent();
+ method public long getContentLength();
+ method public boolean isRepeatable();
+ method public boolean isStreaming();
+ method public void writeTo(java.io.OutputStream) throws java.io.IOException;
+ }
+
+ public class FileEntity extends org.apache.http.entity.AbstractHttpEntity implements java.lang.Cloneable {
+ ctor public FileEntity(java.io.File, java.lang.String);
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public java.io.InputStream getContent() throws java.io.IOException;
+ method public long getContentLength();
+ method public boolean isRepeatable();
+ method public boolean isStreaming();
+ method public void writeTo(java.io.OutputStream) throws java.io.IOException;
+ field protected final java.io.File file;
+ }
+
+ public class HttpEntityWrapper implements org.apache.http.HttpEntity {
+ ctor public HttpEntityWrapper(org.apache.http.HttpEntity);
+ method public void consumeContent() throws java.io.IOException;
+ method public java.io.InputStream getContent() throws java.io.IOException;
+ method public org.apache.http.Header getContentEncoding();
+ method public long getContentLength();
+ method public org.apache.http.Header getContentType();
+ method public boolean isChunked();
+ method public boolean isRepeatable();
+ method public boolean isStreaming();
+ method public void writeTo(java.io.OutputStream) throws java.io.IOException;
+ field protected org.apache.http.HttpEntity wrappedEntity;
+ }
+
+ public class InputStreamEntity extends org.apache.http.entity.AbstractHttpEntity {
+ ctor public InputStreamEntity(java.io.InputStream, long);
+ method public java.io.InputStream getContent() throws java.io.IOException;
+ method public long getContentLength();
+ method public boolean isRepeatable();
+ method public boolean isStreaming();
+ method public void writeTo(java.io.OutputStream) throws java.io.IOException;
+ }
+
+ public class SerializableEntity extends org.apache.http.entity.AbstractHttpEntity {
+ ctor public SerializableEntity(java.io.Serializable, boolean) throws java.io.IOException;
+ method public java.io.InputStream getContent() throws java.io.IOException, java.lang.IllegalStateException;
+ method public long getContentLength();
+ method public boolean isRepeatable();
+ method public boolean isStreaming();
+ method public void writeTo(java.io.OutputStream) throws java.io.IOException;
+ }
+
+ public class StringEntity extends org.apache.http.entity.AbstractHttpEntity implements java.lang.Cloneable {
+ ctor public StringEntity(java.lang.String, java.lang.String) throws java.io.UnsupportedEncodingException;
+ ctor public StringEntity(java.lang.String) throws java.io.UnsupportedEncodingException;
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public java.io.InputStream getContent() throws java.io.IOException;
+ method public long getContentLength();
+ method public boolean isRepeatable();
+ method public boolean isStreaming();
+ method public void writeTo(java.io.OutputStream) throws java.io.IOException;
+ field protected final byte[] content;
+ }
+
+}
+
+package org.apache.http.impl {
+
+ public abstract class AbstractHttpClientConnection implements org.apache.http.HttpClientConnection {
+ ctor public AbstractHttpClientConnection();
+ method protected abstract void assertOpen() throws java.lang.IllegalStateException;
+ method protected org.apache.http.impl.entity.EntityDeserializer createEntityDeserializer();
+ method protected org.apache.http.impl.entity.EntitySerializer createEntitySerializer();
+ method protected org.apache.http.HttpResponseFactory createHttpResponseFactory();
+ method protected org.apache.http.io.HttpMessageWriter createRequestWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams);
+ method protected org.apache.http.io.HttpMessageParser createResponseParser(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
+ method protected void doFlush() throws java.io.IOException;
+ method public void flush() throws java.io.IOException;
+ method public org.apache.http.HttpConnectionMetrics getMetrics();
+ method protected void init(org.apache.http.io.SessionInputBuffer, org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams);
+ method public boolean isResponseAvailable(int) throws java.io.IOException;
+ method public boolean isStale();
+ method public void receiveResponseEntity(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+ method public org.apache.http.HttpResponse receiveResponseHeader() throws org.apache.http.HttpException, java.io.IOException;
+ method public void sendRequestEntity(org.apache.http.HttpEntityEnclosingRequest) throws org.apache.http.HttpException, java.io.IOException;
+ method public void sendRequestHeader(org.apache.http.HttpRequest) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public abstract class AbstractHttpServerConnection implements org.apache.http.HttpServerConnection {
+ ctor public AbstractHttpServerConnection();
+ method protected abstract void assertOpen() throws java.lang.IllegalStateException;
+ method protected org.apache.http.impl.entity.EntityDeserializer createEntityDeserializer();
+ method protected org.apache.http.impl.entity.EntitySerializer createEntitySerializer();
+ method protected org.apache.http.HttpRequestFactory createHttpRequestFactory();
+ method protected org.apache.http.io.HttpMessageParser createRequestParser(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams);
+ method protected org.apache.http.io.HttpMessageWriter createResponseWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams);
+ method protected void doFlush() throws java.io.IOException;
+ method public void flush() throws java.io.IOException;
+ method public org.apache.http.HttpConnectionMetrics getMetrics();
+ method protected void init(org.apache.http.io.SessionInputBuffer, org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams);
+ method public boolean isStale();
+ method public void receiveRequestEntity(org.apache.http.HttpEntityEnclosingRequest) throws org.apache.http.HttpException, java.io.IOException;
+ method public org.apache.http.HttpRequest receiveRequestHeader() throws org.apache.http.HttpException, java.io.IOException;
+ method public void sendResponseEntity(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+ method public void sendResponseHeader(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class DefaultConnectionReuseStrategy implements org.apache.http.ConnectionReuseStrategy {
+ ctor public DefaultConnectionReuseStrategy();
+ method protected org.apache.http.TokenIterator createTokenIterator(org.apache.http.HeaderIterator);
+ method public boolean keepAlive(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+ }
+
+ public class DefaultHttpClientConnection extends org.apache.http.impl.SocketHttpClientConnection {
+ ctor public DefaultHttpClientConnection();
+ method public void bind(java.net.Socket, org.apache.http.params.HttpParams) throws java.io.IOException;
+ }
+
+ public class DefaultHttpRequestFactory implements org.apache.http.HttpRequestFactory {
+ ctor public DefaultHttpRequestFactory();
+ method public org.apache.http.HttpRequest newHttpRequest(org.apache.http.RequestLine) throws org.apache.http.MethodNotSupportedException;
+ method public org.apache.http.HttpRequest newHttpRequest(java.lang.String, java.lang.String) throws org.apache.http.MethodNotSupportedException;
+ }
+
+ public class DefaultHttpResponseFactory implements org.apache.http.HttpResponseFactory {
+ ctor public DefaultHttpResponseFactory(org.apache.http.ReasonPhraseCatalog);
+ ctor public DefaultHttpResponseFactory();
+ method protected java.util.Locale determineLocale(org.apache.http.protocol.HttpContext);
+ method public org.apache.http.HttpResponse newHttpResponse(org.apache.http.ProtocolVersion, int, org.apache.http.protocol.HttpContext);
+ method public org.apache.http.HttpResponse newHttpResponse(org.apache.http.StatusLine, org.apache.http.protocol.HttpContext);
+ field protected final org.apache.http.ReasonPhraseCatalog reasonCatalog;
+ }
+
+ public class DefaultHttpServerConnection extends org.apache.http.impl.SocketHttpServerConnection {
+ ctor public DefaultHttpServerConnection();
+ method public void bind(java.net.Socket, org.apache.http.params.HttpParams) throws java.io.IOException;
+ }
+
+ public class EnglishReasonPhraseCatalog implements org.apache.http.ReasonPhraseCatalog {
+ ctor protected EnglishReasonPhraseCatalog();
+ method public java.lang.String getReason(int, java.util.Locale);
+ field public static final org.apache.http.impl.EnglishReasonPhraseCatalog INSTANCE;
+ }
+
+ public class HttpConnectionMetricsImpl implements org.apache.http.HttpConnectionMetrics {
+ ctor public HttpConnectionMetricsImpl(org.apache.http.io.HttpTransportMetrics, org.apache.http.io.HttpTransportMetrics);
+ method public java.lang.Object getMetric(java.lang.String);
+ method public long getReceivedBytesCount();
+ method public long getRequestCount();
+ method public long getResponseCount();
+ method public long getSentBytesCount();
+ method public void incrementRequestCount();
+ method public void incrementResponseCount();
+ method public void reset();
+ method public void setMetric(java.lang.String, java.lang.Object);
+ field public static final java.lang.String RECEIVED_BYTES_COUNT = "http.received-bytes-count";
+ field public static final java.lang.String REQUEST_COUNT = "http.request-count";
+ field public static final java.lang.String RESPONSE_COUNT = "http.response-count";
+ field public static final java.lang.String SENT_BYTES_COUNT = "http.sent-bytes-count";
+ }
+
+ public class NoConnectionReuseStrategy implements org.apache.http.ConnectionReuseStrategy {
+ ctor public NoConnectionReuseStrategy();
+ method public boolean keepAlive(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+ }
+
+ public class SocketHttpClientConnection extends org.apache.http.impl.AbstractHttpClientConnection implements org.apache.http.HttpInetConnection {
+ ctor public SocketHttpClientConnection();
+ method protected void assertNotOpen();
+ method protected void assertOpen();
+ method protected void bind(java.net.Socket, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public void close() throws java.io.IOException;
+ method protected org.apache.http.io.SessionInputBuffer createSessionInputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method protected org.apache.http.io.SessionOutputBuffer createSessionOutputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public java.net.InetAddress getLocalAddress();
+ method public int getLocalPort();
+ method public java.net.InetAddress getRemoteAddress();
+ method public int getRemotePort();
+ method protected java.net.Socket getSocket();
+ method public int getSocketTimeout();
+ method public boolean isOpen();
+ method public void setSocketTimeout(int);
+ method public void shutdown() throws java.io.IOException;
+ }
+
+ public class SocketHttpServerConnection extends org.apache.http.impl.AbstractHttpServerConnection implements org.apache.http.HttpInetConnection {
+ ctor public SocketHttpServerConnection();
+ method protected void assertNotOpen();
+ method protected void assertOpen();
+ method protected void bind(java.net.Socket, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public void close() throws java.io.IOException;
+ method protected org.apache.http.io.SessionInputBuffer createHttpDataReceiver(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method protected org.apache.http.io.SessionOutputBuffer createHttpDataTransmitter(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public java.net.InetAddress getLocalAddress();
+ method public int getLocalPort();
+ method public java.net.InetAddress getRemoteAddress();
+ method public int getRemotePort();
+ method protected java.net.Socket getSocket();
+ method public int getSocketTimeout();
+ method public boolean isOpen();
+ method public void setSocketTimeout(int);
+ method public void shutdown() throws java.io.IOException;
+ }
+
+}
+
+package org.apache.http.impl.auth {
+
+ public abstract class AuthSchemeBase implements org.apache.http.auth.AuthScheme {
+ ctor public AuthSchemeBase();
+ method public boolean isProxy();
+ method protected abstract void parseChallenge(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.auth.MalformedChallengeException;
+ method public void processChallenge(org.apache.http.Header) throws org.apache.http.auth.MalformedChallengeException;
+ }
+
+ public class BasicScheme extends org.apache.http.impl.auth.RFC2617Scheme {
+ ctor public BasicScheme();
+ method public org.apache.http.Header authenticate(org.apache.http.auth.Credentials, org.apache.http.HttpRequest) throws org.apache.http.auth.AuthenticationException;
+ method public static org.apache.http.Header authenticate(org.apache.http.auth.Credentials, java.lang.String, boolean);
+ method public java.lang.String getSchemeName();
+ method public boolean isComplete();
+ method public boolean isConnectionBased();
+ }
+
+ public class BasicSchemeFactory implements org.apache.http.auth.AuthSchemeFactory {
+ ctor public BasicSchemeFactory();
+ method public org.apache.http.auth.AuthScheme newInstance(org.apache.http.params.HttpParams);
+ }
+
+ public class DigestScheme extends org.apache.http.impl.auth.RFC2617Scheme {
+ ctor public DigestScheme();
+ method public org.apache.http.Header authenticate(org.apache.http.auth.Credentials, org.apache.http.HttpRequest) throws org.apache.http.auth.AuthenticationException;
+ method public static java.lang.String createCnonce();
+ method public java.lang.String getSchemeName();
+ method public boolean isComplete();
+ method public boolean isConnectionBased();
+ method public void overrideParamter(java.lang.String, java.lang.String);
+ }
+
+ public class DigestSchemeFactory implements org.apache.http.auth.AuthSchemeFactory {
+ ctor public DigestSchemeFactory();
+ method public org.apache.http.auth.AuthScheme newInstance(org.apache.http.params.HttpParams);
+ }
+
+ public abstract interface NTLMEngine {
+ method public abstract java.lang.String generateType1Msg(java.lang.String, java.lang.String) throws org.apache.http.impl.auth.NTLMEngineException;
+ method public abstract java.lang.String generateType3Msg(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws org.apache.http.impl.auth.NTLMEngineException;
+ }
+
+ public class NTLMEngineException extends org.apache.http.auth.AuthenticationException {
+ ctor public NTLMEngineException();
+ ctor public NTLMEngineException(java.lang.String);
+ ctor public NTLMEngineException(java.lang.String, java.lang.Throwable);
+ }
+
+ public class NTLMScheme extends org.apache.http.impl.auth.AuthSchemeBase {
+ ctor public NTLMScheme(org.apache.http.impl.auth.NTLMEngine);
+ method public org.apache.http.Header authenticate(org.apache.http.auth.Credentials, org.apache.http.HttpRequest) throws org.apache.http.auth.AuthenticationException;
+ method public java.lang.String getParameter(java.lang.String);
+ method public java.lang.String getRealm();
+ method public java.lang.String getSchemeName();
+ method public boolean isComplete();
+ method public boolean isConnectionBased();
+ method protected void parseChallenge(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.auth.MalformedChallengeException;
+ }
+
+ public abstract class RFC2617Scheme extends org.apache.http.impl.auth.AuthSchemeBase {
+ ctor public RFC2617Scheme();
+ method public java.lang.String getParameter(java.lang.String);
+ method protected java.util.Map<java.lang.String, java.lang.String> getParameters();
+ method public java.lang.String getRealm();
+ method protected void parseChallenge(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.auth.MalformedChallengeException;
+ }
+
+ public class UnsupportedDigestAlgorithmException extends java.lang.RuntimeException {
+ ctor public UnsupportedDigestAlgorithmException();
+ ctor public UnsupportedDigestAlgorithmException(java.lang.String);
+ ctor public UnsupportedDigestAlgorithmException(java.lang.String, java.lang.Throwable);
+ }
+
+}
+
+package org.apache.http.impl.client {
+
+ public abstract class AbstractAuthenticationHandler implements org.apache.http.client.AuthenticationHandler {
+ ctor public AbstractAuthenticationHandler();
+ method protected java.util.List<java.lang.String> getAuthPreferences();
+ method protected java.util.Map<java.lang.String, org.apache.http.Header> parseChallenges(org.apache.http.Header[]) throws org.apache.http.auth.MalformedChallengeException;
+ method public org.apache.http.auth.AuthScheme selectScheme(java.util.Map<java.lang.String, org.apache.http.Header>, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.AuthenticationException;
+ }
+
+ public abstract class AbstractHttpClient implements org.apache.http.client.HttpClient {
+ ctor protected AbstractHttpClient(org.apache.http.conn.ClientConnectionManager, org.apache.http.params.HttpParams);
+ method public synchronized void addRequestInterceptor(org.apache.http.HttpRequestInterceptor);
+ method public synchronized void addRequestInterceptor(org.apache.http.HttpRequestInterceptor, int);
+ method public synchronized void addResponseInterceptor(org.apache.http.HttpResponseInterceptor);
+ method public synchronized void addResponseInterceptor(org.apache.http.HttpResponseInterceptor, int);
+ method public synchronized void clearRequestInterceptors();
+ method public synchronized void clearResponseInterceptors();
+ method protected abstract org.apache.http.auth.AuthSchemeRegistry createAuthSchemeRegistry();
+ method protected abstract org.apache.http.conn.ClientConnectionManager createClientConnectionManager();
+ method protected org.apache.http.client.RequestDirector createClientRequestDirector(org.apache.http.protocol.HttpRequestExecutor, org.apache.http.conn.ClientConnectionManager, org.apache.http.ConnectionReuseStrategy, org.apache.http.conn.ConnectionKeepAliveStrategy, org.apache.http.conn.routing.HttpRoutePlanner, org.apache.http.protocol.HttpProcessor, org.apache.http.client.HttpRequestRetryHandler, org.apache.http.client.RedirectHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.client.UserTokenHandler, org.apache.http.params.HttpParams);
+ method protected abstract org.apache.http.conn.ConnectionKeepAliveStrategy createConnectionKeepAliveStrategy();
+ method protected abstract org.apache.http.ConnectionReuseStrategy createConnectionReuseStrategy();
+ method protected abstract org.apache.http.cookie.CookieSpecRegistry createCookieSpecRegistry();
+ method protected abstract org.apache.http.client.CookieStore createCookieStore();
+ method protected abstract org.apache.http.client.CredentialsProvider createCredentialsProvider();
+ method protected abstract org.apache.http.protocol.HttpContext createHttpContext();
+ method protected abstract org.apache.http.params.HttpParams createHttpParams();
+ method protected abstract org.apache.http.protocol.BasicHttpProcessor createHttpProcessor();
+ method protected abstract org.apache.http.client.HttpRequestRetryHandler createHttpRequestRetryHandler();
+ method protected abstract org.apache.http.conn.routing.HttpRoutePlanner createHttpRoutePlanner();
+ method protected abstract org.apache.http.client.AuthenticationHandler createProxyAuthenticationHandler();
+ method protected abstract org.apache.http.client.RedirectHandler createRedirectHandler();
+ method protected abstract org.apache.http.protocol.HttpRequestExecutor createRequestExecutor();
+ method protected abstract org.apache.http.client.AuthenticationHandler createTargetAuthenticationHandler();
+ method protected abstract org.apache.http.client.UserTokenHandler createUserTokenHandler();
+ method protected org.apache.http.params.HttpParams determineParams(org.apache.http.HttpRequest);
+ method public final org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public final org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public final org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public final org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public T execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.client.ResponseHandler<? extends T>) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public T execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.client.ResponseHandler<? extends T>, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public T execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.client.ResponseHandler<? extends T>) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public T execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.client.ResponseHandler<? extends T>, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+ method public final synchronized org.apache.http.auth.AuthSchemeRegistry getAuthSchemes();
+ method public final synchronized org.apache.http.conn.ConnectionKeepAliveStrategy getConnectionKeepAliveStrategy();
+ method public final synchronized org.apache.http.conn.ClientConnectionManager getConnectionManager();
+ method public final synchronized org.apache.http.ConnectionReuseStrategy getConnectionReuseStrategy();
+ method public final synchronized org.apache.http.cookie.CookieSpecRegistry getCookieSpecs();
+ method public final synchronized org.apache.http.client.CookieStore getCookieStore();
+ method public final synchronized org.apache.http.client.CredentialsProvider getCredentialsProvider();
+ method protected final synchronized org.apache.http.protocol.BasicHttpProcessor getHttpProcessor();
+ method public final synchronized org.apache.http.client.HttpRequestRetryHandler getHttpRequestRetryHandler();
+ method public final synchronized org.apache.http.params.HttpParams getParams();
+ method public final synchronized org.apache.http.client.AuthenticationHandler getProxyAuthenticationHandler();
+ method public final synchronized org.apache.http.client.RedirectHandler getRedirectHandler();
+ method public final synchronized org.apache.http.protocol.HttpRequestExecutor getRequestExecutor();
+ method public synchronized org.apache.http.HttpRequestInterceptor getRequestInterceptor(int);
+ method public synchronized int getRequestInterceptorCount();
+ method public synchronized org.apache.http.HttpResponseInterceptor getResponseInterceptor(int);
+ method public synchronized int getResponseInterceptorCount();
+ method public final synchronized org.apache.http.conn.routing.HttpRoutePlanner getRoutePlanner();
+ method public final synchronized org.apache.http.client.AuthenticationHandler getTargetAuthenticationHandler();
+ method public final synchronized org.apache.http.client.UserTokenHandler getUserTokenHandler();
+ method public void removeRequestInterceptorByClass(java.lang.Class<? extends org.apache.http.HttpRequestInterceptor>);
+ method public void removeResponseInterceptorByClass(java.lang.Class<? extends org.apache.http.HttpResponseInterceptor>);
+ method public synchronized void setAuthSchemes(org.apache.http.auth.AuthSchemeRegistry);
+ method public synchronized void setCookieSpecs(org.apache.http.cookie.CookieSpecRegistry);
+ method public synchronized void setCookieStore(org.apache.http.client.CookieStore);
+ method public synchronized void setCredentialsProvider(org.apache.http.client.CredentialsProvider);
+ method public synchronized void setHttpRequestRetryHandler(org.apache.http.client.HttpRequestRetryHandler);
+ method public synchronized void setKeepAliveStrategy(org.apache.http.conn.ConnectionKeepAliveStrategy);
+ method public synchronized void setParams(org.apache.http.params.HttpParams);
+ method public synchronized void setProxyAuthenticationHandler(org.apache.http.client.AuthenticationHandler);
+ method public synchronized void setRedirectHandler(org.apache.http.client.RedirectHandler);
+ method public synchronized void setReuseStrategy(org.apache.http.ConnectionReuseStrategy);
+ method public synchronized void setRoutePlanner(org.apache.http.conn.routing.HttpRoutePlanner);
+ method public synchronized void setTargetAuthenticationHandler(org.apache.http.client.AuthenticationHandler);
+ method public synchronized void setUserTokenHandler(org.apache.http.client.UserTokenHandler);
+ }
+
+ public class BasicCookieStore implements org.apache.http.client.CookieStore {
+ ctor public BasicCookieStore();
+ method public synchronized void addCookie(org.apache.http.cookie.Cookie);
+ method public synchronized void addCookies(org.apache.http.cookie.Cookie[]);
+ method public synchronized void clear();
+ method public synchronized boolean clearExpired(java.util.Date);
+ method public synchronized java.util.List<org.apache.http.cookie.Cookie> getCookies();
+ }
+
+ public class BasicCredentialsProvider implements org.apache.http.client.CredentialsProvider {
+ ctor public BasicCredentialsProvider();
+ method public synchronized void clear();
+ method public synchronized org.apache.http.auth.Credentials getCredentials(org.apache.http.auth.AuthScope);
+ method public synchronized void setCredentials(org.apache.http.auth.AuthScope, org.apache.http.auth.Credentials);
+ }
+
+ public class BasicResponseHandler implements org.apache.http.client.ResponseHandler {
+ ctor public BasicResponseHandler();
+ method public java.lang.String handleResponse(org.apache.http.HttpResponse) throws org.apache.http.client.HttpResponseException, java.io.IOException;
+ }
+
+ public class ClientParamsStack extends org.apache.http.params.AbstractHttpParams {
+ ctor public ClientParamsStack(org.apache.http.params.HttpParams, org.apache.http.params.HttpParams, org.apache.http.params.HttpParams, org.apache.http.params.HttpParams);
+ ctor public ClientParamsStack(org.apache.http.impl.client.ClientParamsStack);
+ ctor public ClientParamsStack(org.apache.http.impl.client.ClientParamsStack, org.apache.http.params.HttpParams, org.apache.http.params.HttpParams, org.apache.http.params.HttpParams, org.apache.http.params.HttpParams);
+ method public org.apache.http.params.HttpParams copy();
+ method public final org.apache.http.params.HttpParams getApplicationParams();
+ method public final org.apache.http.params.HttpParams getClientParams();
+ method public final org.apache.http.params.HttpParams getOverrideParams();
+ method public java.lang.Object getParameter(java.lang.String);
+ method public final org.apache.http.params.HttpParams getRequestParams();
+ method public boolean removeParameter(java.lang.String);
+ method public org.apache.http.params.HttpParams setParameter(java.lang.String, java.lang.Object) throws java.lang.UnsupportedOperationException;
+ field protected final org.apache.http.params.HttpParams applicationParams;
+ field protected final org.apache.http.params.HttpParams clientParams;
+ field protected final org.apache.http.params.HttpParams overrideParams;
+ field protected final org.apache.http.params.HttpParams requestParams;
+ }
+
+ public class DefaultConnectionKeepAliveStrategy implements org.apache.http.conn.ConnectionKeepAliveStrategy {
+ ctor public DefaultConnectionKeepAliveStrategy();
+ method public long getKeepAliveDuration(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+ }
+
+ public class DefaultHttpClient extends org.apache.http.impl.client.AbstractHttpClient {
+ ctor public DefaultHttpClient(org.apache.http.conn.ClientConnectionManager, org.apache.http.params.HttpParams);
+ ctor public DefaultHttpClient(org.apache.http.params.HttpParams);
+ ctor public DefaultHttpClient();
+ method protected org.apache.http.auth.AuthSchemeRegistry createAuthSchemeRegistry();
+ method protected org.apache.http.conn.ClientConnectionManager createClientConnectionManager();
+ method protected org.apache.http.conn.ConnectionKeepAliveStrategy createConnectionKeepAliveStrategy();
+ method protected org.apache.http.ConnectionReuseStrategy createConnectionReuseStrategy();
+ method protected org.apache.http.cookie.CookieSpecRegistry createCookieSpecRegistry();
+ method protected org.apache.http.client.CookieStore createCookieStore();
+ method protected org.apache.http.client.CredentialsProvider createCredentialsProvider();
+ method protected org.apache.http.protocol.HttpContext createHttpContext();
+ method protected org.apache.http.params.HttpParams createHttpParams();
+ method protected org.apache.http.protocol.BasicHttpProcessor createHttpProcessor();
+ method protected org.apache.http.client.HttpRequestRetryHandler createHttpRequestRetryHandler();
+ method protected org.apache.http.conn.routing.HttpRoutePlanner createHttpRoutePlanner();
+ method protected org.apache.http.client.AuthenticationHandler createProxyAuthenticationHandler();
+ method protected org.apache.http.client.RedirectHandler createRedirectHandler();
+ method protected org.apache.http.protocol.HttpRequestExecutor createRequestExecutor();
+ method protected org.apache.http.client.AuthenticationHandler createTargetAuthenticationHandler();
+ method protected org.apache.http.client.UserTokenHandler createUserTokenHandler();
+ }
+
+ public class DefaultHttpRequestRetryHandler implements org.apache.http.client.HttpRequestRetryHandler {
+ ctor public DefaultHttpRequestRetryHandler(int, boolean);
+ ctor public DefaultHttpRequestRetryHandler();
+ method public int getRetryCount();
+ method public boolean isRequestSentRetryEnabled();
+ method public boolean retryRequest(java.io.IOException, int, org.apache.http.protocol.HttpContext);
+ }
+
+ public class DefaultProxyAuthenticationHandler extends org.apache.http.impl.client.AbstractAuthenticationHandler {
+ ctor public DefaultProxyAuthenticationHandler();
+ method public java.util.Map<java.lang.String, org.apache.http.Header> getChallenges(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.MalformedChallengeException;
+ method public boolean isAuthenticationRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+ }
+
+ public class DefaultRedirectHandler implements org.apache.http.client.RedirectHandler {
+ ctor public DefaultRedirectHandler();
+ method public java.net.URI getLocationURI(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.ProtocolException;
+ method public boolean isRedirectRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+ }
+
+ public class DefaultRequestDirector implements org.apache.http.client.RequestDirector {
+ ctor public DefaultRequestDirector(org.apache.http.protocol.HttpRequestExecutor, org.apache.http.conn.ClientConnectionManager, org.apache.http.ConnectionReuseStrategy, org.apache.http.conn.ConnectionKeepAliveStrategy, org.apache.http.conn.routing.HttpRoutePlanner, org.apache.http.protocol.HttpProcessor, org.apache.http.client.HttpRequestRetryHandler, org.apache.http.client.RedirectHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.client.UserTokenHandler, org.apache.http.params.HttpParams);
+ method protected org.apache.http.HttpRequest createConnectRequest(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext);
+ method protected boolean createTunnelToProxy(org.apache.http.conn.routing.HttpRoute, int, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ method protected boolean createTunnelToTarget(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ method protected org.apache.http.conn.routing.HttpRoute determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+ method protected void establishRoute(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ method public org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ method protected org.apache.http.impl.client.RoutedRequest handleResponse(org.apache.http.impl.client.RoutedRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ method protected void releaseConnection();
+ method protected void rewriteRequestURI(org.apache.http.impl.client.RequestWrapper, org.apache.http.conn.routing.HttpRoute) throws org.apache.http.ProtocolException;
+ field protected final org.apache.http.conn.ClientConnectionManager connManager;
+ field protected final org.apache.http.protocol.HttpProcessor httpProcessor;
+ field protected final org.apache.http.conn.ConnectionKeepAliveStrategy keepAliveStrategy;
+ field protected org.apache.http.conn.ManagedClientConnection managedConn;
+ field protected final org.apache.http.params.HttpParams params;
+ field protected final org.apache.http.client.RedirectHandler redirectHandler;
+ field protected final org.apache.http.protocol.HttpRequestExecutor requestExec;
+ field protected final org.apache.http.client.HttpRequestRetryHandler retryHandler;
+ field protected final org.apache.http.ConnectionReuseStrategy reuseStrategy;
+ field protected final org.apache.http.conn.routing.HttpRoutePlanner routePlanner;
+ }
+
+ public class DefaultTargetAuthenticationHandler extends org.apache.http.impl.client.AbstractAuthenticationHandler {
+ ctor public DefaultTargetAuthenticationHandler();
+ method public java.util.Map<java.lang.String, org.apache.http.Header> getChallenges(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.MalformedChallengeException;
+ method public boolean isAuthenticationRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+ }
+
+ public class DefaultUserTokenHandler implements org.apache.http.client.UserTokenHandler {
+ ctor public DefaultUserTokenHandler();
+ method public java.lang.Object getUserToken(org.apache.http.protocol.HttpContext);
+ }
+
+ public class EntityEnclosingRequestWrapper extends org.apache.http.impl.client.RequestWrapper implements org.apache.http.HttpEntityEnclosingRequest {
+ ctor public EntityEnclosingRequestWrapper(org.apache.http.HttpEntityEnclosingRequest) throws org.apache.http.ProtocolException;
+ method public boolean expectContinue();
+ method public org.apache.http.HttpEntity getEntity();
+ method public void setEntity(org.apache.http.HttpEntity);
+ }
+
+ public class RedirectLocations {
+ ctor public RedirectLocations();
+ method public void add(java.net.URI);
+ method public boolean contains(java.net.URI);
+ method public boolean remove(java.net.URI);
+ }
+
+ public class RequestWrapper extends org.apache.http.message.AbstractHttpMessage implements org.apache.http.client.methods.HttpUriRequest {
+ ctor public RequestWrapper(org.apache.http.HttpRequest) throws org.apache.http.ProtocolException;
+ method public void abort() throws java.lang.UnsupportedOperationException;
+ method public int getExecCount();
+ method public java.lang.String getMethod();
+ method public org.apache.http.HttpRequest getOriginal();
+ method public org.apache.http.ProtocolVersion getProtocolVersion();
+ method public org.apache.http.RequestLine getRequestLine();
+ method public java.net.URI getURI();
+ method public void incrementExecCount();
+ method public boolean isAborted();
+ method public boolean isRepeatable();
+ method public void resetHeaders();
+ method public void setMethod(java.lang.String);
+ method public void setProtocolVersion(org.apache.http.ProtocolVersion);
+ method public void setURI(java.net.URI);
+ }
+
+ public class RoutedRequest {
+ ctor public RoutedRequest(org.apache.http.impl.client.RequestWrapper, org.apache.http.conn.routing.HttpRoute);
+ method public final org.apache.http.impl.client.RequestWrapper getRequest();
+ method public final org.apache.http.conn.routing.HttpRoute getRoute();
+ field protected final org.apache.http.impl.client.RequestWrapper request;
+ field protected final org.apache.http.conn.routing.HttpRoute route;
+ }
+
+ public class TunnelRefusedException extends org.apache.http.HttpException {
+ ctor public TunnelRefusedException(java.lang.String, org.apache.http.HttpResponse);
+ method public org.apache.http.HttpResponse getResponse();
+ }
+
+}
+
+package org.apache.http.impl.conn {
+
+ public abstract class AbstractClientConnAdapter implements org.apache.http.conn.ManagedClientConnection {
+ ctor protected AbstractClientConnAdapter(org.apache.http.conn.ClientConnectionManager, org.apache.http.conn.OperatedClientConnection);
+ method public void abortConnection();
+ method protected final void assertNotAborted() throws java.io.InterruptedIOException;
+ method protected final void assertValid(org.apache.http.conn.OperatedClientConnection);
+ method protected void detach();
+ method public void flush() throws java.io.IOException;
+ method public java.net.InetAddress getLocalAddress();
+ method public int getLocalPort();
+ method protected org.apache.http.conn.ClientConnectionManager getManager();
+ method public org.apache.http.HttpConnectionMetrics getMetrics();
+ method public java.net.InetAddress getRemoteAddress();
+ method public int getRemotePort();
+ method public javax.net.ssl.SSLSession getSSLSession();
+ method public int getSocketTimeout();
+ method protected org.apache.http.conn.OperatedClientConnection getWrappedConnection();
+ method public boolean isMarkedReusable();
+ method public boolean isOpen();
+ method public boolean isResponseAvailable(int) throws java.io.IOException;
+ method public boolean isSecure();
+ method public boolean isStale();
+ method public void markReusable();
+ method public void receiveResponseEntity(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+ method public org.apache.http.HttpResponse receiveResponseHeader() throws org.apache.http.HttpException, java.io.IOException;
+ method public void releaseConnection();
+ method public void sendRequestEntity(org.apache.http.HttpEntityEnclosingRequest) throws org.apache.http.HttpException, java.io.IOException;
+ method public void sendRequestHeader(org.apache.http.HttpRequest) throws org.apache.http.HttpException, java.io.IOException;
+ method public void setIdleDuration(long, java.util.concurrent.TimeUnit);
+ method public void setSocketTimeout(int);
+ method public void unmarkReusable();
+ }
+
+ public abstract class AbstractPoolEntry {
+ ctor protected AbstractPoolEntry(org.apache.http.conn.ClientConnectionOperator, org.apache.http.conn.routing.HttpRoute);
+ method public java.lang.Object getState();
+ method public void layerProtocol(org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public void open(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public void setState(java.lang.Object);
+ method protected void shutdownEntry();
+ method public void tunnelProxy(org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public void tunnelTarget(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+ field protected final org.apache.http.conn.ClientConnectionOperator connOperator;
+ field protected final org.apache.http.conn.OperatedClientConnection connection;
+ field protected volatile org.apache.http.conn.routing.HttpRoute route;
+ field protected volatile java.lang.Object state;
+ field protected volatile org.apache.http.conn.routing.RouteTracker tracker;
+ }
+
+ public abstract class AbstractPooledConnAdapter extends org.apache.http.impl.conn.AbstractClientConnAdapter {
+ ctor protected AbstractPooledConnAdapter(org.apache.http.conn.ClientConnectionManager, org.apache.http.impl.conn.AbstractPoolEntry);
+ method protected final void assertAttached();
+ method public void close() throws java.io.IOException;
+ method public org.apache.http.conn.routing.HttpRoute getRoute();
+ method public java.lang.Object getState();
+ method public void layerProtocol(org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public void open(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public void setState(java.lang.Object);
+ method public void shutdown() throws java.io.IOException;
+ method public void tunnelProxy(org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public void tunnelTarget(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+ field protected volatile org.apache.http.impl.conn.AbstractPoolEntry poolEntry;
+ }
+
+ public class DefaultClientConnection extends org.apache.http.impl.SocketHttpClientConnection implements org.apache.http.conn.OperatedClientConnection {
+ ctor public DefaultClientConnection();
+ method public final java.net.Socket getSocket();
+ method public final org.apache.http.HttpHost getTargetHost();
+ method public final boolean isSecure();
+ method public void openCompleted(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public void opening(java.net.Socket, org.apache.http.HttpHost) throws java.io.IOException;
+ method public void update(java.net.Socket, org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+ }
+
+ public class DefaultClientConnectionOperator implements org.apache.http.conn.ClientConnectionOperator {
+ ctor public DefaultClientConnectionOperator(org.apache.http.conn.scheme.SchemeRegistry);
+ method public org.apache.http.conn.OperatedClientConnection createConnection();
+ method public void openConnection(org.apache.http.conn.OperatedClientConnection, org.apache.http.HttpHost, java.net.InetAddress, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method protected void prepareSocket(java.net.Socket, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public void updateSecureConnection(org.apache.http.conn.OperatedClientConnection, org.apache.http.HttpHost, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+ field protected org.apache.http.conn.scheme.SchemeRegistry schemeRegistry;
+ }
+
+ public class DefaultHttpRoutePlanner implements org.apache.http.conn.routing.HttpRoutePlanner {
+ ctor public DefaultHttpRoutePlanner(org.apache.http.conn.scheme.SchemeRegistry);
+ method public org.apache.http.conn.routing.HttpRoute determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+ field protected org.apache.http.conn.scheme.SchemeRegistry schemeRegistry;
+ }
+
+ public class DefaultResponseParser extends org.apache.http.impl.io.AbstractMessageParser {
+ ctor public DefaultResponseParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
+ method protected org.apache.http.HttpMessage parseHead(org.apache.http.io.SessionInputBuffer) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class IdleConnectionHandler {
+ ctor public IdleConnectionHandler();
+ method public void add(org.apache.http.HttpConnection, long, java.util.concurrent.TimeUnit);
+ method public void closeExpiredConnections();
+ method public void closeIdleConnections(long);
+ method public boolean remove(org.apache.http.HttpConnection);
+ method public void removeAll();
+ }
+
+ public class LoggingSessionInputBuffer implements org.apache.http.io.SessionInputBuffer {
+ ctor public LoggingSessionInputBuffer(org.apache.http.io.SessionInputBuffer, org.apache.http.impl.conn.Wire);
+ method public org.apache.http.io.HttpTransportMetrics getMetrics();
+ method public boolean isDataAvailable(int) throws java.io.IOException;
+ method public int read(byte[], int, int) throws java.io.IOException;
+ method public int read() throws java.io.IOException;
+ method public int read(byte[]) throws java.io.IOException;
+ method public java.lang.String readLine() throws java.io.IOException;
+ method public int readLine(org.apache.http.util.CharArrayBuffer) throws java.io.IOException;
+ }
+
+ public class LoggingSessionOutputBuffer implements org.apache.http.io.SessionOutputBuffer {
+ ctor public LoggingSessionOutputBuffer(org.apache.http.io.SessionOutputBuffer, org.apache.http.impl.conn.Wire);
+ method public void flush() throws java.io.IOException;
+ method public org.apache.http.io.HttpTransportMetrics getMetrics();
+ method public void write(byte[], int, int) throws java.io.IOException;
+ method public void write(int) throws java.io.IOException;
+ method public void write(byte[]) throws java.io.IOException;
+ method public void writeLine(org.apache.http.util.CharArrayBuffer) throws java.io.IOException;
+ method public void writeLine(java.lang.String) throws java.io.IOException;
+ }
+
+ public class ProxySelectorRoutePlanner implements org.apache.http.conn.routing.HttpRoutePlanner {
+ ctor public ProxySelectorRoutePlanner(org.apache.http.conn.scheme.SchemeRegistry, java.net.ProxySelector);
+ method protected java.net.Proxy chooseProxy(java.util.List<java.net.Proxy>, org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext);
+ method protected org.apache.http.HttpHost determineProxy(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+ method public org.apache.http.conn.routing.HttpRoute determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+ method protected java.lang.String getHost(java.net.InetSocketAddress);
+ method public java.net.ProxySelector getProxySelector();
+ method public void setProxySelector(java.net.ProxySelector);
+ field protected java.net.ProxySelector proxySelector;
+ field protected org.apache.http.conn.scheme.SchemeRegistry schemeRegistry;
+ }
+
+ public class SingleClientConnManager implements org.apache.http.conn.ClientConnectionManager {
+ ctor public SingleClientConnManager(org.apache.http.params.HttpParams, org.apache.http.conn.scheme.SchemeRegistry);
+ method protected final void assertStillUp() throws java.lang.IllegalStateException;
+ method public void closeExpiredConnections();
+ method public void closeIdleConnections(long, java.util.concurrent.TimeUnit);
+ method protected org.apache.http.conn.ClientConnectionOperator createConnectionOperator(org.apache.http.conn.scheme.SchemeRegistry);
+ method public org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.routing.HttpRoute, java.lang.Object);
+ method public org.apache.http.conn.scheme.SchemeRegistry getSchemeRegistry();
+ method public void releaseConnection(org.apache.http.conn.ManagedClientConnection, long, java.util.concurrent.TimeUnit);
+ method public final org.apache.http.conn.ClientConnectionRequest requestConnection(org.apache.http.conn.routing.HttpRoute, java.lang.Object);
+ method protected void revokeConnection();
+ method public void shutdown();
+ field public static final java.lang.String MISUSE_MESSAGE = "Invalid use of SingleClientConnManager: connection still allocated.\nMake sure to release the connection before allocating another one.";
+ field protected boolean alwaysShutDown;
+ field protected org.apache.http.conn.ClientConnectionOperator connOperator;
+ field protected long connectionExpiresTime;
+ field protected volatile boolean isShutDown;
+ field protected long lastReleaseTime;
+ field protected org.apache.http.impl.conn.SingleClientConnManager.ConnAdapter managedConn;
+ field protected org.apache.http.conn.scheme.SchemeRegistry schemeRegistry;
+ field protected org.apache.http.impl.conn.SingleClientConnManager.PoolEntry uniquePoolEntry;
+ }
+
+ protected class SingleClientConnManager.ConnAdapter extends org.apache.http.impl.conn.AbstractPooledConnAdapter {
+ ctor protected SingleClientConnManager.ConnAdapter(org.apache.http.impl.conn.SingleClientConnManager.PoolEntry, org.apache.http.conn.routing.HttpRoute);
+ }
+
+ protected class SingleClientConnManager.PoolEntry extends org.apache.http.impl.conn.AbstractPoolEntry {
+ ctor protected SingleClientConnManager.PoolEntry();
+ method protected void close() throws java.io.IOException;
+ method protected void shutdown() throws java.io.IOException;
+ }
+
+ public class Wire {
+ ctor public Wire(org.apache.commons.logging.Log);
+ method public boolean enabled();
+ method public void input(java.io.InputStream) throws java.io.IOException;
+ method public void input(byte[], int, int) throws java.io.IOException;
+ method public void input(byte[]) throws java.io.IOException;
+ method public void input(int) throws java.io.IOException;
+ method public void input(java.lang.String) throws java.io.IOException;
+ method public void output(java.io.InputStream) throws java.io.IOException;
+ method public void output(byte[], int, int) throws java.io.IOException;
+ method public void output(byte[]) throws java.io.IOException;
+ method public void output(int) throws java.io.IOException;
+ method public void output(java.lang.String) throws java.io.IOException;
+ }
+
+}
+
+package org.apache.http.impl.conn.tsccm {
+
+ public abstract class AbstractConnPool implements org.apache.http.impl.conn.tsccm.RefQueueHandler {
+ ctor protected AbstractConnPool();
+ method protected void closeConnection(org.apache.http.conn.OperatedClientConnection);
+ method public void closeExpiredConnections();
+ method public void closeIdleConnections(long, java.util.concurrent.TimeUnit);
+ method public abstract void deleteClosedConnections();
+ method public void enableConnectionGC() throws java.lang.IllegalStateException;
+ method public abstract void freeEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry, boolean, long, java.util.concurrent.TimeUnit);
+ method public final org.apache.http.impl.conn.tsccm.BasicPoolEntry getEntry(org.apache.http.conn.routing.HttpRoute, java.lang.Object, long, java.util.concurrent.TimeUnit) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+ method protected abstract void handleLostEntry(org.apache.http.conn.routing.HttpRoute);
+ method public void handleReference(java.lang.ref.Reference);
+ method public abstract org.apache.http.impl.conn.tsccm.PoolEntryRequest requestPoolEntry(org.apache.http.conn.routing.HttpRoute, java.lang.Object);
+ method public void shutdown();
+ field protected org.apache.http.impl.conn.IdleConnectionHandler idleConnHandler;
+ field protected volatile boolean isShutDown;
+ field protected java.util.Set issuedConnections;
+ field protected int numConnections;
+ field protected final java.util.concurrent.locks.Lock poolLock;
+ field protected java.lang.ref.ReferenceQueue refQueue;
+ }
+
+ public class BasicPoolEntry extends org.apache.http.impl.conn.AbstractPoolEntry {
+ ctor public BasicPoolEntry(org.apache.http.conn.ClientConnectionOperator, org.apache.http.conn.routing.HttpRoute, java.lang.ref.ReferenceQueue<java.lang.Object>);
+ method protected final org.apache.http.conn.OperatedClientConnection getConnection();
+ method protected final org.apache.http.conn.routing.HttpRoute getPlannedRoute();
+ method protected final org.apache.http.impl.conn.tsccm.BasicPoolEntryRef getWeakRef();
+ }
+
+ public class BasicPoolEntryRef extends java.lang.ref.WeakReference {
+ ctor public BasicPoolEntryRef(org.apache.http.impl.conn.tsccm.BasicPoolEntry, java.lang.ref.ReferenceQueue<java.lang.Object>);
+ method public final org.apache.http.conn.routing.HttpRoute getRoute();
+ }
+
+ public class BasicPooledConnAdapter extends org.apache.http.impl.conn.AbstractPooledConnAdapter {
+ ctor protected BasicPooledConnAdapter(org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager, org.apache.http.impl.conn.AbstractPoolEntry);
+ method protected org.apache.http.impl.conn.AbstractPoolEntry getPoolEntry();
+ }
+
+ public class ConnPoolByRoute extends org.apache.http.impl.conn.tsccm.AbstractConnPool {
+ ctor public ConnPoolByRoute(org.apache.http.conn.ClientConnectionOperator, org.apache.http.params.HttpParams);
+ method protected org.apache.http.impl.conn.tsccm.BasicPoolEntry createEntry(org.apache.http.impl.conn.tsccm.RouteSpecificPool, org.apache.http.conn.ClientConnectionOperator);
+ method protected java.util.Queue<org.apache.http.impl.conn.tsccm.BasicPoolEntry> createFreeConnQueue();
+ method protected java.util.Map<org.apache.http.conn.routing.HttpRoute, org.apache.http.impl.conn.tsccm.RouteSpecificPool> createRouteToPoolMap();
+ method protected java.util.Queue<org.apache.http.impl.conn.tsccm.WaitingThread> createWaitingThreadQueue();
+ method public void deleteClosedConnections();
+ method protected void deleteEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry);
+ method protected void deleteLeastUsedEntry();
+ method public void freeEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry, boolean, long, java.util.concurrent.TimeUnit);
+ method public int getConnectionsInPool(org.apache.http.conn.routing.HttpRoute);
+ method protected org.apache.http.impl.conn.tsccm.BasicPoolEntry getEntryBlocking(org.apache.http.conn.routing.HttpRoute, java.lang.Object, long, java.util.concurrent.TimeUnit, org.apache.http.impl.conn.tsccm.WaitingThreadAborter) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+ method protected org.apache.http.impl.conn.tsccm.BasicPoolEntry getFreeEntry(org.apache.http.impl.conn.tsccm.RouteSpecificPool, java.lang.Object);
+ method protected org.apache.http.impl.conn.tsccm.RouteSpecificPool getRoutePool(org.apache.http.conn.routing.HttpRoute, boolean);
+ method protected void handleLostEntry(org.apache.http.conn.routing.HttpRoute);
+ method protected org.apache.http.impl.conn.tsccm.RouteSpecificPool newRouteSpecificPool(org.apache.http.conn.routing.HttpRoute);
+ method protected org.apache.http.impl.conn.tsccm.WaitingThread newWaitingThread(java.util.concurrent.locks.Condition, org.apache.http.impl.conn.tsccm.RouteSpecificPool);
+ method protected void notifyWaitingThread(org.apache.http.impl.conn.tsccm.RouteSpecificPool);
+ method public org.apache.http.impl.conn.tsccm.PoolEntryRequest requestPoolEntry(org.apache.http.conn.routing.HttpRoute, java.lang.Object);
+ field protected java.util.Queue freeConnections;
+ field protected final int maxTotalConnections;
+ field protected final org.apache.http.conn.ClientConnectionOperator operator;
+ field protected final java.util.Map routeToPool;
+ field protected java.util.Queue waitingThreads;
+ }
+
+ public abstract interface PoolEntryRequest {
+ method public abstract void abortRequest();
+ method public abstract org.apache.http.impl.conn.tsccm.BasicPoolEntry getPoolEntry(long, java.util.concurrent.TimeUnit) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+ }
+
+ public abstract interface RefQueueHandler {
+ method public abstract void handleReference(java.lang.ref.Reference<?>);
+ }
+
+ public class RefQueueWorker implements java.lang.Runnable {
+ ctor public RefQueueWorker(java.lang.ref.ReferenceQueue<?>, org.apache.http.impl.conn.tsccm.RefQueueHandler);
+ method public void run();
+ method public void shutdown();
+ field protected final org.apache.http.impl.conn.tsccm.RefQueueHandler refHandler;
+ field protected final java.lang.ref.ReferenceQueue refQueue;
+ field protected volatile java.lang.Thread workerThread;
+ }
+
+ public class RouteSpecificPool {
+ ctor public RouteSpecificPool(org.apache.http.conn.routing.HttpRoute, int);
+ method public org.apache.http.impl.conn.tsccm.BasicPoolEntry allocEntry(java.lang.Object);
+ method public void createdEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry);
+ method public boolean deleteEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry);
+ method public void dropEntry();
+ method public void freeEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry);
+ method public int getCapacity();
+ method public final int getEntryCount();
+ method public final int getMaxEntries();
+ method public final org.apache.http.conn.routing.HttpRoute getRoute();
+ method public boolean hasThread();
+ method public boolean isUnused();
+ method public org.apache.http.impl.conn.tsccm.WaitingThread nextThread();
+ method public void queueThread(org.apache.http.impl.conn.tsccm.WaitingThread);
+ method public void removeThread(org.apache.http.impl.conn.tsccm.WaitingThread);
+ field protected final java.util.LinkedList freeEntries;
+ field protected final int maxEntries;
+ field protected int numEntries;
+ field protected final org.apache.http.conn.routing.HttpRoute route;
+ field protected final java.util.Queue waitingThreads;
+ }
+
+ public class ThreadSafeClientConnManager implements org.apache.http.conn.ClientConnectionManager {
+ ctor public ThreadSafeClientConnManager(org.apache.http.params.HttpParams, org.apache.http.conn.scheme.SchemeRegistry);
+ method public void closeExpiredConnections();
+ method public void closeIdleConnections(long, java.util.concurrent.TimeUnit);
+ method protected org.apache.http.conn.ClientConnectionOperator createConnectionOperator(org.apache.http.conn.scheme.SchemeRegistry);
+ method protected org.apache.http.impl.conn.tsccm.AbstractConnPool createConnectionPool(org.apache.http.params.HttpParams);
+ method public int getConnectionsInPool(org.apache.http.conn.routing.HttpRoute);
+ method public int getConnectionsInPool();
+ method public org.apache.http.conn.scheme.SchemeRegistry getSchemeRegistry();
+ method public void releaseConnection(org.apache.http.conn.ManagedClientConnection, long, java.util.concurrent.TimeUnit);
+ method public org.apache.http.conn.ClientConnectionRequest requestConnection(org.apache.http.conn.routing.HttpRoute, java.lang.Object);
+ method public void shutdown();
+ field protected org.apache.http.conn.ClientConnectionOperator connOperator;
+ field protected final org.apache.http.impl.conn.tsccm.AbstractConnPool connectionPool;
+ field protected org.apache.http.conn.scheme.SchemeRegistry schemeRegistry;
+ }
+
+ public class WaitingThread {
+ ctor public WaitingThread(java.util.concurrent.locks.Condition, org.apache.http.impl.conn.tsccm.RouteSpecificPool);
+ method public boolean await(java.util.Date) throws java.lang.InterruptedException;
+ method public final java.util.concurrent.locks.Condition getCondition();
+ method public final org.apache.http.impl.conn.tsccm.RouteSpecificPool getPool();
+ method public final java.lang.Thread getThread();
+ method public void interrupt();
+ method public void wakeup();
+ }
+
+ public class WaitingThreadAborter {
+ ctor public WaitingThreadAborter();
+ method public void abort();
+ method public void setWaitingThread(org.apache.http.impl.conn.tsccm.WaitingThread);
+ }
+
+}
+
+package org.apache.http.impl.cookie {
+
+ public abstract class AbstractCookieAttributeHandler implements org.apache.http.cookie.CookieAttributeHandler {
+ ctor public AbstractCookieAttributeHandler();
+ method public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+ method public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public abstract class AbstractCookieSpec implements org.apache.http.cookie.CookieSpec {
+ ctor public AbstractCookieSpec();
+ method protected org.apache.http.cookie.CookieAttributeHandler findAttribHandler(java.lang.String);
+ method protected org.apache.http.cookie.CookieAttributeHandler getAttribHandler(java.lang.String);
+ method protected java.util.Collection<org.apache.http.cookie.CookieAttributeHandler> getAttribHandlers();
+ method public void registerAttribHandler(java.lang.String, org.apache.http.cookie.CookieAttributeHandler);
+ }
+
+ public class BasicClientCookie implements org.apache.http.cookie.ClientCookie java.lang.Cloneable org.apache.http.cookie.SetCookie {
+ ctor public BasicClientCookie(java.lang.String, java.lang.String);
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public boolean containsAttribute(java.lang.String);
+ method public java.lang.String getAttribute(java.lang.String);
+ method public java.lang.String getComment();
+ method public java.lang.String getCommentURL();
+ method public java.lang.String getDomain();
+ method public java.util.Date getExpiryDate();
+ method public java.lang.String getName();
+ method public java.lang.String getPath();
+ method public int[] getPorts();
+ method public java.lang.String getValue();
+ method public int getVersion();
+ method public boolean isExpired(java.util.Date);
+ method public boolean isPersistent();
+ method public boolean isSecure();
+ method public void setAttribute(java.lang.String, java.lang.String);
+ method public void setComment(java.lang.String);
+ method public void setDomain(java.lang.String);
+ method public void setExpiryDate(java.util.Date);
+ method public void setPath(java.lang.String);
+ method public void setSecure(boolean);
+ method public void setValue(java.lang.String);
+ method public void setVersion(int);
+ }
+
+ public class BasicClientCookie2 extends org.apache.http.impl.cookie.BasicClientCookie implements org.apache.http.cookie.SetCookie2 {
+ ctor public BasicClientCookie2(java.lang.String, java.lang.String);
+ method public void setCommentURL(java.lang.String);
+ method public void setDiscard(boolean);
+ method public void setPorts(int[]);
+ }
+
+ public class BasicCommentHandler extends org.apache.http.impl.cookie.AbstractCookieAttributeHandler {
+ ctor public BasicCommentHandler();
+ method public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class BasicDomainHandler implements org.apache.http.cookie.CookieAttributeHandler {
+ ctor public BasicDomainHandler();
+ method public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+ method public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ method public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class BasicExpiresHandler extends org.apache.http.impl.cookie.AbstractCookieAttributeHandler {
+ ctor public BasicExpiresHandler(java.lang.String[]);
+ method public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class BasicMaxAgeHandler extends org.apache.http.impl.cookie.AbstractCookieAttributeHandler {
+ ctor public BasicMaxAgeHandler();
+ method public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class BasicPathHandler implements org.apache.http.cookie.CookieAttributeHandler {
+ ctor public BasicPathHandler();
+ method public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+ method public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ method public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class BasicSecureHandler extends org.apache.http.impl.cookie.AbstractCookieAttributeHandler {
+ ctor public BasicSecureHandler();
+ method public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class BestMatchSpec implements org.apache.http.cookie.CookieSpec {
+ ctor public BestMatchSpec(java.lang.String[], boolean);
+ ctor public BestMatchSpec();
+ method public java.util.List<org.apache.http.Header> formatCookies(java.util.List<org.apache.http.cookie.Cookie>);
+ method public int getVersion();
+ method public org.apache.http.Header getVersionHeader();
+ method public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+ method public java.util.List<org.apache.http.cookie.Cookie> parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ method public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class BestMatchSpecFactory implements org.apache.http.cookie.CookieSpecFactory {
+ ctor public BestMatchSpecFactory();
+ method public org.apache.http.cookie.CookieSpec newInstance(org.apache.http.params.HttpParams);
+ }
+
+ public class BrowserCompatSpec extends org.apache.http.impl.cookie.CookieSpecBase {
+ ctor public BrowserCompatSpec(java.lang.String[]);
+ ctor public BrowserCompatSpec();
+ method public java.util.List<org.apache.http.Header> formatCookies(java.util.List<org.apache.http.cookie.Cookie>);
+ method public int getVersion();
+ method public org.apache.http.Header getVersionHeader();
+ method public java.util.List<org.apache.http.cookie.Cookie> parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ field protected static final java.lang.String[] DATE_PATTERNS;
+ }
+
+ public class BrowserCompatSpecFactory implements org.apache.http.cookie.CookieSpecFactory {
+ ctor public BrowserCompatSpecFactory();
+ method public org.apache.http.cookie.CookieSpec newInstance(org.apache.http.params.HttpParams);
+ }
+
+ public abstract class CookieSpecBase extends org.apache.http.impl.cookie.AbstractCookieSpec {
+ ctor public CookieSpecBase();
+ method protected static java.lang.String getDefaultDomain(org.apache.http.cookie.CookieOrigin);
+ method protected static java.lang.String getDefaultPath(org.apache.http.cookie.CookieOrigin);
+ method public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+ method protected java.util.List<org.apache.http.cookie.Cookie> parse(org.apache.http.HeaderElement[], org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ method public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class DateParseException extends java.lang.Exception {
+ ctor public DateParseException();
+ ctor public DateParseException(java.lang.String);
+ }
+
+ public final class DateUtils {
+ method public static java.lang.String formatDate(java.util.Date);
+ method public static java.lang.String formatDate(java.util.Date, java.lang.String);
+ method public static java.util.Date parseDate(java.lang.String) throws org.apache.http.impl.cookie.DateParseException;
+ method public static java.util.Date parseDate(java.lang.String, java.lang.String[]) throws org.apache.http.impl.cookie.DateParseException;
+ method public static java.util.Date parseDate(java.lang.String, java.lang.String[], java.util.Date) throws org.apache.http.impl.cookie.DateParseException;
+ field public static final java.util.TimeZone GMT;
+ field public static final java.lang.String PATTERN_ASCTIME = "EEE MMM d HH:mm:ss yyyy";
+ field public static final java.lang.String PATTERN_RFC1036 = "EEEE, dd-MMM-yy HH:mm:ss zzz";
+ field public static final java.lang.String PATTERN_RFC1123 = "EEE, dd MMM yyyy HH:mm:ss zzz";
+ }
+
+ public class NetscapeDomainHandler extends org.apache.http.impl.cookie.BasicDomainHandler {
+ ctor public NetscapeDomainHandler();
+ }
+
+ public class NetscapeDraftHeaderParser {
+ ctor public NetscapeDraftHeaderParser();
+ method public org.apache.http.HeaderElement parseHeader(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+ field public static final org.apache.http.impl.cookie.NetscapeDraftHeaderParser DEFAULT;
+ }
+
+ public class NetscapeDraftSpec extends org.apache.http.impl.cookie.CookieSpecBase {
+ ctor public NetscapeDraftSpec(java.lang.String[]);
+ ctor public NetscapeDraftSpec();
+ method public java.util.List<org.apache.http.Header> formatCookies(java.util.List<org.apache.http.cookie.Cookie>);
+ method public int getVersion();
+ method public org.apache.http.Header getVersionHeader();
+ method public java.util.List<org.apache.http.cookie.Cookie> parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ field protected static final java.lang.String EXPIRES_PATTERN = "EEE, dd-MMM-yyyy HH:mm:ss z";
+ }
+
+ public class NetscapeDraftSpecFactory implements org.apache.http.cookie.CookieSpecFactory {
+ ctor public NetscapeDraftSpecFactory();
+ method public org.apache.http.cookie.CookieSpec newInstance(org.apache.http.params.HttpParams);
+ }
+
+ public class RFC2109DomainHandler implements org.apache.http.cookie.CookieAttributeHandler {
+ ctor public RFC2109DomainHandler();
+ method public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+ method public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ method public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class RFC2109Spec extends org.apache.http.impl.cookie.CookieSpecBase {
+ ctor public RFC2109Spec(java.lang.String[], boolean);
+ ctor public RFC2109Spec();
+ method protected void formatCookieAsVer(org.apache.http.util.CharArrayBuffer, org.apache.http.cookie.Cookie, int);
+ method public java.util.List<org.apache.http.Header> formatCookies(java.util.List<org.apache.http.cookie.Cookie>);
+ method protected void formatParamAsVer(org.apache.http.util.CharArrayBuffer, java.lang.String, java.lang.String, int);
+ method public int getVersion();
+ method public org.apache.http.Header getVersionHeader();
+ method public java.util.List<org.apache.http.cookie.Cookie> parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class RFC2109SpecFactory implements org.apache.http.cookie.CookieSpecFactory {
+ ctor public RFC2109SpecFactory();
+ method public org.apache.http.cookie.CookieSpec newInstance(org.apache.http.params.HttpParams);
+ }
+
+ public class RFC2109VersionHandler extends org.apache.http.impl.cookie.AbstractCookieAttributeHandler {
+ ctor public RFC2109VersionHandler();
+ method public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class RFC2965CommentUrlAttributeHandler implements org.apache.http.cookie.CookieAttributeHandler {
+ ctor public RFC2965CommentUrlAttributeHandler();
+ method public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+ method public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ method public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class RFC2965DiscardAttributeHandler implements org.apache.http.cookie.CookieAttributeHandler {
+ ctor public RFC2965DiscardAttributeHandler();
+ method public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+ method public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ method public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class RFC2965DomainAttributeHandler implements org.apache.http.cookie.CookieAttributeHandler {
+ ctor public RFC2965DomainAttributeHandler();
+ method public boolean domainMatch(java.lang.String, java.lang.String);
+ method public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+ method public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ method public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class RFC2965PortAttributeHandler implements org.apache.http.cookie.CookieAttributeHandler {
+ ctor public RFC2965PortAttributeHandler();
+ method public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+ method public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ method public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+ public class RFC2965Spec extends org.apache.http.impl.cookie.RFC2109Spec {
+ ctor public RFC2965Spec();
+ ctor public RFC2965Spec(java.lang.String[], boolean);
+ }
+
+ public class RFC2965SpecFactory implements org.apache.http.cookie.CookieSpecFactory {
+ ctor public RFC2965SpecFactory();
+ method public org.apache.http.cookie.CookieSpec newInstance(org.apache.http.params.HttpParams);
+ }
+
+ public class RFC2965VersionAttributeHandler implements org.apache.http.cookie.CookieAttributeHandler {
+ ctor public RFC2965VersionAttributeHandler();
+ method public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+ method public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
+ method public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+ }
+
+}
+
+package org.apache.http.impl.entity {
+
+ public class EntityDeserializer {
+ ctor public EntityDeserializer(org.apache.http.entity.ContentLengthStrategy);
+ method public org.apache.http.HttpEntity deserialize(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
+ method protected org.apache.http.entity.BasicHttpEntity doDeserialize(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class EntitySerializer {
+ ctor public EntitySerializer(org.apache.http.entity.ContentLengthStrategy);
+ method protected java.io.OutputStream doSerialize(org.apache.http.io.SessionOutputBuffer, org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
+ method public void serialize(org.apache.http.io.SessionOutputBuffer, org.apache.http.HttpMessage, org.apache.http.HttpEntity) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class LaxContentLengthStrategy implements org.apache.http.entity.ContentLengthStrategy {
+ ctor public LaxContentLengthStrategy();
+ method public long determineLength(org.apache.http.HttpMessage) throws org.apache.http.HttpException;
+ }
+
+ public class StrictContentLengthStrategy implements org.apache.http.entity.ContentLengthStrategy {
+ ctor public StrictContentLengthStrategy();
+ method public long determineLength(org.apache.http.HttpMessage) throws org.apache.http.HttpException;
+ }
+
+}
+
+package org.apache.http.impl.io {
+
+ public abstract class AbstractMessageParser implements org.apache.http.io.HttpMessageParser {
+ ctor public AbstractMessageParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.params.HttpParams);
+ method public org.apache.http.HttpMessage parse() throws org.apache.http.HttpException, java.io.IOException;
+ method protected abstract org.apache.http.HttpMessage parseHead(org.apache.http.io.SessionInputBuffer) throws org.apache.http.HttpException, java.io.IOException, org.apache.http.ParseException;
+ method public static org.apache.http.Header[] parseHeaders(org.apache.http.io.SessionInputBuffer, int, int, org.apache.http.message.LineParser) throws org.apache.http.HttpException, java.io.IOException;
+ field protected final org.apache.http.message.LineParser lineParser;
+ }
+
+ public abstract class AbstractMessageWriter implements org.apache.http.io.HttpMessageWriter {
+ ctor public AbstractMessageWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams);
+ method public void write(org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
+ method protected abstract void writeHeadLine(org.apache.http.HttpMessage) throws java.io.IOException;
+ field protected final org.apache.http.util.CharArrayBuffer lineBuf;
+ field protected final org.apache.http.message.LineFormatter lineFormatter;
+ field protected final org.apache.http.io.SessionOutputBuffer sessionBuffer;
+ }
+
+ public abstract class AbstractSessionInputBuffer implements org.apache.http.io.SessionInputBuffer {
+ ctor public AbstractSessionInputBuffer();
+ method protected int fillBuffer() throws java.io.IOException;
+ method public org.apache.http.io.HttpTransportMetrics getMetrics();
+ method protected boolean hasBufferedData();
+ method protected void init(java.io.InputStream, int, org.apache.http.params.HttpParams);
+ method public int read() throws java.io.IOException;
+ method public int read(byte[], int, int) throws java.io.IOException;
+ method public int read(byte[]) throws java.io.IOException;
+ method public int readLine(org.apache.http.util.CharArrayBuffer) throws java.io.IOException;
+ method public java.lang.String readLine() throws java.io.IOException;
+ }
+
+ public abstract class AbstractSessionOutputBuffer implements org.apache.http.io.SessionOutputBuffer {
+ ctor public AbstractSessionOutputBuffer();
+ method public void flush() throws java.io.IOException;
+ method protected void flushBuffer() throws java.io.IOException;
+ method public org.apache.http.io.HttpTransportMetrics getMetrics();
+ method protected void init(java.io.OutputStream, int, org.apache.http.params.HttpParams);
+ method public void write(byte[], int, int) throws java.io.IOException;
+ method public void write(byte[]) throws java.io.IOException;
+ method public void write(int) throws java.io.IOException;
+ method public void writeLine(java.lang.String) throws java.io.IOException;
+ method public void writeLine(org.apache.http.util.CharArrayBuffer) throws java.io.IOException;
+ }
+
+ public class ChunkedInputStream extends java.io.InputStream {
+ ctor public ChunkedInputStream(org.apache.http.io.SessionInputBuffer);
+ method public org.apache.http.Header[] getFooters();
+ method public int read() throws java.io.IOException;
+ }
+
+ public class ChunkedOutputStream extends java.io.OutputStream {
+ ctor public ChunkedOutputStream(org.apache.http.io.SessionOutputBuffer, int) throws java.io.IOException;
+ ctor public ChunkedOutputStream(org.apache.http.io.SessionOutputBuffer) throws java.io.IOException;
+ method public void finish() throws java.io.IOException;
+ method protected void flushCache() throws java.io.IOException;
+ method protected void flushCacheWithAppend(byte[], int, int) throws java.io.IOException;
+ method public void write(int) throws java.io.IOException;
+ method protected void writeClosingChunk() throws java.io.IOException;
+ }
+
+ public class ContentLengthInputStream extends java.io.InputStream {
+ ctor public ContentLengthInputStream(org.apache.http.io.SessionInputBuffer, long);
+ method public int read() throws java.io.IOException;
+ }
+
+ public class ContentLengthOutputStream extends java.io.OutputStream {
+ ctor public ContentLengthOutputStream(org.apache.http.io.SessionOutputBuffer, long);
+ method public void write(int) throws java.io.IOException;
+ }
+
+ public class HttpRequestParser extends org.apache.http.impl.io.AbstractMessageParser {
+ ctor public HttpRequestParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams);
+ method protected org.apache.http.HttpMessage parseHead(org.apache.http.io.SessionInputBuffer) throws org.apache.http.HttpException, java.io.IOException, org.apache.http.ParseException;
+ }
+
+ public class HttpRequestWriter extends org.apache.http.impl.io.AbstractMessageWriter {
+ ctor public HttpRequestWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams);
+ method protected void writeHeadLine(org.apache.http.HttpMessage) throws java.io.IOException;
+ }
+
+ public class HttpResponseParser extends org.apache.http.impl.io.AbstractMessageParser {
+ ctor public HttpResponseParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
+ method protected org.apache.http.HttpMessage parseHead(org.apache.http.io.SessionInputBuffer) throws org.apache.http.HttpException, java.io.IOException, org.apache.http.ParseException;
+ }
+
+ public class HttpResponseWriter extends org.apache.http.impl.io.AbstractMessageWriter {
+ ctor public HttpResponseWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams);
+ method protected void writeHeadLine(org.apache.http.HttpMessage) throws java.io.IOException;
+ }
+
+ public class HttpTransportMetricsImpl implements org.apache.http.io.HttpTransportMetrics {
+ ctor public HttpTransportMetricsImpl();
+ method public long getBytesTransferred();
+ method public void incrementBytesTransferred(long);
+ method public void reset();
+ method public void setBytesTransferred(long);
+ }
+
+ public class IdentityInputStream extends java.io.InputStream {
+ ctor public IdentityInputStream(org.apache.http.io.SessionInputBuffer);
+ method public int read() throws java.io.IOException;
+ }
+
+ public class IdentityOutputStream extends java.io.OutputStream {
+ ctor public IdentityOutputStream(org.apache.http.io.SessionOutputBuffer);
+ method public void write(int) throws java.io.IOException;
+ }
+
+ public class SocketInputBuffer extends org.apache.http.impl.io.AbstractSessionInputBuffer {
+ ctor public SocketInputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+ method public boolean isDataAvailable(int) throws java.io.IOException;
+ }
+
+ public class SocketOutputBuffer extends org.apache.http.impl.io.AbstractSessionOutputBuffer {
+ ctor public SocketOutputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+ }
+
+}
+
+package org.apache.http.io {
+
+ public abstract interface HttpMessageParser {
+ method public abstract org.apache.http.HttpMessage parse() throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public abstract interface HttpMessageWriter {
+ method public abstract void write(org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public abstract interface HttpTransportMetrics {
+ method public abstract long getBytesTransferred();
+ method public abstract void reset();
+ }
+
+ public abstract interface SessionInputBuffer {
+ method public abstract org.apache.http.io.HttpTransportMetrics getMetrics();
+ method public abstract boolean isDataAvailable(int) throws java.io.IOException;
+ method public abstract int read(byte[], int, int) throws java.io.IOException;
+ method public abstract int read(byte[]) throws java.io.IOException;
+ method public abstract int read() throws java.io.IOException;
+ method public abstract int readLine(org.apache.http.util.CharArrayBuffer) throws java.io.IOException;
+ method public abstract java.lang.String readLine() throws java.io.IOException;
+ }
+
+ public abstract interface SessionOutputBuffer {
+ method public abstract void flush() throws java.io.IOException;
+ method public abstract org.apache.http.io.HttpTransportMetrics getMetrics();
+ method public abstract void write(byte[], int, int) throws java.io.IOException;
+ method public abstract void write(byte[]) throws java.io.IOException;
+ method public abstract void write(int) throws java.io.IOException;
+ method public abstract void writeLine(java.lang.String) throws java.io.IOException;
+ method public abstract void writeLine(org.apache.http.util.CharArrayBuffer) throws java.io.IOException;
+ }
+
+}
+
+package org.apache.http.message {
+
+ public abstract class AbstractHttpMessage implements org.apache.http.HttpMessage {
+ ctor protected AbstractHttpMessage(org.apache.http.params.HttpParams);
+ ctor protected AbstractHttpMessage();
+ method public void addHeader(org.apache.http.Header);
+ method public void addHeader(java.lang.String, java.lang.String);
+ method public boolean containsHeader(java.lang.String);
+ method public org.apache.http.Header[] getAllHeaders();
+ method public org.apache.http.Header getFirstHeader(java.lang.String);
+ method public org.apache.http.Header[] getHeaders(java.lang.String);
+ method public org.apache.http.Header getLastHeader(java.lang.String);
+ method public org.apache.http.params.HttpParams getParams();
+ method public org.apache.http.HeaderIterator headerIterator();
+ method public org.apache.http.HeaderIterator headerIterator(java.lang.String);
+ method public void removeHeader(org.apache.http.Header);
+ method public void removeHeaders(java.lang.String);
+ method public void setHeader(org.apache.http.Header);
+ method public void setHeader(java.lang.String, java.lang.String);
+ method public void setHeaders(org.apache.http.Header[]);
+ method public void setParams(org.apache.http.params.HttpParams);
+ field protected org.apache.http.message.HeaderGroup headergroup;
+ field protected org.apache.http.params.HttpParams params;
+ }
+
+ public class BasicHeader implements java.lang.Cloneable org.apache.http.Header {
+ ctor public BasicHeader(java.lang.String, java.lang.String);
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public org.apache.http.HeaderElement[] getElements() throws org.apache.http.ParseException;
+ method public java.lang.String getName();
+ method public java.lang.String getValue();
+ }
+
+ public class BasicHeaderElement implements java.lang.Cloneable org.apache.http.HeaderElement {
+ ctor public BasicHeaderElement(java.lang.String, java.lang.String, org.apache.http.NameValuePair[]);
+ ctor public BasicHeaderElement(java.lang.String, java.lang.String);
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public java.lang.String getName();
+ method public org.apache.http.NameValuePair getParameter(int);
+ method public org.apache.http.NameValuePair getParameterByName(java.lang.String);
+ method public int getParameterCount();
+ method public org.apache.http.NameValuePair[] getParameters();
+ method public java.lang.String getValue();
+ }
+
+ public class BasicHeaderElementIterator implements org.apache.http.HeaderElementIterator {
+ ctor public BasicHeaderElementIterator(org.apache.http.HeaderIterator, org.apache.http.message.HeaderValueParser);
+ ctor public BasicHeaderElementIterator(org.apache.http.HeaderIterator);
+ method public boolean hasNext();
+ method public final java.lang.Object next() throws java.util.NoSuchElementException;
+ method public org.apache.http.HeaderElement nextElement() throws java.util.NoSuchElementException;
+ method public void remove() throws java.lang.UnsupportedOperationException;
+ }
+
+ public class BasicHeaderIterator implements org.apache.http.HeaderIterator {
+ ctor public BasicHeaderIterator(org.apache.http.Header[], java.lang.String);
+ method protected boolean filterHeader(int);
+ method protected int findNext(int);
+ method public boolean hasNext();
+ method public final java.lang.Object next() throws java.util.NoSuchElementException;
+ method public org.apache.http.Header nextHeader() throws java.util.NoSuchElementException;
+ method public void remove() throws java.lang.UnsupportedOperationException;
+ field protected final org.apache.http.Header[] allHeaders;
+ field protected int currentIndex;
+ field protected java.lang.String headerName;
+ }
+
+ public class BasicHeaderValueFormatter implements org.apache.http.message.HeaderValueFormatter {
+ ctor public BasicHeaderValueFormatter();
+ method protected void doFormatValue(org.apache.http.util.CharArrayBuffer, java.lang.String, boolean);
+ method protected int estimateElementsLen(org.apache.http.HeaderElement[]);
+ method protected int estimateHeaderElementLen(org.apache.http.HeaderElement);
+ method protected int estimateNameValuePairLen(org.apache.http.NameValuePair);
+ method protected int estimateParametersLen(org.apache.http.NameValuePair[]);
+ method public static final java.lang.String formatElements(org.apache.http.HeaderElement[], boolean, org.apache.http.message.HeaderValueFormatter);
+ method public org.apache.http.util.CharArrayBuffer formatElements(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement[], boolean);
+ method public static final java.lang.String formatHeaderElement(org.apache.http.HeaderElement, boolean, org.apache.http.message.HeaderValueFormatter);
+ method public org.apache.http.util.CharArrayBuffer formatHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement, boolean);
+ method public static final java.lang.String formatNameValuePair(org.apache.http.NameValuePair, boolean, org.apache.http.message.HeaderValueFormatter);
+ method public org.apache.http.util.CharArrayBuffer formatNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair, boolean);
+ method public static final java.lang.String formatParameters(org.apache.http.NameValuePair[], boolean, org.apache.http.message.HeaderValueFormatter);
+ method public org.apache.http.util.CharArrayBuffer formatParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair[], boolean);
+ method protected boolean isSeparator(char);
+ method protected boolean isUnsafe(char);
+ field public static final org.apache.http.message.BasicHeaderValueFormatter DEFAULT;
+ field public static final java.lang.String SEPARATORS = " ;,:@()<>\\\"/[]?={}\t";
+ field public static final java.lang.String UNSAFE_CHARS = "\"\\";
+ }
+
+ public class BasicHeaderValueParser implements org.apache.http.message.HeaderValueParser {
+ ctor public BasicHeaderValueParser();
+ method protected org.apache.http.HeaderElement createHeaderElement(java.lang.String, java.lang.String, org.apache.http.NameValuePair[]);
+ method protected org.apache.http.NameValuePair createNameValuePair(java.lang.String, java.lang.String);
+ method public static final org.apache.http.HeaderElement[] parseElements(java.lang.String, org.apache.http.message.HeaderValueParser) throws org.apache.http.ParseException;
+ method public org.apache.http.HeaderElement[] parseElements(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+ method public static final org.apache.http.HeaderElement parseHeaderElement(java.lang.String, org.apache.http.message.HeaderValueParser) throws org.apache.http.ParseException;
+ method public org.apache.http.HeaderElement parseHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+ method public static final org.apache.http.NameValuePair parseNameValuePair(java.lang.String, org.apache.http.message.HeaderValueParser) throws org.apache.http.ParseException;
+ method public org.apache.http.NameValuePair parseNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+ method public org.apache.http.NameValuePair parseNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor, char[]);
+ method public static final org.apache.http.NameValuePair[] parseParameters(java.lang.String, org.apache.http.message.HeaderValueParser) throws org.apache.http.ParseException;
+ method public org.apache.http.NameValuePair[] parseParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+ field public static final org.apache.http.message.BasicHeaderValueParser DEFAULT;
+ }
+
+ public class BasicHttpEntityEnclosingRequest extends org.apache.http.message.BasicHttpRequest implements org.apache.http.HttpEntityEnclosingRequest {
+ ctor public BasicHttpEntityEnclosingRequest(java.lang.String, java.lang.String);
+ ctor public BasicHttpEntityEnclosingRequest(java.lang.String, java.lang.String, org.apache.http.ProtocolVersion);
+ ctor public BasicHttpEntityEnclosingRequest(org.apache.http.RequestLine);
+ method public boolean expectContinue();
+ method public org.apache.http.HttpEntity getEntity();
+ method public void setEntity(org.apache.http.HttpEntity);
+ }
+
+ public class BasicHttpRequest extends org.apache.http.message.AbstractHttpMessage implements org.apache.http.HttpRequest {
+ ctor public BasicHttpRequest(java.lang.String, java.lang.String);
+ ctor public BasicHttpRequest(java.lang.String, java.lang.String, org.apache.http.ProtocolVersion);
+ ctor public BasicHttpRequest(org.apache.http.RequestLine);
+ method public org.apache.http.ProtocolVersion getProtocolVersion();
+ method public org.apache.http.RequestLine getRequestLine();
+ }
+
+ public class BasicHttpResponse extends org.apache.http.message.AbstractHttpMessage implements org.apache.http.HttpResponse {
+ ctor public BasicHttpResponse(org.apache.http.StatusLine, org.apache.http.ReasonPhraseCatalog, java.util.Locale);
+ ctor public BasicHttpResponse(org.apache.http.StatusLine);
+ ctor public BasicHttpResponse(org.apache.http.ProtocolVersion, int, java.lang.String);
+ method public org.apache.http.HttpEntity getEntity();
+ method public java.util.Locale getLocale();
+ method public org.apache.http.ProtocolVersion getProtocolVersion();
+ method protected java.lang.String getReason(int);
+ method public org.apache.http.StatusLine getStatusLine();
+ method public void setEntity(org.apache.http.HttpEntity);
+ method public void setLocale(java.util.Locale);
+ method public void setReasonPhrase(java.lang.String);
+ method public void setStatusCode(int);
+ method public void setStatusLine(org.apache.http.StatusLine);
+ method public void setStatusLine(org.apache.http.ProtocolVersion, int);
+ method public void setStatusLine(org.apache.http.ProtocolVersion, int, java.lang.String);
+ }
+
+ public class BasicLineFormatter implements org.apache.http.message.LineFormatter {
+ ctor public BasicLineFormatter();
+ method public org.apache.http.util.CharArrayBuffer appendProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.ProtocolVersion);
+ method protected void doFormatHeader(org.apache.http.util.CharArrayBuffer, org.apache.http.Header);
+ method protected void doFormatRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.RequestLine);
+ method protected void doFormatStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.StatusLine);
+ method protected int estimateProtocolVersionLen(org.apache.http.ProtocolVersion);
+ method public static final java.lang.String formatHeader(org.apache.http.Header, org.apache.http.message.LineFormatter);
+ method public org.apache.http.util.CharArrayBuffer formatHeader(org.apache.http.util.CharArrayBuffer, org.apache.http.Header);
+ method public static final java.lang.String formatProtocolVersion(org.apache.http.ProtocolVersion, org.apache.http.message.LineFormatter);
+ method public static final java.lang.String formatRequestLine(org.apache.http.RequestLine, org.apache.http.message.LineFormatter);
+ method public org.apache.http.util.CharArrayBuffer formatRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.RequestLine);
+ method public static final java.lang.String formatStatusLine(org.apache.http.StatusLine, org.apache.http.message.LineFormatter);
+ method public org.apache.http.util.CharArrayBuffer formatStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.StatusLine);
+ method protected org.apache.http.util.CharArrayBuffer initBuffer(org.apache.http.util.CharArrayBuffer);
+ field public static final org.apache.http.message.BasicLineFormatter DEFAULT;
+ }
+
+ public class BasicLineParser implements org.apache.http.message.LineParser {
+ ctor public BasicLineParser(org.apache.http.ProtocolVersion);
+ ctor public BasicLineParser();
+ method protected org.apache.http.ProtocolVersion createProtocolVersion(int, int);
+ method protected org.apache.http.RequestLine createRequestLine(java.lang.String, java.lang.String, org.apache.http.ProtocolVersion);
+ method protected org.apache.http.StatusLine createStatusLine(org.apache.http.ProtocolVersion, int, java.lang.String);
+ method public boolean hasProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+ method public static final org.apache.http.Header parseHeader(java.lang.String, org.apache.http.message.LineParser) throws org.apache.http.ParseException;
+ method public org.apache.http.Header parseHeader(org.apache.http.util.CharArrayBuffer) throws org.apache.http.ParseException;
+ method public static final org.apache.http.ProtocolVersion parseProtocolVersion(java.lang.String, org.apache.http.message.LineParser) throws org.apache.http.ParseException;
+ method public org.apache.http.ProtocolVersion parseProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+ method public static final org.apache.http.RequestLine parseRequestLine(java.lang.String, org.apache.http.message.LineParser) throws org.apache.http.ParseException;
+ method public org.apache.http.RequestLine parseRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+ method public static final org.apache.http.StatusLine parseStatusLine(java.lang.String, org.apache.http.message.LineParser) throws org.apache.http.ParseException;
+ method public org.apache.http.StatusLine parseStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+ method protected void skipWhitespace(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+ field public static final org.apache.http.message.BasicLineParser DEFAULT;
+ field protected final org.apache.http.ProtocolVersion protocol;
+ }
+
+ public class BasicListHeaderIterator implements org.apache.http.HeaderIterator {
+ ctor public BasicListHeaderIterator(java.util.List, java.lang.String);
+ method protected boolean filterHeader(int);
+ method protected int findNext(int);
+ method public boolean hasNext();
+ method public final java.lang.Object next() throws java.util.NoSuchElementException;
+ method public org.apache.http.Header nextHeader() throws java.util.NoSuchElementException;
+ method public void remove() throws java.lang.UnsupportedOperationException;
+ field protected final java.util.List allHeaders;
+ field protected int currentIndex;
+ field protected java.lang.String headerName;
+ field protected int lastIndex;
+ }
+
+ public class BasicNameValuePair implements java.lang.Cloneable org.apache.http.NameValuePair {
+ ctor public BasicNameValuePair(java.lang.String, java.lang.String);
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public java.lang.String getName();
+ method public java.lang.String getValue();
+ }
+
+ public class BasicRequestLine implements java.lang.Cloneable org.apache.http.RequestLine {
+ ctor public BasicRequestLine(java.lang.String, java.lang.String, org.apache.http.ProtocolVersion);
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public java.lang.String getMethod();
+ method public org.apache.http.ProtocolVersion getProtocolVersion();
+ method public java.lang.String getUri();
+ }
+
+ public class BasicStatusLine implements java.lang.Cloneable org.apache.http.StatusLine {
+ ctor public BasicStatusLine(org.apache.http.ProtocolVersion, int, java.lang.String);
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public org.apache.http.ProtocolVersion getProtocolVersion();
+ method public java.lang.String getReasonPhrase();
+ method public int getStatusCode();
+ }
+
+ public class BasicTokenIterator implements org.apache.http.TokenIterator {
+ ctor public BasicTokenIterator(org.apache.http.HeaderIterator);
+ method protected java.lang.String createToken(java.lang.String, int, int);
+ method protected int findNext(int) throws org.apache.http.ParseException;
+ method protected int findTokenEnd(int);
+ method protected int findTokenSeparator(int);
+ method protected int findTokenStart(int);
+ method public boolean hasNext();
+ method protected boolean isHttpSeparator(char);
+ method protected boolean isTokenChar(char);
+ method protected boolean isTokenSeparator(char);
+ method protected boolean isWhitespace(char);
+ method public final java.lang.Object next() throws java.util.NoSuchElementException, org.apache.http.ParseException;
+ method public java.lang.String nextToken() throws java.util.NoSuchElementException, org.apache.http.ParseException;
+ method public final void remove() throws java.lang.UnsupportedOperationException;
+ field public static final java.lang.String HTTP_SEPARATORS = " ,;=()<>@:\\\"/[]?{}\t";
+ field protected java.lang.String currentHeader;
+ field protected java.lang.String currentToken;
+ field protected final org.apache.http.HeaderIterator headerIt;
+ field protected int searchPos;
+ }
+
+ public class BufferedHeader implements java.lang.Cloneable org.apache.http.FormattedHeader {
+ ctor public BufferedHeader(org.apache.http.util.CharArrayBuffer) throws org.apache.http.ParseException;
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public org.apache.http.util.CharArrayBuffer getBuffer();
+ method public org.apache.http.HeaderElement[] getElements() throws org.apache.http.ParseException;
+ method public java.lang.String getName();
+ method public java.lang.String getValue();
+ method public int getValuePos();
+ }
+
+ public class HeaderGroup implements java.lang.Cloneable {
+ ctor public HeaderGroup();
+ method public void addHeader(org.apache.http.Header);
+ method public void clear();
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public boolean containsHeader(java.lang.String);
+ method public org.apache.http.message.HeaderGroup copy();
+ method public org.apache.http.Header[] getAllHeaders();
+ method public org.apache.http.Header getCondensedHeader(java.lang.String);
+ method public org.apache.http.Header getFirstHeader(java.lang.String);
+ method public org.apache.http.Header[] getHeaders(java.lang.String);
+ method public org.apache.http.Header getLastHeader(java.lang.String);
+ method public org.apache.http.HeaderIterator iterator();
+ method public org.apache.http.HeaderIterator iterator(java.lang.String);
+ method public void removeHeader(org.apache.http.Header);
+ method public void setHeaders(org.apache.http.Header[]);
+ method public void updateHeader(org.apache.http.Header);
+ }
+
+ public abstract interface HeaderValueFormatter {
+ method public abstract org.apache.http.util.CharArrayBuffer formatElements(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement[], boolean);
+ method public abstract org.apache.http.util.CharArrayBuffer formatHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement, boolean);
+ method public abstract org.apache.http.util.CharArrayBuffer formatNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair, boolean);
+ method public abstract org.apache.http.util.CharArrayBuffer formatParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair[], boolean);
+ }
+
+ public abstract interface HeaderValueParser {
+ method public abstract org.apache.http.HeaderElement[] parseElements(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+ method public abstract org.apache.http.HeaderElement parseHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+ method public abstract org.apache.http.NameValuePair parseNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+ method public abstract org.apache.http.NameValuePair[] parseParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+ }
+
+ public abstract interface LineFormatter {
+ method public abstract org.apache.http.util.CharArrayBuffer appendProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.ProtocolVersion);
+ method public abstract org.apache.http.util.CharArrayBuffer formatHeader(org.apache.http.util.CharArrayBuffer, org.apache.http.Header);
+ method public abstract org.apache.http.util.CharArrayBuffer formatRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.RequestLine);
+ method public abstract org.apache.http.util.CharArrayBuffer formatStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.StatusLine);
+ }
+
+ public abstract interface LineParser {
+ method public abstract boolean hasProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+ method public abstract org.apache.http.Header parseHeader(org.apache.http.util.CharArrayBuffer) throws org.apache.http.ParseException;
+ method public abstract org.apache.http.ProtocolVersion parseProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+ method public abstract org.apache.http.RequestLine parseRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+ method public abstract org.apache.http.StatusLine parseStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+ }
+
+ public class ParserCursor {
+ ctor public ParserCursor(int, int);
+ method public boolean atEnd();
+ method public int getLowerBound();
+ method public int getPos();
+ method public int getUpperBound();
+ method public void updatePos(int);
+ }
+
+}
+
+package org.apache.http.params {
+
+ public abstract class AbstractHttpParams implements org.apache.http.params.HttpParams {
+ ctor protected AbstractHttpParams();
+ method public boolean getBooleanParameter(java.lang.String, boolean);
+ method public double getDoubleParameter(java.lang.String, double);
+ method public int getIntParameter(java.lang.String, int);
+ method public long getLongParameter(java.lang.String, long);
+ method public boolean isParameterFalse(java.lang.String);
+ method public boolean isParameterTrue(java.lang.String);
+ method public org.apache.http.params.HttpParams setBooleanParameter(java.lang.String, boolean);
+ method public org.apache.http.params.HttpParams setDoubleParameter(java.lang.String, double);
+ method public org.apache.http.params.HttpParams setIntParameter(java.lang.String, int);
+ method public org.apache.http.params.HttpParams setLongParameter(java.lang.String, long);
+ }
+
+ public final class BasicHttpParams extends org.apache.http.params.AbstractHttpParams implements java.lang.Cloneable java.io.Serializable {
+ ctor public BasicHttpParams();
+ method public void clear();
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public org.apache.http.params.HttpParams copy();
+ method protected void copyParams(org.apache.http.params.HttpParams);
+ method public java.lang.Object getParameter(java.lang.String);
+ method public boolean isParameterSet(java.lang.String);
+ method public boolean isParameterSetLocally(java.lang.String);
+ method public boolean removeParameter(java.lang.String);
+ method public org.apache.http.params.HttpParams setParameter(java.lang.String, java.lang.Object);
+ method public void setParameters(java.lang.String[], java.lang.Object);
+ }
+
+ public abstract interface CoreConnectionPNames {
+ field public static final java.lang.String CONNECTION_TIMEOUT = "http.connection.timeout";
+ field public static final java.lang.String MAX_HEADER_COUNT = "http.connection.max-header-count";
+ field public static final java.lang.String MAX_LINE_LENGTH = "http.connection.max-line-length";
+ field public static final java.lang.String SOCKET_BUFFER_SIZE = "http.socket.buffer-size";
+ field public static final java.lang.String SO_LINGER = "http.socket.linger";
+ field public static final java.lang.String SO_TIMEOUT = "http.socket.timeout";
+ field public static final java.lang.String STALE_CONNECTION_CHECK = "http.connection.stalecheck";
+ field public static final java.lang.String TCP_NODELAY = "http.tcp.nodelay";
+ }
+
+ public abstract interface CoreProtocolPNames {
+ field public static final java.lang.String HTTP_CONTENT_CHARSET = "http.protocol.content-charset";
+ field public static final java.lang.String HTTP_ELEMENT_CHARSET = "http.protocol.element-charset";
+ field public static final java.lang.String ORIGIN_SERVER = "http.origin-server";
+ field public static final java.lang.String PROTOCOL_VERSION = "http.protocol.version";
+ field public static final java.lang.String STRICT_TRANSFER_ENCODING = "http.protocol.strict-transfer-encoding";
+ field public static final java.lang.String USER_AGENT = "http.useragent";
+ field public static final java.lang.String USE_EXPECT_CONTINUE = "http.protocol.expect-continue";
+ field public static final java.lang.String WAIT_FOR_CONTINUE = "http.protocol.wait-for-continue";
+ }
+
+ public final class DefaultedHttpParams extends org.apache.http.params.AbstractHttpParams {
+ ctor public DefaultedHttpParams(org.apache.http.params.HttpParams, org.apache.http.params.HttpParams);
+ method public org.apache.http.params.HttpParams copy();
+ method public org.apache.http.params.HttpParams getDefaults();
+ method public java.lang.Object getParameter(java.lang.String);
+ method public boolean removeParameter(java.lang.String);
+ method public org.apache.http.params.HttpParams setParameter(java.lang.String, java.lang.Object);
+ }
+
+ public abstract class HttpAbstractParamBean {
+ ctor public HttpAbstractParamBean(org.apache.http.params.HttpParams);
+ field protected final org.apache.http.params.HttpParams params;
+ }
+
+ public class HttpConnectionParamBean extends org.apache.http.params.HttpAbstractParamBean {
+ ctor public HttpConnectionParamBean(org.apache.http.params.HttpParams);
+ method public void setConnectionTimeout(int);
+ method public void setLinger(int);
+ method public void setSoTimeout(int);
+ method public void setSocketBufferSize(int);
+ method public void setStaleCheckingEnabled(boolean);
+ method public void setTcpNoDelay(boolean);
+ }
+
+ public final class HttpConnectionParams implements org.apache.http.params.CoreConnectionPNames {
+ method public static int getConnectionTimeout(org.apache.http.params.HttpParams);
+ method public static int getLinger(org.apache.http.params.HttpParams);
+ method public static int getSoTimeout(org.apache.http.params.HttpParams);
+ method public static int getSocketBufferSize(org.apache.http.params.HttpParams);
+ method public static boolean getTcpNoDelay(org.apache.http.params.HttpParams);
+ method public static boolean isStaleCheckingEnabled(org.apache.http.params.HttpParams);
+ method public static void setConnectionTimeout(org.apache.http.params.HttpParams, int);
+ method public static void setLinger(org.apache.http.params.HttpParams, int);
+ method public static void setSoTimeout(org.apache.http.params.HttpParams, int);
+ method public static void setSocketBufferSize(org.apache.http.params.HttpParams, int);
+ method public static void setStaleCheckingEnabled(org.apache.http.params.HttpParams, boolean);
+ method public static void setTcpNoDelay(org.apache.http.params.HttpParams, boolean);
+ }
+
+ public abstract interface HttpParams {
+ method public abstract org.apache.http.params.HttpParams copy();
+ method public abstract boolean getBooleanParameter(java.lang.String, boolean);
+ method public abstract double getDoubleParameter(java.lang.String, double);
+ method public abstract int getIntParameter(java.lang.String, int);
+ method public abstract long getLongParameter(java.lang.String, long);
+ method public abstract java.lang.Object getParameter(java.lang.String);
+ method public abstract boolean isParameterFalse(java.lang.String);
+ method public abstract boolean isParameterTrue(java.lang.String);
+ method public abstract boolean removeParameter(java.lang.String);
+ method public abstract org.apache.http.params.HttpParams setBooleanParameter(java.lang.String, boolean);
+ method public abstract org.apache.http.params.HttpParams setDoubleParameter(java.lang.String, double);
+ method public abstract org.apache.http.params.HttpParams setIntParameter(java.lang.String, int);
+ method public abstract org.apache.http.params.HttpParams setLongParameter(java.lang.String, long);
+ method public abstract org.apache.http.params.HttpParams setParameter(java.lang.String, java.lang.Object);
+ }
+
+ public class HttpProtocolParamBean extends org.apache.http.params.HttpAbstractParamBean {
+ ctor public HttpProtocolParamBean(org.apache.http.params.HttpParams);
+ method public void setContentCharset(java.lang.String);
+ method public void setHttpElementCharset(java.lang.String);
+ method public void setUseExpectContinue(boolean);
+ method public void setUserAgent(java.lang.String);
+ method public void setVersion(org.apache.http.HttpVersion);
+ }
+
+ public final class HttpProtocolParams implements org.apache.http.params.CoreProtocolPNames {
+ method public static java.lang.String getContentCharset(org.apache.http.params.HttpParams);
+ method public static java.lang.String getHttpElementCharset(org.apache.http.params.HttpParams);
+ method public static java.lang.String getUserAgent(org.apache.http.params.HttpParams);
+ method public static org.apache.http.ProtocolVersion getVersion(org.apache.http.params.HttpParams);
+ method public static void setContentCharset(org.apache.http.params.HttpParams, java.lang.String);
+ method public static void setHttpElementCharset(org.apache.http.params.HttpParams, java.lang.String);
+ method public static void setUseExpectContinue(org.apache.http.params.HttpParams, boolean);
+ method public static void setUserAgent(org.apache.http.params.HttpParams, java.lang.String);
+ method public static void setVersion(org.apache.http.params.HttpParams, org.apache.http.ProtocolVersion);
+ method public static boolean useExpectContinue(org.apache.http.params.HttpParams);
+ }
+
+}
+
+package org.apache.http.protocol {
+
+ public class BasicHttpContext implements org.apache.http.protocol.HttpContext {
+ ctor public BasicHttpContext();
+ ctor public BasicHttpContext(org.apache.http.protocol.HttpContext);
+ method public java.lang.Object getAttribute(java.lang.String);
+ method public java.lang.Object removeAttribute(java.lang.String);
+ method public void setAttribute(java.lang.String, java.lang.Object);
+ }
+
+ public final class BasicHttpProcessor implements java.lang.Cloneable org.apache.http.protocol.HttpProcessor org.apache.http.protocol.HttpRequestInterceptorList org.apache.http.protocol.HttpResponseInterceptorList {
+ ctor public BasicHttpProcessor();
+ method public final void addInterceptor(org.apache.http.HttpRequestInterceptor);
+ method public final void addInterceptor(org.apache.http.HttpRequestInterceptor, int);
+ method public final void addInterceptor(org.apache.http.HttpResponseInterceptor);
+ method public final void addInterceptor(org.apache.http.HttpResponseInterceptor, int);
+ method public void addRequestInterceptor(org.apache.http.HttpRequestInterceptor);
+ method public void addRequestInterceptor(org.apache.http.HttpRequestInterceptor, int);
+ method public void addResponseInterceptor(org.apache.http.HttpResponseInterceptor, int);
+ method public void addResponseInterceptor(org.apache.http.HttpResponseInterceptor);
+ method public void clearInterceptors();
+ method public void clearRequestInterceptors();
+ method public void clearResponseInterceptors();
+ method public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
+ method public org.apache.http.protocol.BasicHttpProcessor copy();
+ method protected void copyInterceptors(org.apache.http.protocol.BasicHttpProcessor);
+ method public org.apache.http.HttpRequestInterceptor getRequestInterceptor(int);
+ method public int getRequestInterceptorCount();
+ method public org.apache.http.HttpResponseInterceptor getResponseInterceptor(int);
+ method public int getResponseInterceptorCount();
+ method public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ method public void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ method public void removeRequestInterceptorByClass(java.lang.Class);
+ method public void removeResponseInterceptorByClass(java.lang.Class);
+ method public void setInterceptors(java.util.List);
+ field protected java.util.List requestInterceptors;
+ field protected java.util.List responseInterceptors;
+ }
+
+ public final class DefaultedHttpContext implements org.apache.http.protocol.HttpContext {
+ ctor public DefaultedHttpContext(org.apache.http.protocol.HttpContext, org.apache.http.protocol.HttpContext);
+ method public java.lang.Object getAttribute(java.lang.String);
+ method public org.apache.http.protocol.HttpContext getDefaults();
+ method public java.lang.Object removeAttribute(java.lang.String);
+ method public void setAttribute(java.lang.String, java.lang.Object);
+ }
+
+ public abstract interface ExecutionContext {
+ field public static final java.lang.String HTTP_CONNECTION = "http.connection";
+ field public static final java.lang.String HTTP_PROXY_HOST = "http.proxy_host";
+ field public static final java.lang.String HTTP_REQUEST = "http.request";
+ field public static final java.lang.String HTTP_REQ_SENT = "http.request_sent";
+ field public static final java.lang.String HTTP_RESPONSE = "http.response";
+ field public static final java.lang.String HTTP_TARGET_HOST = "http.target_host";
+ }
+
+ public final class HTTP {
+ method public static boolean isWhitespace(char);
+ field public static final java.lang.String ASCII = "ASCII";
+ field public static final java.lang.String CHARSET_PARAM = "; charset=";
+ field public static final java.lang.String CHUNK_CODING = "chunked";
+ field public static final java.lang.String CONN_CLOSE = "Close";
+ field public static final java.lang.String CONN_DIRECTIVE = "Connection";
+ field public static final java.lang.String CONN_KEEP_ALIVE = "Keep-Alive";
+ field public static final java.lang.String CONTENT_ENCODING = "Content-Encoding";
+ field public static final java.lang.String CONTENT_LEN = "Content-Length";
+ field public static final java.lang.String CONTENT_TYPE = "Content-Type";
+ field public static final int CR = 13; // 0xd
+ field public static final java.lang.String DATE_HEADER = "Date";
+ field public static final java.lang.String DEFAULT_CONTENT_CHARSET = "ISO-8859-1";
+ field public static final java.lang.String DEFAULT_CONTENT_TYPE = "application/octet-stream";
+ field public static final java.lang.String DEFAULT_PROTOCOL_CHARSET = "US-ASCII";
+ field public static final java.lang.String EXPECT_CONTINUE = "100-continue";
+ field public static final java.lang.String EXPECT_DIRECTIVE = "Expect";
+ field public static final int HT = 9; // 0x9
+ field public static final java.lang.String IDENTITY_CODING = "identity";
+ field public static final java.lang.String ISO_8859_1 = "ISO-8859-1";
+ field public static final int LF = 10; // 0xa
+ field public static final java.lang.String OCTET_STREAM_TYPE = "application/octet-stream";
+ field public static final java.lang.String PLAIN_TEXT_TYPE = "text/plain";
+ field public static final java.lang.String SERVER_HEADER = "Server";
+ field public static final int SP = 32; // 0x20
+ field public static final java.lang.String TARGET_HOST = "Host";
+ field public static final java.lang.String TRANSFER_ENCODING = "Transfer-Encoding";
+ field public static final java.lang.String USER_AGENT = "User-Agent";
+ field public static final java.lang.String US_ASCII = "US-ASCII";
+ field public static final java.lang.String UTF_16 = "UTF-16";
+ field public static final java.lang.String UTF_8 = "UTF-8";
+ }
+
+ public abstract interface HttpContext {
+ method public abstract java.lang.Object getAttribute(java.lang.String);
+ method public abstract java.lang.Object removeAttribute(java.lang.String);
+ method public abstract void setAttribute(java.lang.String, java.lang.Object);
+ field public static final java.lang.String RESERVED_PREFIX = "http.";
+ }
+
+ public class HttpDateGenerator {
+ ctor public HttpDateGenerator();
+ method public synchronized java.lang.String getCurrentDate();
+ field public static final java.util.TimeZone GMT;
+ field public static final java.lang.String PATTERN_RFC1123 = "EEE, dd MMM yyyy HH:mm:ss zzz";
+ }
+
+ public abstract interface HttpExpectationVerifier {
+ method public abstract void verify(org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+ }
+
+ public abstract interface HttpProcessor implements org.apache.http.HttpRequestInterceptor org.apache.http.HttpResponseInterceptor {
+ }
+
+ public class HttpRequestExecutor {
+ ctor public HttpRequestExecutor();
+ method protected boolean canResponseHaveBody(org.apache.http.HttpRequest, org.apache.http.HttpResponse);
+ method protected org.apache.http.HttpResponse doReceiveResponse(org.apache.http.HttpRequest, org.apache.http.HttpClientConnection, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ method protected org.apache.http.HttpResponse doSendRequest(org.apache.http.HttpRequest, org.apache.http.HttpClientConnection, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ method public org.apache.http.HttpResponse execute(org.apache.http.HttpRequest, org.apache.http.HttpClientConnection, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ method public void postProcess(org.apache.http.HttpResponse, org.apache.http.protocol.HttpProcessor, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ method public void preProcess(org.apache.http.HttpRequest, org.apache.http.protocol.HttpProcessor, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public abstract interface HttpRequestHandler {
+ method public abstract void handle(org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class HttpRequestHandlerRegistry implements org.apache.http.protocol.HttpRequestHandlerResolver {
+ ctor public HttpRequestHandlerRegistry();
+ method public org.apache.http.protocol.HttpRequestHandler lookup(java.lang.String);
+ method protected deprecated boolean matchUriRequestPattern(java.lang.String, java.lang.String);
+ method public void register(java.lang.String, org.apache.http.protocol.HttpRequestHandler);
+ method public void setHandlers(java.util.Map);
+ method public void unregister(java.lang.String);
+ }
+
+ public abstract interface HttpRequestHandlerResolver {
+ method public abstract org.apache.http.protocol.HttpRequestHandler lookup(java.lang.String);
+ }
+
+ public abstract interface HttpRequestInterceptorList {
+ method public abstract void addRequestInterceptor(org.apache.http.HttpRequestInterceptor);
+ method public abstract void addRequestInterceptor(org.apache.http.HttpRequestInterceptor, int);
+ method public abstract void clearRequestInterceptors();
+ method public abstract org.apache.http.HttpRequestInterceptor getRequestInterceptor(int);
+ method public abstract int getRequestInterceptorCount();
+ method public abstract void removeRequestInterceptorByClass(java.lang.Class);
+ method public abstract void setInterceptors(java.util.List);
+ }
+
+ public abstract interface HttpResponseInterceptorList {
+ method public abstract void addResponseInterceptor(org.apache.http.HttpResponseInterceptor);
+ method public abstract void addResponseInterceptor(org.apache.http.HttpResponseInterceptor, int);
+ method public abstract void clearResponseInterceptors();
+ method public abstract org.apache.http.HttpResponseInterceptor getResponseInterceptor(int);
+ method public abstract int getResponseInterceptorCount();
+ method public abstract void removeResponseInterceptorByClass(java.lang.Class);
+ method public abstract void setInterceptors(java.util.List);
+ }
+
+ public class HttpService {
+ ctor public HttpService(org.apache.http.protocol.HttpProcessor, org.apache.http.ConnectionReuseStrategy, org.apache.http.HttpResponseFactory);
+ method protected void doService(org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ method public org.apache.http.params.HttpParams getParams();
+ method protected void handleException(org.apache.http.HttpException, org.apache.http.HttpResponse);
+ method public void handleRequest(org.apache.http.HttpServerConnection, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ method public void setConnReuseStrategy(org.apache.http.ConnectionReuseStrategy);
+ method public void setExpectationVerifier(org.apache.http.protocol.HttpExpectationVerifier);
+ method public void setHandlerResolver(org.apache.http.protocol.HttpRequestHandlerResolver);
+ method public void setHttpProcessor(org.apache.http.protocol.HttpProcessor);
+ method public void setParams(org.apache.http.params.HttpParams);
+ method public void setResponseFactory(org.apache.http.HttpResponseFactory);
+ }
+
+ public class RequestConnControl implements org.apache.http.HttpRequestInterceptor {
+ ctor public RequestConnControl();
+ method public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class RequestContent implements org.apache.http.HttpRequestInterceptor {
+ ctor public RequestContent();
+ method public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class RequestDate implements org.apache.http.HttpRequestInterceptor {
+ ctor public RequestDate();
+ method public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class RequestExpectContinue implements org.apache.http.HttpRequestInterceptor {
+ ctor public RequestExpectContinue();
+ method public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class RequestTargetHost implements org.apache.http.HttpRequestInterceptor {
+ ctor public RequestTargetHost();
+ method public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class RequestUserAgent implements org.apache.http.HttpRequestInterceptor {
+ ctor public RequestUserAgent();
+ method public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class ResponseConnControl implements org.apache.http.HttpResponseInterceptor {
+ ctor public ResponseConnControl();
+ method public void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class ResponseContent implements org.apache.http.HttpResponseInterceptor {
+ ctor public ResponseContent();
+ method public void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class ResponseDate implements org.apache.http.HttpResponseInterceptor {
+ ctor public ResponseDate();
+ method public void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class ResponseServer implements org.apache.http.HttpResponseInterceptor {
+ ctor public ResponseServer();
+ method public void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+ }
+
+ public class SyncBasicHttpContext extends org.apache.http.protocol.BasicHttpContext {
+ ctor public SyncBasicHttpContext(org.apache.http.protocol.HttpContext);
+ }
+
+ public class UriPatternMatcher {
+ ctor public UriPatternMatcher();
+ method public java.lang.Object lookup(java.lang.String);
+ method protected boolean matchUriRequestPattern(java.lang.String, java.lang.String);
+ method public void register(java.lang.String, java.lang.Object);
+ method public void setHandlers(java.util.Map);
+ method public void unregister(java.lang.String);
+ }
+
+}
+
+package org.apache.http.util {
+
+ public final class ByteArrayBuffer {
+ ctor public ByteArrayBuffer(int);
+ method public void append(byte[], int, int);
+ method public void append(int);
+ method public void append(char[], int, int);
+ method public void append(org.apache.http.util.CharArrayBuffer, int, int);
+ method public byte[] buffer();
+ method public int byteAt(int);
+ method public int capacity();
+ method public void clear();
+ method public boolean isEmpty();
+ method public boolean isFull();
+ method public int length();
+ method public void setLength(int);
+ method public byte[] toByteArray();
+ }
+
+ public final class CharArrayBuffer {
+ ctor public CharArrayBuffer(int);
+ method public void append(char[], int, int);
+ method public void append(java.lang.String);
+ method public void append(org.apache.http.util.CharArrayBuffer, int, int);
+ method public void append(org.apache.http.util.CharArrayBuffer);
+ method public void append(char);
+ method public void append(byte[], int, int);
+ method public void append(org.apache.http.util.ByteArrayBuffer, int, int);
+ method public void append(java.lang.Object);
+ method public char[] buffer();
+ method public int capacity();
+ method public char charAt(int);
+ method public void clear();
+ method public void ensureCapacity(int);
+ method public int indexOf(int, int, int);
+ method public int indexOf(int);
+ method public boolean isEmpty();
+ method public boolean isFull();
+ method public int length();
+ method public void setLength(int);
+ method public java.lang.String substring(int, int);
+ method public java.lang.String substringTrimmed(int, int);
+ method public char[] toCharArray();
+ }
+
+ public final class EncodingUtils {
+ method public static byte[] getAsciiBytes(java.lang.String);
+ method public static java.lang.String getAsciiString(byte[], int, int);
+ method public static java.lang.String getAsciiString(byte[]);
+ method public static byte[] getBytes(java.lang.String, java.lang.String);
+ method public static java.lang.String getString(byte[], int, int, java.lang.String);
+ method public static java.lang.String getString(byte[], java.lang.String);
+ }
+
+ public final class EntityUtils {
+ method public static java.lang.String getContentCharSet(org.apache.http.HttpEntity) throws org.apache.http.ParseException;
+ method public static byte[] toByteArray(org.apache.http.HttpEntity) throws java.io.IOException;
+ method public static java.lang.String toString(org.apache.http.HttpEntity, java.lang.String) throws java.io.IOException, org.apache.http.ParseException;
+ method public static java.lang.String toString(org.apache.http.HttpEntity) throws java.io.IOException, org.apache.http.ParseException;
+ }
+
+ public final class ExceptionUtils {
+ method public static void initCause(java.lang.Throwable, java.lang.Throwable);
+ }
+
+ public final class LangUtils {
+ method public static boolean equals(java.lang.Object, java.lang.Object);
+ method public static boolean equals(java.lang.Object[], java.lang.Object[]);
+ method public static int hashCode(int, int);
+ method public static int hashCode(int, boolean);
+ method public static int hashCode(int, java.lang.Object);
+ field public static final int HASH_OFFSET = 37; // 0x25
+ field public static final int HASH_SEED = 17; // 0x11
+ }
+
+ public class VersionInfo {
+ ctor protected VersionInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method protected static final org.apache.http.util.VersionInfo fromMap(java.lang.String, java.util.Map, java.lang.ClassLoader);
+ method public final java.lang.String getClassloader();
+ method public final java.lang.String getModule();
+ method public final java.lang.String getPackage();
+ method public final java.lang.String getRelease();
+ method public final java.lang.String getTimestamp();
+ method public static final org.apache.http.util.VersionInfo[] loadVersionInfo(java.lang.String[], java.lang.ClassLoader);
+ method public static final org.apache.http.util.VersionInfo loadVersionInfo(java.lang.String, java.lang.ClassLoader);
+ field public static final java.lang.String PROPERTY_MODULE = "info.module";
+ field public static final java.lang.String PROPERTY_RELEASE = "info.release";
+ field public static final java.lang.String PROPERTY_TIMESTAMP = "info.timestamp";
+ field public static final java.lang.String UNAVAILABLE = "UNAVAILABLE";
+ field public static final java.lang.String VERSION_PROPERTY_FILE = "version.properties";
+ }
+
+}
+
+package org.json {
+
+ public class JSONArray {
+ ctor public JSONArray();
+ ctor public JSONArray(java.util.Collection);
+ ctor public JSONArray(org.json.JSONTokener) throws org.json.JSONException;
+ ctor public JSONArray(java.lang.String) throws org.json.JSONException;
+ method public java.lang.Object get(int) throws org.json.JSONException;
+ method public boolean getBoolean(int) throws org.json.JSONException;
+ method public double getDouble(int) throws org.json.JSONException;
+ method public int getInt(int) throws org.json.JSONException;
+ method public org.json.JSONArray getJSONArray(int) throws org.json.JSONException;
+ method public org.json.JSONObject getJSONObject(int) throws org.json.JSONException;
+ method public long getLong(int) throws org.json.JSONException;
+ method public java.lang.String getString(int) throws org.json.JSONException;
+ method public boolean isNull(int);
+ method public java.lang.String join(java.lang.String) throws org.json.JSONException;
+ method public int length();
+ method public java.lang.Object opt(int);
+ method public boolean optBoolean(int);
+ method public boolean optBoolean(int, boolean);
+ method public double optDouble(int);
+ method public double optDouble(int, double);
+ method public int optInt(int);
+ method public int optInt(int, int);
+ method public org.json.JSONArray optJSONArray(int);
+ method public org.json.JSONObject optJSONObject(int);
+ method public long optLong(int);
+ method public long optLong(int, long);
+ method public java.lang.String optString(int);
+ method public java.lang.String optString(int, java.lang.String);
+ method public org.json.JSONArray put(boolean);
+ method public org.json.JSONArray put(double) throws org.json.JSONException;
+ method public org.json.JSONArray put(int);
+ method public org.json.JSONArray put(long);
+ method public org.json.JSONArray put(java.lang.Object);
+ method public org.json.JSONArray put(int, boolean) throws org.json.JSONException;
+ method public org.json.JSONArray put(int, double) throws org.json.JSONException;
+ method public org.json.JSONArray put(int, int) throws org.json.JSONException;
+ method public org.json.JSONArray put(int, long) throws org.json.JSONException;
+ method public org.json.JSONArray put(int, java.lang.Object) throws org.json.JSONException;
+ method public org.json.JSONObject toJSONObject(org.json.JSONArray) throws org.json.JSONException;
+ method public java.lang.String toString(int) throws org.json.JSONException;
+ }
+
+ public class JSONException extends java.lang.Exception {
+ ctor public JSONException(java.lang.String);
+ }
+
+ public class JSONObject {
+ ctor public JSONObject();
+ ctor public JSONObject(java.util.Map);
+ ctor public JSONObject(org.json.JSONTokener) throws org.json.JSONException;
+ ctor public JSONObject(java.lang.String) throws org.json.JSONException;
+ ctor public JSONObject(org.json.JSONObject, java.lang.String[]) throws org.json.JSONException;
+ method public org.json.JSONObject accumulate(java.lang.String, java.lang.Object) throws org.json.JSONException;
+ method public java.lang.Object get(java.lang.String) throws org.json.JSONException;
+ method public boolean getBoolean(java.lang.String) throws org.json.JSONException;
+ method public double getDouble(java.lang.String) throws org.json.JSONException;
+ method public int getInt(java.lang.String) throws org.json.JSONException;
+ method public org.json.JSONArray getJSONArray(java.lang.String) throws org.json.JSONException;
+ method public org.json.JSONObject getJSONObject(java.lang.String) throws org.json.JSONException;
+ method public long getLong(java.lang.String) throws org.json.JSONException;
+ method public java.lang.String getString(java.lang.String) throws org.json.JSONException;
+ method public boolean has(java.lang.String);
+ method public boolean isNull(java.lang.String);
+ method public java.util.Iterator keys();
+ method public int length();
+ method public org.json.JSONArray names();
+ method public static java.lang.String numberToString(java.lang.Number) throws org.json.JSONException;
+ method public java.lang.Object opt(java.lang.String);
+ method public boolean optBoolean(java.lang.String);
+ method public boolean optBoolean(java.lang.String, boolean);
+ method public double optDouble(java.lang.String);
+ method public double optDouble(java.lang.String, double);
+ method public int optInt(java.lang.String);
+ method public int optInt(java.lang.String, int);
+ method public org.json.JSONArray optJSONArray(java.lang.String);
+ method public org.json.JSONObject optJSONObject(java.lang.String);
+ method public long optLong(java.lang.String);
+ method public long optLong(java.lang.String, long);
+ method public java.lang.String optString(java.lang.String);
+ method public java.lang.String optString(java.lang.String, java.lang.String);
+ method public org.json.JSONObject put(java.lang.String, boolean) throws org.json.JSONException;
+ method public org.json.JSONObject put(java.lang.String, double) throws org.json.JSONException;
+ method public org.json.JSONObject put(java.lang.String, int) throws org.json.JSONException;
+ method public org.json.JSONObject put(java.lang.String, long) throws org.json.JSONException;
+ method public org.json.JSONObject put(java.lang.String, java.lang.Object) throws org.json.JSONException;
+ method public org.json.JSONObject putOpt(java.lang.String, java.lang.Object) throws org.json.JSONException;
+ method public static java.lang.String quote(java.lang.String);
+ method public java.lang.Object remove(java.lang.String);
+ method public org.json.JSONArray toJSONArray(org.json.JSONArray) throws org.json.JSONException;
+ method public java.lang.String toString(int) throws org.json.JSONException;
+ field public static final java.lang.Object NULL;
+ }
+
+ public class JSONStringer {
+ ctor public JSONStringer();
+ method public org.json.JSONStringer array() throws org.json.JSONException;
+ method public org.json.JSONStringer endArray() throws org.json.JSONException;
+ method public org.json.JSONStringer endObject() throws org.json.JSONException;
+ method public org.json.JSONStringer key(java.lang.String) throws org.json.JSONException;
+ method public org.json.JSONStringer object() throws org.json.JSONException;
+ method public org.json.JSONStringer value(java.lang.Object) throws org.json.JSONException;
+ method public org.json.JSONStringer value(boolean) throws org.json.JSONException;
+ method public org.json.JSONStringer value(double) throws org.json.JSONException;
+ method public org.json.JSONStringer value(long) throws org.json.JSONException;
+ }
+
+ public class JSONTokener {
+ ctor public JSONTokener(java.lang.String);
+ method public void back();
+ method public static int dehexchar(char);
+ method public boolean more();
+ method public char next();
+ method public char next(char) throws org.json.JSONException;
+ method public java.lang.String next(int) throws org.json.JSONException;
+ method public char nextClean() throws org.json.JSONException;
+ method public java.lang.String nextString(char) throws org.json.JSONException;
+ method public java.lang.String nextTo(java.lang.String);
+ method public java.lang.String nextTo(char);
+ method public java.lang.Object nextValue() throws org.json.JSONException;
+ method public void skipPast(java.lang.String);
+ method public char skipTo(char);
+ method public org.json.JSONException syntaxError(java.lang.String);
+ }
+
+}
+
+package org.w3c.dom {
+
+ public abstract interface Attr implements org.w3c.dom.Node {
+ method public abstract java.lang.String getName();
+ method public abstract org.w3c.dom.Element getOwnerElement();
+ method public abstract org.w3c.dom.TypeInfo getSchemaTypeInfo();
+ method public abstract boolean getSpecified();
+ method public abstract java.lang.String getValue();
+ method public abstract boolean isId();
+ method public abstract void setValue(java.lang.String) throws org.w3c.dom.DOMException;
+ }
+
+ public abstract interface CDATASection implements org.w3c.dom.Text {
+ }
+
+ public abstract interface CharacterData implements org.w3c.dom.Node {
+ method public abstract void appendData(java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract void deleteData(int, int) throws org.w3c.dom.DOMException;
+ method public abstract java.lang.String getData() throws org.w3c.dom.DOMException;
+ method public abstract int getLength();
+ method public abstract void insertData(int, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract void replaceData(int, int, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract void setData(java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract java.lang.String substringData(int, int) throws org.w3c.dom.DOMException;
+ }
+
+ public abstract interface Comment implements org.w3c.dom.CharacterData {
+ }
+
+ public abstract interface DOMConfiguration {
+ method public abstract boolean canSetParameter(java.lang.String, java.lang.Object);
+ method public abstract java.lang.Object getParameter(java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.DOMStringList getParameterNames();
+ method public abstract void setParameter(java.lang.String, java.lang.Object) throws org.w3c.dom.DOMException;
+ }
+
+ public abstract interface DOMError {
+ method public abstract org.w3c.dom.DOMLocator getLocation();
+ method public abstract java.lang.String getMessage();
+ method public abstract java.lang.Object getRelatedData();
+ method public abstract java.lang.Object getRelatedException();
+ method public abstract short getSeverity();
+ method public abstract java.lang.String getType();
+ field public static final short SEVERITY_ERROR = 2; // 0x2
+ field public static final short SEVERITY_FATAL_ERROR = 3; // 0x3
+ field public static final short SEVERITY_WARNING = 1; // 0x1
+ }
+
+ public abstract interface DOMErrorHandler {
+ method public abstract boolean handleError(org.w3c.dom.DOMError);
+ }
+
+ public class DOMException extends java.lang.RuntimeException {
+ ctor public DOMException(short, java.lang.String);
+ field public static final short DOMSTRING_SIZE_ERR = 2; // 0x2
+ field public static final short HIERARCHY_REQUEST_ERR = 3; // 0x3
+ field public static final short INDEX_SIZE_ERR = 1; // 0x1
+ field public static final short INUSE_ATTRIBUTE_ERR = 10; // 0xa
+ field public static final short INVALID_ACCESS_ERR = 15; // 0xf
+ field public static final short INVALID_CHARACTER_ERR = 5; // 0x5
+ field public static final short INVALID_MODIFICATION_ERR = 13; // 0xd
+ field public static final short INVALID_STATE_ERR = 11; // 0xb
+ field public static final short NAMESPACE_ERR = 14; // 0xe
+ field public static final short NOT_FOUND_ERR = 8; // 0x8
+ field public static final short NOT_SUPPORTED_ERR = 9; // 0x9
+ field public static final short NO_DATA_ALLOWED_ERR = 6; // 0x6
+ field public static final short NO_MODIFICATION_ALLOWED_ERR = 7; // 0x7
+ field public static final short SYNTAX_ERR = 12; // 0xc
+ field public static final short TYPE_MISMATCH_ERR = 17; // 0x11
+ field public static final short VALIDATION_ERR = 16; // 0x10
+ field public static final short WRONG_DOCUMENT_ERR = 4; // 0x4
+ field public short code;
+ }
+
+ public abstract interface DOMImplementation {
+ method public abstract org.w3c.dom.Document createDocument(java.lang.String, java.lang.String, org.w3c.dom.DocumentType) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.DocumentType createDocumentType(java.lang.String, java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract java.lang.Object getFeature(java.lang.String, java.lang.String);
+ method public abstract boolean hasFeature(java.lang.String, java.lang.String);
+ }
+
+ public abstract interface DOMImplementationList {
+ method public abstract int getLength();
+ method public abstract org.w3c.dom.DOMImplementation item(int);
+ }
+
+ public abstract interface DOMImplementationSource {
+ method public abstract org.w3c.dom.DOMImplementation getDOMImplementation(java.lang.String);
+ method public abstract org.w3c.dom.DOMImplementationList getDOMImplementationList(java.lang.String);
+ }
+
+ public abstract interface DOMLocator {
+ method public abstract int getByteOffset();
+ method public abstract int getColumnNumber();
+ method public abstract int getLineNumber();
+ method public abstract org.w3c.dom.Node getRelatedNode();
+ method public abstract java.lang.String getUri();
+ method public abstract int getUtf16Offset();
+ }
+
+ public abstract interface DOMStringList {
+ method public abstract boolean contains(java.lang.String);
+ method public abstract int getLength();
+ method public abstract java.lang.String item(int);
+ }
+
+ public abstract interface Document implements org.w3c.dom.Node {
+ method public abstract org.w3c.dom.Node adoptNode(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Attr createAttribute(java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Attr createAttributeNS(java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.CDATASection createCDATASection(java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Comment createComment(java.lang.String);
+ method public abstract org.w3c.dom.DocumentFragment createDocumentFragment();
+ method public abstract org.w3c.dom.Element createElement(java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Element createElementNS(java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.EntityReference createEntityReference(java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.ProcessingInstruction createProcessingInstruction(java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Text createTextNode(java.lang.String);
+ method public abstract org.w3c.dom.DocumentType getDoctype();
+ method public abstract org.w3c.dom.Element getDocumentElement();
+ method public abstract java.lang.String getDocumentURI();
+ method public abstract org.w3c.dom.DOMConfiguration getDomConfig();
+ method public abstract org.w3c.dom.Element getElementById(java.lang.String);
+ method public abstract org.w3c.dom.NodeList getElementsByTagName(java.lang.String);
+ method public abstract org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String, java.lang.String);
+ method public abstract org.w3c.dom.DOMImplementation getImplementation();
+ method public abstract java.lang.String getInputEncoding();
+ method public abstract boolean getStrictErrorChecking();
+ method public abstract java.lang.String getXmlEncoding();
+ method public abstract boolean getXmlStandalone();
+ method public abstract java.lang.String getXmlVersion();
+ method public abstract org.w3c.dom.Node importNode(org.w3c.dom.Node, boolean) throws org.w3c.dom.DOMException;
+ method public abstract void normalizeDocument();
+ method public abstract org.w3c.dom.Node renameNode(org.w3c.dom.Node, java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract void setDocumentURI(java.lang.String);
+ method public abstract void setStrictErrorChecking(boolean);
+ method public abstract void setXmlStandalone(boolean) throws org.w3c.dom.DOMException;
+ method public abstract void setXmlVersion(java.lang.String) throws org.w3c.dom.DOMException;
+ }
+
+ public abstract interface DocumentFragment implements org.w3c.dom.Node {
+ }
+
+ public abstract interface DocumentType implements org.w3c.dom.Node {
+ method public abstract org.w3c.dom.NamedNodeMap getEntities();
+ method public abstract java.lang.String getInternalSubset();
+ method public abstract java.lang.String getName();
+ method public abstract org.w3c.dom.NamedNodeMap getNotations();
+ method public abstract java.lang.String getPublicId();
+ method public abstract java.lang.String getSystemId();
+ }
+
+ public abstract interface Element implements org.w3c.dom.Node {
+ method public abstract java.lang.String getAttribute(java.lang.String);
+ method public abstract java.lang.String getAttributeNS(java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Attr getAttributeNode(java.lang.String);
+ method public abstract org.w3c.dom.Attr getAttributeNodeNS(java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.NodeList getElementsByTagName(java.lang.String);
+ method public abstract org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.TypeInfo getSchemaTypeInfo();
+ method public abstract java.lang.String getTagName();
+ method public abstract boolean hasAttribute(java.lang.String);
+ method public abstract boolean hasAttributeNS(java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract void removeAttribute(java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract void removeAttributeNS(java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr) throws org.w3c.dom.DOMException;
+ method public abstract void setAttribute(java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract void setAttributeNS(java.lang.String, java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr) throws org.w3c.dom.DOMException;
+ method public abstract void setIdAttribute(java.lang.String, boolean) throws org.w3c.dom.DOMException;
+ method public abstract void setIdAttributeNS(java.lang.String, java.lang.String, boolean) throws org.w3c.dom.DOMException;
+ method public abstract void setIdAttributeNode(org.w3c.dom.Attr, boolean) throws org.w3c.dom.DOMException;
+ }
+
+ public abstract interface Entity implements org.w3c.dom.Node {
+ method public abstract java.lang.String getInputEncoding();
+ method public abstract java.lang.String getNotationName();
+ method public abstract java.lang.String getPublicId();
+ method public abstract java.lang.String getSystemId();
+ method public abstract java.lang.String getXmlEncoding();
+ method public abstract java.lang.String getXmlVersion();
+ }
+
+ public abstract interface EntityReference implements org.w3c.dom.Node {
+ }
+
+ public abstract interface NameList {
+ method public abstract boolean contains(java.lang.String);
+ method public abstract boolean containsNS(java.lang.String, java.lang.String);
+ method public abstract int getLength();
+ method public abstract java.lang.String getName(int);
+ method public abstract java.lang.String getNamespaceURI(int);
+ }
+
+ public abstract interface NamedNodeMap {
+ method public abstract int getLength();
+ method public abstract org.w3c.dom.Node getNamedItem(java.lang.String);
+ method public abstract org.w3c.dom.Node getNamedItemNS(java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Node item(int);
+ method public abstract org.w3c.dom.Node removeNamedItem(java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Node removeNamedItemNS(java.lang.String, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Node setNamedItem(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Node setNamedItemNS(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+ }
+
+ public abstract interface Node {
+ method public abstract org.w3c.dom.Node appendChild(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Node cloneNode(boolean);
+ method public abstract short compareDocumentPosition(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.NamedNodeMap getAttributes();
+ method public abstract java.lang.String getBaseURI();
+ method public abstract org.w3c.dom.NodeList getChildNodes();
+ method public abstract java.lang.Object getFeature(java.lang.String, java.lang.String);
+ method public abstract org.w3c.dom.Node getFirstChild();
+ method public abstract org.w3c.dom.Node getLastChild();
+ method public abstract java.lang.String getLocalName();
+ method public abstract java.lang.String getNamespaceURI();
+ method public abstract org.w3c.dom.Node getNextSibling();
+ method public abstract java.lang.String getNodeName();
+ method public abstract short getNodeType();
+ method public abstract java.lang.String getNodeValue() throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Document getOwnerDocument();
+ method public abstract org.w3c.dom.Node getParentNode();
+ method public abstract java.lang.String getPrefix();
+ method public abstract org.w3c.dom.Node getPreviousSibling();
+ method public abstract java.lang.String getTextContent() throws org.w3c.dom.DOMException;
+ method public abstract java.lang.Object getUserData(java.lang.String);
+ method public abstract boolean hasAttributes();
+ method public abstract boolean hasChildNodes();
+ method public abstract org.w3c.dom.Node insertBefore(org.w3c.dom.Node, org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+ method public abstract boolean isDefaultNamespace(java.lang.String);
+ method public abstract boolean isEqualNode(org.w3c.dom.Node);
+ method public abstract boolean isSameNode(org.w3c.dom.Node);
+ method public abstract boolean isSupported(java.lang.String, java.lang.String);
+ method public abstract java.lang.String lookupNamespaceURI(java.lang.String);
+ method public abstract java.lang.String lookupPrefix(java.lang.String);
+ method public abstract void normalize();
+ method public abstract org.w3c.dom.Node removeChild(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Node replaceChild(org.w3c.dom.Node, org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+ method public abstract void setNodeValue(java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract void setPrefix(java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract void setTextContent(java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract java.lang.Object setUserData(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler);
+ field public static final short ATTRIBUTE_NODE = 2; // 0x2
+ field public static final short CDATA_SECTION_NODE = 4; // 0x4
+ field public static final short COMMENT_NODE = 8; // 0x8
+ field public static final short DOCUMENT_FRAGMENT_NODE = 11; // 0xb
+ field public static final short DOCUMENT_NODE = 9; // 0x9
+ field public static final short DOCUMENT_POSITION_CONTAINED_BY = 16; // 0x10
+ field public static final short DOCUMENT_POSITION_CONTAINS = 8; // 0x8
+ field public static final short DOCUMENT_POSITION_DISCONNECTED = 1; // 0x1
+ field public static final short DOCUMENT_POSITION_FOLLOWING = 4; // 0x4
+ field public static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32; // 0x20
+ field public static final short DOCUMENT_POSITION_PRECEDING = 2; // 0x2
+ field public static final short DOCUMENT_TYPE_NODE = 10; // 0xa
+ field public static final short ELEMENT_NODE = 1; // 0x1
+ field public static final short ENTITY_NODE = 6; // 0x6
+ field public static final short ENTITY_REFERENCE_NODE = 5; // 0x5
+ field public static final short NOTATION_NODE = 12; // 0xc
+ field public static final short PROCESSING_INSTRUCTION_NODE = 7; // 0x7
+ field public static final short TEXT_NODE = 3; // 0x3
+ }
+
+ public abstract interface NodeList {
+ method public abstract int getLength();
+ method public abstract org.w3c.dom.Node item(int);
+ }
+
+ public abstract interface Notation implements org.w3c.dom.Node {
+ method public abstract java.lang.String getPublicId();
+ method public abstract java.lang.String getSystemId();
+ }
+
+ public abstract interface ProcessingInstruction implements org.w3c.dom.Node {
+ method public abstract java.lang.String getData();
+ method public abstract java.lang.String getTarget();
+ method public abstract void setData(java.lang.String) throws org.w3c.dom.DOMException;
+ }
+
+ public abstract interface Text implements org.w3c.dom.CharacterData {
+ method public abstract java.lang.String getWholeText();
+ method public abstract boolean isElementContentWhitespace();
+ method public abstract org.w3c.dom.Text replaceWholeText(java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.Text splitText(int) throws org.w3c.dom.DOMException;
+ }
+
+ public abstract interface TypeInfo {
+ method public abstract java.lang.String getTypeName();
+ method public abstract java.lang.String getTypeNamespace();
+ method public abstract boolean isDerivedFrom(java.lang.String, java.lang.String, int);
+ field public static final int DERIVATION_EXTENSION = 2; // 0x2
+ field public static final int DERIVATION_LIST = 8; // 0x8
+ field public static final int DERIVATION_RESTRICTION = 1; // 0x1
+ field public static final int DERIVATION_UNION = 4; // 0x4
+ }
+
+ public abstract interface UserDataHandler {
+ method public abstract void handle(short, java.lang.String, java.lang.Object, org.w3c.dom.Node, org.w3c.dom.Node);
+ field public static final short NODE_ADOPTED = 5; // 0x5
+ field public static final short NODE_CLONED = 1; // 0x1
+ field public static final short NODE_DELETED = 3; // 0x3
+ field public static final short NODE_IMPORTED = 2; // 0x2
+ field public static final short NODE_RENAMED = 4; // 0x4
+ }
+
+}
+
+package org.w3c.dom.ls {
+
+ public abstract interface DOMImplementationLS {
+ method public abstract org.w3c.dom.ls.LSInput createLSInput();
+ method public abstract org.w3c.dom.ls.LSOutput createLSOutput();
+ method public abstract org.w3c.dom.ls.LSParser createLSParser(short, java.lang.String) throws org.w3c.dom.DOMException;
+ method public abstract org.w3c.dom.ls.LSSerializer createLSSerializer();
+ field public static final short MODE_ASYNCHRONOUS = 2; // 0x2
+ field public static final short MODE_SYNCHRONOUS = 1; // 0x1
+ }
+
+ public class LSException extends java.lang.RuntimeException {
+ ctor public LSException(short, java.lang.String);
+ field public static final short PARSE_ERR = 81; // 0x51
+ field public static final short SERIALIZE_ERR = 82; // 0x52
+ field public short code;
+ }
+
+ public abstract interface LSInput {
+ method public abstract java.lang.String getBaseURI();
+ method public abstract java.io.InputStream getByteStream();
+ method public abstract boolean getCertifiedText();
+ method public abstract java.io.Reader getCharacterStream();
+ method public abstract java.lang.String getEncoding();
+ method public abstract java.lang.String getPublicId();
+ method public abstract java.lang.String getStringData();
+ method public abstract java.lang.String getSystemId();
+ method public abstract void setBaseURI(java.lang.String);
+ method public abstract void setByteStream(java.io.InputStream);
+ method public abstract void setCertifiedText(boolean);
+ method public abstract void setCharacterStream(java.io.Reader);
+ method public abstract void setEncoding(java.lang.String);
+ method public abstract void setPublicId(java.lang.String);
+ method public abstract void setStringData(java.lang.String);
+ method public abstract void setSystemId(java.lang.String);
+ }
+
+ public abstract interface LSOutput {
+ method public abstract java.io.OutputStream getByteStream();
+ method public abstract java.io.Writer getCharacterStream();
+ method public abstract java.lang.String getEncoding();
+ method public abstract java.lang.String getSystemId();
+ method public abstract void setByteStream(java.io.OutputStream);
+ method public abstract void setCharacterStream(java.io.Writer);
+ method public abstract void setEncoding(java.lang.String);
+ method public abstract void setSystemId(java.lang.String);
+ }
+
+ public abstract interface LSParser {
+ method public abstract void abort();
+ method public abstract boolean getAsync();
+ method public abstract boolean getBusy();
+ method public abstract org.w3c.dom.DOMConfiguration getDomConfig();
+ method public abstract org.w3c.dom.ls.LSParserFilter getFilter();
+ method public abstract org.w3c.dom.Document parse(org.w3c.dom.ls.LSInput) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException;
+ method public abstract org.w3c.dom.Document parseURI(java.lang.String) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException;
+ method public abstract org.w3c.dom.Node parseWithContext(org.w3c.dom.ls.LSInput, org.w3c.dom.Node, short) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException;
+ method public abstract void setFilter(org.w3c.dom.ls.LSParserFilter);
+ field public static final short ACTION_APPEND_AS_CHILDREN = 1; // 0x1
+ field public static final short ACTION_INSERT_AFTER = 4; // 0x4
+ field public static final short ACTION_INSERT_BEFORE = 3; // 0x3
+ field public static final short ACTION_REPLACE = 5; // 0x5
+ field public static final short ACTION_REPLACE_CHILDREN = 2; // 0x2
+ }
+
+ public abstract interface LSParserFilter {
+ method public abstract short acceptNode(org.w3c.dom.Node);
+ method public abstract int getWhatToShow();
+ method public abstract short startElement(org.w3c.dom.Element);
+ field public static final short FILTER_ACCEPT = 1; // 0x1
+ field public static final short FILTER_INTERRUPT = 4; // 0x4
+ field public static final short FILTER_REJECT = 2; // 0x2
+ field public static final short FILTER_SKIP = 3; // 0x3
+ }
+
+ public abstract interface LSResourceResolver {
+ method public abstract org.w3c.dom.ls.LSInput resolveResource(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ }
+
+ public abstract interface LSSerializer {
+ method public abstract org.w3c.dom.DOMConfiguration getDomConfig();
+ method public abstract java.lang.String getNewLine();
+ method public abstract void setNewLine(java.lang.String);
+ method public abstract boolean write(org.w3c.dom.Node, org.w3c.dom.ls.LSOutput) throws org.w3c.dom.ls.LSException;
+ method public abstract java.lang.String writeToString(org.w3c.dom.Node) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException;
+ method public abstract boolean writeToURI(org.w3c.dom.Node, java.lang.String) throws org.w3c.dom.ls.LSException;
+ }
+
+}
+
+package org.xml.sax {
+
+ public abstract deprecated interface AttributeList {
+ method public abstract int getLength();
+ method public abstract java.lang.String getName(int);
+ method public abstract java.lang.String getType(int);
+ method public abstract java.lang.String getType(java.lang.String);
+ method public abstract java.lang.String getValue(int);
+ method public abstract java.lang.String getValue(java.lang.String);
+ }
+
+ public abstract interface Attributes {
+ method public abstract int getIndex(java.lang.String, java.lang.String);
+ method public abstract int getIndex(java.lang.String);
+ method public abstract int getLength();
+ method public abstract java.lang.String getLocalName(int);
+ method public abstract java.lang.String getQName(int);
+ method public abstract java.lang.String getType(int);
+ method public abstract java.lang.String getType(java.lang.String, java.lang.String);
+ method public abstract java.lang.String getType(java.lang.String);
+ method public abstract java.lang.String getURI(int);
+ method public abstract java.lang.String getValue(int);
+ method public abstract java.lang.String getValue(java.lang.String, java.lang.String);
+ method public abstract java.lang.String getValue(java.lang.String);
+ }
+
+ public abstract interface ContentHandler {
+ method public abstract void characters(char[], int, int) throws org.xml.sax.SAXException;
+ method public abstract void endDocument() throws org.xml.sax.SAXException;
+ method public abstract void endElement(java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public abstract void endPrefixMapping(java.lang.String) throws org.xml.sax.SAXException;
+ method public abstract void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+ method public abstract void processingInstruction(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public abstract void setDocumentLocator(org.xml.sax.Locator);
+ method public abstract void skippedEntity(java.lang.String) throws org.xml.sax.SAXException;
+ method public abstract void startDocument() throws org.xml.sax.SAXException;
+ method public abstract void startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes) throws org.xml.sax.SAXException;
+ method public abstract void startPrefixMapping(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ }
+
+ public abstract interface DTDHandler {
+ method public abstract void notationDecl(java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public abstract void unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ }
+
+ public abstract deprecated interface DocumentHandler {
+ method public abstract void characters(char[], int, int) throws org.xml.sax.SAXException;
+ method public abstract void endDocument() throws org.xml.sax.SAXException;
+ method public abstract void endElement(java.lang.String) throws org.xml.sax.SAXException;
+ method public abstract void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+ method public abstract void processingInstruction(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public abstract void setDocumentLocator(org.xml.sax.Locator);
+ method public abstract void startDocument() throws org.xml.sax.SAXException;
+ method public abstract void startElement(java.lang.String, org.xml.sax.AttributeList) throws org.xml.sax.SAXException;
+ }
+
+ public abstract interface EntityResolver {
+ method public abstract org.xml.sax.InputSource resolveEntity(java.lang.String, java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ }
+
+ public abstract interface ErrorHandler {
+ method public abstract void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+ method public abstract void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+ method public abstract void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+ }
+
+ public deprecated class HandlerBase implements org.xml.sax.DTDHandler org.xml.sax.DocumentHandler org.xml.sax.EntityResolver org.xml.sax.ErrorHandler {
+ ctor public HandlerBase();
+ method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+ method public void endDocument() throws org.xml.sax.SAXException;
+ method public void endElement(java.lang.String) throws org.xml.sax.SAXException;
+ method public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+ method public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+ method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+ method public void notationDecl(java.lang.String, java.lang.String, java.lang.String);
+ method public void processingInstruction(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public org.xml.sax.InputSource resolveEntity(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void setDocumentLocator(org.xml.sax.Locator);
+ method public void startDocument() throws org.xml.sax.SAXException;
+ method public void startElement(java.lang.String, org.xml.sax.AttributeList) throws org.xml.sax.SAXException;
+ method public void unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+ }
+
+ public class InputSource {
+ ctor public InputSource();
+ ctor public InputSource(java.lang.String);
+ ctor public InputSource(java.io.InputStream);
+ ctor public InputSource(java.io.Reader);
+ method public java.io.InputStream getByteStream();
+ method public java.io.Reader getCharacterStream();
+ method public java.lang.String getEncoding();
+ method public java.lang.String getPublicId();
+ method public java.lang.String getSystemId();
+ method public void setByteStream(java.io.InputStream);
+ method public void setCharacterStream(java.io.Reader);
+ method public void setEncoding(java.lang.String);
+ method public void setPublicId(java.lang.String);
+ method public void setSystemId(java.lang.String);
+ }
+
+ public abstract interface Locator {
+ method public abstract int getColumnNumber();
+ method public abstract int getLineNumber();
+ method public abstract java.lang.String getPublicId();
+ method public abstract java.lang.String getSystemId();
+ }
+
+ public abstract deprecated interface Parser {
+ method public abstract void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+ method public abstract void parse(java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public abstract void setDTDHandler(org.xml.sax.DTDHandler);
+ method public abstract void setDocumentHandler(org.xml.sax.DocumentHandler);
+ method public abstract void setEntityResolver(org.xml.sax.EntityResolver);
+ method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+ method public abstract void setLocale(java.util.Locale) throws org.xml.sax.SAXException;
+ }
+
+ public class SAXException extends java.lang.Exception {
+ ctor public SAXException();
+ ctor public SAXException(java.lang.String);
+ ctor public SAXException(java.lang.Exception);
+ ctor public SAXException(java.lang.String, java.lang.Exception);
+ method public java.lang.Exception getException();
+ }
+
+ public class SAXNotRecognizedException extends org.xml.sax.SAXException {
+ ctor public SAXNotRecognizedException();
+ ctor public SAXNotRecognizedException(java.lang.String);
+ }
+
+ public class SAXNotSupportedException extends org.xml.sax.SAXException {
+ ctor public SAXNotSupportedException();
+ ctor public SAXNotSupportedException(java.lang.String);
+ }
+
+ public class SAXParseException extends org.xml.sax.SAXException {
+ ctor public SAXParseException(java.lang.String, org.xml.sax.Locator);
+ ctor public SAXParseException(java.lang.String, org.xml.sax.Locator, java.lang.Exception);
+ ctor public SAXParseException(java.lang.String, java.lang.String, java.lang.String, int, int);
+ ctor public SAXParseException(java.lang.String, java.lang.String, java.lang.String, int, int, java.lang.Exception);
+ method public int getColumnNumber();
+ method public int getLineNumber();
+ method public java.lang.String getPublicId();
+ method public java.lang.String getSystemId();
+ }
+
+ public abstract interface XMLFilter implements org.xml.sax.XMLReader {
+ method public abstract org.xml.sax.XMLReader getParent();
+ method public abstract void setParent(org.xml.sax.XMLReader);
+ }
+
+ public abstract interface XMLReader {
+ method public abstract org.xml.sax.ContentHandler getContentHandler();
+ method public abstract org.xml.sax.DTDHandler getDTDHandler();
+ method public abstract org.xml.sax.EntityResolver getEntityResolver();
+ method public abstract org.xml.sax.ErrorHandler getErrorHandler();
+ method public abstract boolean getFeature(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public abstract java.lang.Object getProperty(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public abstract void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+ method public abstract void parse(java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public abstract void setContentHandler(org.xml.sax.ContentHandler);
+ method public abstract void setDTDHandler(org.xml.sax.DTDHandler);
+ method public abstract void setEntityResolver(org.xml.sax.EntityResolver);
+ method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+ method public abstract void setFeature(java.lang.String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public abstract void setProperty(java.lang.String, java.lang.Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ }
+
+}
+
+package org.xml.sax.ext {
+
+ public abstract interface Attributes2 implements org.xml.sax.Attributes {
+ method public abstract boolean isDeclared(int);
+ method public abstract boolean isDeclared(java.lang.String);
+ method public abstract boolean isDeclared(java.lang.String, java.lang.String);
+ method public abstract boolean isSpecified(int);
+ method public abstract boolean isSpecified(java.lang.String, java.lang.String);
+ method public abstract boolean isSpecified(java.lang.String);
+ }
+
+ public class Attributes2Impl extends org.xml.sax.helpers.AttributesImpl implements org.xml.sax.ext.Attributes2 {
+ ctor public Attributes2Impl();
+ ctor public Attributes2Impl(org.xml.sax.Attributes);
+ method public boolean isDeclared(int);
+ method public boolean isDeclared(java.lang.String, java.lang.String);
+ method public boolean isDeclared(java.lang.String);
+ method public boolean isSpecified(int);
+ method public boolean isSpecified(java.lang.String, java.lang.String);
+ method public boolean isSpecified(java.lang.String);
+ method public void setDeclared(int, boolean);
+ method public void setSpecified(int, boolean);
+ }
+
+ public abstract interface DeclHandler {
+ method public abstract void attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public abstract void elementDecl(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public abstract void externalEntityDecl(java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public abstract void internalEntityDecl(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ }
+
+ public class DefaultHandler2 extends org.xml.sax.helpers.DefaultHandler implements org.xml.sax.ext.DeclHandler org.xml.sax.ext.EntityResolver2 org.xml.sax.ext.LexicalHandler {
+ ctor public DefaultHandler2();
+ method public void attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void comment(char[], int, int) throws org.xml.sax.SAXException;
+ method public void elementDecl(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void endCDATA() throws org.xml.sax.SAXException;
+ method public void endDTD() throws org.xml.sax.SAXException;
+ method public void endEntity(java.lang.String) throws org.xml.sax.SAXException;
+ method public void externalEntityDecl(java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public org.xml.sax.InputSource getExternalSubset(java.lang.String, java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void internalEntityDecl(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public org.xml.sax.InputSource resolveEntity(java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void startCDATA() throws org.xml.sax.SAXException;
+ method public void startDTD(java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void startEntity(java.lang.String) throws org.xml.sax.SAXException;
+ }
+
+ public abstract interface EntityResolver2 implements org.xml.sax.EntityResolver {
+ method public abstract org.xml.sax.InputSource getExternalSubset(java.lang.String, java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public abstract org.xml.sax.InputSource resolveEntity(java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ }
+
+ public abstract interface LexicalHandler {
+ method public abstract void comment(char[], int, int) throws org.xml.sax.SAXException;
+ method public abstract void endCDATA() throws org.xml.sax.SAXException;
+ method public abstract void endDTD() throws org.xml.sax.SAXException;
+ method public abstract void endEntity(java.lang.String) throws org.xml.sax.SAXException;
+ method public abstract void startCDATA() throws org.xml.sax.SAXException;
+ method public abstract void startDTD(java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public abstract void startEntity(java.lang.String) throws org.xml.sax.SAXException;
+ }
+
+ public abstract interface Locator2 implements org.xml.sax.Locator {
+ method public abstract java.lang.String getEncoding();
+ method public abstract java.lang.String getXMLVersion();
+ }
+
+ public class Locator2Impl extends org.xml.sax.helpers.LocatorImpl implements org.xml.sax.ext.Locator2 {
+ ctor public Locator2Impl();
+ ctor public Locator2Impl(org.xml.sax.Locator);
+ method public java.lang.String getEncoding();
+ method public java.lang.String getXMLVersion();
+ method public void setEncoding(java.lang.String);
+ method public void setXMLVersion(java.lang.String);
+ }
+
+}
+
+package org.xml.sax.helpers {
+
+ public deprecated class AttributeListImpl implements org.xml.sax.AttributeList {
+ ctor public AttributeListImpl();
+ ctor public AttributeListImpl(org.xml.sax.AttributeList);
+ method public void addAttribute(java.lang.String, java.lang.String, java.lang.String);
+ method public void clear();
+ method public int getLength();
+ method public java.lang.String getName(int);
+ method public java.lang.String getType(int);
+ method public java.lang.String getType(java.lang.String);
+ method public java.lang.String getValue(int);
+ method public java.lang.String getValue(java.lang.String);
+ method public void removeAttribute(java.lang.String);
+ method public void setAttributeList(org.xml.sax.AttributeList);
+ }
+
+ public class AttributesImpl implements org.xml.sax.Attributes {
+ ctor public AttributesImpl();
+ ctor public AttributesImpl(org.xml.sax.Attributes);
+ method public void addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public void clear();
+ method public int getIndex(java.lang.String, java.lang.String);
+ method public int getIndex(java.lang.String);
+ method public int getLength();
+ method public java.lang.String getLocalName(int);
+ method public java.lang.String getQName(int);
+ method public java.lang.String getType(int);
+ method public java.lang.String getType(java.lang.String, java.lang.String);
+ method public java.lang.String getType(java.lang.String);
+ method public java.lang.String getURI(int);
+ method public java.lang.String getValue(int);
+ method public java.lang.String getValue(java.lang.String, java.lang.String);
+ method public java.lang.String getValue(java.lang.String);
+ method public void removeAttribute(int);
+ method public void setAttribute(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+ method public void setAttributes(org.xml.sax.Attributes);
+ method public void setLocalName(int, java.lang.String);
+ method public void setQName(int, java.lang.String);
+ method public void setType(int, java.lang.String);
+ method public void setURI(int, java.lang.String);
+ method public void setValue(int, java.lang.String);
+ }
+
+ public class DefaultHandler implements org.xml.sax.ContentHandler org.xml.sax.DTDHandler org.xml.sax.EntityResolver org.xml.sax.ErrorHandler {
+ ctor public DefaultHandler();
+ method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+ method public void endDocument() throws org.xml.sax.SAXException;
+ method public void endElement(java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void endPrefixMapping(java.lang.String) throws org.xml.sax.SAXException;
+ method public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+ method public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+ method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+ method public void notationDecl(java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void processingInstruction(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public org.xml.sax.InputSource resolveEntity(java.lang.String, java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void setDocumentLocator(org.xml.sax.Locator);
+ method public void skippedEntity(java.lang.String) throws org.xml.sax.SAXException;
+ method public void startDocument() throws org.xml.sax.SAXException;
+ method public void startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes) throws org.xml.sax.SAXException;
+ method public void startPrefixMapping(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+ }
+
+ public class LocatorImpl implements org.xml.sax.Locator {
+ ctor public LocatorImpl();
+ ctor public LocatorImpl(org.xml.sax.Locator);
+ method public int getColumnNumber();
+ method public int getLineNumber();
+ method public java.lang.String getPublicId();
+ method public java.lang.String getSystemId();
+ method public void setColumnNumber(int);
+ method public void setLineNumber(int);
+ method public void setPublicId(java.lang.String);
+ method public void setSystemId(java.lang.String);
+ }
+
+ public class NamespaceSupport {
+ ctor public NamespaceSupport();
+ method public boolean declarePrefix(java.lang.String, java.lang.String);
+ method public java.util.Enumeration getDeclaredPrefixes();
+ method public java.lang.String getPrefix(java.lang.String);
+ method public java.util.Enumeration getPrefixes();
+ method public java.util.Enumeration getPrefixes(java.lang.String);
+ method public java.lang.String getURI(java.lang.String);
+ method public boolean isNamespaceDeclUris();
+ method public void popContext();
+ method public java.lang.String[] processName(java.lang.String, java.lang.String[], boolean);
+ method public void pushContext();
+ method public void reset();
+ method public void setNamespaceDeclUris(boolean);
+ field public static final java.lang.String NSDECL = "http://www.w3.org/xmlns/2000/";
+ field public static final java.lang.String XMLNS = "http://www.w3.org/XML/1998/namespace";
+ }
+
+ public class ParserAdapter implements org.xml.sax.DocumentHandler org.xml.sax.XMLReader {
+ ctor public ParserAdapter() throws org.xml.sax.SAXException;
+ ctor public ParserAdapter(org.xml.sax.Parser);
+ method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+ method public void endDocument() throws org.xml.sax.SAXException;
+ method public void endElement(java.lang.String) throws org.xml.sax.SAXException;
+ method public org.xml.sax.ContentHandler getContentHandler();
+ method public org.xml.sax.DTDHandler getDTDHandler();
+ method public org.xml.sax.EntityResolver getEntityResolver();
+ method public org.xml.sax.ErrorHandler getErrorHandler();
+ method public boolean getFeature(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public java.lang.Object getProperty(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+ method public void parse(java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void processingInstruction(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void setContentHandler(org.xml.sax.ContentHandler);
+ method public void setDTDHandler(org.xml.sax.DTDHandler);
+ method public void setDocumentLocator(org.xml.sax.Locator);
+ method public void setEntityResolver(org.xml.sax.EntityResolver);
+ method public void setErrorHandler(org.xml.sax.ErrorHandler);
+ method public void setFeature(java.lang.String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public void setProperty(java.lang.String, java.lang.Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public void startDocument() throws org.xml.sax.SAXException;
+ method public void startElement(java.lang.String, org.xml.sax.AttributeList) throws org.xml.sax.SAXException;
+ }
+
+ public deprecated class ParserFactory {
+ method public static org.xml.sax.Parser makeParser() throws java.lang.ClassCastException, java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.NullPointerException;
+ method public static org.xml.sax.Parser makeParser(java.lang.String) throws java.lang.ClassCastException, java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+ }
+
+ public class XMLFilterImpl implements org.xml.sax.ContentHandler org.xml.sax.DTDHandler org.xml.sax.EntityResolver org.xml.sax.ErrorHandler org.xml.sax.XMLFilter {
+ ctor public XMLFilterImpl();
+ ctor public XMLFilterImpl(org.xml.sax.XMLReader);
+ method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+ method public void endDocument() throws org.xml.sax.SAXException;
+ method public void endElement(java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void endPrefixMapping(java.lang.String) throws org.xml.sax.SAXException;
+ method public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+ method public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+ method public org.xml.sax.ContentHandler getContentHandler();
+ method public org.xml.sax.DTDHandler getDTDHandler();
+ method public org.xml.sax.EntityResolver getEntityResolver();
+ method public org.xml.sax.ErrorHandler getErrorHandler();
+ method public boolean getFeature(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public org.xml.sax.XMLReader getParent();
+ method public java.lang.Object getProperty(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+ method public void notationDecl(java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parse(java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void processingInstruction(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public org.xml.sax.InputSource resolveEntity(java.lang.String, java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void setContentHandler(org.xml.sax.ContentHandler);
+ method public void setDTDHandler(org.xml.sax.DTDHandler);
+ method public void setDocumentLocator(org.xml.sax.Locator);
+ method public void setEntityResolver(org.xml.sax.EntityResolver);
+ method public void setErrorHandler(org.xml.sax.ErrorHandler);
+ method public void setFeature(java.lang.String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public void setParent(org.xml.sax.XMLReader);
+ method public void setProperty(java.lang.String, java.lang.Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public void skippedEntity(java.lang.String) throws org.xml.sax.SAXException;
+ method public void startDocument() throws org.xml.sax.SAXException;
+ method public void startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes) throws org.xml.sax.SAXException;
+ method public void startPrefixMapping(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+ }
+
+ public class XMLReaderAdapter implements org.xml.sax.ContentHandler org.xml.sax.Parser {
+ ctor public XMLReaderAdapter() throws org.xml.sax.SAXException;
+ ctor public XMLReaderAdapter(org.xml.sax.XMLReader);
+ method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+ method public void endDocument() throws org.xml.sax.SAXException;
+ method public void endElement(java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void endPrefixMapping(java.lang.String);
+ method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+ method public void parse(java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void processingInstruction(java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ method public void setDTDHandler(org.xml.sax.DTDHandler);
+ method public void setDocumentHandler(org.xml.sax.DocumentHandler);
+ method public void setDocumentLocator(org.xml.sax.Locator);
+ method public void setEntityResolver(org.xml.sax.EntityResolver);
+ method public void setErrorHandler(org.xml.sax.ErrorHandler);
+ method public void setLocale(java.util.Locale) throws org.xml.sax.SAXException;
+ method public void skippedEntity(java.lang.String) throws org.xml.sax.SAXException;
+ method public void startDocument() throws org.xml.sax.SAXException;
+ method public void startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes) throws org.xml.sax.SAXException;
+ method public void startPrefixMapping(java.lang.String, java.lang.String);
+ }
+
+ public final class XMLReaderFactory {
+ method public static org.xml.sax.XMLReader createXMLReader() throws org.xml.sax.SAXException;
+ method public static org.xml.sax.XMLReader createXMLReader(java.lang.String) throws org.xml.sax.SAXException;
+ }
+
+}
+
+package org.xmlpull.v1 {
+
+ public abstract interface XmlPullParser {
+ method public abstract void defineEntityReplacementText(java.lang.String, java.lang.String) throws org.xmlpull.v1.XmlPullParserException;
+ method public abstract int getAttributeCount();
+ method public abstract java.lang.String getAttributeName(int);
+ method public abstract java.lang.String getAttributeNamespace(int);
+ method public abstract java.lang.String getAttributePrefix(int);
+ method public abstract java.lang.String getAttributeType(int);
+ method public abstract java.lang.String getAttributeValue(int);
+ method public abstract java.lang.String getAttributeValue(java.lang.String, java.lang.String);
+ method public abstract int getColumnNumber();
+ method public abstract int getDepth();
+ method public abstract int getEventType() throws org.xmlpull.v1.XmlPullParserException;
+ method public abstract boolean getFeature(java.lang.String);
+ method public abstract java.lang.String getInputEncoding();
+ method public abstract int getLineNumber();
+ method public abstract java.lang.String getName();
+ method public abstract java.lang.String getNamespace(java.lang.String);
+ method public abstract java.lang.String getNamespace();
+ method public abstract int getNamespaceCount(int) throws org.xmlpull.v1.XmlPullParserException;
+ method public abstract java.lang.String getNamespacePrefix(int) throws org.xmlpull.v1.XmlPullParserException;
+ method public abstract java.lang.String getNamespaceUri(int) throws org.xmlpull.v1.XmlPullParserException;
+ method public abstract java.lang.String getPositionDescription();
+ method public abstract java.lang.String getPrefix();
+ method public abstract java.lang.Object getProperty(java.lang.String);
+ method public abstract java.lang.String getText();
+ method public abstract char[] getTextCharacters(int[]);
+ method public abstract boolean isAttributeDefault(int);
+ method public abstract boolean isEmptyElementTag() throws org.xmlpull.v1.XmlPullParserException;
+ method public abstract boolean isWhitespace() throws org.xmlpull.v1.XmlPullParserException;
+ method public abstract int next() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public abstract int nextTag() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public abstract java.lang.String nextText() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public abstract int nextToken() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public abstract void require(int, java.lang.String, java.lang.String) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public abstract void setFeature(java.lang.String, boolean) throws org.xmlpull.v1.XmlPullParserException;
+ method public abstract void setInput(java.io.Reader) throws org.xmlpull.v1.XmlPullParserException;
+ method public abstract void setInput(java.io.InputStream, java.lang.String) throws org.xmlpull.v1.XmlPullParserException;
+ method public abstract void setProperty(java.lang.String, java.lang.Object) throws org.xmlpull.v1.XmlPullParserException;
+ field public static final int CDSECT = 5; // 0x5
+ field public static final int COMMENT = 9; // 0x9
+ field public static final int DOCDECL = 10; // 0xa
+ field public static final int END_DOCUMENT = 1; // 0x1
+ field public static final int END_TAG = 3; // 0x3
+ field public static final int ENTITY_REF = 6; // 0x6
+ field public static final java.lang.String FEATURE_PROCESS_DOCDECL = "http://xmlpull.org/v1/doc/features.html#process-docdecl";
+ field public static final java.lang.String FEATURE_PROCESS_NAMESPACES = "http://xmlpull.org/v1/doc/features.html#process-namespaces";
+ field public static final java.lang.String FEATURE_REPORT_NAMESPACE_ATTRIBUTES = "http://xmlpull.org/v1/doc/features.html#report-namespace-prefixes";
+ field public static final java.lang.String FEATURE_VALIDATION = "http://xmlpull.org/v1/doc/features.html#validation";
+ field public static final int IGNORABLE_WHITESPACE = 7; // 0x7
+ field public static final java.lang.String NO_NAMESPACE = "";
+ field public static final int PROCESSING_INSTRUCTION = 8; // 0x8
+ field public static final int START_DOCUMENT = 0; // 0x0
+ field public static final int START_TAG = 2; // 0x2
+ field public static final int TEXT = 4; // 0x4
+ field public static final java.lang.String[] TYPES;
+ }
+
+ public class XmlPullParserException extends java.lang.Exception {
+ ctor public XmlPullParserException(java.lang.String);
+ ctor public XmlPullParserException(java.lang.String, org.xmlpull.v1.XmlPullParser, java.lang.Throwable);
+ method public int getColumnNumber();
+ method public java.lang.Throwable getDetail();
+ method public int getLineNumber();
+ field protected int column;
+ field protected java.lang.Throwable detail;
+ field protected int row;
+ }
+
+ public class XmlPullParserFactory {
+ ctor protected XmlPullParserFactory();
+ method public boolean getFeature(java.lang.String);
+ method public boolean isNamespaceAware();
+ method public boolean isValidating();
+ method public static org.xmlpull.v1.XmlPullParserFactory newInstance() throws org.xmlpull.v1.XmlPullParserException;
+ method public static org.xmlpull.v1.XmlPullParserFactory newInstance(java.lang.String, java.lang.Class) throws org.xmlpull.v1.XmlPullParserException;
+ method public org.xmlpull.v1.XmlPullParser newPullParser() throws org.xmlpull.v1.XmlPullParserException;
+ method public org.xmlpull.v1.XmlSerializer newSerializer() throws org.xmlpull.v1.XmlPullParserException;
+ method public void setFeature(java.lang.String, boolean) throws org.xmlpull.v1.XmlPullParserException;
+ method public void setNamespaceAware(boolean);
+ method public void setValidating(boolean);
+ field public static final java.lang.String PROPERTY_NAME = "org.xmlpull.v1.XmlPullParserFactory";
+ field protected java.lang.String classNamesLocation;
+ field protected java.util.HashMap features;
+ field protected java.util.ArrayList parserClasses;
+ field protected java.util.ArrayList serializerClasses;
+ }
+
+ public abstract interface XmlSerializer {
+ method public abstract org.xmlpull.v1.XmlSerializer attribute(java.lang.String, java.lang.String, java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract void cdsect(java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract void comment(java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract void docdecl(java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract void endDocument() throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract org.xmlpull.v1.XmlSerializer endTag(java.lang.String, java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract void entityRef(java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract void flush() throws java.io.IOException;
+ method public abstract int getDepth();
+ method public abstract boolean getFeature(java.lang.String);
+ method public abstract java.lang.String getName();
+ method public abstract java.lang.String getNamespace();
+ method public abstract java.lang.String getPrefix(java.lang.String, boolean) throws java.lang.IllegalArgumentException;
+ method public abstract java.lang.Object getProperty(java.lang.String);
+ method public abstract void ignorableWhitespace(java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract void processingInstruction(java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract void setFeature(java.lang.String, boolean) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract void setOutput(java.io.OutputStream, java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract void setOutput(java.io.Writer) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract void setPrefix(java.lang.String, java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract void setProperty(java.lang.String, java.lang.Object) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract void startDocument(java.lang.String, java.lang.Boolean) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract org.xmlpull.v1.XmlSerializer startTag(java.lang.String, java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract org.xmlpull.v1.XmlSerializer text(java.lang.String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ method public abstract org.xmlpull.v1.XmlSerializer text(char[], int, int) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+ }
+
+}
+
+package org.xmlpull.v1.sax2 {
+
+ public class Driver implements org.xml.sax.Attributes org.xml.sax.Locator org.xml.sax.XMLReader {
+ ctor public Driver() throws org.xmlpull.v1.XmlPullParserException;
+ ctor public Driver(org.xmlpull.v1.XmlPullParser) throws org.xmlpull.v1.XmlPullParserException;
+ method public int getColumnNumber();
+ method public org.xml.sax.ContentHandler getContentHandler();
+ method public org.xml.sax.DTDHandler getDTDHandler();
+ method public org.xml.sax.EntityResolver getEntityResolver();
+ method public org.xml.sax.ErrorHandler getErrorHandler();
+ method public boolean getFeature(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public int getIndex(java.lang.String, java.lang.String);
+ method public int getIndex(java.lang.String);
+ method public int getLength();
+ method public int getLineNumber();
+ method public java.lang.String getLocalName(int);
+ method public java.lang.Object getProperty(java.lang.String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public java.lang.String getPublicId();
+ method public java.lang.String getQName(int);
+ method public java.lang.String getSystemId();
+ method public java.lang.String getType(int);
+ method public java.lang.String getType(java.lang.String, java.lang.String);
+ method public java.lang.String getType(java.lang.String);
+ method public java.lang.String getURI(int);
+ method public java.lang.String getValue(int);
+ method public java.lang.String getValue(java.lang.String, java.lang.String);
+ method public java.lang.String getValue(java.lang.String);
+ method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parse(java.lang.String) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void parseSubTree(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xml.sax.SAXException;
+ method public void setContentHandler(org.xml.sax.ContentHandler);
+ method public void setDTDHandler(org.xml.sax.DTDHandler);
+ method public void setEntityResolver(org.xml.sax.EntityResolver);
+ method public void setErrorHandler(org.xml.sax.ErrorHandler);
+ method public void setFeature(java.lang.String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method public void setProperty(java.lang.String, java.lang.Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+ method protected void startElement(java.lang.String, java.lang.String, java.lang.String) throws org.xml.sax.SAXException;
+ field protected static final java.lang.String APACHE_DYNAMIC_VALIDATION_FEATURE = "http://apache.org/xml/features/validation/dynamic";
+ field protected static final java.lang.String APACHE_SCHEMA_VALIDATION_FEATURE = "http://apache.org/xml/features/validation/schema";
+ field protected static final java.lang.String DECLARATION_HANDLER_PROPERTY = "http://xml.org/sax/properties/declaration-handler";
+ field protected static final java.lang.String LEXICAL_HANDLER_PROPERTY = "http://xml.org/sax/properties/lexical-handler";
+ field protected static final java.lang.String NAMESPACES_FEATURE = "http://xml.org/sax/features/namespaces";
+ field protected static final java.lang.String NAMESPACE_PREFIXES_FEATURE = "http://xml.org/sax/features/namespace-prefixes";
+ field protected static final java.lang.String VALIDATION_FEATURE = "http://xml.org/sax/features/validation";
+ field protected org.xml.sax.ContentHandler contentHandler;
+ field protected org.xml.sax.ErrorHandler errorHandler;
+ field protected org.xmlpull.v1.XmlPullParser pp;
+ field protected java.lang.String systemId;
+ }
+
+}
+
diff --git a/api/current.txt b/api/current.txt
index 92969f6ee99f..fe0699c9abc4 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -3245,6 +3245,7 @@ package android.app {
method public final boolean isInLayout();
method public final boolean isRemoving();
method public final boolean isResumed();
+ method public boolean isStartDeferred();
method public final boolean isVisible();
method public void onActivityCreated(android.os.Bundle);
method public void onActivityResult(int, int, android.content.Intent);
@@ -3280,6 +3281,7 @@ package android.app {
method public void setInitialSavedState(android.app.Fragment.SavedState);
method public void setMenuVisibility(boolean);
method public void setRetainInstance(boolean);
+ method public void setStartDeferred(boolean);
method public void setTargetFragment(android.app.Fragment, int);
method public void startActivity(android.content.Intent);
method public void startActivityForResult(android.content.Intent, int);
@@ -5085,7 +5087,7 @@ package android.content {
field public static final java.lang.String ALARM_SERVICE = "alarm";
field public static final java.lang.String AUDIO_SERVICE = "audio";
field public static final int BIND_ABOVE_CLIENT = 8; // 0x8
- field public static final int BIND_ADJUST_WITH_ACTIVITY = 64; // 0x40
+ field public static final int BIND_ADJUST_WITH_ACTIVITY = 128; // 0x80
field public static final int BIND_ALLOW_OOM_MANAGEMENT = 16; // 0x10
field public static final int BIND_AUTO_CREATE = 1; // 0x1
field public static final int BIND_DEBUG_UNBIND = 2; // 0x2
@@ -6782,6 +6784,13 @@ package android.database {
method public abstract boolean onMove(int, int);
}
+ public class CrossProcessCursorWrapper extends android.database.CursorWrapper implements android.database.CrossProcessCursor {
+ ctor public CrossProcessCursorWrapper(android.database.Cursor);
+ method public void fillWindow(int, android.database.CursorWindow);
+ method public android.database.CursorWindow getWindow();
+ method public boolean onMove(int, int);
+ }
+
public abstract interface Cursor {
method public abstract void close();
method public abstract void copyStringToBuffer(int, android.database.CharArrayBuffer);
@@ -6851,7 +6860,8 @@ package android.database {
}
public class CursorWindow extends android.database.sqlite.SQLiteClosable implements android.os.Parcelable {
- ctor public CursorWindow(boolean);
+ ctor public CursorWindow(java.lang.String);
+ ctor public deprecated CursorWindow(boolean);
method public boolean allocRow();
method public void clear();
method public void close();
@@ -9356,6 +9366,7 @@ package android.hardware {
method public java.util.List<android.hardware.Camera.Size> getSupportedVideoSizes();
method public java.util.List<java.lang.String> getSupportedWhiteBalance();
method public float getVerticalViewAngle();
+ method public boolean getVideoStabilization();
method public java.lang.String getWhiteBalance();
method public int getZoom();
method public java.util.List<java.lang.Integer> getZoomRatios();
@@ -9363,6 +9374,7 @@ package android.hardware {
method public boolean isAutoWhiteBalanceLockSupported();
method public boolean isSmoothZoomSupported();
method public boolean isVideoSnapshotSupported();
+ method public boolean isVideoStabilizationSupported();
method public boolean isZoomSupported();
method public void remove(java.lang.String);
method public void removeGpsData();
@@ -9394,6 +9406,7 @@ package android.hardware {
method public void setRecordingHint(boolean);
method public void setRotation(int);
method public void setSceneMode(java.lang.String);
+ method public void setVideoStabilization(boolean);
method public void setWhiteBalance(java.lang.String);
method public void setZoom(int);
method public void unflatten(java.lang.String);
@@ -10529,6 +10542,7 @@ package android.media {
field public static final int QUALITY_HIGH = 1; // 0x1
field public static final int QUALITY_LOW = 0; // 0x0
field public static final int QUALITY_QCIF = 2; // 0x2
+ field public static final int QUALITY_QVGA = 7; // 0x7
field public static final int QUALITY_TIME_LAPSE_1080P = 1006; // 0x3ee
field public static final int QUALITY_TIME_LAPSE_480P = 1004; // 0x3ec
field public static final int QUALITY_TIME_LAPSE_720P = 1005; // 0x3ed
@@ -10536,6 +10550,7 @@ package android.media {
field public static final int QUALITY_TIME_LAPSE_HIGH = 1001; // 0x3e9
field public static final int QUALITY_TIME_LAPSE_LOW = 1000; // 0x3e8
field public static final int QUALITY_TIME_LAPSE_QCIF = 1002; // 0x3ea
+ field public static final int QUALITY_TIME_LAPSE_QVGA = 1007; // 0x3ef
field public int audioBitRate;
field public int audioChannels;
field public int audioCodec;
@@ -15720,6 +15735,7 @@ package android.provider {
field public static final int TYPE_NONE = 0; // 0x0
field public static final int TYPE_OPTIONAL = 2; // 0x2
field public static final int TYPE_REQUIRED = 1; // 0x1
+ field public static final int TYPE_RESOURCE = 3; // 0x3
}
public static final class CalendarContract.CalendarAlerts implements android.provider.BaseColumns android.provider.CalendarContract.CalendarAlertsColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.EventsColumns {
@@ -15758,9 +15774,12 @@ package android.provider {
}
protected static abstract interface CalendarContract.CalendarColumns {
+ field public static final java.lang.String ALLOWED_ATTENDEE_TYPES = "allowedAttendeeTypes";
+ field public static final java.lang.String ALLOWED_AVAILABILITY = "allowedAvailability";
field public static final java.lang.String ALLOWED_REMINDERS = "allowedReminders";
field public static final java.lang.String CALENDAR_ACCESS_LEVEL = "calendar_access_level";
field public static final java.lang.String CALENDAR_COLOR = "calendar_color";
+ field public static final java.lang.String CALENDAR_COLOR_KEY = "calendar_color_index";
field public static final java.lang.String CALENDAR_DISPLAY_NAME = "calendar_displayName";
field public static final java.lang.String CALENDAR_TIME_ZONE = "calendar_timezone";
field public static final int CAL_ACCESS_CONTRIBUTOR = 500; // 0x1f4
@@ -15805,6 +15824,18 @@ package android.provider {
field public static final java.lang.String NAME = "name";
}
+ public static final class CalendarContract.Colors implements android.provider.CalendarContract.ColorsColumns {
+ field public static final android.net.Uri CONTENT_URI;
+ }
+
+ protected static abstract interface CalendarContract.ColorsColumns implements android.provider.SyncStateContract.Columns {
+ field public static final java.lang.String COLOR = "color";
+ field public static final java.lang.String COLOR_KEY = "color_index";
+ field public static final java.lang.String COLOR_TYPE = "color_type";
+ field public static final int TYPE_CALENDAR = 0; // 0x0
+ field public static final int TYPE_EVENT = 1; // 0x1
+ }
+
public static final class CalendarContract.EventDays implements android.provider.CalendarContract.EventDaysColumns {
method public static final android.database.Cursor query(android.content.ContentResolver, int, int, java.lang.String[]);
field public static final android.net.Uri CONTENT_URI;
@@ -15830,6 +15861,7 @@ package android.provider {
field public static final java.lang.String AVAILABILITY = "availability";
field public static final int AVAILABILITY_BUSY = 0; // 0x0
field public static final int AVAILABILITY_FREE = 1; // 0x1
+ field public static final int AVAILABILITY_TENTATIVE = 2; // 0x2
field public static final java.lang.String CALENDAR_ID = "calendar_id";
field public static final java.lang.String CAN_INVITE_OTHERS = "canInviteOthers";
field public static final java.lang.String DESCRIPTION = "description";
@@ -15837,6 +15869,7 @@ package android.provider {
field public static final java.lang.String DTSTART = "dtstart";
field public static final java.lang.String DURATION = "duration";
field public static final java.lang.String EVENT_COLOR = "eventColor";
+ field public static final java.lang.String EVENT_COLOR_KEY = "eventColor_index";
field public static final java.lang.String EVENT_END_TIMEZONE = "eventEndTimezone";
field public static final java.lang.String EVENT_LOCATION = "eventLocation";
field public static final java.lang.String EVENT_TIMEZONE = "eventTimezone";
@@ -18639,6 +18672,7 @@ package android.service.wallpaper {
method public void onSurfaceRedrawNeeded(android.view.SurfaceHolder);
method public void onTouchEvent(android.view.MotionEvent);
method public void onVisibilityChanged(boolean);
+ method public void setOffsetNotificationsEnabled(boolean);
method public void setTouchEventsEnabled(boolean);
}
@@ -21018,6 +21052,7 @@ package android.text.style {
method public void writeToParcel(android.os.Parcel, int);
field public static final java.lang.String ACTION_SUGGESTION_PICKED = "android.text.style.SUGGESTION_PICKED";
field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int FLAG_AUTO_CORRECTION = 4; // 0x4
field public static final int FLAG_EASY_CORRECT = 1; // 0x1
field public static final int FLAG_MISSPELLED = 2; // 0x2
field public static final int SUGGESTIONS_MAX_SIZE = 5; // 0x5
@@ -24082,6 +24117,8 @@ package android.view.accessibility {
method public int getCurrentItemIndex();
method public int getFromIndex();
method public int getItemCount();
+ method public int getMaxScrollX();
+ method public int getMaxScrollY();
method public android.os.Parcelable getParcelableData();
method public int getRemovedCount();
method public int getScrollX();
@@ -24108,6 +24145,8 @@ package android.view.accessibility {
method public void setFromIndex(int);
method public void setFullScreen(boolean);
method public void setItemCount(int);
+ method public void setMaxScrollX(int);
+ method public void setMaxScrollY(int);
method public void setParcelableData(android.os.Parcelable);
method public void setPassword(boolean);
method public void setRemovedCount(int);
@@ -24749,6 +24788,7 @@ package android.view.textservice {
method public void setCookieAndSequence(int, int);
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final int RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS = 4; // 0x4
field public static final int RESULT_ATTR_IN_THE_DICTIONARY = 1; // 0x1
field public static final int RESULT_ATTR_LOOKS_LIKE_TYPO = 2; // 0x2
}
@@ -26770,6 +26810,7 @@ package android.widget {
method public void setChar(int, java.lang.String, char);
method public void setCharSequence(int, java.lang.String, java.lang.CharSequence);
method public void setChronometer(int, long, java.lang.String, boolean);
+ method public void setContentDescription(int, java.lang.CharSequence);
method public void setDisplayedChild(int, int);
method public void setDouble(int, java.lang.String, double);
method public void setEmptyView(int, int);
diff --git a/cmds/am/src/com/android/commands/am/Am.java b/cmds/am/src/com/android/commands/am/Am.java
index 293116cb671e..4f722893d453 100644
--- a/cmds/am/src/com/android/commands/am/Am.java
+++ b/cmds/am/src/com/android/commands/am/Am.java
@@ -60,6 +60,8 @@ public class Am {
private boolean mWaitOption = false;
private boolean mStopOption = false;
+ private int mRepeat = 0;
+
private String mProfileFile;
private boolean mProfileAutoStop;
@@ -133,6 +135,7 @@ public class Am {
mDebugOption = false;
mWaitOption = false;
mStopOption = false;
+ mRepeat = 0;
mProfileFile = null;
Uri data = null;
String type = null;
@@ -263,6 +266,8 @@ public class Am {
} else if (opt.equals("--start-profiler")) {
mProfileFile = nextArgRequired();
mProfileAutoStop = false;
+ } else if (opt.equals("-R")) {
+ mRepeat = Integer.parseInt(nextArgRequired());
} else if (opt.equals("-S")) {
mStopOption = true;
} else {
@@ -335,138 +340,144 @@ public class Am {
mimeType = mAm.getProviderMimeType(intent.getData());
}
- if (mStopOption) {
- String packageName;
- if (intent.getComponent() != null) {
- packageName = intent.getComponent().getPackageName();
- } else {
- IPackageManager pm = IPackageManager.Stub.asInterface(
- ServiceManager.getService("package"));
- if (pm == null) {
- System.err.println("Error: Package manager not running; aborting");
- return;
+ do {
+ if (mStopOption) {
+ String packageName;
+ if (intent.getComponent() != null) {
+ packageName = intent.getComponent().getPackageName();
+ } else {
+ IPackageManager pm = IPackageManager.Stub.asInterface(
+ ServiceManager.getService("package"));
+ if (pm == null) {
+ System.err.println("Error: Package manager not running; aborting");
+ return;
+ }
+ List<ResolveInfo> activities = pm.queryIntentActivities(intent, mimeType, 0);
+ if (activities == null || activities.size() <= 0) {
+ System.err.println("Error: Intent does not match any activities: "
+ + intent);
+ return;
+ } else if (activities.size() > 1) {
+ System.err.println("Error: Intent matches multiple activities; can't stop: "
+ + intent);
+ return;
+ }
+ packageName = activities.get(0).activityInfo.packageName;
}
- List<ResolveInfo> activities = pm.queryIntentActivities(intent, mimeType, 0);
- if (activities == null || activities.size() <= 0) {
- System.err.println("Error: Intent does not match any activities: "
- + intent);
- return;
- } else if (activities.size() > 1) {
- System.err.println("Error: Intent matches multiple activities; can't stop: "
- + intent);
+ System.out.println("Stopping: " + packageName);
+ mAm.forceStopPackage(packageName);
+ Thread.sleep(250);
+ }
+
+ System.out.println("Starting: " + intent);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+
+ ParcelFileDescriptor fd = null;
+
+ if (mProfileFile != null) {
+ try {
+ fd = ParcelFileDescriptor.open(
+ new File(mProfileFile),
+ ParcelFileDescriptor.MODE_CREATE |
+ ParcelFileDescriptor.MODE_TRUNCATE |
+ ParcelFileDescriptor.MODE_READ_WRITE);
+ } catch (FileNotFoundException e) {
+ System.err.println("Error: Unable to open file: " + mProfileFile);
return;
}
- packageName = activities.get(0).activityInfo.packageName;
- }
- System.out.println("Stopping: " + packageName);
- mAm.forceStopPackage(packageName);
- Thread.sleep(250);
- }
-
- System.out.println("Starting: " + intent);
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-
- ParcelFileDescriptor fd = null;
-
- if (mProfileFile != null) {
- try {
- fd = ParcelFileDescriptor.open(
- new File(mProfileFile),
- ParcelFileDescriptor.MODE_CREATE |
- ParcelFileDescriptor.MODE_TRUNCATE |
- ParcelFileDescriptor.MODE_READ_WRITE);
- } catch (FileNotFoundException e) {
- System.err.println("Error: Unable to open file: " + mProfileFile);
- return;
}
- }
-
- IActivityManager.WaitResult result = null;
- int res;
- if (mWaitOption) {
- result = mAm.startActivityAndWait(null, intent, mimeType,
+
+ IActivityManager.WaitResult result = null;
+ int res;
+ if (mWaitOption) {
+ result = mAm.startActivityAndWait(null, intent, mimeType,
+ null, 0, null, null, 0, false, mDebugOption,
+ mProfileFile, fd, mProfileAutoStop);
+ res = result.result;
+ } else {
+ res = mAm.startActivity(null, intent, mimeType,
null, 0, null, null, 0, false, mDebugOption,
mProfileFile, fd, mProfileAutoStop);
- res = result.result;
- } else {
- res = mAm.startActivity(null, intent, mimeType,
- null, 0, null, null, 0, false, mDebugOption,
- mProfileFile, fd, mProfileAutoStop);
- }
- PrintStream out = mWaitOption ? System.out : System.err;
- boolean launched = false;
- switch (res) {
- case IActivityManager.START_SUCCESS:
- launched = true;
- break;
- case IActivityManager.START_SWITCHES_CANCELED:
- launched = true;
- out.println(
- "Warning: Activity not started because the "
- + " current activity is being kept for the user.");
- break;
- case IActivityManager.START_DELIVERED_TO_TOP:
- launched = true;
- out.println(
- "Warning: Activity not started, intent has "
- + "been delivered to currently running "
- + "top-most instance.");
- break;
- case IActivityManager.START_RETURN_INTENT_TO_CALLER:
- launched = true;
- out.println(
- "Warning: Activity not started because intent "
- + "should be handled by the caller");
- break;
- case IActivityManager.START_TASK_TO_FRONT:
- launched = true;
- out.println(
- "Warning: Activity not started, its current "
- + "task has been brought to the front");
- break;
- case IActivityManager.START_INTENT_NOT_RESOLVED:
- out.println(
- "Error: Activity not started, unable to "
- + "resolve " + intent.toString());
- break;
- case IActivityManager.START_CLASS_NOT_FOUND:
- out.println(NO_CLASS_ERROR_CODE);
- out.println("Error: Activity class " +
- intent.getComponent().toShortString()
- + " does not exist.");
- break;
- case IActivityManager.START_FORWARD_AND_REQUEST_CONFLICT:
- out.println(
- "Error: Activity not started, you requested to "
- + "both forward and receive its result");
- break;
- case IActivityManager.START_PERMISSION_DENIED:
- out.println(
- "Error: Activity not started, you do not "
- + "have permission to access it.");
- break;
- default:
- out.println(
- "Error: Activity not started, unknown error code " + res);
- break;
- }
- if (mWaitOption && launched) {
- if (result == null) {
- result = new IActivityManager.WaitResult();
- result.who = intent.getComponent();
}
- System.out.println("Status: " + (result.timeout ? "timeout" : "ok"));
- if (result.who != null) {
- System.out.println("Activity: " + result.who.flattenToShortString());
+ PrintStream out = mWaitOption ? System.out : System.err;
+ boolean launched = false;
+ switch (res) {
+ case IActivityManager.START_SUCCESS:
+ launched = true;
+ break;
+ case IActivityManager.START_SWITCHES_CANCELED:
+ launched = true;
+ out.println(
+ "Warning: Activity not started because the "
+ + " current activity is being kept for the user.");
+ break;
+ case IActivityManager.START_DELIVERED_TO_TOP:
+ launched = true;
+ out.println(
+ "Warning: Activity not started, intent has "
+ + "been delivered to currently running "
+ + "top-most instance.");
+ break;
+ case IActivityManager.START_RETURN_INTENT_TO_CALLER:
+ launched = true;
+ out.println(
+ "Warning: Activity not started because intent "
+ + "should be handled by the caller");
+ break;
+ case IActivityManager.START_TASK_TO_FRONT:
+ launched = true;
+ out.println(
+ "Warning: Activity not started, its current "
+ + "task has been brought to the front");
+ break;
+ case IActivityManager.START_INTENT_NOT_RESOLVED:
+ out.println(
+ "Error: Activity not started, unable to "
+ + "resolve " + intent.toString());
+ break;
+ case IActivityManager.START_CLASS_NOT_FOUND:
+ out.println(NO_CLASS_ERROR_CODE);
+ out.println("Error: Activity class " +
+ intent.getComponent().toShortString()
+ + " does not exist.");
+ break;
+ case IActivityManager.START_FORWARD_AND_REQUEST_CONFLICT:
+ out.println(
+ "Error: Activity not started, you requested to "
+ + "both forward and receive its result");
+ break;
+ case IActivityManager.START_PERMISSION_DENIED:
+ out.println(
+ "Error: Activity not started, you do not "
+ + "have permission to access it.");
+ break;
+ default:
+ out.println(
+ "Error: Activity not started, unknown error code " + res);
+ break;
}
- if (result.thisTime >= 0) {
- System.out.println("ThisTime: " + result.thisTime);
+ if (mWaitOption && launched) {
+ if (result == null) {
+ result = new IActivityManager.WaitResult();
+ result.who = intent.getComponent();
+ }
+ System.out.println("Status: " + (result.timeout ? "timeout" : "ok"));
+ if (result.who != null) {
+ System.out.println("Activity: " + result.who.flattenToShortString());
+ }
+ if (result.thisTime >= 0) {
+ System.out.println("ThisTime: " + result.thisTime);
+ }
+ if (result.totalTime >= 0) {
+ System.out.println("TotalTime: " + result.totalTime);
+ }
+ System.out.println("Complete");
}
- if (result.totalTime >= 0) {
- System.out.println("TotalTime: " + result.totalTime);
+ mRepeat--;
+ if (mRepeat > 1) {
+ mAm.unhandledBack();
}
- System.out.println("Complete");
- }
+ } while (mRepeat > 1);
}
private void runForceStop() throws Exception {
@@ -1164,7 +1175,8 @@ public class Am {
private static void showUsage() {
System.err.println(
"usage: am [subcommand] [options]\n" +
- "usage: am start [-D] [-W] [-P <FILE>] [--start-profiler <FILE>] [-S] <INTENT>\n" +
+ "usage: am start [-D] [-W] [-P <FILE>] [--start-profiler <FILE>]\n" +
+ " [--R COUNT] [-S] <INTENT>\n" +
" am startservice <INTENT>\n" +
" am force-stop <PACKAGE>\n" +
" am broadcast <INTENT>\n" +
@@ -1182,6 +1194,8 @@ public class Am {
" -W: wait for launch to complete\n" +
" --start-profiler <FILE>: start profiler and send results to <FILE>\n" +
" -P <FILE>: like above, but profiling stops when app goes idle\n" +
+ " -R: repeat the activity launch <COUNT> times. Prior to each repeat,\n" +
+ " the top activity will be finished.\n" +
" -S: force stop the target app before starting the activity\n" +
"\n" +
"am startservice: start a Service.\n" +
diff --git a/cmds/stagefright/stagefright.cpp b/cmds/stagefright/stagefright.cpp
index 528d197dd0fb..7cb8f62e62f3 100644
--- a/cmds/stagefright/stagefright.cpp
+++ b/cmds/stagefright/stagefright.cpp
@@ -30,7 +30,6 @@
#include <binder/ProcessState.h>
#include <media/IMediaPlayerService.h>
#include <media/stagefright/foundation/ALooper.h>
-#include "include/ARTSPController.h"
#include "include/LiveSession.h"
#include "include/NuCachedSource2.h"
#include <media/stagefright/AudioPlayer.h>
@@ -636,7 +635,6 @@ int main(int argc, char **argv) {
gDisplayHistogram = false;
sp<ALooper> looper;
- sp<ARTSPController> rtspController;
sp<LiveSession> liveSession;
int res;
@@ -948,7 +946,6 @@ int main(int argc, char **argv) {
sp<DataSource> dataSource = DataSource::CreateFromURI(filename);
if (strncasecmp(filename, "sine:", 5)
- && strncasecmp(filename, "rtsp://", 7)
&& strncasecmp(filename, "httplive://", 11)
&& dataSource == NULL) {
fprintf(stderr, "Unable to create data source.\n");
@@ -984,23 +981,7 @@ int main(int argc, char **argv) {
} else {
sp<MediaExtractor> extractor;
- if (!strncasecmp("rtsp://", filename, 7)) {
- if (looper == NULL) {
- looper = new ALooper;
- looper->start();
- }
-
- rtspController = new ARTSPController(looper);
- status_t err = rtspController->connect(filename);
- if (err != OK) {
- fprintf(stderr, "could not connect to rtsp server.\n");
- return -1;
- }
-
- extractor = rtspController.get();
-
- syncInfoPresent = false;
- } else if (!strncasecmp("httplive://", filename, 11)) {
+ if (!strncasecmp("httplive://", filename, 11)) {
String8 uri("http://");
uri.append(filename + 11);
@@ -1021,6 +1002,7 @@ int main(int argc, char **argv) {
syncInfoPresent = false;
} else {
extractor = MediaExtractor::Create(dataSource);
+
if (extractor == NULL) {
fprintf(stderr, "could not create extractor.\n");
return -1;
@@ -1116,13 +1098,6 @@ int main(int argc, char **argv) {
} else {
playSource(&client, mediaSource);
}
-
- if (rtspController != NULL) {
- rtspController->disconnect();
- rtspController.clear();
-
- sleep(3);
- }
}
if ((useSurfaceAlloc || useSurfaceTexAlloc) && !audioOnly) {
diff --git a/core/java/android/app/Fragment.java b/core/java/android/app/Fragment.java
index d423d9870577..9b01b7ffaf44 100644
--- a/core/java/android/app/Fragment.java
+++ b/core/java/android/app/Fragment.java
@@ -339,6 +339,7 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene
private static final HashMap<String, Class<?>> sClassMap =
new HashMap<String, Class<?>>();
+ static final int INVALID_STATE = -1; // Invalid state used as a null value.
static final int INITIALIZING = 0; // Not yet created.
static final int CREATED = 1; // Created.
static final int ACTIVITY_CREATED = 2; // The activity has finished its creation.
@@ -403,7 +404,7 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene
// The fragment manager we are associated with. Set as soon as the
// fragment is used in a transaction; cleared after it has been removed
// from all transactions.
- FragmentManager mFragmentManager;
+ FragmentManagerImpl mFragmentManager;
// Activity this fragment is attached to.
Activity mActivity;
@@ -453,6 +454,10 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene
// The View generated for this fragment.
View mView;
+ // Whether this fragment should defer starting until after other fragments
+ // have been started and their loaders are finished.
+ boolean mDeferStart;
+
LoaderManagerImpl mLoaderManager;
boolean mLoadersStarted;
boolean mCheckedForLoaderManager;
@@ -910,6 +915,34 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene
}
/**
+ * Set whether this fragment should enter the started state as normal or if
+ * start should be deferred until a system-determined convenient time, such
+ * as after any loaders have completed their work.
+ *
+ * <p>This option is not sticky across fragment starts; after a deferred start
+ * completes this option will be set to false.</p>
+ *
+ * @param deferResume true if this fragment can defer its resume until after others
+ */
+ public void setStartDeferred(boolean deferResume) {
+ if (mDeferStart && !deferResume) {
+ mFragmentManager.performPendingDeferredStart(this);
+ }
+ mDeferStart = deferResume;
+ }
+
+ /**
+ * Returns true if this fragment's move to the started state has been deferred.
+ * If this returns true it will be started once other fragments' loaders
+ * have finished running.
+ *
+ * @return true if this fragment's start has been deferred.
+ */
+ public boolean isStartDeferred() {
+ return mDeferStart;
+ }
+
+ /**
* Return the LoaderManager for this fragment, creating it if needed.
*/
public LoaderManager getLoaderManager() {
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java
index 3da4f29aeb28..85aec4ccb2e6 100644
--- a/core/java/android/app/FragmentManager.java
+++ b/core/java/android/app/FragmentManager.java
@@ -709,6 +709,13 @@ final class FragmentManagerImpl extends FragmentManager {
return AnimatorInflater.loadAnimator(mActivity, anim);
}
+ public void performPendingDeferredStart(Fragment f) {
+ if (f.mDeferStart) {
+ f.mDeferStart = false;
+ moveToState(f, mCurState, 0, 0);
+ }
+ }
+
void moveToState(Fragment f, int newState, int transit, int transitionStyle) {
// Fragments that are not currently added will sit in the onCreate() state.
if (!f.mAdded && newState > Fragment.CREATED) {
@@ -718,7 +725,10 @@ final class FragmentManagerImpl extends FragmentManager {
// While removing a fragment, we can't change it to a higher state.
newState = f.mState;
}
-
+ // Defer start if requested; don't allow it to move to STARTED or higher.
+ if (f.mDeferStart && newState > Fragment.STOPPED) {
+ newState = Fragment.STOPPED;
+ }
if (f.mState < newState) {
// For fragments that are created from a layout, when restoring from
// state we don't want to allow them to be created until they are
@@ -992,13 +1002,21 @@ final class FragmentManagerImpl extends FragmentManager {
mCurState = newState;
if (mActive != null) {
+ boolean loadersRunning = false;
for (int i=0; i<mActive.size(); i++) {
Fragment f = mActive.get(i);
if (f != null) {
moveToState(f, newState, transit, transitStyle);
+ if (f.mLoaderManager != null) {
+ loadersRunning |= f.mLoaderManager.hasRunningLoaders();
+ }
}
}
+ if (!loadersRunning) {
+ startPendingDeferredFragments();
+ }
+
if (mNeedMenuInvalidate && mActivity != null && mCurState == Fragment.RESUMED) {
mActivity.invalidateOptionsMenu();
mNeedMenuInvalidate = false;
@@ -1006,6 +1024,17 @@ final class FragmentManagerImpl extends FragmentManager {
}
}
+ void startPendingDeferredFragments() {
+ if (mActive == null) return;
+
+ for (int i=0; i<mActive.size(); i++) {
+ Fragment f = mActive.get(i);
+ if (f != null) {
+ performPendingDeferredStart(f);
+ }
+ }
+ }
+
void makeActive(Fragment f) {
if (f.mIndex >= 0) {
return;
diff --git a/core/java/android/app/LoaderManager.java b/core/java/android/app/LoaderManager.java
index 89e9dddc1456..1b8a4f5ceea8 100644
--- a/core/java/android/app/LoaderManager.java
+++ b/core/java/android/app/LoaderManager.java
@@ -418,6 +418,10 @@ class LoaderManagerImpl extends LoaderManager {
info.destroy();
mInactiveLoaders.remove(mId);
}
+
+ if (mActivity != null && !hasRunningLoaders()) {
+ mActivity.mFragments.startPendingDeferredFragments();
+ }
}
void callOnLoadFinished(Loader<Object> loader, Object data) {
@@ -677,6 +681,9 @@ class LoaderManagerImpl extends LoaderManager {
mInactiveLoaders.removeAt(idx);
info.destroy();
}
+ if (mActivity != null && !hasRunningLoaders()) {
+ mActivity.mFragments.startPendingDeferredFragments();
+ }
}
/**
@@ -820,4 +827,14 @@ class LoaderManagerImpl extends LoaderManager {
}
}
}
+
+ public boolean hasRunningLoaders() {
+ boolean loadersRunning = false;
+ final int count = mLoaders.size();
+ for (int i = 0; i < count; i++) {
+ final LoaderInfo li = mLoaders.valueAt(i);
+ loadersRunning |= li.mStarted && !li.mDeliveredData;
+ }
+ return loadersRunning;
+ }
}
diff --git a/core/java/android/app/SearchManager.java b/core/java/android/app/SearchManager.java
index 3290b9d5ad19..3aa159e71078 100644
--- a/core/java/android/app/SearchManager.java
+++ b/core/java/android/app/SearchManager.java
@@ -24,6 +24,7 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.database.Cursor;
+import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
@@ -498,8 +499,24 @@ public class SearchManager
ComponentName launchActivity,
Bundle appSearchData,
boolean globalSearch) {
+ startSearch(initialQuery, selectInitialQuery, launchActivity,
+ appSearchData, globalSearch, null);
+ }
+
+ /**
+ * As {@link #startSearch(String, boolean, ComponentName, Bundle, boolean)} but including
+ * source bounds for the global search intent.
+ *
+ * @hide
+ */
+ public void startSearch(String initialQuery,
+ boolean selectInitialQuery,
+ ComponentName launchActivity,
+ Bundle appSearchData,
+ boolean globalSearch,
+ Rect sourceBounds) {
if (globalSearch) {
- startGlobalSearch(initialQuery, selectInitialQuery, appSearchData);
+ startGlobalSearch(initialQuery, selectInitialQuery, appSearchData, sourceBounds);
return;
}
@@ -520,7 +537,7 @@ public class SearchManager
* Starts the global search activity.
*/
/* package */ void startGlobalSearch(String initialQuery, boolean selectInitialQuery,
- Bundle appSearchData) {
+ Bundle appSearchData, Rect sourceBounds) {
ComponentName globalSearchActivity = getGlobalSearchActivity();
if (globalSearchActivity == null) {
Log.w(TAG, "No global search activity found.");
@@ -546,6 +563,7 @@ public class SearchManager
if (selectInitialQuery) {
intent.putExtra(EXTRA_SELECT_QUERY, selectInitialQuery);
}
+ intent.setSourceBounds(sourceBounds);
try {
if (DBG) Log.d(TAG, "Starting global search: " + intent.toUri(0));
mContext.startActivity(intent);
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java
index e92334909847..cc3219b33f11 100644
--- a/core/java/android/content/ContentResolver.java
+++ b/core/java/android/content/ContentResolver.java
@@ -26,6 +26,7 @@ import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.AssetFileDescriptor;
import android.content.res.Resources;
import android.database.ContentObserver;
+import android.database.CrossProcessCursorWrapper;
import android.database.Cursor;
import android.database.CursorWrapper;
import android.database.IContentObserver;
@@ -1568,7 +1569,7 @@ public abstract class ContentResolver {
samplePercent);
}
- private final class CursorWrapperInner extends CursorWrapper {
+ private final class CursorWrapperInner extends CrossProcessCursorWrapper {
private final IContentProvider mContentProvider;
public static final String TAG="CursorWrapperInner";
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index 946858187257..bfbd0ac5ed05 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -185,7 +185,14 @@ public abstract class Context {
* used to reduce the amount that the client process's overall importance
* is used to impact it.
*/
- public static final int BIND_ADJUST_WITH_ACTIVITY = 0x0040;
+ public static final int BIND_ADJUST_WITH_ACTIVITY = 0x0080;
+
+ /**
+ * Flag for {@link #bindService}: Don't consider the bound service to be
+ * visible, even if the caller is visible.
+ * @hide
+ */
+ public static final int BIND_NOT_VISIBLE = 0x40000000;
/** Return an AssetManager instance for your application's package. */
public abstract AssetManager getAssets();
diff --git a/core/java/android/content/Loader.java b/core/java/android/content/Loader.java
index b962800da915..2d2a90d40ecf 100644
--- a/core/java/android/content/Loader.java
+++ b/core/java/android/content/Loader.java
@@ -183,6 +183,12 @@ public class Loader<D> {
}
/**
+ * This function will normally be called for you automatically by
+ * {@link android.app.LoaderManager} when the associated fragment/activity
+ * is being started. When using a Loader with {@link android.app.LoaderManager},
+ * you <em>must not</em> call this method yourself, or you will conflict
+ * with its management of the Loader.
+ *
* Starts an asynchronous load of the Loader's data. When the result
* is ready the callbacks will be called on the process's main thread.
* If a previous load has been completed and is still valid
@@ -232,7 +238,13 @@ public class Loader<D> {
}
/**
- * Stops delivery of updates until the next time {@link #startLoading()} is called.
+ * This function will normally be called for you automatically by
+ * {@link android.app.LoaderManager} when the associated fragment/activity
+ * is being stopped. When using a Loader with {@link android.app.LoaderManager},
+ * you <em>must not</em> call this method yourself, or you will conflict
+ * with its management of the Loader.
+ *
+ * <p>Stops delivery of updates until the next time {@link #startLoading()} is called.
* Implementations should <em>not</em> invalidate their data at this point --
* clients are still free to use the last data the loader reported. They will,
* however, typically stop reporting new data if the data changes; they can
@@ -260,6 +272,12 @@ public class Loader<D> {
}
/**
+ * This function will normally be called for you automatically by
+ * {@link android.app.LoaderManager} when restarting a Loader. When using
+ * a Loader with {@link android.app.LoaderManager},
+ * you <em>must not</em> call this method yourself, or you will conflict
+ * with its management of the Loader.
+ *
* Tell the Loader that it is being abandoned. This is called prior
* to {@link #reset} to have it retain its current data but not report
* any new data.
@@ -282,6 +300,12 @@ public class Loader<D> {
}
/**
+ * This function will normally be called for you automatically by
+ * {@link android.app.LoaderManager} when destroying a Loader. When using
+ * a Loader with {@link android.app.LoaderManager},
+ * you <em>must not</em> call this method yourself, or you will conflict
+ * with its management of the Loader.
+ *
* Resets the state of the Loader. The Loader should at this point free
* all of its resources, since it may never be called again; however, its
* {@link #startLoading()} may later be called at which point it must be
diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java
index 7d683a53f51d..b2909b322057 100644
--- a/core/java/android/content/SyncManager.java
+++ b/core/java/android/content/SyncManager.java
@@ -416,7 +416,8 @@ public class SyncManager implements OnAccountsUpdateListener {
intent.setComponent(syncAdapterInfo.componentName);
if (!mContext.bindService(intent,
new InitializerServiceConnection(account, authority, mContext, mMainHandler),
- Context.BIND_AUTO_CREATE | Context.BIND_NOT_FOREGROUND)) {
+ Context.BIND_AUTO_CREATE | Context.BIND_NOT_FOREGROUND
+ | Context.BIND_ALLOW_OOM_MANAGEMENT)) {
Log.w(TAG, "initializeSyncAdapter: failed to bind to " + intent);
}
}
@@ -971,7 +972,8 @@ public class SyncManager implements OnAccountsUpdateListener {
mContext, 0, new Intent(Settings.ACTION_SYNC_SETTINGS), 0));
mBound = true;
final boolean bindResult = mContext.bindService(intent, this,
- Context.BIND_AUTO_CREATE | Context.BIND_NOT_FOREGROUND);
+ Context.BIND_AUTO_CREATE | Context.BIND_NOT_FOREGROUND
+ | Context.BIND_ALLOW_OOM_MANAGEMENT);
if (!bindResult) {
mBound = false;
}
diff --git a/core/java/android/database/AbstractCursor.java b/core/java/android/database/AbstractCursor.java
index ee6aec6f0d2d..74fef2993272 100644
--- a/core/java/android/database/AbstractCursor.java
+++ b/core/java/android/database/AbstractCursor.java
@@ -53,7 +53,10 @@ public abstract class AbstractCursor implements CrossProcessCursor {
abstract public boolean isNull(int column);
public int getType(int column) {
- throw new UnsupportedOperationException();
+ // Reflects the assumption that all commonly used field types (meaning everything
+ // but blobs) are convertible to strings so it should be safe to call
+ // getString to retrieve them.
+ return FIELD_TYPE_STRING;
}
// TODO implement getBlob in all cursor types
@@ -185,46 +188,9 @@ public abstract class AbstractCursor implements CrossProcessCursor {
return result;
}
- /**
- * Copy data from cursor to CursorWindow
- * @param position start position of data
- * @param window
- */
+ @Override
public void fillWindow(int position, CursorWindow window) {
- if (position < 0 || position >= getCount()) {
- return;
- }
- window.acquireReference();
- try {
- int oldpos = mPos;
- mPos = position - 1;
- window.clear();
- window.setStartPosition(position);
- int columnNum = getColumnCount();
- window.setNumColumns(columnNum);
- while (moveToNext() && window.allocRow()) {
- for (int i = 0; i < columnNum; i++) {
- String field = getString(i);
- if (field != null) {
- if (!window.putString(field, mPos, i)) {
- window.freeLastRow();
- break;
- }
- } else {
- if (!window.putNull(mPos, i)) {
- window.freeLastRow();
- break;
- }
- }
- }
- }
-
- mPos = oldpos;
- } catch (IllegalStateException e){
- // simply ignore it
- } finally {
- window.releaseReference();
- }
+ DatabaseUtils.cursorFillWindow(this, position, window);
}
public final boolean move(int offset) {
diff --git a/core/java/android/database/AbstractWindowedCursor.java b/core/java/android/database/AbstractWindowedCursor.java
index d0aedd2c9280..083485facb98 100644
--- a/core/java/android/database/AbstractWindowedCursor.java
+++ b/core/java/android/database/AbstractWindowedCursor.java
@@ -188,15 +188,14 @@ public abstract class AbstractWindowedCursor extends AbstractCursor {
/**
* If there is a window, clear it.
- * Otherwise, creates a local window.
+ * Otherwise, creates a new window.
*
* @param name The window name.
* @hide
*/
- protected void clearOrCreateLocalWindow(String name) {
+ protected void clearOrCreateWindow(String name) {
if (mWindow == null) {
- // If there isn't a window set already it will only be accessed locally
- mWindow = new CursorWindow(name, true /* the window is local only */);
+ mWindow = new CursorWindow(name);
} else {
mWindow.clear();
}
diff --git a/core/java/android/database/CrossProcessCursor.java b/core/java/android/database/CrossProcessCursor.java
index 8e6a5aa01598..26379ccb5446 100644
--- a/core/java/android/database/CrossProcessCursor.java
+++ b/core/java/android/database/CrossProcessCursor.java
@@ -16,27 +16,63 @@
package android.database;
+/**
+ * A cross process cursor is an extension of a {@link Cursor} that also supports
+ * usage from remote processes.
+ * <p>
+ * The contents of a cross process cursor are marshalled to the remote process by
+ * filling {@link CursorWindow} objects using {@link #fillWindow}. As an optimization,
+ * the cursor can provide a pre-filled window to use via {@link #getWindow} thereby
+ * obviating the need to copy the data to yet another cursor window.
+ */
public interface CrossProcessCursor extends Cursor {
/**
- * returns a pre-filled window, return NULL if no such window
+ * Returns a pre-filled window that contains the data within this cursor.
+ * <p>
+ * In particular, the window contains the row indicated by {@link Cursor#getPosition}.
+ * The window's contents are automatically scrolled whenever the current
+ * row moved outside the range covered by the window.
+ * </p>
+ *
+ * @return The pre-filled window, or null if none.
*/
CursorWindow getWindow();
/**
- * copies cursor data into the window start at pos
+ * Copies cursor data into the window.
+ * <p>
+ * Clears the window and fills it with data beginning at the requested
+ * row position until all of the data in the cursor is exhausted
+ * or the window runs out of space.
+ * </p><p>
+ * The filled window uses the same row indices as the original cursor.
+ * For example, if you fill a window starting from row 5 from the cursor,
+ * you can query the contents of row 5 from the window just by asking it
+ * for row 5 because there is a direct correspondence between the row indices
+ * used by the cursor and the window.
+ * </p><p>
+ * The current position of the cursor, as returned by {@link #getPosition},
+ * is not changed by this method.
+ * </p>
+ *
+ * @param position The zero-based index of the first row to copy into the window.
+ * @param window The window to fill.
*/
- void fillWindow(int pos, CursorWindow winow);
+ void fillWindow(int position, CursorWindow window);
/**
* This function is called every time the cursor is successfully scrolled
* to a new position, giving the subclass a chance to update any state it
- * may have. If it returns false the move function will also do so and the
+ * may have. If it returns false the move function will also do so and the
* cursor will scroll to the beforeFirst position.
+ * <p>
+ * This function should be called by methods such as {@link #moveToPosition(int)},
+ * so it will typically not be called from outside of the cursor class itself.
+ * </p>
*
- * @param oldPosition the position that we're moving from
- * @param newPosition the position that we're moving to
- * @return true if the move is successful, false otherwise
+ * @param oldPosition The position that we're moving from.
+ * @param newPosition The position that we're moving to.
+ * @return True if the move is successful, false otherwise.
*/
boolean onMove(int oldPosition, int newPosition);
-
}
diff --git a/core/java/android/database/CrossProcessCursorWrapper.java b/core/java/android/database/CrossProcessCursorWrapper.java
new file mode 100644
index 000000000000..8c250b8e0bdd
--- /dev/null
+++ b/core/java/android/database/CrossProcessCursorWrapper.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.database;
+
+import android.database.CrossProcessCursor;
+import android.database.Cursor;
+import android.database.CursorWindow;
+import android.database.CursorWrapper;
+
+/**
+ * Cursor wrapper that implements {@link CrossProcessCursor}.
+ * <p>
+ * If the wrapper cursor implemented {@link CrossProcessCursor}, then delegates
+ * {@link #fillWindow}, {@link #getWindow()} and {@link #onMove} to it. Otherwise,
+ * provides default implementations of these methods that traverse the contents
+ * of the cursor similar to {@link AbstractCursor#fillWindow}.
+ * </p><p>
+ * This wrapper can be used to adapt an ordinary {@link Cursor} into a
+ * {@link CrossProcessCursor}.
+ * </p>
+ */
+public class CrossProcessCursorWrapper extends CursorWrapper implements CrossProcessCursor {
+ /**
+ * Creates a cross process cursor wrapper.
+ * @param cursor The underlying cursor to wrap.
+ */
+ public CrossProcessCursorWrapper(Cursor cursor) {
+ super(cursor);
+ }
+
+ @Override
+ public void fillWindow(int position, CursorWindow window) {
+ if (mCursor instanceof CrossProcessCursor) {
+ final CrossProcessCursor crossProcessCursor = (CrossProcessCursor)mCursor;
+ crossProcessCursor.fillWindow(position, window);
+ return;
+ }
+
+ DatabaseUtils.cursorFillWindow(mCursor, position, window);
+ }
+
+ @Override
+ public CursorWindow getWindow() {
+ if (mCursor instanceof CrossProcessCursor) {
+ final CrossProcessCursor crossProcessCursor = (CrossProcessCursor)mCursor;
+ return crossProcessCursor.getWindow();
+ }
+
+ return null;
+ }
+
+ @Override
+ public boolean onMove(int oldPosition, int newPosition) {
+ if (mCursor instanceof CrossProcessCursor) {
+ final CrossProcessCursor crossProcessCursor = (CrossProcessCursor)mCursor;
+ return crossProcessCursor.onMove(oldPosition, newPosition);
+ }
+
+ return true;
+ }
+}
diff --git a/core/java/android/database/CursorToBulkCursorAdaptor.java b/core/java/android/database/CursorToBulkCursorAdaptor.java
index dd2c9b7c132c..215035de3076 100644
--- a/core/java/android/database/CursorToBulkCursorAdaptor.java
+++ b/core/java/android/database/CursorToBulkCursorAdaptor.java
@@ -25,9 +25,9 @@ import android.util.Log;
/**
* Wraps a BulkCursor around an existing Cursor making it remotable.
* <p>
- * If the wrapped cursor is a {@link AbstractWindowedCursor} then it owns
- * the cursor window. Otherwise, the adaptor takes ownership of the
- * cursor itself and ensures it gets closed as needed during deactivation
+ * If the wrapped cursor returns non-null from {@link CrossProcessCursor#getWindow}
+ * then it is assumed to own the window. Otherwise, the adaptor provides a
+ * window to be filled and ensures it gets closed as needed during deactivation
* and requeries.
* </p>
*
@@ -48,12 +48,11 @@ public final class CursorToBulkCursorAdaptor extends BulkCursorNative
private CrossProcessCursor mCursor;
/**
- * The cursor window used by the cross process cursor.
- * This field is always null for abstract windowed cursors since they are responsible
- * for managing the lifetime of their window.
+ * The cursor window that was filled by the cross process cursor in the
+ * case where the cursor does not support getWindow.
+ * This field is only ever non-null when the window has actually be filled.
*/
- private CursorWindow mWindowForNonWindowedCursor;
- private boolean mWindowForNonWindowedCursorWasFilled;
+ private CursorWindow mFilledWindow;
private static final class ContentObserverProxy extends ContentObserver {
protected IContentObserver mRemote;
@@ -90,11 +89,10 @@ public final class CursorToBulkCursorAdaptor extends BulkCursorNative
public CursorToBulkCursorAdaptor(Cursor cursor, IContentObserver observer,
String providerName) {
- try {
- mCursor = (CrossProcessCursor) cursor;
- } catch (ClassCastException e) {
- throw new UnsupportedOperationException(
- "Only CrossProcessCursor cursors are supported across process for now", e);
+ if (cursor instanceof CrossProcessCursor) {
+ mCursor = (CrossProcessCursor)cursor;
+ } else {
+ mCursor = new CrossProcessCursorWrapper(cursor);
}
mProviderName = providerName;
@@ -103,11 +101,10 @@ public final class CursorToBulkCursorAdaptor extends BulkCursorNative
}
}
- private void closeWindowForNonWindowedCursorLocked() {
- if (mWindowForNonWindowedCursor != null) {
- mWindowForNonWindowedCursor.close();
- mWindowForNonWindowedCursor = null;
- mWindowForNonWindowedCursorWasFilled = false;
+ private void closeFilledWindowLocked() {
+ if (mFilledWindow != null) {
+ mFilledWindow.close();
+ mFilledWindow = null;
}
}
@@ -118,7 +115,7 @@ public final class CursorToBulkCursorAdaptor extends BulkCursorNative
mCursor = null;
}
- closeWindowForNonWindowedCursorLocked();
+ closeFilledWindowLocked();
}
private void throwIfCursorIsClosed() {
@@ -139,30 +136,24 @@ public final class CursorToBulkCursorAdaptor extends BulkCursorNative
synchronized (mLock) {
throwIfCursorIsClosed();
- CursorWindow window;
- if (mCursor instanceof AbstractWindowedCursor) {
- AbstractWindowedCursor windowedCursor = (AbstractWindowedCursor)mCursor;
- window = windowedCursor.getWindow();
- if (window == null) {
- window = new CursorWindow(mProviderName, false /*localOnly*/);
- windowedCursor.setWindow(window);
- }
+ if (!mCursor.moveToPosition(startPos)) {
+ closeFilledWindowLocked();
+ return null;
+ }
- mCursor.moveToPosition(startPos);
+ CursorWindow window = mCursor.getWindow();
+ if (window != null) {
+ closeFilledWindowLocked();
} else {
- window = mWindowForNonWindowedCursor;
+ window = mFilledWindow;
if (window == null) {
- window = new CursorWindow(mProviderName, false /*localOnly*/);
- mWindowForNonWindowedCursor = window;
- }
-
- mCursor.moveToPosition(startPos);
-
- if (!mWindowForNonWindowedCursorWasFilled
- || startPos < window.getStartPosition()
+ mFilledWindow = new CursorWindow(mProviderName);
+ window = mFilledWindow;
+ mCursor.fillWindow(startPos, window);
+ } else if (startPos < window.getStartPosition()
|| startPos >= window.getStartPosition() + window.getNumRows()) {
+ window.clear();
mCursor.fillWindow(startPos, window);
- mWindowForNonWindowedCursorWasFilled = true;
}
}
@@ -211,7 +202,7 @@ public final class CursorToBulkCursorAdaptor extends BulkCursorNative
mCursor.deactivate();
}
- closeWindowForNonWindowedCursorLocked();
+ closeFilledWindowLocked();
}
}
@@ -227,7 +218,7 @@ public final class CursorToBulkCursorAdaptor extends BulkCursorNative
synchronized (mLock) {
throwIfCursorIsClosed();
- closeWindowForNonWindowedCursorLocked();
+ closeFilledWindowLocked();
try {
if (!mCursor.requery()) {
diff --git a/core/java/android/database/CursorWindow.java b/core/java/android/database/CursorWindow.java
index a1be121aaf9d..e9675e8a1d22 100644
--- a/core/java/android/database/CursorWindow.java
+++ b/core/java/android/database/CursorWindow.java
@@ -31,8 +31,8 @@ import android.util.SparseIntArray;
/**
* A buffer containing multiple cursor rows.
* <p>
- * A {@link CursorWindow} is read-write when created and used locally. When sent
- * to a remote process (by writing it to a {@link Parcel}), the remote process
+ * A {@link CursorWindow} is read-write when initially created and used locally.
+ * When sent to a remote process (by writing it to a {@link Parcel}), the remote process
* receives a read-only view of the cursor window. Typically the cursor window
* will be allocated by the producer, filled with data, and then sent to the
* consumer for reading.
@@ -59,8 +59,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
private final CloseGuard mCloseGuard = CloseGuard.get();
- private static native int nativeCreate(String name,
- int cursorWindowSize, boolean localOnly);
+ private static native int nativeCreate(String name, int cursorWindowSize);
private static native int nativeCreateFromParcel(Parcel parcel);
private static native void nativeDispose(int windowPtr);
private static native void nativeWriteToParcel(int windowPtr, Parcel parcel);
@@ -96,15 +95,11 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* </p>
*
* @param name The name of the cursor window, or null if none.
- * @param localWindow True if this window will be used in this process only,
- * false if it might be sent to another processes.
- *
- * @hide
*/
- public CursorWindow(String name, boolean localWindow) {
+ public CursorWindow(String name) {
mStartPos = 0;
mName = name;
- mWindowPtr = nativeCreate(name, sCursorWindowSize, localWindow);
+ mWindowPtr = nativeCreate(name, sCursorWindowSize);
if (mWindowPtr == 0) {
throw new CursorWindowAllocationException("Cursor window allocation of " +
(sCursorWindowSize / 1024) + " kb failed. " + printStats());
@@ -121,10 +116,14 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* </p>
*
* @param localWindow True if this window will be used in this process only,
- * false if it might be sent to another processes.
+ * false if it might be sent to another processes. This argument is ignored.
+ *
+ * @deprecated There is no longer a distinction between local and remote
+ * cursor windows. Use the {@link #CursorWindow(String)} constructor instead.
*/
+ @Deprecated
public CursorWindow(boolean localWindow) {
- this(null, localWindow);
+ this((String)null);
}
private CursorWindow(Parcel source) {
@@ -285,8 +284,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* Returns true if the field at the specified row and column index
* has type {@link Cursor#FIELD_TYPE_NULL}.
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return True if the field has type {@link Cursor#FIELD_TYPE_NULL}.
* @deprecated Use {@link #getType(int, int)} instead.
@@ -300,8 +298,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* Returns true if the field at the specified row and column index
* has type {@link Cursor#FIELD_TYPE_BLOB} or {@link Cursor#FIELD_TYPE_NULL}.
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return True if the field has type {@link Cursor#FIELD_TYPE_BLOB} or
* {@link Cursor#FIELD_TYPE_NULL}.
@@ -317,8 +314,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* Returns true if the field at the specified row and column index
* has type {@link Cursor#FIELD_TYPE_INTEGER}.
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return True if the field has type {@link Cursor#FIELD_TYPE_INTEGER}.
* @deprecated Use {@link #getType(int, int)} instead.
@@ -332,8 +328,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* Returns true if the field at the specified row and column index
* has type {@link Cursor#FIELD_TYPE_FLOAT}.
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return True if the field has type {@link Cursor#FIELD_TYPE_FLOAT}.
* @deprecated Use {@link #getType(int, int)} instead.
@@ -347,8 +342,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* Returns true if the field at the specified row and column index
* has type {@link Cursor#FIELD_TYPE_STRING} or {@link Cursor#FIELD_TYPE_NULL}.
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return True if the field has type {@link Cursor#FIELD_TYPE_STRING}
* or {@link Cursor#FIELD_TYPE_NULL}.
@@ -373,8 +367,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* </ul>
* </p>
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return The field type.
*/
@@ -404,8 +397,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* </ul>
* </p>
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return The value of the field as a byte array.
*/
@@ -440,8 +432,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* </ul>
* </p>
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return The value of the field as a string.
*/
@@ -479,8 +470,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* </ul>
* </p>
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @param buffer The {@link CharArrayBuffer} to hold the string. It is automatically
* resized if the requested string is larger than the buffer's current capacity.
@@ -515,8 +505,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* </ul>
* </p>
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return The value of the field as a <code>long</code>.
*/
@@ -548,8 +537,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* </ul>
* </p>
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return The value of the field as a <code>double</code>.
*/
@@ -570,8 +558,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* result to <code>short</code>.
* </p>
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return The value of the field as a <code>short</code>.
*/
@@ -587,8 +574,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* result to <code>int</code>.
* </p>
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return The value of the field as an <code>int</code>.
*/
@@ -604,8 +590,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* result to <code>float</code>.
* </p>
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return The value of the field as an <code>float</code>.
*/
@@ -617,8 +602,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* Copies a byte array into the field at the specified row and column index.
*
* @param value The value to store.
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return True if successful.
*/
@@ -635,8 +619,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* Copies a string into the field at the specified row and column index.
*
* @param value The value to store.
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return True if successful.
*/
@@ -653,8 +636,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* Puts a long integer into the field at the specified row and column index.
*
* @param value The value to store.
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return True if successful.
*/
@@ -672,8 +654,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* specified row and column index.
*
* @param value The value to store.
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return True if successful.
*/
@@ -689,8 +670,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
/**
* Puts a null value into the field at the specified row and column index.
*
- * @param row The zero-based row index, relative to the cursor window's
- * start position ({@link #getStartPosition()}).
+ * @param row The zero-based row index.
* @param column The zero-based column index.
* @return True if successful.
*/
diff --git a/core/java/android/database/CursorWrapper.java b/core/java/android/database/CursorWrapper.java
index 320733e4538e..7baeb8c2ed68 100644
--- a/core/java/android/database/CursorWrapper.java
+++ b/core/java/android/database/CursorWrapper.java
@@ -25,9 +25,13 @@ import android.os.Bundle;
* use for this class is to extend a cursor while overriding only a subset of its methods.
*/
public class CursorWrapper implements Cursor {
+ /** @hide */
+ protected final Cursor mCursor;
- private final Cursor mCursor;
-
+ /**
+ * Creates a cursor wrapper.
+ * @param cursor The underlying cursor to wrap.
+ */
public CursorWrapper(Cursor cursor) {
mCursor = cursor;
}
diff --git a/core/java/android/database/DatabaseUtils.java b/core/java/android/database/DatabaseUtils.java
index 8e6f69971a65..a10ca1502a77 100644
--- a/core/java/android/database/DatabaseUtils.java
+++ b/core/java/android/database/DatabaseUtils.java
@@ -237,7 +237,8 @@ public class DatabaseUtils {
return Cursor.FIELD_TYPE_BLOB;
} else if (obj instanceof Float || obj instanceof Double) {
return Cursor.FIELD_TYPE_FLOAT;
- } else if (obj instanceof Long || obj instanceof Integer) {
+ } else if (obj instanceof Long || obj instanceof Integer
+ || obj instanceof Short || obj instanceof Byte) {
return Cursor.FIELD_TYPE_INTEGER;
} else {
return Cursor.FIELD_TYPE_STRING;
@@ -245,6 +246,82 @@ public class DatabaseUtils {
}
/**
+ * Fills the specified cursor window by iterating over the contents of the cursor.
+ * The window is filled until the cursor is exhausted or the window runs out
+ * of space.
+ *
+ * The original position of the cursor is left unchanged by this operation.
+ *
+ * @param cursor The cursor that contains the data to put in the window.
+ * @param position The start position for filling the window.
+ * @param window The window to fill.
+ * @hide
+ */
+ public static void cursorFillWindow(final Cursor cursor,
+ int position, final CursorWindow window) {
+ if (position < 0 || position >= cursor.getCount()) {
+ return;
+ }
+ window.acquireReference();
+ try {
+ final int oldPos = cursor.getPosition();
+ final int numColumns = cursor.getColumnCount();
+ window.clear();
+ window.setStartPosition(position);
+ window.setNumColumns(numColumns);
+ if (cursor.moveToPosition(position)) {
+ do {
+ if (!window.allocRow()) {
+ break;
+ }
+ for (int i = 0; i < numColumns; i++) {
+ final int type = cursor.getType(i);
+ final boolean success;
+ switch (type) {
+ case Cursor.FIELD_TYPE_NULL:
+ success = window.putNull(position, i);
+ break;
+
+ case Cursor.FIELD_TYPE_INTEGER:
+ success = window.putLong(cursor.getLong(i), position, i);
+ break;
+
+ case Cursor.FIELD_TYPE_FLOAT:
+ success = window.putDouble(cursor.getDouble(i), position, i);
+ break;
+
+ case Cursor.FIELD_TYPE_BLOB: {
+ final byte[] value = cursor.getBlob(i);
+ success = value != null ? window.putBlob(value, position, i)
+ : window.putNull(position, i);
+ break;
+ }
+
+ default: // assume value is convertible to String
+ case Cursor.FIELD_TYPE_STRING: {
+ final String value = cursor.getString(i);
+ success = value != null ? window.putString(value, position, i)
+ : window.putNull(position, i);
+ break;
+ }
+ }
+ if (!success) {
+ window.freeLastRow();
+ break;
+ }
+ }
+ position += 1;
+ } while (cursor.moveToNext());
+ }
+ cursor.moveToPosition(oldPos);
+ } catch (IllegalStateException e){
+ // simply ignore it
+ } finally {
+ window.releaseReference();
+ }
+ }
+
+ /**
* Appends an SQL string to the given StringBuilder, including the opening
* and closing single quotes. Any single quotes internal to sqlString will
* be escaped.
diff --git a/core/java/android/database/sqlite/SQLiteCompiledSql.java b/core/java/android/database/sqlite/SQLiteCompiledSql.java
index bdb96b17f86f..dafbc79ad6cc 100644
--- a/core/java/android/database/sqlite/SQLiteCompiledSql.java
+++ b/core/java/android/database/sqlite/SQLiteCompiledSql.java
@@ -49,7 +49,7 @@ import android.util.Log;
/** the following are for debugging purposes */
private String mSqlStmt = null;
- private Throwable mStackTrace = null;
+ private final Throwable mStackTrace;
/** when in cache and is in use, this member is set */
private boolean mInUse = false;
@@ -59,7 +59,11 @@ import android.util.Log;
db.verifyLockOwner();
mDatabase = db;
mSqlStmt = sql;
- mStackTrace = new DatabaseObjectNotClosedException().fillInStackTrace();
+ if (StrictMode.vmSqliteObjectLeaksEnabled()) {
+ mStackTrace = new DatabaseObjectNotClosedException().fillInStackTrace();
+ } else {
+ mStackTrace = null;
+ }
nHandle = db.mNativeHandle;
native_compile(sql);
}
@@ -112,7 +116,7 @@ import android.util.Log;
// but if the database itself is not closed and is GC'ed, then
// all sub-objects attached to the database could end up getting GC'ed too.
// in that case, don't print any warning.
- if (mInUse && StrictMode.vmSqliteObjectLeaksEnabled()) {
+ if (mInUse && mStackTrace != null) {
int len = mSqlStmt.length();
StrictMode.onSqliteObjectLeaked(
"Releasing statement in a finalizer. Please ensure " +
diff --git a/core/java/android/database/sqlite/SQLiteCursor.java b/core/java/android/database/sqlite/SQLiteCursor.java
index a1c36e24c000..c24acd456908 100644
--- a/core/java/android/database/sqlite/SQLiteCursor.java
+++ b/core/java/android/database/sqlite/SQLiteCursor.java
@@ -95,7 +95,11 @@ public class SQLiteCursor extends AbstractWindowedCursor {
if (query.mDatabase == null) {
throw new IllegalArgumentException("query.mDatabase cannot be null");
}
- mStackTrace = new DatabaseObjectNotClosedException().fillInStackTrace();
+ if (StrictMode.vmSqliteObjectLeaksEnabled()) {
+ mStackTrace = new DatabaseObjectNotClosedException().fillInStackTrace();
+ } else {
+ mStackTrace = null;
+ }
mDriver = driver;
mEditTable = editTable;
mColumnNameMap = null;
@@ -155,7 +159,7 @@ public class SQLiteCursor extends AbstractWindowedCursor {
}
private void fillWindow(int startPos) {
- clearOrCreateLocalWindow(getDatabase().getPath());
+ clearOrCreateWindow(getDatabase().getPath());
mWindow.setStartPosition(startPos);
int count = getQuery().fillWindow(mWindow);
if (startPos == 0) { // fillWindow returns count(*) only for startPos = 0
@@ -319,7 +323,7 @@ public class SQLiteCursor extends AbstractWindowedCursor {
try {
// if the cursor hasn't been closed yet, close it first
if (mWindow != null) {
- if (StrictMode.vmSqliteObjectLeaksEnabled()) {
+ if (mStackTrace != null) {
int len = mQuery.mSql.length();
StrictMode.onSqliteObjectLeaked(
"Finalizing a Cursor that has not been deactivated or closed. " +
diff --git a/core/java/android/database/sqlite/package.html b/core/java/android/database/sqlite/package.html
index ff0f9f58f357..ceed171ce48c 100644
--- a/core/java/android/database/sqlite/package.html
+++ b/core/java/android/database/sqlite/package.html
@@ -3,7 +3,7 @@
Contains the SQLite database management
classes that an application would use to manage its own private database.
<p>
-Applications use these classes to maange private databases. If creating a
+Applications use these classes to manage private databases. If creating a
content provider, you will probably have to use these classes to create and
manage your own database to store content. See <a
href="{@docRoot}guide/topics/providers/content-providers.html">Content Providers</a> to learn
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index 68f0247600b1..48adfad67558 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -3259,7 +3259,6 @@ public class Camera {
* disable video stabilization.
* @see #isVideoStabilizationSupported()
* @see #getVideoStabilization()
- * @hide
*/
public void setVideoStabilization(boolean toggle) {
set(KEY_VIDEO_STABILIZATION, toggle ? TRUE : FALSE);
@@ -3272,7 +3271,6 @@ public class Camera {
* @return true if video stabilization is enabled
* @see #isVideoStabilizationSupported()
* @see #setVideoStabilization(boolean)
- * @hide
*/
public boolean getVideoStabilization() {
String str = get(KEY_VIDEO_STABILIZATION);
@@ -3286,7 +3284,6 @@ public class Camera {
* @return true if video stabilization is supported
* @see #setVideoStabilization(boolean)
* @see #getVideoStabilization()
- * @hide
*/
public boolean isVideoStabilizationSupported() {
String str = get(KEY_VIDEO_STABILIZATION_SUPPORTED);
diff --git a/core/java/android/inputmethodservice/SoftInputWindow.java b/core/java/android/inputmethodservice/SoftInputWindow.java
index 7159260f2648..df1afeea9b23 100644
--- a/core/java/android/inputmethodservice/SoftInputWindow.java
+++ b/core/java/android/inputmethodservice/SoftInputWindow.java
@@ -18,17 +18,13 @@ package android.inputmethodservice;
import android.app.Dialog;
import android.content.Context;
-import android.content.pm.ActivityInfo;
import android.graphics.Rect;
import android.os.IBinder;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.MotionEvent;
-import android.view.View;
import android.view.WindowManager;
-import java.lang.Math;
-
/**
* A SoftInputWindow is a Dialog that is intended to be used for a top-level input
* method window. It will be displayed along the edge of the screen, moving
@@ -46,7 +42,7 @@ class SoftInputWindow extends Dialog {
}
/**
- * Create a DockWindow that uses a custom style.
+ * Create a SoftInputWindow that uses a custom style.
*
* @param context The Context in which the DockWindow should run. In
* particular, it uses the window manager and theme from this context
diff --git a/core/java/android/nfc/NfcAdapter.java b/core/java/android/nfc/NfcAdapter.java
index fe0106dc52c4..33310dfd0ad8 100644
--- a/core/java/android/nfc/NfcAdapter.java
+++ b/core/java/android/nfc/NfcAdapter.java
@@ -768,61 +768,6 @@ public final class NfcAdapter {
}
/**
- * TODO: Remove this once pre-built apk's (Maps, Youtube etc) are updated
- * @deprecated use {@link CreateNdefMessageCallback} or {@link OnNdefPushCompleteCallback}
- * @hide
- */
- @Deprecated
- public interface NdefPushCallback {
- /**
- * @deprecated use {@link CreateNdefMessageCallback} instead
- */
- @Deprecated
- NdefMessage createMessage();
- /**
- * @deprecated use{@link OnNdefPushCompleteCallback} instead
- */
- @Deprecated
- void onMessagePushed();
- }
-
- /**
- * TODO: Remove this
- * Converts new callbacks to old callbacks.
- */
- static final class LegacyCallbackWrapper implements CreateNdefMessageCallback,
- OnNdefPushCompleteCallback {
- final NdefPushCallback mLegacyCallback;
- LegacyCallbackWrapper(NdefPushCallback legacyCallback) {
- mLegacyCallback = legacyCallback;
- }
- @Override
- public void onNdefPushComplete(NfcEvent event) {
- mLegacyCallback.onMessagePushed();
- }
- @Override
- public NdefMessage createNdefMessage(NfcEvent event) {
- return mLegacyCallback.createMessage();
- }
- }
-
- /**
- * TODO: Remove this once pre-built apk's (Maps, Youtube etc) are updated
- * @deprecated use {@link #setNdefPushMessageCallback} instead
- * @hide
- */
- @Deprecated
- public void enableForegroundNdefPush(Activity activity, final NdefPushCallback callback) {
- if (activity == null || callback == null) {
- throw new NullPointerException();
- }
- enforceResumed(activity);
- LegacyCallbackWrapper callbackWrapper = new LegacyCallbackWrapper(callback);
- mNfcActivityManager.setNdefPushMessageCallback(activity, callbackWrapper);
- mNfcActivityManager.setOnNdefPushCompleteCallback(activity, callbackWrapper);
- }
-
- /**
* Enable NDEF Push feature.
* <p>This API is for the Settings application.
* @hide
diff --git a/core/java/android/os/CountDownTimer.java b/core/java/android/os/CountDownTimer.java
index 0c5c6151d3e6..15e6405b1d22 100644
--- a/core/java/android/os/CountDownTimer.java
+++ b/core/java/android/os/CountDownTimer.java
@@ -25,7 +25,7 @@ import android.util.Log;
* Example of showing a 30 second countdown in a text field:
*
* <pre class="prettyprint">
- * new CountdownTimer(30000, 1000) {
+ * new CountDownTimer(30000, 1000) {
*
* public void onTick(long millisUntilFinished) {
* mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
diff --git a/core/java/android/os/StrictMode.java b/core/java/android/os/StrictMode.java
index 4d7a9bbf8938..cc2fa8532d3d 100644
--- a/core/java/android/os/StrictMode.java
+++ b/core/java/android/os/StrictMode.java
@@ -35,7 +35,6 @@ import dalvik.system.VMDebug;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
@@ -902,15 +901,13 @@ public final class StrictMode {
return false;
}
+ // Thread policy controls BlockGuard.
int threadPolicyMask = StrictMode.DETECT_DISK_WRITE |
StrictMode.DETECT_DISK_READ |
StrictMode.DETECT_NETWORK;
if (!IS_USER_BUILD) {
threadPolicyMask |= StrictMode.PENALTY_DROPBOX;
- if (IS_ENG_BUILD) {
- threadPolicyMask |= StrictMode.PENALTY_LOG;
- }
}
if (doFlashes) {
threadPolicyMask |= StrictMode.PENALTY_FLASH;
@@ -918,6 +915,8 @@ public final class StrictMode {
StrictMode.setThreadPolicyMask(threadPolicyMask);
+ // VM Policy controls CloseGuard, detection of Activity leaks,
+ // and instance counting.
if (IS_USER_BUILD) {
setCloseGuardEnabled(false);
} else {
diff --git a/core/java/android/provider/CalendarContract.java b/core/java/android/provider/CalendarContract.java
index 4b4d3081a453..413150b69a4f 100644
--- a/core/java/android/provider/CalendarContract.java
+++ b/core/java/android/provider/CalendarContract.java
@@ -72,7 +72,7 @@ import android.util.Log;
* {@link Calendars#MAX_REMINDERS} which is set by the Sync Adapter that owns
* the given calendar. Reminders are specified in minutes before the event and
* have a type.</li>
- * <li>The {@link ExtendedProperties} table hold opaque data fields used by the
+ * <li>The {@link ExtendedProperties} table holds opaque data fields used by the
* sync adapter. The provider takes no action with items in this table except to
* delete them when their related events are deleted.</li>
* </ul>
@@ -300,8 +300,23 @@ public final class CalendarContract {
public static final String CALENDAR_COLOR = "calendar_color";
/**
+ * A key for looking up a color from the {@link Colors} table. NULL or
+ * an empty string are reserved for indicating that the calendar does
+ * not use a key for looking up the color. The provider will update
+ * {@link #CALENDAR_COLOR} automatically when a valid key is written to
+ * this column. The key must reference an existing row of the
+ * {@link Colors} table. @see Colors
+ * <P>
+ * Type: TEXT
+ * </P>
+ */
+ public static final String CALENDAR_COLOR_KEY = "calendar_color_index";
+
+ /**
* The display name of the calendar. Column name.
- * <P>Type: TEXT</P>
+ * <P>
+ * Type: TEXT
+ * </P>
*/
public static final String CALENDAR_DISPLAY_NAME = "calendar_displayName";
@@ -392,6 +407,28 @@ public final class CalendarContract {
* <P>Type: TEXT</P>
*/
public static final String ALLOWED_REMINDERS = "allowedReminders";
+
+ /**
+ * A comma separated list of availability types supported for this
+ * calendar in the format "#,#,#". Valid types are
+ * {@link Events#AVAILABILITY_BUSY}, {@link Events#AVAILABILITY_FREE},
+ * {@link Events#AVAILABILITY_TENTATIVE}. Setting this field to only
+ * {@link Events#AVAILABILITY_BUSY} should be used to indicate that
+ * changing the availability is not supported.
+ *
+ */
+ public static final String ALLOWED_AVAILABILITY = "allowedAvailability";
+
+ /**
+ * A comma separated list of attendee types supported for this calendar
+ * in the format "#,#,#". Valid types are {@link Attendees#TYPE_NONE},
+ * {@link Attendees#TYPE_OPTIONAL}, {@link Attendees#TYPE_REQUIRED},
+ * {@link Attendees#TYPE_RESOURCE}. Setting this field to only
+ * {@link Attendees#TYPE_NONE} should be used to indicate that changing
+ * the attendee type is not supported.
+ *
+ */
+ public static final String ALLOWED_ATTENDEE_TYPES = "allowedAttendeeTypes";
}
/**
@@ -527,6 +564,8 @@ public final class CalendarContract {
* <li>{@link #SYNC_EVENTS} set to 1</li>
* <li>{@link #CALENDAR_TIME_ZONE}</li>
* <li>{@link #ALLOWED_REMINDERS}</li>
+ * <li>{@link #ALLOWED_AVAILABILITY}</li>
+ * <li>{@link #ALLOWED_ATTENDEE_TYPES}</li>
* </ul>
* <dt><b>Update</b></dt>
* <dd>To perform an update on a calendar the {@link #_ID} of the calendar
@@ -566,6 +605,8 @@ public final class CalendarContract {
* <li>{@link #OWNER_ACCOUNT}</li>
* <li>{@link #MAX_REMINDERS}</li>
* <li>{@link #ALLOWED_REMINDERS}</li>
+ * <li>{@link #ALLOWED_AVAILABILITY}</li>
+ * <li>{@link #ALLOWED_ATTENDEE_TYPES}</li>
* <li>{@link #CAN_MODIFY_TIME_ZONE}</li>
* <li>{@link #CAN_ORGANIZER_RESPOND}</li>
* <li>{@link #CAN_PARTIALLY_UPDATE}</li>
@@ -688,13 +729,21 @@ public final class CalendarContract {
/**
* The type of attendee. Column name.
- * <P>Type: Integer (one of {@link #TYPE_REQUIRED}, {@link #TYPE_OPTIONAL})</P>
+ * <P>
+ * Type: Integer (one of {@link #TYPE_NONE}, {@link #TYPE_REQUIRED},
+ * {@link #TYPE_OPTIONAL}, {@link #TYPE_RESOURCE})
+ * </P>
*/
public static final String ATTENDEE_TYPE = "attendeeType";
public static final int TYPE_NONE = 0;
public static final int TYPE_REQUIRED = 1;
public static final int TYPE_OPTIONAL = 2;
+ /**
+ * This specifies that an attendee is a resource, like a room, a
+ * cabbage, or something and not an actual person.
+ */
+ public static final int TYPE_RESOURCE = 3;
/**
* The attendance status of the attendee. Column name.
@@ -787,13 +836,26 @@ public final class CalendarContract {
public static final String EVENT_LOCATION = "eventLocation";
/**
- * A secondary color for the individual event. Reserved for future use.
- * Column name.
+ * A secondary color for the individual event. This should only be
+ * updated by the sync adapter for a given account.
* <P>Type: INTEGER</P>
*/
public static final String EVENT_COLOR = "eventColor";
/**
+ * A secondary color key for the individual event. NULL or an empty
+ * string are reserved for indicating that the event does not use a key
+ * for looking up the color. The provider will update
+ * {@link #EVENT_COLOR} automatically when a valid key is written to
+ * this column. The key must reference an existing row of the
+ * {@link Colors} table. @see Colors
+ * <P>
+ * Type: TEXT
+ * </P>
+ */
+ public static final String EVENT_COLOR_KEY = "eventColor_index";
+
+ /**
* The event status. Column name.
* <P>Type: INTEGER (one of {@link #STATUS_TENTATIVE}...)</P>
*/
@@ -949,8 +1011,10 @@ public final class CalendarContract {
/**
* If this event counts as busy time or is still free time that can be
* scheduled over. Column name.
- * <P>Type: INTEGER (One of {@link #AVAILABILITY_BUSY},
- * {@link #AVAILABILITY_FREE})</P>
+ * <P>
+ * Type: INTEGER (One of {@link #AVAILABILITY_BUSY},
+ * {@link #AVAILABILITY_FREE}, {@link #AVAILABILITY_TENTATIVE})
+ * </P>
*/
public static final String AVAILABILITY = "availability";
@@ -964,6 +1028,11 @@ public final class CalendarContract {
* other events.
*/
public static final int AVAILABILITY_FREE = 1;
+ /**
+ * Indicates that the owner's availability may change, but should be
+ * considered busy time that will conflict.
+ */
+ public static final int AVAILABILITY_TENTATIVE = 2;
/**
* Whether the event has an alarm or not. Column name.
@@ -1335,7 +1404,10 @@ public final class CalendarContract {
* <dd>When inserting a new event the following fields must be included:
* <ul>
* <li>dtstart</li>
- * <li>dtend -or- a (rrule or rdate) and a duration</li>
+ * <li>dtend if the event is non-recurring</li>
+ * <li>duration if the event is recurring</li>
+ * <li>rrule or rdate if the event is recurring</li>
+ * <li>eventTimezone</li>
* <li>a calendar_id</li>
* </ul>
* There are also further requirements when inserting or updating an event.
@@ -1473,6 +1545,8 @@ public final class CalendarContract {
CAL_SYNC9,
CAL_SYNC10,
ALLOWED_REMINDERS,
+ ALLOWED_ATTENDEE_TYPES,
+ ALLOWED_AVAILABILITY,
CALENDAR_ACCESS_LEVEL,
CALENDAR_COLOR,
CALENDAR_TIME_ZONE,
@@ -2224,6 +2298,76 @@ public final class CalendarContract {
}
}
+ protected interface ColorsColumns extends SyncStateContract.Columns {
+
+ /**
+ * The type of color, which describes how it should be used. Valid types
+ * are {@link #TYPE_CALENDAR} and {@link #TYPE_EVENT}. Column name.
+ * <P>
+ * Type: INTEGER (NOT NULL)
+ * </P>
+ */
+ public static final String COLOR_TYPE = "color_type";
+
+ /**
+ * This indicateds a color that can be used for calendars.
+ */
+ public static final int TYPE_CALENDAR = 0;
+ /**
+ * This indicates a color that can be used for events.
+ */
+ public static final int TYPE_EVENT = 1;
+
+ /**
+ * The key used to reference this color. This can be any non-empty
+ * string, but must be unique for a given {@link #ACCOUNT_TYPE} and
+ * {@link #ACCOUNT_NAME}. Column name.
+ * <P>
+ * Type: TEXT
+ * </P>
+ */
+ public static final String COLOR_KEY = "color_index";
+
+ /**
+ * The color as an 8-bit ARGB integer value. Colors should specify alpha
+ * as fully opaque (eg 0xFF993322) as the alpha may be ignored or
+ * modified for display. It is reccomended that colors be usable with
+ * light (near white) text. Apps should not depend on that assumption,
+ * however. Column name.
+ * <P>
+ * Type: INTEGER (NOT NULL)
+ * </P>
+ */
+ public static final String COLOR = "color";
+
+ }
+
+ /**
+ * Fields for accessing colors available for a given account. Colors are
+ * referenced by {@link #COLOR_KEY} which must be unique for a given
+ * account name/type. These values can only be updated by the sync
+ * adapter. Only {@link #COLOR} may be updated after the initial insert. In
+ * addition, a row can only be deleted once all references to that color
+ * have been removed from the {@link Calendars} or {@link Events} tables.
+ */
+ public static final class Colors implements ColorsColumns {
+ /**
+ * @hide
+ */
+ public static final String TABLE_NAME = "Colors";
+ /**
+ * The Uri for querying color information
+ */
+ @SuppressWarnings("hiding")
+ public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/colors");
+
+ /**
+ * This utility class cannot be instantiated
+ */
+ private Colors() {
+ }
+ }
+
protected interface ExtendedPropertiesColumns {
/**
* The event the extended property belongs to. Column name.
@@ -2247,7 +2391,7 @@ public final class CalendarContract {
/**
* Fields for accessing the Extended Properties. This is a generic set of
- * name/value pairs for use by sync adapters or apps to add extra
+ * name/value pairs for use by sync adapters to add extra
* information to events. There are three writable columns and all three
* must be present when inserting a new value. They are:
* <ul>
diff --git a/core/java/android/provider/Telephony.java b/core/java/android/provider/Telephony.java
index 79995d05dd09..0e6d07d8dd18 100755
--- a/core/java/android/provider/Telephony.java
+++ b/core/java/android/provider/Telephony.java
@@ -1271,9 +1271,6 @@ public final class Telephony {
Cursor cursor = SqliteWrapper.query(context, context.getContentResolver(),
uri, ID_PROJECTION, null, null, null);
- if (DEBUG) {
- Log.v(TAG, "getOrCreateThreadId cursor cnt: " + cursor.getCount());
- }
if (cursor != null) {
try {
if (cursor.moveToFirst()) {
diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java
index ba94ab26e044..a9a628a59a2e 100644
--- a/core/java/android/service/wallpaper/WallpaperService.java
+++ b/core/java/android/service/wallpaper/WallpaperService.java
@@ -148,7 +148,10 @@ public abstract class WallpaperService extends Service {
int mCurWidth;
int mCurHeight;
int mWindowFlags = WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
+ int mWindowPrivateFlags =
+ WindowManager.LayoutParams.PRIVATE_FLAG_WANTS_OFFSET_NOTIFICATIONS;
int mCurWindowFlags = mWindowFlags;
+ int mCurWindowPrivateFlags = mWindowPrivateFlags;
final Rect mVisibleInsets = new Rect();
final Rect mWinFrame = new Rect();
final Rect mContentInsets = new Rect();
@@ -359,6 +362,25 @@ public abstract class WallpaperService extends Service {
updateSurface(false, false, false);
}
}
+
+ /**
+ * Control whether this wallpaper will receive notifications when the wallpaper
+ * has been scrolled. By default, wallpapers will receive notifications, although
+ * the default static image wallpapers do not. It is a performance optimization to
+ * set this to false.
+ *
+ * @param enabled whether the wallpaper wants to receive offset notifications
+ */
+ public void setOffsetNotificationsEnabled(boolean enabled) {
+ mWindowPrivateFlags = enabled
+ ? (mWindowPrivateFlags |
+ WindowManager.LayoutParams.PRIVATE_FLAG_WANTS_OFFSET_NOTIFICATIONS)
+ : (mWindowPrivateFlags &
+ ~WindowManager.LayoutParams.PRIVATE_FLAG_WANTS_OFFSET_NOTIFICATIONS);
+ if (mCreated) {
+ updateSurface(false, false, false);
+ }
+ }
/**
* Called once to initialize the engine. After returning, the
@@ -478,6 +500,8 @@ public abstract class WallpaperService extends Service {
out.print(prefix); out.print("mType="); out.print(mType);
out.print(" mWindowFlags="); out.print(mWindowFlags);
out.print(" mCurWindowFlags="); out.println(mCurWindowFlags);
+ out.print(" mWindowPrivateFlags="); out.print(mWindowPrivateFlags);
+ out.print(" mCurWindowPrivateFlags="); out.println(mCurWindowPrivateFlags);
out.print(prefix); out.print("mVisibleInsets=");
out.print(mVisibleInsets.toShortString());
out.print(" mWinFrame="); out.print(mWinFrame.toShortString());
@@ -528,7 +552,8 @@ public abstract class WallpaperService extends Service {
final boolean formatChanged = mFormat != mSurfaceHolder.getRequestedFormat();
boolean sizeChanged = mWidth != myWidth || mHeight != myHeight;
final boolean typeChanged = mType != mSurfaceHolder.getRequestedType();
- final boolean flagsChanged = mCurWindowFlags != mWindowFlags;
+ final boolean flagsChanged = mCurWindowFlags != mWindowFlags ||
+ mCurWindowPrivateFlags != mWindowPrivateFlags;
if (forceRelayout || creating || surfaceCreating || formatChanged || sizeChanged
|| typeChanged || flagsChanged || redrawNeeded) {
@@ -554,6 +579,8 @@ public abstract class WallpaperService extends Service {
| WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
;
+ mCurWindowPrivateFlags = mWindowPrivateFlags;
+ mLayout.privateFlags = mWindowPrivateFlags;
mLayout.memoryType = mType;
mLayout.token = mWindowToken;
diff --git a/core/java/android/speech/tts/FileSynthesisCallback.java b/core/java/android/speech/tts/FileSynthesisCallback.java
index 5808919482a3..04c33775d5c1 100644
--- a/core/java/android/speech/tts/FileSynthesisCallback.java
+++ b/core/java/android/speech/tts/FileSynthesisCallback.java
@@ -16,10 +16,10 @@
package android.speech.tts;
import android.media.AudioFormat;
+import android.os.FileUtils;
import android.util.Log;
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
@@ -63,7 +63,7 @@ class FileSynthesisCallback extends AbstractSynthesisCallback {
* Must be called while holding the monitor on {@link #mStateLock}.
*/
private void cleanUp() {
- closeFile();
+ closeFileAndWidenPermissions();
if (mFile != null) {
mFileName.delete();
}
@@ -72,7 +72,7 @@ class FileSynthesisCallback extends AbstractSynthesisCallback {
/**
* Must be called while holding the monitor on {@link #mStateLock}.
*/
- private void closeFile() {
+ private void closeFileAndWidenPermissions() {
try {
if (mFile != null) {
mFile.close();
@@ -81,6 +81,18 @@ class FileSynthesisCallback extends AbstractSynthesisCallback {
} catch (IOException ex) {
Log.e(TAG, "Failed to close " + mFileName + ": " + ex);
}
+
+ try {
+ // Make the written file readable and writeable by everyone.
+ // This allows the app that requested synthesis to read the file.
+ //
+ // Note that the directory this file was written must have already
+ // been world writeable in order it to have been
+ // written to in the first place.
+ FileUtils.setPermissions(mFileName.getAbsolutePath(), 0666, -1, -1); //-rw-rw-rw
+ } catch (SecurityException se) {
+ Log.e(TAG, "Security exception setting rw permissions on : " + mFileName);
+ }
}
@Override
@@ -168,7 +180,7 @@ class FileSynthesisCallback extends AbstractSynthesisCallback {
int dataLength = (int) (mFile.length() - WAV_HEADER_LENGTH);
mFile.write(
makeWavHeader(mSampleRateInHz, mAudioFormat, mChannelCount, dataLength));
- closeFile();
+ closeFileAndWidenPermissions();
mDone = true;
return TextToSpeech.SUCCESS;
} catch (IOException ex) {
diff --git a/core/java/android/text/DynamicLayout.java b/core/java/android/text/DynamicLayout.java
index f82c9c4f06e8..026af34445f6 100644
--- a/core/java/android/text/DynamicLayout.java
+++ b/core/java/android/text/DynamicLayout.java
@@ -281,9 +281,9 @@ extends Layout
}
reflowed.generate(text, where, where + after,
- getPaint(), getWidth(), getAlignment(), getTextDirectionHeuristic(),
- getSpacingMultiplier(), getSpacingAdd(),
- false, true, mEllipsizedWidth, mEllipsizeAt);
+ getPaint(), getWidth(), getTextDirectionHeuristic(), getSpacingMultiplier(),
+ getSpacingAdd(), false,
+ true, mEllipsizedWidth, mEllipsizeAt);
int n = reflowed.getLineCount();
// If the new layout has a blank line at the end, but it is not
diff --git a/core/java/android/text/StaticLayout.java b/core/java/android/text/StaticLayout.java
index 583cbe615fa4..1dd4c8a96904 100644
--- a/core/java/android/text/StaticLayout.java
+++ b/core/java/android/text/StaticLayout.java
@@ -137,9 +137,9 @@ public class StaticLayout extends Layout {
mMeasured = MeasuredText.obtain();
- generate(source, bufstart, bufend, paint, outerwidth, align, textDir,
- spacingmult, spacingadd, includepad, includepad,
- ellipsizedWidth, ellipsize);
+ generate(source, bufstart, bufend, paint, outerwidth, textDir, spacingmult,
+ spacingadd, includepad, includepad, ellipsizedWidth,
+ ellipsize);
mMeasured = MeasuredText.recycle(mMeasured);
mFontMetricsInt = null;
@@ -157,10 +157,10 @@ public class StaticLayout extends Layout {
/* package */ void generate(CharSequence source, int bufStart, int bufEnd,
TextPaint paint, int outerWidth,
- Alignment align, TextDirectionHeuristic textDir,
- float spacingmult, float spacingadd,
- boolean includepad, boolean trackpad,
- float ellipsizedWidth, TextUtils.TruncateAt ellipsize) {
+ TextDirectionHeuristic textDir, float spacingmult,
+ float spacingadd, boolean includepad,
+ boolean trackpad, float ellipsizedWidth,
+ TextUtils.TruncateAt ellipsize) {
mLineCount = 0;
int v = 0;
@@ -328,9 +328,7 @@ public class StaticLayout extends Layout {
whichPaint = mWorkPaint;
}
- float wid = bm.getWidth() *
- -whichPaint.ascent() /
- bm.getHeight();
+ float wid = bm.getWidth() * -whichPaint.ascent() / bm.getHeight();
w += wid;
hasTabOrEmoji = true;
@@ -398,67 +396,49 @@ public class StaticLayout extends Layout {
okBottom = fitBottom;
}
} else {
- final boolean moreChars = (j + 1 < spanEnd);
- if (ok != here) {
- // Log.e("text", "output ok " + here + " to " +ok);
+ final boolean moreChars = (j + 1 < spanEnd);
+ int endPos;
+ int above, below, top, bottom;
+ float currentTextWidth;
- while (ok < spanEnd && chs[ok - paraStart] == CHAR_SPACE) {
- ok++;
- }
+ if (ok != here) {
+ // If it is a space that makes the length exceed width, cut here
+ if (c == CHAR_SPACE) ok = j + 1;
- v = out(source,
- here, ok,
- okAscent, okDescent, okTop, okBottom,
- v,
- spacingmult, spacingadd, chooseHt,
- chooseHtv, fm, hasTabOrEmoji,
- needMultiply, paraStart, chdirs, dir, easy,
- ok == bufEnd, includepad, trackpad,
- chs, widths, paraStart,
- ellipsize, ellipsizedWidth, okWidth,
- paint, moreChars);
-
- here = ok;
- } else if (fit != here) {
- // Log.e("text", "output fit " + here + " to " +fit);
- v = out(source,
- here, fit,
- fitAscent, fitDescent,
- fitTop, fitBottom,
- v,
- spacingmult, spacingadd, chooseHt,
- chooseHtv, fm, hasTabOrEmoji,
- needMultiply, paraStart, chdirs, dir, easy,
- fit == bufEnd, includepad, trackpad,
- chs, widths, paraStart,
- ellipsize, ellipsizedWidth, fitWidth,
- paint, moreChars);
-
- here = fit;
- } else {
- // Log.e("text", "output one " + here + " to " +(here + 1));
- // XXX not sure why the existing fm wasn't ok.
- // measureText(paint, mWorkPaint,
- // source, here, here + 1, fm, tab,
- // null);
-
- v = out(source,
- here, here+1,
- fm.ascent, fm.descent,
- fm.top, fm.bottom,
- v,
- spacingmult, spacingadd, chooseHt,
- chooseHtv, fm, hasTabOrEmoji,
- needMultiply, paraStart, chdirs, dir, easy,
- here + 1 == bufEnd, includepad,
- trackpad,
- chs, widths, paraStart,
- ellipsize, ellipsizedWidth,
- widths[here - paraStart], paint, moreChars);
-
- here = here + 1;
+ while (ok < spanEnd && chs[ok - paraStart] == CHAR_SPACE) {
+ ok++;
}
+ endPos = ok;
+ above = okAscent;
+ below = okDescent;
+ top = okTop;
+ bottom = okBottom;
+ currentTextWidth = okWidth;
+ } else if (fit != here) {
+ endPos = fit;
+ above = fitAscent;
+ below = fitDescent;
+ top = fitTop;
+ bottom = fitBottom;
+ currentTextWidth = fitWidth;
+ } else {
+ endPos = here + 1;
+ above = fm.ascent;
+ below = fm.descent;
+ top = fm.top;
+ bottom = fm.bottom;
+ currentTextWidth = widths[here - paraStart];
+ }
+
+ v = out(source, here, endPos,
+ above, below, top, bottom,
+ v, spacingmult, spacingadd, chooseHt,chooseHtv, fm, hasTabOrEmoji,
+ needMultiply, chdirs, dir, easy, bufEnd, includepad, trackpad,
+ chs, widths, paraStart, ellipsize, ellipsizedWidth,
+ currentTextWidth, paint, moreChars);
+ here = endPos;
+
if (here < spanStart) {
// didn't output all the text for this span
// we've measured the raw widths, though, so
@@ -501,10 +481,10 @@ public class StaticLayout extends Layout {
v,
spacingmult, spacingadd, chooseHt,
chooseHtv, fm, hasTabOrEmoji,
- needMultiply, paraStart, chdirs, dir, easy,
- paraEnd == bufEnd, includepad, trackpad,
- chs, widths, paraStart,
- ellipsize, ellipsizedWidth, w, paint, paraEnd != bufEnd);
+ needMultiply, chdirs, dir, easy, bufEnd,
+ includepad, trackpad, chs,
+ widths, paraStart, ellipsize,
+ ellipsizedWidth, w, paint, paraEnd != bufEnd);
}
paraStart = paraEnd;
@@ -525,10 +505,10 @@ public class StaticLayout extends Layout {
v,
spacingmult, spacingadd, null,
null, fm, false,
- needMultiply, bufEnd, null, DEFAULT_DIR, true,
- true, includepad, trackpad,
- null, null, bufStart,
- ellipsize, ellipsizedWidth, 0, paint, false);
+ needMultiply, null, DEFAULT_DIR, true, bufEnd,
+ includepad, trackpad, null,
+ null, bufStart, ellipsize,
+ ellipsizedWidth, 0, paint, false);
}
}
@@ -628,12 +608,12 @@ public class StaticLayout extends Layout {
float spacingmult, float spacingadd,
LineHeightSpan[] chooseHt, int[] chooseHtv,
Paint.FontMetricsInt fm, boolean hasTabOrEmoji,
- boolean needMultiply, int pstart, byte[] chdirs,
- int dir, boolean easy, boolean last,
- boolean includePad, boolean trackPad,
- char[] chs, float[] widths, int widthStart,
- TextUtils.TruncateAt ellipsize, float ellipsisWidth,
- float textWidth, TextPaint paint, boolean moreChars) {
+ boolean needMultiply, byte[] chdirs, int dir,
+ boolean easy, int bufEnd, boolean includePad,
+ boolean trackPad, char[] chs,
+ float[] widths, int widthStart, TextUtils.TruncateAt ellipsize,
+ float ellipsisWidth, float textWidth,
+ TextPaint paint, boolean moreChars) {
int j = mLineCount;
int off = j * mColumns;
int want = off + mColumns + TOP;
@@ -683,7 +663,7 @@ public class StaticLayout extends Layout {
above = top;
}
}
- if (last) {
+ if (end == bufEnd) {
if (trackPad) {
mBottomPadding = bottom - below;
}
diff --git a/core/java/android/text/method/ArrowKeyMovementMethod.java b/core/java/android/text/method/ArrowKeyMovementMethod.java
index e93039b15abe..4ec4bc469724 100644
--- a/core/java/android/text/method/ArrowKeyMovementMethod.java
+++ b/core/java/android/text/method/ArrowKeyMovementMethod.java
@@ -197,16 +197,18 @@ public class ArrowKeyMovementMethod extends BaseMovementMethod implements Moveme
@Override
protected boolean leftWord(TextView widget, Spannable buffer) {
final int selectionEnd = widget.getSelectionEnd();
- mWordIterator.setCharSequence(buffer, selectionEnd, selectionEnd);
- return Selection.moveToPreceding(buffer, mWordIterator, isSelecting(buffer));
+ final WordIterator wordIterator = widget.getWordIterator();
+ wordIterator.setCharSequence(buffer, selectionEnd, selectionEnd);
+ return Selection.moveToPreceding(buffer, wordIterator, isSelecting(buffer));
}
/** {@hide} */
@Override
protected boolean rightWord(TextView widget, Spannable buffer) {
final int selectionEnd = widget.getSelectionEnd();
- mWordIterator.setCharSequence(buffer, selectionEnd, selectionEnd);
- return Selection.moveToFollowing(buffer, mWordIterator, isSelecting(buffer));
+ final WordIterator wordIterator = widget.getWordIterator();
+ wordIterator.setCharSequence(buffer, selectionEnd, selectionEnd);
+ return Selection.moveToFollowing(buffer, wordIterator, isSelecting(buffer));
}
@Override
@@ -322,8 +324,6 @@ public class ArrowKeyMovementMethod extends BaseMovementMethod implements Moveme
return sInstance;
}
- private WordIterator mWordIterator = new WordIterator();
-
private static final Object LAST_TAP_DOWN = new Object();
private static ArrowKeyMovementMethod sInstance;
}
diff --git a/core/java/android/text/style/SuggestionSpan.java b/core/java/android/text/style/SuggestionSpan.java
index 6e950165733a..ed2af10bcf03 100644
--- a/core/java/android/text/style/SuggestionSpan.java
+++ b/core/java/android/text/style/SuggestionSpan.java
@@ -60,7 +60,6 @@ public class SuggestionSpan extends CharacterStyle implements ParcelableSpan {
* Sets this flag if the auto correction is about to be applied to a word/text
* that the user is typing/composing. This type of suggestion is rendered differently
* to indicate the auto correction is happening.
- * @hide
*/
public static final int FLAG_AUTO_CORRECTION = 0x0004;
diff --git a/core/java/android/view/IApplicationToken.aidl b/core/java/android/view/IApplicationToken.aidl
index 6bff5b346d09..5f0600f9e566 100644
--- a/core/java/android/view/IApplicationToken.aidl
+++ b/core/java/android/view/IApplicationToken.aidl
@@ -20,6 +20,7 @@ package android.view;
/** {@hide} */
interface IApplicationToken
{
+ void windowsDrawn();
void windowsVisible();
void windowsGone();
boolean keyDispatchingTimedOut();
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 61b13d528e2d..fea79d55f0bc 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -4219,6 +4219,7 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal
*
* @attr ref android.R.styleable#View_contentDescription
*/
+ @RemotableViewMethod
public void setContentDescription(CharSequence contentDescription) {
mContentDescription = contentDescription;
}
@@ -10114,8 +10115,20 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal
mLocalDirtyRect.setEmpty();
}
+ // The layer is not valid if the underlying GPU resources cannot be allocated
+ if (!mHardwareLayer.isValid()) {
+ return null;
+ }
+
HardwareCanvas currentCanvas = mAttachInfo.mHardwareCanvas;
final HardwareCanvas canvas = mHardwareLayer.start(currentCanvas);
+
+ // Make sure all the GPU resources have been properly allocated
+ if (canvas == null) {
+ mHardwareLayer.end(currentCanvas);
+ return null;
+ }
+
mAttachInfo.mHardwareCanvas = canvas;
try {
canvas.setViewport(width, height);
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 081e267f601c..24423c327ecc 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -287,7 +287,7 @@ public final class ViewRootImpl extends Handler implements ViewParent,
final AccessibilityManager mAccessibilityManager;
- AccessibilityInteractionController mAccessibilityInteractionContrtoller;
+ AccessibilityInteractionController mAccessibilityInteractionController;
AccessibilityInteractionConnectionManager mAccessibilityInteractionConnectionManager;
@@ -431,20 +431,17 @@ public final class ViewRootImpl extends Handler implements ViewParent,
}
}
- // If the application owns the surface, don't enable hardware acceleration
- if (mSurfaceHolder == null) {
- enableHardwareAcceleration(attrs);
- }
-
CompatibilityInfo compatibilityInfo = mCompatibilityInfo.get();
mTranslator = compatibilityInfo.getTranslator();
- if (mTranslator != null) {
- mSurface.setCompatibilityTranslator(mTranslator);
+ // If the application owns the surface, don't enable hardware acceleration
+ if (mSurfaceHolder == null) {
+ enableHardwareAcceleration(attrs);
}
boolean restore = false;
if (mTranslator != null) {
+ mSurface.setCompatibilityTranslator(mTranslator);
restore = true;
attrs.backup();
mTranslator.translateWindowLayout(attrs);
@@ -596,6 +593,9 @@ public final class ViewRootImpl extends Handler implements ViewParent,
mAttachInfo.mHardwareAccelerated = false;
mAttachInfo.mHardwareAccelerationRequested = false;
+ // Don't enable hardware acceleration when the application is in compatibility mode
+ if (mTranslator != null) return;
+
// Try to enable hardware acceleration if requested
final boolean hardwareAccelerated =
(attrs.flags & WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED) != 0;
@@ -3526,10 +3526,10 @@ public final class ViewRootImpl extends Handler implements ViewParent,
throw new IllegalStateException("getAccessibilityInteractionController"
+ " called when there is no mView");
}
- if (mAccessibilityInteractionContrtoller == null) {
- mAccessibilityInteractionContrtoller = new AccessibilityInteractionController();
+ if (mAccessibilityInteractionController == null) {
+ mAccessibilityInteractionController = new AccessibilityInteractionController();
}
- return mAccessibilityInteractionContrtoller;
+ return mAccessibilityInteractionController;
}
private int relayoutWindow(WindowManager.LayoutParams params, int viewVisibility,
@@ -4473,19 +4473,20 @@ public final class ViewRootImpl extends Handler implements ViewParent,
* AccessibilityManagerService to the latter can interact with
* the view hierarchy in this ViewAncestor.
*/
- final class AccessibilityInteractionConnection
+ static final class AccessibilityInteractionConnection
extends IAccessibilityInteractionConnection.Stub {
- private final WeakReference<ViewRootImpl> mViewAncestor;
+ private final WeakReference<ViewRootImpl> mRootImpl;
AccessibilityInteractionConnection(ViewRootImpl viewAncestor) {
- mViewAncestor = new WeakReference<ViewRootImpl>(viewAncestor);
+ mRootImpl = new WeakReference<ViewRootImpl>(viewAncestor);
}
public void findAccessibilityNodeInfoByAccessibilityId(int accessibilityId,
int interactionId, IAccessibilityInteractionConnectionCallback callback,
int interrogatingPid, long interrogatingTid) {
- if (mViewAncestor.get() != null) {
- getAccessibilityInteractionController()
+ ViewRootImpl viewRootImpl = mRootImpl.get();
+ if (viewRootImpl != null) {
+ viewRootImpl.getAccessibilityInteractionController()
.findAccessibilityNodeInfoByAccessibilityIdClientThread(accessibilityId,
interactionId, callback, interrogatingPid, interrogatingTid);
}
@@ -4494,8 +4495,9 @@ public final class ViewRootImpl extends Handler implements ViewParent,
public void performAccessibilityAction(int accessibilityId, int action,
int interactionId, IAccessibilityInteractionConnectionCallback callback,
int interogatingPid, long interrogatingTid) {
- if (mViewAncestor.get() != null) {
- getAccessibilityInteractionController()
+ ViewRootImpl viewRootImpl = mRootImpl.get();
+ if (viewRootImpl != null) {
+ viewRootImpl.getAccessibilityInteractionController()
.performAccessibilityActionClientThread(accessibilityId, action, interactionId,
callback, interogatingPid, interrogatingTid);
}
@@ -4504,8 +4506,9 @@ public final class ViewRootImpl extends Handler implements ViewParent,
public void findAccessibilityNodeInfoByViewId(int viewId,
int interactionId, IAccessibilityInteractionConnectionCallback callback,
int interrogatingPid, long interrogatingTid) {
- if (mViewAncestor.get() != null) {
- getAccessibilityInteractionController()
+ ViewRootImpl viewRootImpl = mRootImpl.get();
+ if (viewRootImpl != null) {
+ viewRootImpl.getAccessibilityInteractionController()
.findAccessibilityNodeInfoByViewIdClientThread(viewId, interactionId, callback,
interrogatingPid, interrogatingTid);
}
@@ -4514,8 +4517,9 @@ public final class ViewRootImpl extends Handler implements ViewParent,
public void findAccessibilityNodeInfosByViewText(String text, int accessibilityId,
int interactionId, IAccessibilityInteractionConnectionCallback callback,
int interrogatingPid, long interrogatingTid) {
- if (mViewAncestor.get() != null) {
- getAccessibilityInteractionController()
+ ViewRootImpl viewRootImpl = mRootImpl.get();
+ if (viewRootImpl != null) {
+ viewRootImpl.getAccessibilityInteractionController()
.findAccessibilityNodeInfosByViewTextClientThread(text, accessibilityId,
interactionId, callback, interrogatingPid, interrogatingTid);
}
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index e8ab22715d58..e74fec6082a4 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -813,6 +813,17 @@ public interface WindowManager extends ViewManager {
public static final int PRIVATE_FLAG_FORCE_HARDWARE_ACCELERATED = 0x00000002;
/**
+ * By default, wallpapers are sent new offsets when the wallpaper is scrolled. Wallpapers
+ * may elect to skp these notifications if they are no doing anything productive with
+ * them (they do not affect the wallpaper scrolling operation) by calling
+ * {@link
+ * android.service.wallpaper.WallpaperService.Engine#setOffsetNotificationsEnabled(boolean)}.
+ *
+ * @hide
+ */
+ public static final int PRIVATE_FLAG_WANTS_OFFSET_NOTIFICATIONS = 0x00000004;
+
+ /**
* Control flags that are private to the platform.
* @hide
*/
diff --git a/core/java/android/view/accessibility/AccessibilityNodeInfo.java b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
index 7671312a5704..fa34ee747bc4 100644
--- a/core/java/android/view/accessibility/AccessibilityNodeInfo.java
+++ b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
@@ -293,7 +293,7 @@ public class AccessibilityNodeInfo implements Parcelable {
*/
public AccessibilityNodeInfo getParent() {
enforceSealed();
- if (!canPerformRequestOverConnection(mAccessibilityViewId)) {
+ if (!canPerformRequestOverConnection(mParentAccessibilityViewId)) {
return null;
}
AccessibilityInteractionClient client = AccessibilityInteractionClient.getInstance();
diff --git a/core/java/android/view/accessibility/AccessibilityRecord.java b/core/java/android/view/accessibility/AccessibilityRecord.java
index fe06d983f0d2..a4e0688e22fa 100644
--- a/core/java/android/view/accessibility/AccessibilityRecord.java
+++ b/core/java/android/view/accessibility/AccessibilityRecord.java
@@ -391,8 +391,6 @@ public class AccessibilityRecord {
* Gets the max scroll offset of the source left edge in pixels.
*
* @return The max scroll.
- *
- * @hide
*/
public int getMaxScrollX() {
return mMaxScrollX;
@@ -401,8 +399,6 @@ public class AccessibilityRecord {
* Sets the max scroll offset of the source left edge in pixels.
*
* @param maxScrollX The max scroll.
- *
- * @hide
*/
public void setMaxScrollX(int maxScrollX) {
enforceNotSealed();
@@ -413,8 +409,6 @@ public class AccessibilityRecord {
* Gets the max scroll offset of the source top edge in pixels.
*
* @return The max scroll.
- *
- * @hide
*/
public int getMaxScrollY() {
return mMaxScrollY;
@@ -424,8 +418,6 @@ public class AccessibilityRecord {
* Sets the max scroll offset of the source top edge in pixels.
*
* @param maxScrollY The max scroll.
- *
- * @hide
*/
public void setMaxScrollY(int maxScrollY) {
enforceNotSealed();
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java
index 3ead9df0e3eb..b41e6f5e7907 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -384,14 +384,18 @@ public final class InputMethodManager {
}
}
- class ControlledInputConnectionWrapper extends IInputConnectionWrapper {
- public ControlledInputConnectionWrapper(Looper mainLooper, InputConnection conn) {
+ private static class ControlledInputConnectionWrapper extends IInputConnectionWrapper {
+ private final InputMethodManager mParentInputMethodManager;
+
+ public ControlledInputConnectionWrapper(final Looper mainLooper, final InputConnection conn,
+ final InputMethodManager inputMethodManager) {
super(mainLooper, conn);
+ mParentInputMethodManager = inputMethodManager;
}
@Override
public boolean isActive() {
- return mActive;
+ return mParentInputMethodManager.mActive;
}
}
@@ -439,7 +443,7 @@ public final class InputMethodManager {
mMainLooper = looper;
mH = new H(looper);
mIInputContext = new ControlledInputConnectionWrapper(looper,
- mDummyInputConnection);
+ mDummyInputConnection, this);
if (mInstance == null) {
mInstance = this;
@@ -1016,7 +1020,7 @@ public final class InputMethodManager {
mCursorCandStart = -1;
mCursorCandEnd = -1;
mCursorRect.setEmpty();
- servedContext = new ControlledInputConnectionWrapper(vh.getLooper(), ic);
+ servedContext = new ControlledInputConnectionWrapper(vh.getLooper(), ic, this);
} else {
servedContext = null;
}
diff --git a/core/java/android/view/textservice/SpellCheckerSession.java b/core/java/android/view/textservice/SpellCheckerSession.java
index 793f514fbe77..5c3f08918aef 100644
--- a/core/java/android/view/textservice/SpellCheckerSession.java
+++ b/core/java/android/view/textservice/SpellCheckerSession.java
@@ -123,7 +123,7 @@ public class SpellCheckerSession {
}
mSpellCheckerInfo = info;
mSpellCheckerSessionListenerImpl = new SpellCheckerSessionListenerImpl(mHandler);
- mInternalListener = new InternalListener();
+ mInternalListener = new InternalListener(mSpellCheckerSessionListenerImpl);
mTextServicesManager = tsm;
mIsUsed = true;
mSpellCheckerSessionListener = listener;
@@ -316,13 +316,19 @@ public class SpellCheckerSession {
public void onGetSuggestions(SuggestionsInfo[] results);
}
- private class InternalListener extends ITextServicesSessionListener.Stub {
+ private static class InternalListener extends ITextServicesSessionListener.Stub {
+ private final SpellCheckerSessionListenerImpl mParentSpellCheckerSessionListenerImpl;
+
+ public InternalListener(SpellCheckerSessionListenerImpl spellCheckerSessionListenerImpl) {
+ mParentSpellCheckerSessionListenerImpl = spellCheckerSessionListenerImpl;
+ }
+
@Override
public void onServiceConnected(ISpellCheckerSession session) {
if (DBG) {
Log.w(TAG, "SpellCheckerSession connected.");
}
- mSpellCheckerSessionListenerImpl.onServiceConnected(session);
+ mParentSpellCheckerSessionListenerImpl.onServiceConnected(session);
}
}
diff --git a/core/java/android/view/textservice/SuggestionsInfo.java b/core/java/android/view/textservice/SuggestionsInfo.java
index 62a06b9afa87..ddd0361ca97f 100644
--- a/core/java/android/view/textservice/SuggestionsInfo.java
+++ b/core/java/android/view/textservice/SuggestionsInfo.java
@@ -39,6 +39,12 @@ public final class SuggestionsInfo implements Parcelable {
* word looks like a typo.
*/
public static final int RESULT_ATTR_LOOKS_LIKE_TYPO = 0x0002;
+ /**
+ * Flag of the attributes of the suggestions that can be obtained by
+ * {@link #getSuggestionsAttributes}: this tells that the text service thinks
+ * the result suggestions include highly recommended ones.
+ */
+ public static final int RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS = 0x0004;
private final int mSuggestionsAttributes;
private final String[] mSuggestions;
private final boolean mSuggestionsAvailable;
diff --git a/core/java/android/webkit/HTML5VideoFullScreen.java b/core/java/android/webkit/HTML5VideoFullScreen.java
index 0ea27a0b9f5e..f29aff29bf05 100644
--- a/core/java/android/webkit/HTML5VideoFullScreen.java
+++ b/core/java/android/webkit/HTML5VideoFullScreen.java
@@ -150,7 +150,9 @@ public class HTML5VideoFullScreen extends HTML5VideoView
private void prepareForFullScreen() {
// So in full screen, we reset the MediaPlayer
mPlayer.reset();
- setMediaController(new MediaController(mProxy.getContext()));
+ MediaController mc = new MediaController(mProxy.getContext());
+ mc.setSystemUiVisibility(mLayout.getSystemUiVisibility());
+ setMediaController(mc);
mPlayer.setScreenOnWhilePlaying(true);
prepareDataAndDisplayMode(mProxy);
}
diff --git a/core/java/android/webkit/JniUtil.java b/core/java/android/webkit/JniUtil.java
index 7759ff37053e..466204040a89 100644
--- a/core/java/android/webkit/JniUtil.java
+++ b/core/java/android/webkit/JniUtil.java
@@ -22,6 +22,7 @@ import android.net.Uri;
import android.provider.Settings;
import android.util.Log;
+import java.io.File;
import java.io.InputStream;
class JniUtil {
@@ -79,7 +80,12 @@ class JniUtil {
checkInitialized();
if (sCacheDirectory == null) {
- sCacheDirectory = sContext.getCacheDir().getAbsolutePath();
+ File cacheDir = sContext.getCacheDir();
+ if (cacheDir == null) {
+ sCacheDirectory = "";
+ } else {
+ sCacheDirectory = cacheDir.getAbsolutePath();
+ }
}
return sCacheDirectory;
diff --git a/core/java/android/webkit/WebChromeClient.java b/core/java/android/webkit/WebChromeClient.java
index ae40ded35907..3d129f74f690 100644
--- a/core/java/android/webkit/WebChromeClient.java
+++ b/core/java/android/webkit/WebChromeClient.java
@@ -95,27 +95,33 @@ public class WebChromeClient {
public void onHideCustomView() {}
/**
- * Request the host application to create a new Webview. The host
- * application should handle placement of the new WebView in the view
- * system. The default behavior returns null.
- * @param view The WebView that initiated the callback.
- * @param dialog True if the new window is meant to be a small dialog
- * window.
- * @param userGesture True if the request was initiated by a user gesture
- * such as clicking a link.
- * @param resultMsg The message to send when done creating a new WebView.
- * Set the new WebView through resultMsg.obj which is
- * WebView.WebViewTransport() and then call
- * resultMsg.sendToTarget();
- * @return Similar to javscript dialogs, this method should return true if
- * the client is going to handle creating a new WebView. Note that
- * the WebView will halt processing if this method returns true so
- * make sure to call resultMsg.sendToTarget(). It is undefined
- * behavior to call resultMsg.sendToTarget() after returning false
- * from this method.
+ * Request the host application to create a new window. If the host
+ * application chooses to honor this request, it should return true from
+ * this method, create a new WebView to host the window, insert it into the
+ * View system and send the supplied resultMsg message to its target with
+ * the new WebView as an argument. If the host application chooses not to
+ * honor the request, it should return false from this method. The default
+ * implementation of this method does nothing and hence returns false.
+ * @param view The WebView from which the request for a new window
+ * originated.
+ * @param isDialog True if the new window should be a dialog, rather than
+ * a full-size window.
+ * @param isUserGesture True if the request was initiated by a user gesture,
+ * such as the user clicking a link.
+ * @param resultMsg The message to send when once a new WebView has been
+ * created. resultMsg.obj is a
+ * {@link WebView.WebViewTransport} object. This should be
+ * used to transport the new WebView, by calling
+ * {@link WebView.WebViewTransport#setWebView(WebView)
+ * WebView.WebViewTransport.setWebView(WebView)}.
+ * @return This method should return true if the host application will
+ * create a new window, in which case resultMsg should be sent to
+ * its target. Otherwise, this method should return false. Returning
+ * false from this method but also sending resultMsg will result in
+ * undefined behavior.
*/
- public boolean onCreateWindow(WebView view, boolean dialog,
- boolean userGesture, Message resultMsg) {
+ public boolean onCreateWindow(WebView view, boolean isDialog,
+ boolean isUserGesture, Message resultMsg) {
return false;
}
diff --git a/core/java/android/webkit/WebSettings.java b/core/java/android/webkit/WebSettings.java
index f1c2bdead14d..f240a2e243b5 100644
--- a/core/java/android/webkit/WebSettings.java
+++ b/core/java/android/webkit/WebSettings.java
@@ -777,7 +777,7 @@ public class WebSettings {
public void setDoubleTapZoom(int doubleTapZoom) {
if (mDoubleTapZoom != doubleTapZoom) {
mDoubleTapZoom = doubleTapZoom;
- mWebView.updateDoubleTapZoom();
+ mWebView.updateDoubleTapZoom(doubleTapZoom);
}
}
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index fef9b02e2bfb..58b63fe53d03 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -641,6 +641,7 @@ public class WebView extends AbsoluteLayout
private boolean mAccessibilityScriptInjected;
static final boolean USE_JAVA_TEXT_SELECTION = true;
+ static final boolean DEBUG_TEXT_HANDLES = false;
private Region mTextSelectionRegion = new Region();
private Paint mTextSelectionPaint;
private Drawable mSelectHandleLeft;
@@ -2004,15 +2005,18 @@ public class WebView extends AbsoluteLayout
}
/**
- * Load the given url with the extra headers.
- * @param url The url of the resource to load.
- * @param extraHeaders The extra headers sent with this url. This should not
- * include the common headers like "user-agent". If it does, it
- * will be replaced by the intrinsic value of the WebView.
+ * Load the given URL with the specified additional HTTP headers.
+ * @param url The URL of the resource to load.
+ * @param additionalHttpHeaders The additional headers to be used in the
+ * HTTP request for this URL, specified as a map from name to
+ * value. Note that if this map contains any of the headers
+ * that are set by default by the WebView, such as those
+ * controlling caching, accept types or the User-Agent, their
+ * values may be overriden by the WebView's defaults.
*/
- public void loadUrl(String url, Map<String, String> extraHeaders) {
+ public void loadUrl(String url, Map<String, String> additionalHttpHeaders) {
checkThread();
- loadUrlImpl(url, extraHeaders);
+ loadUrlImpl(url, additionalHttpHeaders);
}
private void loadUrlImpl(String url, Map<String, String> extraHeaders) {
@@ -2025,8 +2029,8 @@ public class WebView extends AbsoluteLayout
}
/**
- * Load the given url.
- * @param url The url of the resource to load.
+ * Load the given URL.
+ * @param url The URL of the resource to load.
*/
public void loadUrl(String url) {
checkThread();
@@ -2992,8 +2996,8 @@ public class WebView extends AbsoluteLayout
/**
* Update the double-tap zoom.
*/
- /* package */ void updateDoubleTapZoom() {
- mZoomManager.updateDoubleTapZoom();
+ /* package */ void updateDoubleTapZoom(int doubleTapZoom) {
+ mZoomManager.updateDoubleTapZoom(doubleTapZoom);
}
private int computeRealHorizontalScrollRange() {
@@ -4504,6 +4508,9 @@ public class WebView extends AbsoluteLayout
if (mHeldMotionless == MOTIONLESS_FALSE) {
mPrivateHandler.sendMessageDelayed(mPrivateHandler
.obtainMessage(DRAG_HELD_MOTIONLESS), MOTIONLESS_TIME);
+ mPrivateHandler.sendMessageDelayed(mPrivateHandler
+ .obtainMessage(AWAKEN_SCROLL_BARS),
+ ViewConfiguration.getScrollDefaultDelay());
mHeldMotionless = MOTIONLESS_PENDING;
}
}
@@ -4531,7 +4538,7 @@ public class WebView extends AbsoluteLayout
int extras = DRAW_EXTRAS_NONE;
if (mFindIsUp) {
extras = DRAW_EXTRAS_FIND;
- } else if (mSelectingText && !USE_JAVA_TEXT_SELECTION) {
+ } else if (mSelectingText && (!USE_JAVA_TEXT_SELECTION || DEBUG_TEXT_HANDLES)) {
extras = DRAW_EXTRAS_SELECTION;
nativeSetSelectionPointer(mNativeClass,
mDrawSelectionPointer,
@@ -4603,33 +4610,29 @@ public class WebView extends AbsoluteLayout
mTextSelectionPaint.setColor(HIGHLIGHT_COLOR);
}
mTextSelectionRegion.setEmpty();
- nativeGetTextSelectionRegion(mTextSelectionRegion);
+ nativeGetTextSelectionRegion(mNativeClass, mTextSelectionRegion);
Rect r = new Rect();
RegionIterator iter = new RegionIterator(mTextSelectionRegion);
- int start_x = -1;
- int start_y = -1;
- int end_x = -1;
- int end_y = -1;
+ Rect clip = canvas.getClipBounds();
while (iter.next(r)) {
- r = new Rect(
- contentToViewDimension(r.left),
+ r.set(contentToViewDimension(r.left),
contentToViewDimension(r.top),
contentToViewDimension(r.right),
contentToViewDimension(r.bottom));
- // Regions are in order. First one is where selection starts,
- // last one is where it ends
- if (start_x < 0 || start_y < 0) {
- start_x = r.left;
- start_y = r.bottom;
+ if (r.intersect(clip)) {
+ canvas.drawRect(r, mTextSelectionPaint);
}
- end_x = r.right;
- end_y = r.bottom;
- canvas.drawRect(r, mTextSelectionPaint);
}
if (mSelectHandleLeft == null) {
mSelectHandleLeft = mContext.getResources().getDrawable(
com.android.internal.R.drawable.text_select_handle_left);
}
+ int[] handles = new int[4];
+ nativeGetSelectionHandles(mNativeClass, handles);
+ int start_x = contentToViewDimension(handles[0]);
+ int start_y = contentToViewDimension(handles[1]);
+ int end_x = contentToViewDimension(handles[2]);
+ int end_y = contentToViewDimension(handles[3]);
// Magic formula copied from TextView
start_x -= (mSelectHandleLeft.getIntrinsicWidth() * 3) / 4;
mSelectHandleLeft.setBounds(start_x, start_y,
@@ -4643,6 +4646,10 @@ public class WebView extends AbsoluteLayout
mSelectHandleRight.setBounds(end_x, end_y,
end_x + mSelectHandleRight.getIntrinsicWidth(),
end_y + mSelectHandleRight.getIntrinsicHeight());
+ if (DEBUG_TEXT_HANDLES) {
+ mSelectHandleLeft.setAlpha(125);
+ mSelectHandleRight.setAlpha(125);
+ }
mSelectHandleLeft.draw(canvas);
mSelectHandleRight.draw(canvas);
}
@@ -5403,6 +5410,10 @@ public class WebView extends AbsoluteLayout
}
mExtendSelection = false;
mSelectingText = mDrawSelectionPointer = true;
+ if (DEBUG_TEXT_HANDLES) {
+ // Debugging text handles requires running in software mode
+ setLayerType(LAYER_TYPE_SOFTWARE, null);
+ }
// don't let the picture change during text selection
WebViewCore.pauseUpdatePicture(mWebViewCore);
if (nativeHasCursorNode()) {
@@ -5481,6 +5492,11 @@ public class WebView extends AbsoluteLayout
void selectionDone() {
if (mSelectingText) {
mSelectingText = false;
+ if (DEBUG_TEXT_HANDLES) {
+ // Debugging text handles required running in software mode, set
+ // back to default now
+ setLayerType(LAYER_TYPE_NONE, null);
+ }
// finish is idempotent, so this is fine even if selectionDone was
// called by mSelectCallback.onDestroyActionMode
mSelectCallback.finish();
@@ -6006,6 +6022,7 @@ public class WebView extends AbsoluteLayout
mTouchMode = TOUCH_DRAG_START_MODE;
mConfirmMove = true;
mPrivateHandler.removeMessages(RESUME_WEBCORE_PRIORITY);
+ nativeSetIsScrolling(false);
} else if (mPrivateHandler.hasMessages(RELEASE_SINGLE_TAP)) {
mPrivateHandler.removeMessages(RELEASE_SINGLE_TAP);
if (USE_WEBKIT_RINGS || getSettings().supportTouchOnly()) {
@@ -6288,9 +6305,16 @@ public class WebView extends AbsoluteLayout
}
mLastTouchX = x;
mLastTouchY = y;
- if ((deltaX | deltaY) != 0) {
+
+ if (deltaX * deltaX + deltaY * deltaY > mTouchSlopSquare) {
mHeldMotionless = MOTIONLESS_FALSE;
+ nativeSetIsScrolling(true);
+ } else {
+ mHeldMotionless = MOTIONLESS_TRUE;
+ nativeSetIsScrolling(false);
+ keepScrollBarsVisible = true;
}
+
mLastTouchTime = eventTime;
}
@@ -6306,9 +6330,15 @@ public class WebView extends AbsoluteLayout
// keep the scrollbar on the screen even there is no scroll
awakenScrollBars(ViewConfiguration.getScrollDefaultDelay(),
false);
+ // Post a message so that we'll keep them alive while we're not scrolling.
+ mPrivateHandler.sendMessageDelayed(mPrivateHandler
+ .obtainMessage(AWAKEN_SCROLL_BARS),
+ ViewConfiguration.getScrollDefaultDelay());
// return false to indicate that we can't pan out of the
// view space
return !done;
+ } else {
+ mPrivateHandler.removeMessages(AWAKEN_SCROLL_BARS);
}
break;
}
@@ -9588,7 +9618,8 @@ public class WebView extends AbsoluteLayout
private native int nativeGetBackgroundColor();
native boolean nativeSetProperty(String key, String value);
native String nativeGetProperty(String key);
- private native void nativeGetTextSelectionRegion(Region region);
+ private native void nativeGetTextSelectionRegion(int instance, Region region);
+ private native void nativeGetSelectionHandles(int instance, int[] handles);
/**
* See {@link ComponentCallbacks2} for the trim levels and descriptions
*/
diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java
index 1294a28df190..22e86c77f3d7 100644
--- a/core/java/android/webkit/WebViewCore.java
+++ b/core/java/android/webkit/WebViewCore.java
@@ -124,6 +124,7 @@ public final class WebViewCore {
*/
private int mViewportDensityDpi = -1;
+ private boolean mIsRestored = false;
private float mRestoredScale = 0;
private float mRestoredTextWrapScale = 0;
private int mRestoredX = 0;
@@ -2254,7 +2255,7 @@ public final class WebViewCore {
if (mWebView == null) return;
- boolean updateViewState = standardLoad || mRestoredScale > 0;
+ boolean updateViewState = standardLoad || mIsRestored;
setupViewport(updateViewState);
// if updateRestoreState is true, ViewManager.postReadyToDrawAll() will
// be called after the WebView updates its state. If updateRestoreState
@@ -2271,6 +2272,7 @@ public final class WebViewCore {
// reset the scroll position, the restored offset and scales
mRestoredX = mRestoredY = 0;
+ mIsRestored = false;
mRestoredScale = mRestoredTextWrapScale = 0;
}
@@ -2288,6 +2290,18 @@ public final class WebViewCore {
// set the viewport settings from WebKit
setViewportSettingsFromNative();
+ // clamp initial scale
+ if (mViewportInitialScale > 0) {
+ if (mViewportMinimumScale > 0) {
+ mViewportInitialScale = Math.max(mViewportInitialScale,
+ mViewportMinimumScale);
+ }
+ if (mViewportMaximumScale > 0) {
+ mViewportInitialScale = Math.min(mViewportInitialScale,
+ mViewportMaximumScale);
+ }
+ }
+
if (mSettings.forceUserScalable()) {
mViewportUserScalable = true;
if (mViewportInitialScale > 0) {
@@ -2399,14 +2413,10 @@ public final class WebViewCore {
mInitialViewState.mScrollX = mRestoredX;
mInitialViewState.mScrollY = mRestoredY;
mInitialViewState.mMobileSite = (0 == mViewportWidth);
- if (mRestoredScale > 0) {
+ if (mIsRestored) {
mInitialViewState.mIsRestored = true;
mInitialViewState.mViewScale = mRestoredScale;
- if (mRestoredTextWrapScale > 0) {
- mInitialViewState.mTextWrapScale = mRestoredTextWrapScale;
- } else {
- mInitialViewState.mTextWrapScale = mInitialViewState.mViewScale;
- }
+ mInitialViewState.mTextWrapScale = mRestoredTextWrapScale;
} else {
if (mViewportInitialScale > 0) {
mInitialViewState.mViewScale = mInitialViewState.mTextWrapScale =
@@ -2525,14 +2535,9 @@ public final class WebViewCore {
// called by JNI
private void restoreScale(float scale, float textWrapScale) {
if (mBrowserFrame.firstLayoutDone() == false) {
- // If restored scale and textWrapScale are 0, set them to
- // overview and reading level scale respectively.
- mRestoredScale = (scale <= 0.0)
- ? mWebView.getZoomOverviewScale() : scale;
- if (mSettings.getUseWideViewPort()) {
- mRestoredTextWrapScale = (textWrapScale <= 0.0)
- ? mWebView.getReadingLevelScale() : textWrapScale;
- }
+ mIsRestored = true;
+ mRestoredScale = scale;
+ mRestoredTextWrapScale = textWrapScale;
}
}
diff --git a/core/java/android/webkit/ZoomManager.java b/core/java/android/webkit/ZoomManager.java
index 9151fdd20d29..2a0b6e5d5059 100644
--- a/core/java/android/webkit/ZoomManager.java
+++ b/core/java/android/webkit/ZoomManager.java
@@ -152,6 +152,12 @@ class ZoomManager {
private float mDisplayDensity;
/*
+ * The factor that is used to tweak the zoom scale on a double-tap,
+ * and can be changed via WebSettings. Range is from 0.75f to 1.25f.
+ */
+ private float mDoubleTapZoomFactor = 1.0f;
+
+ /*
* The scale factor that is used as the minimum increment when going from
* overview to reading level on a double tap.
*/
@@ -314,10 +320,7 @@ class ZoomManager {
* Returns the zoom scale used for reading text on a double-tap.
*/
public final float getReadingLevelScale() {
- WebSettings settings = mWebView.getSettings();
- final float doubleTapZoomFactor = settings != null
- ? settings.getDoubleTapZoom() / 100.f : 1.0f;
- return mDisplayDensity * doubleTapZoomFactor;
+ return mDisplayDensity * mDoubleTapZoomFactor;
}
public final float getInvDefaultScale() {
@@ -516,8 +519,9 @@ class ZoomManager {
return mZoomScale != 0 || mInHWAcceleratedZoom;
}
- public void updateDoubleTapZoom() {
+ public void updateDoubleTapZoom(int doubleTapZoom) {
if (mInZoomOverview) {
+ mDoubleTapZoomFactor = doubleTapZoom / 100.0f;
mTextWrapScale = getReadingLevelScale();
refreshZoomScale(true);
}
@@ -1117,9 +1121,11 @@ class ZoomManager {
if (mInitialScale > 0) {
scale = mInitialScale;
mTextWrapScale = scale;
- } else if (viewState.mViewScale > 0) {
- mTextWrapScale = viewState.mTextWrapScale;
- scale = viewState.mViewScale;
+ } else if (viewState.mIsRestored) {
+ scale = (viewState.mViewScale > 0)
+ ? viewState.mViewScale : overviewScale;
+ mTextWrapScale = (viewState.mTextWrapScale > 0)
+ ? viewState.mTextWrapScale : getReadingLevelScale();
} else {
scale = overviewScale;
if (!settings.getUseWideViewPort()
diff --git a/core/java/android/widget/GridLayout.java b/core/java/android/widget/GridLayout.java
index fb9047b35b28..7cf51688db66 100644
--- a/core/java/android/widget/GridLayout.java
+++ b/core/java/android/widget/GridLayout.java
@@ -867,16 +867,18 @@ public class GridLayout extends ViewGroup {
if (firstPass) {
measureChildWithMargins2(c, widthSpec, heightSpec, lp.width, lp.height);
} else {
- Spec spec = (orientation == HORIZONTAL) ? lp.columnSpec : lp.rowSpec;
+ boolean horizontal = (orientation == HORIZONTAL);
+ Spec spec = horizontal ? lp.columnSpec : lp.rowSpec;
if (spec.alignment == FILL) {
Interval span = spec.span;
- Axis axis = (orientation == HORIZONTAL) ? horizontalAxis : verticalAxis;
+ Axis axis = horizontal ? horizontalAxis : verticalAxis;
int[] locations = axis.getLocations();
- int size = locations[span.max] - locations[span.min];
- if (orientation == HORIZONTAL) {
- measureChildWithMargins2(c, widthSpec, heightSpec, size, lp.height);
+ int cellSize = locations[span.max] - locations[span.min];
+ int viewSize = cellSize - getTotalMargin(c, horizontal);
+ if (horizontal) {
+ measureChildWithMargins2(c, widthSpec, heightSpec, viewSize, lp.height);
} else {
- measureChildWithMargins2(c, widthSpec, heightSpec, lp.width, size);
+ measureChildWithMargins2(c, widthSpec, heightSpec, lp.width, viewSize);
}
}
}
diff --git a/core/java/android/widget/HorizontalScrollView.java b/core/java/android/widget/HorizontalScrollView.java
index 57701aede14e..1683d202c1c0 100644
--- a/core/java/android/widget/HorizontalScrollView.java
+++ b/core/java/android/widget/HorizontalScrollView.java
@@ -697,6 +697,11 @@ public class HorizontalScrollView extends FrameLayout {
}
@Override
+ public boolean shouldDelayChildPressedState() {
+ return true;
+ }
+
+ @Override
protected void onOverScrolled(int scrollX, int scrollY,
boolean clampedX, boolean clampedY) {
// Treat animating scrolls differently; see #computeScroll() for why.
diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java
index 9ef1aa1a1f2d..7f7a3a715a23 100644
--- a/core/java/android/widget/ListView.java
+++ b/core/java/android/widget/ListView.java
@@ -3361,6 +3361,7 @@ public class ListView extends AbsListView {
final ListAdapter adapter = mAdapter;
int closetChildIndex = -1;
+ int closestChildTop = 0;
if (adapter != null && gainFocus && previouslyFocusedRect != null) {
previouslyFocusedRect.offset(mScrollX, mScrollY);
@@ -3392,12 +3393,13 @@ public class ListView extends AbsListView {
if (distance < minDistance) {
minDistance = distance;
closetChildIndex = i;
+ closestChildTop = other.getTop();
}
}
}
if (closetChildIndex >= 0) {
- setSelection(closetChildIndex + mFirstPosition);
+ setSelectionFromTop(closetChildIndex + mFirstPosition, closestChildTop);
} else {
requestLayout();
}
diff --git a/core/java/android/widget/NumberPicker.java b/core/java/android/widget/NumberPicker.java
index cf015c4f4d91..320c65045894 100644
--- a/core/java/android/widget/NumberPicker.java
+++ b/core/java/android/widget/NumberPicker.java
@@ -203,6 +203,16 @@ public class NumberPicker extends LinearLayout {
private final EditText mInputText;
/**
+ * The max height of this widget.
+ */
+ private final int mMaxHeight;
+
+ /**
+ * The max width of this widget.
+ */
+ private final int mMaxWidth;
+
+ /**
* The height of the text.
*/
private final int mTextSize;
@@ -517,6 +527,8 @@ public class NumberPicker extends LinearLayout {
getResources().getDisplayMetrics());
mSelectionDividerHeight = attributesArray.getDimensionPixelSize(
R.styleable.NumberPicker_selectionDividerHeight, defSelectionDividerHeight);
+ mMaxHeight = attributesArray.getDimensionPixelSize(R.styleable.NumberPicker_maxHeight, 0);
+ mMaxWidth = attributesArray.getDimensionPixelSize(R.styleable.NumberPicker_maxWidth, 0);
attributesArray.recycle();
mShowInputControlsAnimimationDuration = getResources().getInteger(
@@ -665,7 +677,38 @@ public class NumberPicker extends LinearLayout {
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
- super.onLayout(changed, left, top, right, bottom);
+ if (mMaxHeight <= 0 && mMaxWidth <= 0) {
+ super.onLayout(changed, left, top, right, bottom);
+ } else {
+ final int msrdWdth = getMeasuredWidth();
+ final int msrdHght = getMeasuredHeight();
+
+ // Increment button at the top.
+ final int inctBtnMsrdWdth = mIncrementButton.getMeasuredWidth();
+ final int incrBtnLeft = (msrdWdth - inctBtnMsrdWdth) / 2;
+ final int incrBtnTop = 0;
+ final int incrBtnRight = incrBtnLeft + inctBtnMsrdWdth;
+ final int incrBtnBottom = incrBtnTop + mIncrementButton.getMeasuredHeight();
+ mIncrementButton.layout(incrBtnLeft, incrBtnTop, incrBtnRight, incrBtnBottom);
+
+ // Input text centered horizontally.
+ final int inptTxtMsrdWdth = mInputText.getMeasuredWidth();
+ final int inptTxtMsrdHght = mInputText.getMeasuredHeight();
+ final int inptTxtLeft = (msrdWdth - inptTxtMsrdWdth) / 2;
+ final int inptTxtTop = (msrdHght - inptTxtMsrdHght) / 2;
+ final int inptTxtRight = inptTxtLeft + inptTxtMsrdWdth;
+ final int inptTxtBottom = inptTxtTop + inptTxtMsrdHght;
+ mInputText.layout(inptTxtLeft, inptTxtTop, inptTxtRight, inptTxtBottom);
+
+ // Decrement button at the top.
+ final int decrBtnMsrdWdth = mIncrementButton.getMeasuredWidth();
+ final int decrBtnLeft = (msrdWdth - decrBtnMsrdWdth) / 2;
+ final int decrBtnTop = msrdHght - mDecrementButton.getMeasuredHeight();
+ final int decrBtnRight = decrBtnLeft + decrBtnMsrdWdth;
+ final int decrBtnBottom = msrdHght;
+ mDecrementButton.layout(decrBtnLeft, decrBtnTop, decrBtnRight, decrBtnBottom);
+ }
+
if (!mScrollWheelAndFadingEdgesInitialized) {
mScrollWheelAndFadingEdgesInitialized = true;
// need to do all this when we know our size
@@ -675,6 +718,24 @@ public class NumberPicker extends LinearLayout {
}
@Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+ final int measuredWidth;
+ if (mMaxWidth > 0) {
+ measuredWidth = getMaxSize(widthMeasureSpec, mMaxWidth);
+ } else {
+ measuredWidth = getMeasuredWidth();
+ }
+ final int measuredHeight;
+ if (mMaxHeight > 0) {
+ measuredHeight = getMaxSize(heightMeasureSpec, mMaxHeight);
+ } else {
+ measuredHeight = getMeasuredHeight();
+ }
+ setMeasuredDimension(measuredWidth, measuredHeight);
+ }
+
+ @Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (!isEnabled() || !mFlingable) {
return false;
@@ -700,17 +761,14 @@ public class NumberPicker extends LinearLayout {
hideInputControls();
return true;
}
- if (isEventInViewHitRect(event, mInputText)
- || (!mIncrementButton.isShown()
- && isEventInViewHitRect(event, mIncrementButton))
- || (!mDecrementButton.isShown()
- && isEventInViewHitRect(event, mDecrementButton))) {
- mAdjustScrollerOnUpEvent = false;
- setSelectorWheelState(SELECTOR_WHEEL_STATE_LARGE);
- hideInputControls();
- return true;
+ if (isEventInVisibleViewHitRect(event, mIncrementButton)
+ || isEventInVisibleViewHitRect(event, mDecrementButton)) {
+ return false;
}
- break;
+ mAdjustScrollerOnUpEvent = false;
+ setSelectorWheelState(SELECTOR_WHEEL_STATE_LARGE);
+ hideInputControls();
+ return true;
case MotionEvent.ACTION_MOVE:
float currentMoveY = event.getY();
int deltaDownY = (int) Math.abs(currentMoveY - mLastDownEventY);
@@ -1240,6 +1298,28 @@ public class NumberPicker extends LinearLayout {
}
/**
+ * Gets the max value for a size based on the measure spec passed by
+ * the parent and the max value for that size.
+ *
+ * @param measureSpec The measure spec.
+ * @param maxValue The max value for the size.
+ * @return The max size.
+ */
+ private int getMaxSize(int measureSpec, int maxValue) {
+ final int mode = MeasureSpec.getMode(measureSpec);
+ switch (mode) {
+ case MeasureSpec.EXACTLY:
+ return MeasureSpec.getSize(measureSpec);
+ case MeasureSpec.AT_MOST:
+ return Math.min(MeasureSpec.getSize(measureSpec), maxValue);
+ case MeasureSpec.UNSPECIFIED:
+ return maxValue;
+ default:
+ throw new IllegalArgumentException();
+ }
+ }
+
+ /**
* Resets the selector indices and clear the cached
* string representation of these indices.
*/
@@ -1335,11 +1415,14 @@ public class NumberPicker extends LinearLayout {
}
/**
- * @return If the <code>event</code> is in the <code>view</code>.
+ * @return If the <code>event</code> is in the visible <code>view</code>.
*/
- private boolean isEventInViewHitRect(MotionEvent event, View view) {
- view.getHitRect(mTempRect);
- return mTempRect.contains((int) event.getX(), (int) event.getY());
+ private boolean isEventInVisibleViewHitRect(MotionEvent event, View view) {
+ if (view.getVisibility() == VISIBLE) {
+ view.getHitRect(mTempRect);
+ return mTempRect.contains((int) event.getX(), (int) event.getY());
+ }
+ return false;
}
/**
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java
index 9cf27181d3ae..1592061906ab 100644
--- a/core/java/android/widget/RemoteViews.java
+++ b/core/java/android/widget/RemoteViews.java
@@ -1546,6 +1546,16 @@ public class RemoteViews implements Parcelable, Filter {
}
/**
+ * Equivalent to calling View.setContentDescription
+ *
+ * @param viewId The id of the view whose content description should change
+ * @param contentDescription The new content description for the view
+ */
+ public void setContentDescription(int viewId, CharSequence contentDescription) {
+ setCharSequence(viewId, "setContentDescription", contentDescription);
+ }
+
+ /**
* Inflates the view hierarchy represented by this object and applies
* all of the actions.
*
diff --git a/core/java/android/widget/SpellChecker.java b/core/java/android/widget/SpellChecker.java
index 510e2d4cb488..5fbbe4d40795 100644
--- a/core/java/android/widget/SpellChecker.java
+++ b/core/java/android/widget/SpellChecker.java
@@ -32,6 +32,7 @@ import android.view.textservice.TextServicesManager;
import com.android.internal.util.ArrayUtils;
import java.text.BreakIterator;
+import java.util.Locale;
/**
@@ -45,7 +46,7 @@ public class SpellChecker implements SpellCheckerSessionListener {
private final TextView mTextView;
- final SpellCheckerSession mSpellCheckerSession;
+ SpellCheckerSession mSpellCheckerSession;
final int mCookie;
// Paired arrays for the (id, spellCheckSpan) pair. A negative id means the associated
@@ -61,23 +62,54 @@ public class SpellChecker implements SpellCheckerSessionListener {
private int mSpanSequenceCounter = 0;
+ private Locale mCurrentLocale;
+
+ // Shared by all SpellParsers. Cannot be shared with TextView since it may be used
+ // concurrently due to the asynchronous nature of onGetSuggestions.
+ private WordIterator mWordIterator;
+
public SpellChecker(TextView textView) {
mTextView = textView;
- final TextServicesManager textServicesManager = (TextServicesManager) textView.getContext().
- getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE);
- mSpellCheckerSession = textServicesManager.newSpellCheckerSession(
- null /* not currently used by the textServicesManager */,
- null /* null locale means use the languages defined in Settings
- if referToSpellCheckerLanguageSettings is true */,
- this, true /* means use the languages defined in Settings */);
- mCookie = hashCode();
-
- // Arbitrary: 4 simultaneous spell check spans. Will automatically double size on demand
+ // Arbitrary: these arrays will automatically double their sizes on demand
final int size = ArrayUtils.idealObjectArraySize(1);
mIds = new int[size];
mSpellCheckSpans = new SpellCheckSpan[size];
+
+ setLocale(mTextView.getLocale());
+
+ mCookie = hashCode();
+ }
+
+ private void setLocale(Locale locale) {
+ final TextServicesManager textServicesManager = (TextServicesManager)
+ mTextView.getContext().getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE);
+ mSpellCheckerSession = textServicesManager.newSpellCheckerSession(
+ null /* Bundle not currently used by the textServicesManager */,
+ locale, this, false /* means any available languages from current spell checker */);
+ mCurrentLocale = locale;
+
+ // Restore SpellCheckSpans in pool
+ for (int i = 0; i < mLength; i++) {
+ mSpellCheckSpans[i].setSpellCheckInProgress(false);
+ mIds[i] = -1;
+ }
mLength = 0;
+
+ // Change SpellParsers' wordIterator locale
+ mWordIterator = new WordIterator(locale);
+
+ // Stop all SpellParsers
+ final int length = mSpellParsers.length;
+ for (int i = 0; i < length; i++) {
+ mSpellParsers[i].finish();
+ }
+
+ // Remove existing misspelled SuggestionSpans
+ mTextView.removeMisspelledSpans((Editable) mTextView.getText());
+
+ // This class is the listener for locale change: warn other locale-aware objects
+ mTextView.onLocaleChanged();
}
/**
@@ -95,7 +127,7 @@ public class SpellChecker implements SpellCheckerSessionListener {
final int length = mSpellParsers.length;
for (int i = 0; i < length; i++) {
- mSpellParsers[i].close();
+ mSpellParsers[i].finish();
}
}
@@ -140,12 +172,20 @@ public class SpellChecker implements SpellCheckerSessionListener {
}
public void spellCheck(int start, int end) {
+ final Locale locale = mTextView.getLocale();
+ if (mCurrentLocale == null || (!(mCurrentLocale.equals(locale)))) {
+ setLocale(locale);
+ // Re-check the entire text
+ start = 0;
+ end = mTextView.getText().length();
+ }
+
if (!isSessionActive()) return;
final int length = mSpellParsers.length;
for (int i = 0; i < length; i++) {
final SpellParser spellParser = mSpellParsers[i];
- if (spellParser.isDone()) {
+ if (spellParser.isFinished()) {
spellParser.init(start, end);
spellParser.parse();
return;
@@ -229,7 +269,7 @@ public class SpellChecker implements SpellCheckerSessionListener {
final int length = mSpellParsers.length;
for (int i = 0; i < length; i++) {
final SpellParser spellParser = mSpellParsers[i];
- if (!spellParser.isDone()) {
+ if (!spellParser.isFinished()) {
spellParser.parse();
}
}
@@ -239,6 +279,7 @@ public class SpellChecker implements SpellCheckerSessionListener {
SuggestionsInfo suggestionsInfo, SpellCheckSpan spellCheckSpan) {
final int start = editable.getSpanStart(spellCheckSpan);
final int end = editable.getSpanEnd(spellCheckSpan);
+ if (start < 0 || end < 0) return; // span was removed in the meantime
// Other suggestion spans may exist on that region, with identical suggestions, filter
// them out to avoid duplicates. First, filter suggestion spans on that exact region.
@@ -249,7 +290,6 @@ public class SpellChecker implements SpellCheckerSessionListener {
final int spanEnd = editable.getSpanEnd(suggestionSpans[i]);
if (spanStart != start || spanEnd != end) {
suggestionSpans[i] = null;
- break;
}
}
@@ -301,7 +341,6 @@ public class SpellChecker implements SpellCheckerSessionListener {
}
private class SpellParser {
- private WordIterator mWordIterator = new WordIterator(/*TODO Locale*/);
private Object mRange = new Object();
public void init(int start, int end) {
@@ -309,11 +348,11 @@ public class SpellChecker implements SpellCheckerSessionListener {
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
- public void close() {
+ public void finish() {
((Editable) mTextView.getText()).removeSpan(mRange);
}
- public boolean isDone() {
+ public boolean isFinished() {
return ((Editable) mTextView.getText()).getSpanStart(mRange) < 0;
}
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 0a2365ed895d..92575344d426 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -132,6 +132,7 @@ import android.view.inputmethod.ExtractedText;
import android.view.inputmethod.ExtractedTextRequest;
import android.view.inputmethod.InputConnection;
import android.view.inputmethod.InputMethodManager;
+import android.view.inputmethod.InputMethodSubtype;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.RemoteViews.RemoteView;
@@ -147,6 +148,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
+import java.util.Locale;
/**
* Displays text to the user and optionally allows them to edit it. A TextView
@@ -357,6 +359,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
private SpellChecker mSpellChecker;
+ private boolean mSoftInputShownOnFocus = true;
+
// The alignment to pass to Layout, or null if not resolved.
private Layout.Alignment mLayoutAlignment;
@@ -605,6 +609,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
mLinksClickable = a.getBoolean(attr, true);
break;
+// TODO uncomment when this attribute is made public in the next release
+// also add TextView_showSoftInputOnFocus to the list of attributes above
+// case com.android.internal.R.styleable.TextView_showSoftInputOnFocus:
+// setShowSoftInputOnFocus(a.getBoolean(attr, true));
+// break;
+
case com.android.internal.R.styleable.TextView_drawableLeft:
drawableLeft = a.getDrawable(attr);
break;
@@ -2368,6 +2378,29 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
/**
+ * Sets whether the soft input method will be made visible when this
+ * TextView gets focused. The default is true.
+ *
+ * @attr ref android.R.styleable#TextView_softInputShownOnFocus
+ * @hide
+ */
+ @android.view.RemotableViewMethod
+ public final void setSoftInputShownOnFocus(boolean show) {
+ mSoftInputShownOnFocus = show;
+ }
+
+ /**
+ * Returns whether the soft input method will be made visible when this
+ * TextView gets focused. The default is true.
+ *
+ * @attr ref android.R.styleable#TextView_softInputShownOnFocus
+ * @hide
+ */
+ public final boolean getSoftInputShownOnFocus() {
+ return mSoftInputShownOnFocus;
+ }
+
+ /**
* Returns the list of URLSpans attached to the text
* (by {@link Linkify} or otherwise) if any. You can call
* {@link URLSpan#getURL} on them to find where they link to
@@ -2942,15 +2975,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
sp.removeSpan(cw);
}
- SuggestionSpan[] suggestionSpans = sp.getSpans(0, sp.length(), SuggestionSpan.class);
- for (int i = 0; i < suggestionSpans.length; i++) {
- int flags = suggestionSpans[i].getFlags();
- if ((flags & SuggestionSpan.FLAG_EASY_CORRECT) != 0
- && (flags & SuggestionSpan.FLAG_MISSPELLED) != 0) {
- sp.removeSpan(suggestionSpans[i]);
- }
- }
-
+ removeMisspelledSpans(sp);
sp.removeSpan(mSuggestionRangeSpan);
ss.text = sp;
@@ -2970,6 +2995,18 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
return superState;
}
+ void removeMisspelledSpans(Spannable spannable) {
+ SuggestionSpan[] suggestionSpans = spannable.getSpans(0, spannable.length(),
+ SuggestionSpan.class);
+ for (int i = 0; i < suggestionSpans.length; i++) {
+ int flags = suggestionSpans[i].getFlags();
+ if ((flags & SuggestionSpan.FLAG_EASY_CORRECT) != 0
+ && (flags & SuggestionSpan.FLAG_MISSPELLED) != 0) {
+ spannable.removeSpan(suggestionSpans[i]);
+ }
+ }
+ }
+
@Override
public void onRestoreInstanceState(Parcelable state) {
if (!(state instanceof SavedState)) {
@@ -5465,7 +5502,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
&& mLayout != null && onCheckIsTextEditor()) {
InputMethodManager imm = InputMethodManager.peekInstance();
viewClicked(imm);
- if (imm != null) {
+ if (imm != null && mSoftInputShownOnFocus) {
imm.showSoftInput(this, 0);
}
}
@@ -8207,6 +8244,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
hideControllers();
+ if (mSuggestionsPopupWindow != null) {
+ mSuggestionsPopupWindow.onParentLostFocus();
+ }
}
startStopMarquee(hasWindowFocus);
@@ -8304,7 +8344,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
// Show the IME, except when selecting in read-only text.
final InputMethodManager imm = InputMethodManager.peekInstance();
viewClicked(imm);
- if (!mTextIsSelectable) {
+ if (!mTextIsSelectable && mSoftInputShownOnFocus) {
handled |= imm != null && imm.showSoftInput(this, 0);
}
@@ -8840,15 +8880,13 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
selectionStart = ((Spanned) mText).getSpanStart(urlSpan);
selectionEnd = ((Spanned) mText).getSpanEnd(urlSpan);
} else {
- if (mWordIterator == null) {
- mWordIterator = new WordIterator();
- }
- mWordIterator.setCharSequence(mText, minOffset, maxOffset);
+ final WordIterator wordIterator = getWordIterator();
+ wordIterator.setCharSequence(mText, minOffset, maxOffset);
- selectionStart = mWordIterator.getBeginning(minOffset);
+ selectionStart = wordIterator.getBeginning(minOffset);
if (selectionStart == BreakIterator.DONE) return false;
- selectionEnd = mWordIterator.getEnd(maxOffset);
+ selectionEnd = wordIterator.getEnd(maxOffset);
if (selectionEnd == BreakIterator.DONE) return false;
if (selectionStart == selectionEnd) {
@@ -8863,6 +8901,43 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
return selectionEnd > selectionStart;
}
+ /**
+ * This is a temporary method. Future versions may support multi-locale text.
+ *
+ * @return The current locale used in this TextView, based on the current IME's locale,
+ * or the system default locale if this is not defined.
+ * @hide
+ */
+ public Locale getLocale() {
+ Locale locale = Locale.getDefault();
+ final InputMethodManager imm = InputMethodManager.peekInstance();
+ if (imm != null) {
+ final InputMethodSubtype currentInputMethodSubtype = imm.getCurrentInputMethodSubtype();
+ if (currentInputMethodSubtype != null) {
+ String localeString = currentInputMethodSubtype.getLocale();
+ if (!TextUtils.isEmpty(localeString)) {
+ locale = new Locale(localeString);
+ }
+ }
+ }
+ return locale;
+ }
+
+ void onLocaleChanged() {
+ // Will be re-created on demand in getWordIterator with the proper new locale
+ mWordIterator = null;
+ }
+
+ /**
+ * @hide
+ */
+ public WordIterator getWordIterator() {
+ if (mWordIterator == null) {
+ mWordIterator = new WordIterator(getLocale());
+ }
+ return mWordIterator;
+ }
+
private long getCharRange(int offset) {
final int textLength = mText.length();
if (offset + 1 < textLength) {
@@ -9548,6 +9623,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
private SuggestionInfo[] mSuggestionInfos;
private int mNumberOfSuggestions;
private boolean mCursorWasVisibleBeforeSuggestions;
+ private boolean mIsShowingUp = false;
private SuggestionAdapter mSuggestionsAdapter;
private final Comparator<SuggestionSpan> mSuggestionSpanComparator;
private final HashMap<SuggestionSpan, Integer> mSpansLengths;
@@ -9603,6 +9679,14 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
}
+ public boolean isShowingUp() {
+ return mIsShowingUp;
+ }
+
+ public void onParentLostFocus() {
+ mIsShowingUp = false;
+ }
+
private class SuggestionInfo {
int suggestionStart, suggestionEnd; // range of actual suggestion within text
SuggestionSpan suggestionSpan; // the SuggestionSpan that this TextView represents
@@ -9610,15 +9694,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
SpannableStringBuilder text = new SpannableStringBuilder();
TextAppearanceSpan highlightSpan = new TextAppearanceSpan(mContext,
android.R.style.TextAppearance_SuggestionHighlight);
-
- void removeMisspelledFlag() {
- int suggestionSpanFlags = suggestionSpan.getFlags();
- if ((suggestionSpanFlags & SuggestionSpan.FLAG_MISSPELLED) > 0) {
- suggestionSpanFlags &= ~SuggestionSpan.FLAG_MISSPELLED;
- suggestionSpanFlags &= ~SuggestionSpan.FLAG_EASY_CORRECT;
- suggestionSpan.setFlags(suggestionSpanFlags);
- }
- }
}
private class SuggestionAdapter extends BaseAdapter {
@@ -9715,6 +9790,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
updateSuggestions();
mCursorWasVisibleBeforeSuggestions = mCursorVisible;
setCursorVisible(false);
+ mIsShowingUp = true;
super.show();
}
@@ -9936,6 +10012,14 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
suggestionSpansStarts[i] = editable.getSpanStart(suggestionSpan);
suggestionSpansEnds[i] = editable.getSpanEnd(suggestionSpan);
suggestionSpansFlags[i] = editable.getSpanFlags(suggestionSpan);
+
+ // Remove potential misspelled flags
+ int suggestionSpanFlags = suggestionSpan.getFlags();
+ if ((suggestionSpanFlags & SuggestionSpan.FLAG_MISSPELLED) > 0) {
+ suggestionSpanFlags &= ~SuggestionSpan.FLAG_MISSPELLED;
+ suggestionSpanFlags &= ~SuggestionSpan.FLAG_EASY_CORRECT;
+ suggestionSpan.setFlags(suggestionSpanFlags);
+ }
}
final int suggestionStart = suggestionInfo.suggestionStart;
@@ -9944,8 +10028,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
suggestionStart, suggestionEnd).toString();
editable.replace(spanStart, spanEnd, suggestion);
- suggestionInfo.removeMisspelledFlag();
-
// Notify source IME of the suggestion pick. Do this before swaping texts.
if (!TextUtils.isEmpty(
suggestionInfo.suggestionSpan.getNotificationTargetClassName())) {
@@ -10121,7 +10203,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
final boolean selectionStarted = mSelectionActionMode != null ||
extractedTextModeWillBeStartedFullScreen;
- if (selectionStarted && !mTextIsSelectable && imm != null) {
+ if (selectionStarted && !mTextIsSelectable && imm != null && mSoftInputShownOnFocus) {
// Show the IME to be able to replace text, except when selecting non editable text.
imm.showSoftInput(this, 0, null);
}
@@ -11121,6 +11203,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
private void hideCursorControllers() {
+ if (mSuggestionsPopupWindow != null && !mSuggestionsPopupWindow.isShowingUp()) {
+ // Should be done before hide insertion point controller since it triggers a show of it
+ mSuggestionsPopupWindow.hide();
+ }
hideInsertionPointCursorController();
stopSelectionActionMode();
}
diff --git a/core/java/com/android/internal/view/menu/ActionMenuItemView.java b/core/java/com/android/internal/view/menu/ActionMenuItemView.java
index e24596001f9c..a10d241ef4e4 100644
--- a/core/java/com/android/internal/view/menu/ActionMenuItemView.java
+++ b/core/java/com/android/internal/view/menu/ActionMenuItemView.java
@@ -18,6 +18,7 @@ package com.android.internal.view.menu;
import android.content.Context;
import android.content.res.Resources;
+import android.content.res.TypedArray;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
@@ -46,8 +47,8 @@ public class ActionMenuItemView extends LinearLayout
private ImageButton mImageButton;
private Button mTextButton;
private boolean mAllowTextWithIcon;
- private boolean mShowTextAllCaps;
private boolean mExpandedFormat;
+ private int mMinWidth;
public ActionMenuItemView(Context context) {
this(context, null);
@@ -62,7 +63,11 @@ public class ActionMenuItemView extends LinearLayout
final Resources res = context.getResources();
mAllowTextWithIcon = res.getBoolean(
com.android.internal.R.bool.config_allowActionMenuItemTextWithIcon);
- mShowTextAllCaps = res.getBoolean(com.android.internal.R.bool.config_actionMenuItemAllCaps);
+ TypedArray a = context.obtainStyledAttributes(attrs,
+ com.android.internal.R.styleable.ActionMenuItemView, 0, 0);
+ mMinWidth = a.getDimensionPixelSize(
+ com.android.internal.R.styleable.ActionMenuItemView_minWidth, 0);
+ a.recycle();
}
@Override
@@ -228,4 +233,21 @@ public class ActionMenuItemView extends LinearLayout
cheatSheet.show();
return true;
}
+
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+
+ final int widthMode = MeasureSpec.getMode(widthMeasureSpec);
+ final int specSize = MeasureSpec.getSize(widthMeasureSpec);
+ final int oldMeasuredWidth = getMeasuredWidth();
+ final int targetWidth = widthMode == MeasureSpec.AT_MOST ? Math.min(specSize, mMinWidth)
+ : mMinWidth;
+
+ if (widthMode != MeasureSpec.EXACTLY && mMinWidth > 0 && oldMeasuredWidth < targetWidth) {
+ // Remeasure at exactly the minimum width.
+ super.onMeasure(MeasureSpec.makeMeasureSpec(targetWidth, MeasureSpec.EXACTLY),
+ heightMeasureSpec);
+ }
+ }
}
diff --git a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
index f25d65fcdabd..530809b869c3 100644
--- a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
+++ b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
@@ -300,6 +300,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter
public boolean hideOverflowMenu() {
if (mPostedOpenRunnable != null && mMenuView != null) {
((View) mMenuView).removeCallbacks(mPostedOpenRunnable);
+ mPostedOpenRunnable = null;
return true;
}
@@ -653,10 +654,11 @@ public class ActionMenuPresenter extends BaseMenuPresenter
public void run() {
mMenu.changeMenuMode();
- if (mPopup.tryShow()) {
+ final View menuView = (View) mMenuView;
+ if (menuView != null && menuView.getWindowToken() != null && mPopup.tryShow()) {
mOverflowPopup = mPopup;
- mPostedOpenRunnable = null;
}
+ mPostedOpenRunnable = null;
}
}
}
diff --git a/core/java/com/android/internal/view/menu/BaseMenuPresenter.java b/core/java/com/android/internal/view/menu/BaseMenuPresenter.java
index 1e06b5a601f3..db0d6dd48090 100644
--- a/core/java/com/android/internal/view/menu/BaseMenuPresenter.java
+++ b/core/java/com/android/internal/view/menu/BaseMenuPresenter.java
@@ -91,7 +91,14 @@ public abstract class BaseMenuPresenter implements MenuPresenter {
MenuItemImpl item = visibleItems.get(i);
if (shouldIncludeItem(childIndex, item)) {
final View convertView = parent.getChildAt(childIndex);
+ final MenuItemImpl oldItem = convertView instanceof MenuView.ItemView ?
+ ((MenuView.ItemView) convertView).getItemData() : null;
final View itemView = getItemView(item, convertView, parent);
+ if (item != oldItem) {
+ // Don't let old states linger with new data.
+ itemView.setPressed(false);
+ itemView.jumpDrawablesToCurrentState();
+ }
if (itemView != convertView) {
addItemView(itemView, childIndex);
}
diff --git a/core/java/com/android/internal/view/menu/ExpandedMenuView.java b/core/java/com/android/internal/view/menu/ExpandedMenuView.java
index 723ece43a173..47058adfe81e 100644
--- a/core/java/com/android/internal/view/menu/ExpandedMenuView.java
+++ b/core/java/com/android/internal/view/menu/ExpandedMenuView.java
@@ -63,11 +63,6 @@ public final class ExpandedMenuView extends ListView implements ItemInvoker, Men
setChildrenDrawingCacheEnabled(false);
}
- @Override
- protected boolean recycleOnMeasure() {
- return false;
- }
-
public boolean invokeItem(MenuItemImpl item) {
return mMenu.performItemAction(item, 0);
}
diff --git a/core/java/com/android/internal/view/menu/ListMenuItemView.java b/core/java/com/android/internal/view/menu/ListMenuItemView.java
index a1e16d492d4b..df579c69637d 100644
--- a/core/java/com/android/internal/view/menu/ListMenuItemView.java
+++ b/core/java/com/android/internal/view/menu/ListMenuItemView.java
@@ -34,6 +34,7 @@ import android.widget.TextView;
* The item view for each item in the ListView-based MenuViews.
*/
public class ListMenuItemView extends LinearLayout implements MenuView.ItemView {
+ private static final String TAG = "ListMenuItemView";
private MenuItemImpl mItemData;
private ImageView mIconView;
@@ -121,27 +122,25 @@ public class ListMenuItemView extends LinearLayout implements MenuView.ItemView
}
public void setCheckable(boolean checkable) {
-
if (!checkable && mRadioButton == null && mCheckBox == null) {
return;
}
- if (mRadioButton == null) {
- insertRadioButton();
- }
- if (mCheckBox == null) {
- insertCheckBox();
- }
-
// Depending on whether its exclusive check or not, the checkbox or
// radio button will be the one in use (and the other will be otherCompoundButton)
final CompoundButton compoundButton;
final CompoundButton otherCompoundButton;
if (mItemData.isExclusiveCheckable()) {
+ if (mRadioButton == null) {
+ insertRadioButton();
+ }
compoundButton = mRadioButton;
otherCompoundButton = mCheckBox;
} else {
+ if (mCheckBox == null) {
+ insertCheckBox();
+ }
compoundButton = mCheckBox;
otherCompoundButton = mRadioButton;
}
@@ -155,12 +154,12 @@ public class ListMenuItemView extends LinearLayout implements MenuView.ItemView
}
// Make sure the other compound button isn't visible
- if (otherCompoundButton.getVisibility() != GONE) {
+ if (otherCompoundButton != null && otherCompoundButton.getVisibility() != GONE) {
otherCompoundButton.setVisibility(GONE);
}
} else {
- mCheckBox.setVisibility(GONE);
- mRadioButton.setVisibility(GONE);
+ if (mCheckBox != null) mCheckBox.setVisibility(GONE);
+ if (mRadioButton != null) mRadioButton.setVisibility(GONE);
}
}
diff --git a/core/java/com/android/internal/widget/ActionBarContextView.java b/core/java/com/android/internal/widget/ActionBarContextView.java
index 18d45f7c5958..ed02636f1c6a 100644
--- a/core/java/com/android/internal/widget/ActionBarContextView.java
+++ b/core/java/com/android/internal/widget/ActionBarContextView.java
@@ -216,6 +216,9 @@ public class ActionBarContextView extends AbsActionBarView implements AnimatorLi
});
final MenuBuilder menu = (MenuBuilder) mode.getMenu();
+ if (mActionMenuPresenter != null) {
+ mActionMenuPresenter.dismissPopupMenus();
+ }
mActionMenuPresenter = new ActionMenuPresenter(mContext);
mActionMenuPresenter.setReserveOverflow(true);
diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java
index e131242a7823..4714be8df3d9 100644
--- a/core/java/com/android/internal/widget/ActionBarView.java
+++ b/core/java/com/android/internal/widget/ActionBarView.java
@@ -518,6 +518,7 @@ public class ActionBarView extends AbsActionBarView {
public void setHomeButtonEnabled(boolean enable) {
mHomeLayout.setEnabled(enable);
+ mHomeLayout.setFocusable(enable);
// Make sure the home button has an accurate content description for accessibility.
if (!enable) {
mHomeLayout.setContentDescription(null);
diff --git a/core/java/com/android/internal/widget/DigitalClock.java b/core/java/com/android/internal/widget/DigitalClock.java
index 18a4794dbf16..6f24ebaea2ba 100644
--- a/core/java/com/android/internal/widget/DigitalClock.java
+++ b/core/java/com/android/internal/widget/DigitalClock.java
@@ -168,6 +168,8 @@ public class DigitalClock extends RelativeLayout {
/* The time display consists of two tones. That's why we have two overlapping text views. */
mTimeDisplayBackground = (TextView) findViewById(R.id.timeDisplayBackground);
mTimeDisplayBackground.setTypeface(sBackgroundFont);
+ mTimeDisplayBackground.setVisibility(View.INVISIBLE);
+
mTimeDisplayForeground = (TextView) findViewById(R.id.timeDisplayForeground);
mTimeDisplayForeground.setTypeface(sForegroundFont);
mAmPm = new AmPm(this, null);
diff --git a/core/java/com/android/internal/widget/WaveView.java b/core/java/com/android/internal/widget/WaveView.java
index 288865f30a12..2d89234000a7 100644
--- a/core/java/com/android/internal/widget/WaveView.java
+++ b/core/java/com/android/internal/widget/WaveView.java
@@ -26,10 +26,13 @@ import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.drawable.BitmapDrawable;
import android.os.Vibrator;
+import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
+import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityManager;
import com.android.internal.R;
@@ -64,6 +67,18 @@ public class WaveView extends View implements ValueAnimator.AnimatorUpdateListen
private static final long DELAY_INCREMENT2 = 12; // increment per wave while not tracking
private static final long WAVE_DELAY = WAVE_DURATION / WAVE_COUNT; // initial propagation delay
+ /**
+ * The scale by which to multiply the unlock handle width to compute the radius
+ * in which it can be grabbed when accessibility is disabled.
+ */
+ private static final float GRAB_HANDLE_RADIUS_SCALE_ACCESSIBILITY_DISABLED = 0.5f;
+
+ /**
+ * The scale by which to multiply the unlock handle width to compute the radius
+ * in which it can be grabbed when accessibility is enabled (more generous).
+ */
+ private static final float GRAB_HANDLE_RADIUS_SCALE_ACCESSIBILITY_ENABLED = 1.0f;
+
private Vibrator mVibrator;
private OnTriggerListener mOnTriggerListener;
private ArrayList<DrawableHolder> mDrawables = new ArrayList<DrawableHolder>(3);
@@ -451,6 +466,27 @@ public class WaveView extends View implements ValueAnimator.AnimatorUpdateListen
};
@Override
+ public boolean onHoverEvent(MotionEvent event) {
+ if (AccessibilityManager.getInstance(mContext).isTouchExplorationEnabled()) {
+ final int action = event.getAction();
+ switch (action) {
+ case MotionEvent.ACTION_HOVER_ENTER:
+ event.setAction(MotionEvent.ACTION_DOWN);
+ break;
+ case MotionEvent.ACTION_HOVER_MOVE:
+ event.setAction(MotionEvent.ACTION_MOVE);
+ break;
+ case MotionEvent.ACTION_HOVER_EXIT:
+ event.setAction(MotionEvent.ACTION_UP);
+ break;
+ }
+ onTouchEvent(event);
+ event.setAction(action);
+ }
+ return super.onHoverEvent(event);
+ }
+
+ @Override
public boolean onTouchEvent(MotionEvent event) {
final int action = event.getAction();
mMouseX = event.getX();
@@ -460,21 +496,12 @@ public class WaveView extends View implements ValueAnimator.AnimatorUpdateListen
case MotionEvent.ACTION_DOWN:
removeCallbacks(mLockTimerActions);
mFingerDown = true;
- setGrabbedState(OnTriggerListener.CENTER_HANDLE);
- {
- float x = mMouseX - mUnlockHalo.getX();
- float y = mMouseY - mUnlockHalo.getY();
- float dist = (float) Math.hypot(x, y);
- if (dist < mUnlockHalo.getWidth()*0.5f) {
- if (mLockState == STATE_READY) {
- mLockState = STATE_START_ATTEMPT;
- }
- }
- }
+ tryTransitionToStartAttemptState(event);
handled = true;
break;
case MotionEvent.ACTION_MOVE:
+ tryTransitionToStartAttemptState(event);
handled = true;
break;
@@ -502,6 +529,47 @@ public class WaveView extends View implements ValueAnimator.AnimatorUpdateListen
}
/**
+ * Tries to transition to start attempt state.
+ *
+ * @param event A motion event.
+ */
+ private void tryTransitionToStartAttemptState(MotionEvent event) {
+ final float dx = event.getX() - mUnlockHalo.getX();
+ final float dy = event.getY() - mUnlockHalo.getY();
+ float dist = (float) Math.hypot(dx, dy);
+ if (dist <= getScaledGrabHandleRadius()) {
+ setGrabbedState(OnTriggerListener.CENTER_HANDLE);
+ if (mLockState == STATE_READY) {
+ mLockState = STATE_START_ATTEMPT;
+ if (AccessibilityManager.getInstance(mContext).isEnabled()) {
+ announceUnlockHandle();
+ }
+ }
+ }
+ }
+
+ /**
+ * @return The radius in which the handle is grabbed scaled based on
+ * whether accessibility is enabled.
+ */
+ private float getScaledGrabHandleRadius() {
+ if (AccessibilityManager.getInstance(mContext).isEnabled()) {
+ return GRAB_HANDLE_RADIUS_SCALE_ACCESSIBILITY_ENABLED * mUnlockHalo.getWidth();
+ } else {
+ return GRAB_HANDLE_RADIUS_SCALE_ACCESSIBILITY_DISABLED * mUnlockHalo.getWidth();
+ }
+ }
+
+ /**
+ * Announces the unlock handle if accessibility is enabled.
+ */
+ private void announceUnlockHandle() {
+ setContentDescription(mContext.getString(R.string.description_target_unlock_tablet));
+ sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
+ setContentDescription(null);
+ }
+
+ /**
* Triggers haptic feedback.
*/
private synchronized void vibrate(long duration) {
diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp
index da055fcf84fb..d1d3b787c335 100644
--- a/core/jni/android/graphics/Bitmap.cpp
+++ b/core/jni/android/graphics/Bitmap.cpp
@@ -579,6 +579,7 @@ static void Bitmap_copyPixelsFromBuffer(JNIEnv* env, jobject,
android::AutoBufferPointer abp(env, jbuffer, JNI_FALSE);
// the java side has already checked that buffer is large enough
memcpy(dst, abp.pointer(), bitmap->getSize());
+ bitmap->notifyPixelsChanged();
}
}
diff --git a/core/jni/android/graphics/TextLayoutCache.cpp b/core/jni/android/graphics/TextLayoutCache.cpp
index 3fdc79b3a90a..c2071501324f 100644
--- a/core/jni/android/graphics/TextLayoutCache.cpp
+++ b/core/jni/android/graphics/TextLayoutCache.cpp
@@ -425,10 +425,14 @@ void TextLayoutCacheValue::computeValuesWithHarfbuzz(SkPaint* paint, const UChar
// Initialize Harfbuzz Shaper
initShaperItem(shaperItem, &font, &fontData, paint, chars, contextCount);
- bool useSingleRun = false;
- bool isRTL = forceRTL;
if (forceLTR || forceRTL) {
- useSingleRun = true;
+#if DEBUG_GLYPHS
+ LOGD("computeValuesWithHarfbuzz -- forcing run with LTR=%d RTL=%d",
+ forceLTR, forceRTL);
+#endif
+ computeRunValuesWithHarfbuzz(shaperItem, paint,
+ start, count, forceRTL,
+ outAdvances, outTotalAdvance, outGlyphs);
} else {
UBiDi* bidi = ubidi_open();
if (bidi) {
@@ -439,50 +443,43 @@ void TextLayoutCacheValue::computeValuesWithHarfbuzz(SkPaint* paint, const UChar
ubidi_setPara(bidi, chars, contextCount, bidiReq, NULL, &status);
if (U_SUCCESS(status)) {
int paraDir = ubidi_getParaLevel(bidi) & kDirection_Mask; // 0 if ltr, 1 if rtl
- ssize_t rc = ubidi_countRuns(bidi, &status);
+ size_t rc = ubidi_countRuns(bidi, &status);
#if DEBUG_GLYPHS
LOGD("computeValuesWithHarfbuzz -- dirFlags=%d run-count=%d paraDir=%d",
dirFlags, rc, paraDir);
#endif
- if (!U_SUCCESS(status) || rc <= 1) {
- LOGW("computeValuesWithHarfbuzz -- need to force to single run");
- isRTL = (paraDir == 1);
- useSingleRun = true;
+ if (rc == 1 || !U_SUCCESS(status)) {
+ bool isRTL = (paraDir == 1);
+#if DEBUG_GLYPHS
+ LOGD("computeValuesWithHarfbuzz -- processing SINGLE run "
+ "-- run-start=%d run-len=%d isRTL=%d", start, count, isRTL);
+#endif
+ computeRunValuesWithHarfbuzz(shaperItem, paint,
+ start, count, isRTL,
+ outAdvances, outTotalAdvance, outGlyphs);
} else {
int32_t end = start + count;
- for (size_t i = 0; i < size_t(rc); ++i) {
- int32_t startRun = -1;
- int32_t lengthRun = -1;
+ for (size_t i = 0; i < rc; ++i) {
+ int32_t startRun;
+ int32_t lengthRun;
UBiDiDirection runDir = ubidi_getVisualRun(bidi, i, &startRun, &lengthRun);
- if (startRun == -1 || lengthRun == -1) {
- // Something went wrong when getting the visual run, need to clear
- // already computed data before doing a single run pass
- LOGW("computeValuesWithHarfbuzz -- visual run is not valid");
- outGlyphs->clear();
- outAdvances->clear();
- *outTotalAdvance = 0;
- isRTL = (paraDir == 1);
- useSingleRun = true;
- break;
- }
-
if (startRun >= end) {
continue;
}
int32_t endRun = startRun + lengthRun;
- if (endRun <= int32_t(start)) {
+ if (endRun <= start) {
continue;
}
- if (startRun < int32_t(start)) {
- startRun = int32_t(start);
+ if (startRun < start) {
+ startRun = start;
}
if (endRun > end) {
endRun = end;
}
lengthRun = endRun - startRun;
- isRTL = (runDir == UBIDI_RTL);
+ bool isRTL = (runDir == UBIDI_RTL);
jfloat runTotalAdvance = 0;
#if DEBUG_GLYPHS
LOGD("computeValuesWithHarfbuzz -- run-start=%d run-len=%d isRTL=%d",
@@ -495,28 +492,19 @@ void TextLayoutCacheValue::computeValuesWithHarfbuzz(SkPaint* paint, const UChar
*outTotalAdvance += runTotalAdvance;
}
}
- } else {
- LOGW("computeValuesWithHarfbuzz -- cannot set Para");
- useSingleRun = true;
- isRTL = (bidiReq = 1) || (bidiReq = UBIDI_DEFAULT_RTL);
}
ubidi_close(bidi);
} else {
- LOGW("computeValuesWithHarfbuzz -- cannot ubidi_open()");
- useSingleRun = true;
- isRTL = (bidiReq = 1) || (bidiReq = UBIDI_DEFAULT_RTL);
- }
- }
-
- // Default single run case
- if (useSingleRun){
+ // Cannot run BiDi, just consider one Run
+ bool isRTL = (bidiReq = 1) || (bidiReq = UBIDI_DEFAULT_RTL);
#if DEBUG_GLYPHS
- LOGD("computeValuesWithHarfbuzz -- Using a SINGLE Run "
- "-- run-start=%d run-len=%d isRTL=%d", start, count, isRTL);
+ LOGD("computeValuesWithHarfbuzz -- cannot run BiDi, considering a SINGLE Run "
+ "-- run-start=%d run-len=%d isRTL=%d", start, count, isRTL);
#endif
- computeRunValuesWithHarfbuzz(shaperItem, paint,
- start, count, isRTL,
- outAdvances, outTotalAdvance, outGlyphs);
+ computeRunValuesWithHarfbuzz(shaperItem, paint,
+ start, count, isRTL,
+ outAdvances, outTotalAdvance, outGlyphs);
+ }
}
// Cleaning
@@ -546,7 +534,7 @@ void TextLayoutCacheValue::computeRunValuesWithHarfbuzz(HB_ShaperItem& shaperIte
#if DEBUG_GLYPHS
LOGD("HARFBUZZ -- num_glypth=%d - kerning_applied=%d", shaperItem.num_glyphs,
shaperItem.kerning_applied);
- LOGD(" -- string= '%s'", String8(chars + start, count).string());
+ LOGD(" -- string= '%s'", String8(shaperItem.string + start, count).string());
LOGD(" -- isDevKernText=%d", paint->isDevKernText());
logGlyphs(shaperItem);
diff --git a/core/jni/android_database_CursorWindow.cpp b/core/jni/android_database_CursorWindow.cpp
index 9725c9ff6768..9a87a10d83f5 100644
--- a/core/jni/android_database_CursorWindow.cpp
+++ b/core/jni/android_database_CursorWindow.cpp
@@ -57,8 +57,7 @@ static void throwUnknownTypeException(JNIEnv * env, jint type) {
jniThrowException(env, "java/lang/IllegalStateException", msg.string());
}
-static jint nativeCreate(JNIEnv* env, jclass clazz,
- jstring nameObj, jint cursorWindowSize, jboolean localOnly) {
+static jint nativeCreate(JNIEnv* env, jclass clazz, jstring nameObj, jint cursorWindowSize) {
String8 name;
if (nameObj) {
const char* nameStr = env->GetStringUTFChars(nameObj, NULL);
@@ -70,7 +69,7 @@ static jint nativeCreate(JNIEnv* env, jclass clazz,
}
CursorWindow* window;
- status_t status = CursorWindow::create(name, cursorWindowSize, localOnly, &window);
+ status_t status = CursorWindow::create(name, cursorWindowSize, &window);
if (status || !window) {
LOGE("Could not allocate CursorWindow '%s' of size %d due to error %d.",
name.string(), cursorWindowSize, status);
@@ -482,7 +481,7 @@ static jboolean nativePutNull(JNIEnv* env, jclass clazz, jint windowPtr,
static JNINativeMethod sMethods[] =
{
/* name, signature, funcPtr */
- { "nativeCreate", "(Ljava/lang/String;IZ)I",
+ { "nativeCreate", "(Ljava/lang/String;I)I",
(void*)nativeCreate },
{ "nativeCreateFromParcel", "(Landroid/os/Parcel;)I",
(void*)nativeCreateFromParcel },
diff --git a/core/res/res/drawable-hdpi/btn_check_off_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_off_disabled_focused_holo_dark.png
index 9b78ae722c5d..50908bd6b2f5 100644
--- a/core/res/res/drawable-hdpi/btn_check_off_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_off_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_off_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_check_off_disabled_focused_holo_light.png
index 2860c6857b3c..64c3b9bdb0ae 100644
--- a/core/res/res/drawable-hdpi/btn_check_off_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_off_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_off_disabled_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_off_disabled_holo_dark.png
index f312dc42eb00..4bcc51d51aa0 100644
--- a/core/res/res/drawable-hdpi/btn_check_off_disabled_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_off_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_off_disabled_holo_light.png b/core/res/res/drawable-hdpi/btn_check_off_disabled_holo_light.png
index b7a8c5f45d51..9dbad9b92059 100644
--- a/core/res/res/drawable-hdpi/btn_check_off_disabled_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_off_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_off_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_off_focused_holo_dark.png
index 7087cf7424bb..2d5b32860bd8 100644
--- a/core/res/res/drawable-hdpi/btn_check_off_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_off_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_off_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_check_off_focused_holo_light.png
index 5d26dacd72ef..e1474f06e412 100644
--- a/core/res/res/drawable-hdpi/btn_check_off_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_off_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_off_holo.png b/core/res/res/drawable-hdpi/btn_check_off_holo.png
index 4021a3b20a70..9a5d158ab3f2 100644
--- a/core/res/res/drawable-hdpi/btn_check_off_holo.png
+++ b/core/res/res/drawable-hdpi/btn_check_off_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_off_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_off_holo_dark.png
index 00175badf1b4..d141b2870bc6 100644
--- a/core/res/res/drawable-hdpi/btn_check_off_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_off_holo_light.png b/core/res/res/drawable-hdpi/btn_check_off_holo_light.png
index f8a34dcc8d85..696810edfc4a 100644
--- a/core/res/res/drawable-hdpi/btn_check_off_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_dark.png
index 95316248660f..584ce05996e8 100644
--- a/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_light.png
index 6b1eadcb9615..ed317f7aa6b7 100644
--- a/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_off_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_dark.png
index bf2cf8d8a8ea..426f3bbaa520 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_light.png
index 00427a1cea37..67a6c6b480b6 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_dark.png
index 0ee10acd85c6..cccd61ef9db0 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_light.png b/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_light.png
index e07be7cd7578..cd02122bea74 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_on_focused_holo_dark.png
index fcea3b423105..1da69b80c59c 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_check_on_focused_holo_light.png
index 4006bd40f74a..12d70814ce32 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_on_holo_dark.png
index c69bcf8131e9..ab2794adb500 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_holo_light.png b/core/res/res/drawable-hdpi/btn_check_on_holo_light.png
index a8cedd1eb5c0..7cca3085406a 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_dark.png
index bc57f7af7a4a..40bd74611516 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_light.png
index 34209c062aaa..c49bc84be3d5 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_code_lock_default_holo.png b/core/res/res/drawable-hdpi/btn_code_lock_default_holo.png
index e77921cdf942..449d4272acd6 100644
--- a/core/res/res/drawable-hdpi/btn_code_lock_default_holo.png
+++ b/core/res/res/drawable-hdpi/btn_code_lock_default_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_dark.png
index a7ce7e11acb6..652a5287a8e7 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_light.png
index 93c0df01cf85..cd73cd20aacc 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_disabled_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_off_disabled_holo_dark.png
index ccd468c9646c..eb5864830861 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_disabled_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_disabled_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_off_disabled_holo_light.png
index 44a0b53abc02..25e8e1ba5361 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_disabled_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_dark.png
index f0508ac1b873..db790424acb1 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_light.png
index 14fbc7a7d586..bba1e26a0a27 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_holo.png b/core/res/res/drawable-hdpi/btn_radio_off_holo.png
index f159c6223a0f..e2761d2d123c 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_holo.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_off_holo_dark.png
index 328f662f9887..ff5510e915ee 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_off_holo_light.png
index 1a1517717cb4..4d6000890f07 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_dark.png
index 0f4fffff7690..5dc367319356 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_light.png
index 8fab476273ae..c0d8a3dd2a56 100644
--- a/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_off_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_dark.png
index c56166fe21db..d9cee4624eee 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_light.png
index 6bb4ad6c2877..3895dba12ad9 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_dark.png
index edfb3655c18c..6ebb1845c8d8 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_light.png
index f2664c441199..6e61b528781b 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_dark.png
index 435c10dfbbe4..13664b766760 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_light.png
index f2e41904b7df..fddb7dd5065c 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_holo.png b/core/res/res/drawable-hdpi/btn_radio_on_holo.png
index 0fcfbe1200bd..fdaffdc8a528 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_holo.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_on_holo_dark.png
index 5b87782439df..0a31436bafad 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_on_holo_light.png
index 41c9e6c335dd..b843f77d8c78 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_dark.png
index c91da17417e3..a920132e18fa 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_light.png
index 8d6b81d94901..f6a8b452a2b6 100644
--- a/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_radio_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_outerring.png b/core/res/res/drawable-hdpi/ic_lockscreen_outerring.png
deleted file mode 100644
index 5294bc5c805e..000000000000
--- a/core/res/res/drawable-hdpi/ic_lockscreen_outerring.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_suggestions_add.png b/core/res/res/drawable-hdpi/ic_suggestions_add.png
index 79c017ac498e..919872c1e9b2 100644
--- a/core/res/res/drawable-hdpi/ic_suggestions_add.png
+++ b/core/res/res/drawable-hdpi/ic_suggestions_add.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_suggestions_delete.png b/core/res/res/drawable-hdpi/ic_suggestions_delete.png
index 1ae6b96f3683..fa42db094178 100644
--- a/core/res/res/drawable-hdpi/ic_suggestions_delete.png
+++ b/core/res/res/drawable-hdpi/ic_suggestions_delete.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_ab_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/spinner_ab_focused_holo_dark.9.png
index 2a23d3a173e4..a76f4ab6706c 100644
--- a/core/res/res/drawable-hdpi/spinner_ab_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/spinner_ab_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_ab_focused_holo_light.9.png b/core/res/res/drawable-hdpi/spinner_ab_focused_holo_light.9.png
index 2a23d3a173e4..ecfe9ccbfdce 100644
--- a/core/res/res/drawable-hdpi/spinner_ab_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/spinner_ab_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/spinner_focused_holo_dark.9.png
index 75815a63c638..09f8cefe023a 100644
--- a/core/res/res/drawable-hdpi/spinner_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/spinner_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_focused_holo_light.9.png b/core/res/res/drawable-hdpi/spinner_focused_holo_light.9.png
index 75815a63c638..58c67a01e841 100644
--- a/core/res/res/drawable-hdpi/spinner_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/spinner_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_chat.png b/core/res/res/drawable-hdpi/stat_notify_chat.png
index 845aef318617..32ffdf1136ed 100644
--- a/core/res/res/drawable-hdpi/stat_notify_chat.png
+++ b/core/res/res/drawable-hdpi/stat_notify_chat.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_disabled.png b/core/res/res/drawable-hdpi/stat_notify_disabled.png
index 5b5a7dcc6969..c5e591797c63 100644
--- a/core/res/res/drawable-hdpi/stat_notify_disabled.png
+++ b/core/res/res/drawable-hdpi/stat_notify_disabled.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/text_edit_paste_window.9.png b/core/res/res/drawable-hdpi/text_edit_paste_window.9.png
index b74f37b53ce7..8a64d36c28a3 100644
--- a/core/res/res/drawable-hdpi/text_edit_paste_window.9.png
+++ b/core/res/res/drawable-hdpi/text_edit_paste_window.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/text_edit_side_paste_window.9.png b/core/res/res/drawable-hdpi/text_edit_side_paste_window.9.png
index c6adea3cedf6..2b50efa56ea0 100644
--- a/core/res/res/drawable-hdpi/text_edit_side_paste_window.9.png
+++ b/core/res/res/drawable-hdpi/text_edit_side_paste_window.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/text_edit_suggestions_window.9.png b/core/res/res/drawable-hdpi/text_edit_suggestions_window.9.png
index b74f37b53ce7..8a64d36c28a3 100644
--- a/core/res/res/drawable-hdpi/text_edit_suggestions_window.9.png
+++ b/core/res/res/drawable-hdpi/text_edit_suggestions_window.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_activated_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_activated_holo_dark.9.png
index a32dc0d42df2..56481ced24a7 100644
--- a/core/res/res/drawable-hdpi/textfield_activated_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_activated_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_activated_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_activated_holo_light.9.png
index a32dc0d42df2..56481ced24a7 100644
--- a/core/res/res/drawable-hdpi/textfield_activated_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_activated_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_default_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_default_holo_dark.9.png
index 1f71467fbe16..d15f9a674306 100644
--- a/core/res/res/drawable-hdpi/textfield_default_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_default_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_default_holo_light.9.png
index 00fe8c7b1807..073f91e1f481 100644
--- a/core/res/res/drawable-hdpi/textfield_default_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_disabled_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_disabled_focused_holo_dark.9.png
index b988435260b8..fe753154c918 100644
--- a/core/res/res/drawable-hdpi/textfield_disabled_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_disabled_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_disabled_focused_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_disabled_focused_holo_light.9.png
index 04192736de08..d7f78ab7026c 100644
--- a/core/res/res/drawable-hdpi/textfield_disabled_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_disabled_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_disabled_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_disabled_holo_dark.9.png
index b26accb3fd58..769bc0a1b896 100644
--- a/core/res/res/drawable-hdpi/textfield_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_disabled_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_disabled_holo_light.9.png
index 1eb5e3af312c..312a0f48cd53 100644
--- a/core/res/res/drawable-hdpi/textfield_disabled_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_multiline_activated_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_multiline_activated_holo_dark.9.png
index a32dc0d42df2..56481ced24a7 100644
--- a/core/res/res/drawable-hdpi/textfield_multiline_activated_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_multiline_activated_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_multiline_activated_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_multiline_activated_holo_light.9.png
index a32dc0d42df2..56481ced24a7 100644
--- a/core/res/res/drawable-hdpi/textfield_multiline_activated_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_multiline_activated_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_multiline_default_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_multiline_default_holo_dark.9.png
index 1f71467fbe16..e27b409b7452 100644
--- a/core/res/res/drawable-hdpi/textfield_multiline_default_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_multiline_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_multiline_default_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_multiline_default_holo_light.9.png
index 00fe8c7b1807..073f91e1f481 100644
--- a/core/res/res/drawable-hdpi/textfield_multiline_default_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_multiline_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_multiline_disabled_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_multiline_disabled_focused_holo_dark.9.png
index b988435260b8..f33763b874e6 100644
--- a/core/res/res/drawable-hdpi/textfield_multiline_disabled_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_multiline_disabled_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_multiline_disabled_focused_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_multiline_disabled_focused_holo_light.9.png
index 04192736de08..d7f78ab7026c 100644
--- a/core/res/res/drawable-hdpi/textfield_multiline_disabled_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_multiline_disabled_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_multiline_disabled_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_multiline_disabled_holo_dark.9.png
index b26accb3fd58..2e50f72974c4 100644
--- a/core/res/res/drawable-hdpi/textfield_multiline_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_multiline_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_multiline_disabled_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_multiline_disabled_holo_light.9.png
index 1eb5e3af312c..312a0f48cd53 100644
--- a/core/res/res/drawable-hdpi/textfield_multiline_disabled_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_multiline_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_multiline_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_multiline_focused_holo_dark.9.png
index 03a81d97b5db..6784032ce18c 100644
--- a/core/res/res/drawable-hdpi/textfield_multiline_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_multiline_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_multiline_focused_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_multiline_focused_holo_light.9.png
index 03a81d97b5db..74746cb0da06 100644
--- a/core/res/res/drawable-hdpi/textfield_multiline_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_multiline_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_search_default_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_search_default_holo_dark.9.png
index 3cbafb90c883..70c0e7396edf 100644
--- a/core/res/res/drawable-hdpi/textfield_search_default_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_search_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_search_default_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_search_default_holo_light.9.png
index 7b019844ca34..36e71d85d083 100644
--- a/core/res/res/drawable-hdpi/textfield_search_default_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_search_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_search_right_default_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_search_right_default_holo_dark.9.png
index 2b6340ac220e..4be4af5fab3a 100644
--- a/core/res/res/drawable-hdpi/textfield_search_right_default_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_search_right_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_search_right_default_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_search_right_default_holo_light.9.png
index 49c8c0544268..e72193f5921e 100644
--- a/core/res/res/drawable-hdpi/textfield_search_right_default_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_search_right_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_search_right_selected_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_search_right_selected_holo_dark.9.png
index df1db0e7e597..8f20b9d2673d 100644
--- a/core/res/res/drawable-hdpi/textfield_search_right_selected_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_search_right_selected_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_search_right_selected_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_search_right_selected_holo_light.9.png
index fbc46d04f2ae..04f657e1db10 100644
--- a/core/res/res/drawable-hdpi/textfield_search_right_selected_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_search_right_selected_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_search_selected_holo_dark.9.png b/core/res/res/drawable-hdpi/textfield_search_selected_holo_dark.9.png
index 87e31e172171..99309ef6d3e3 100644
--- a/core/res/res/drawable-hdpi/textfield_search_selected_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/textfield_search_selected_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/textfield_search_selected_holo_light.9.png b/core/res/res/drawable-hdpi/textfield_search_selected_holo_light.9.png
index 080fc78b6c4a..9bde7fbdce15 100644
--- a/core/res/res/drawable-hdpi/textfield_search_selected_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/textfield_search_selected_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_disable_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_off_disable_focused_holo_dark.png
index 44b987bbe86d..f3194b727dff 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_disable_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_disable_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_disable_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_check_off_disable_focused_holo_light.png
index 2a3824b308d5..bd710720a364 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_disable_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_disable_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_disable_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_off_disable_holo_dark.png
index 44b987bbe86d..f3194b727dff 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_disable_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_disable_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_disable_holo_light.png b/core/res/res/drawable-mdpi/btn_check_off_disable_holo_light.png
index 2a3824b308d5..bd710720a364 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_disable_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_disable_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_off_disabled_focused_holo_dark.png
index 3bf750f1103f..049cd284e413 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_check_off_disabled_focused_holo_light.png
index d2dc269257b5..42442e8fea13 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_disabled_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_off_disabled_holo_dark.png
index e988577819f5..654d449bfd49 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_disabled_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_check_off_disabled_holo_light.png
index 156714ecba9b..db190430ce0a 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_off_focused_holo_dark.png
index d38a140bf803..a09cd48ae388 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_check_off_focused_holo_light.png
index 114e6f8cb5c3..3fc71fd20323 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_holo.png b/core/res/res/drawable-mdpi/btn_check_off_holo.png
index 67d70b4a3c2d..8655e0ca6128 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_holo.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_off_holo_dark.png
index d20b2aaef316..608107943606 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_holo_light.png b/core/res/res/drawable-mdpi/btn_check_off_holo_light.png
index a80c349db3fb..5e04a57b58ea 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_normal_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_off_normal_holo_dark.png
index 51512f50a77a..156117681460 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_normal_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_normal_holo_light.png b/core/res/res/drawable-mdpi/btn_check_off_normal_holo_light.png
index aebfa3e797e7..b39ad3d644db 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_normal_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_dark.png
index f653faeb6def..9389a0833900 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_light.png
index 57192f22af6c..1109c20f7e61 100644
--- a/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_off_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_dark.png
index ac83494fff86..29fa22f9281b 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_light.png
index 6c247a820a3e..997045de11d7 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_dark.png
index 7710165da106..e180ea76b662 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_light.png
index 15d0c803a4b8..20e2aab12b39 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_on_focused_holo_dark.png
index f1d8aec579bf..9c089aabcd0b 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_check_on_focused_holo_light.png
index 0d95a00ffddd..a3b49165d35b 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_on_holo_dark.png
index 4dd94529f9fb..9f31c1b6b954 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_holo_light.png b/core/res/res/drawable-mdpi/btn_check_on_holo_light.png
index 38abce61f6b8..f657c5b22cde 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_dark.png
index 06f0518f746d..3a8cebc49a7e 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_light.png
index 21d54a627786..e9f5f06ca086 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_code_lock_touched.png b/core/res/res/drawable-mdpi/btn_code_lock_touched.png
index 2dfe0f68acad..fe5c1af6a08b 100644
--- a/core/res/res/drawable-mdpi/btn_code_lock_touched.png
+++ b/core/res/res/drawable-mdpi/btn_code_lock_touched.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_dark.png
index 056b9b81a258..0ad3a3127a48 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_light.png
index 66aab5453360..4dac84cfe88b 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_disabled_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_off_disabled_holo_dark.png
index 712b2677ca7b..20d3d772671b 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_disabled_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_off_disabled_holo_light.png
index e692b38275f3..a67375ec8a33 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_dark.png
index 303177c1c059..5878db14e78b 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_light.png
index e939d9213117..6753d087d3a4 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_holo.png b/core/res/res/drawable-mdpi/btn_radio_off_holo.png
index ba90d9622ba1..e2077a919bfa 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_holo.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_off_holo_dark.png
index 93edad2174d1..ac3ef065c3d4 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_off_holo_light.png
index c67e9fbb93f1..665cb1711900 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_dark.png
index b615e9e4851f..194f58e27f43 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_light.png
index a081e7e5b48a..2a7d0d5227a0 100644
--- a/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_off_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_dark.png
index f43d7fc5abd5..8ffe0061b3cd 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_light.png
index e137d464886d..c9be37e9f184 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_dark.png
index 1337d85a4fd2..605af763533d 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_light.png
index 4dc896edcf3a..4583c3e1fa86 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_dark.png
index d051fb7e86c0..456d15d9898b 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_light.png
index 260283d6c709..db3b30a1196a 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_holo.png b/core/res/res/drawable-mdpi/btn_radio_on_holo.png
index 41b603c37559..22f9a73295b6 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_holo.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_on_holo_dark.png
index 6628c81831d2..54674d0b2ae8 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_on_holo_light.png
index 3bfa580b3f6e..917417a5be93 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_dark.png
index a6ccaabc9bb3..dff7c00ac3cc 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_light.png
index 001cada139d2..70c705feee41 100644
--- a/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_radio_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_light.png
index 26841bdb4f19..632f822f4dc8 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_light.png
index 4fe7483a60a7..484f115a27d4 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_light.png
index ec3b84d46c92..4b4a1b91e541 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_light.png
index 537f4f0bf8ef..060bb5b786a3 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_light.png
index 0409d4b35c20..000a9c478876 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lockscreen_outerring.png b/core/res/res/drawable-mdpi/ic_lockscreen_outerring.png
deleted file mode 100644
index 4151f73a61e7..000000000000
--- a/core/res/res/drawable-mdpi/ic_lockscreen_outerring.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_suggestions_add.png b/core/res/res/drawable-mdpi/ic_suggestions_add.png
index f91951b6e47c..e98bdf8f0497 100644
--- a/core/res/res/drawable-mdpi/ic_suggestions_add.png
+++ b/core/res/res/drawable-mdpi/ic_suggestions_add.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_suggestions_delete.png b/core/res/res/drawable-mdpi/ic_suggestions_delete.png
index 98eb56538872..78e6ec18e618 100644
--- a/core/res/res/drawable-mdpi/ic_suggestions_delete.png
+++ b/core/res/res/drawable-mdpi/ic_suggestions_delete.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_ab_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/spinner_ab_focused_holo_dark.9.png
index bfe4da89f836..f3ef4823cd9a 100644
--- a/core/res/res/drawable-mdpi/spinner_ab_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/spinner_ab_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_ab_focused_holo_light.9.png b/core/res/res/drawable-mdpi/spinner_ab_focused_holo_light.9.png
index bfe4da89f836..d6772780282b 100644
--- a/core/res/res/drawable-mdpi/spinner_ab_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/spinner_ab_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/spinner_focused_holo_dark.9.png
index 440ef6dda0a5..dc8f01eca73d 100644
--- a/core/res/res/drawable-mdpi/spinner_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/spinner_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_focused_holo_light.9.png b/core/res/res/drawable-mdpi/spinner_focused_holo_light.9.png
index 440ef6dda0a5..7d3af8794019 100644
--- a/core/res/res/drawable-mdpi/spinner_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/spinner_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_chat.png b/core/res/res/drawable-mdpi/stat_notify_chat.png
index 82c83d0b123c..4ff4667bc152 100644
--- a/core/res/res/drawable-mdpi/stat_notify_chat.png
+++ b/core/res/res/drawable-mdpi/stat_notify_chat.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_disabled.png b/core/res/res/drawable-mdpi/stat_notify_disabled.png
index 9661d3149dc3..c03277c194a2 100644
--- a/core/res/res/drawable-mdpi/stat_notify_disabled.png
+++ b/core/res/res/drawable-mdpi/stat_notify_disabled.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/text_edit_paste_window.9.png b/core/res/res/drawable-mdpi/text_edit_paste_window.9.png
index 16f623db74df..caacb5a72bcd 100644
--- a/core/res/res/drawable-mdpi/text_edit_paste_window.9.png
+++ b/core/res/res/drawable-mdpi/text_edit_paste_window.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/text_edit_side_paste_window.9.png b/core/res/res/drawable-mdpi/text_edit_side_paste_window.9.png
index 23684fabc5c0..04300d4e0056 100644
--- a/core/res/res/drawable-mdpi/text_edit_side_paste_window.9.png
+++ b/core/res/res/drawable-mdpi/text_edit_side_paste_window.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/text_edit_suggestions_window.9.png b/core/res/res/drawable-mdpi/text_edit_suggestions_window.9.png
index 16f623db74df..caacb5a72bcd 100644
--- a/core/res/res/drawable-mdpi/text_edit_suggestions_window.9.png
+++ b/core/res/res/drawable-mdpi/text_edit_suggestions_window.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_activated_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_activated_holo_dark.9.png
index c97cff486265..b69c3f0c91c7 100644
--- a/core/res/res/drawable-mdpi/textfield_activated_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_activated_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_activated_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_activated_holo_light.9.png
index c97cff486265..b69c3f0c91c7 100644
--- a/core/res/res/drawable-mdpi/textfield_activated_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_activated_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_default_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_default_holo_dark.9.png
index bf7df172eca7..6b4bba02ce4d 100644
--- a/core/res/res/drawable-mdpi/textfield_default_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_default_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_default_holo_light.9.png
index 6aa64c637412..3d8898e90610 100644
--- a/core/res/res/drawable-mdpi/textfield_default_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_disabled_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_disabled_focused_holo_dark.9.png
index c5f098c13d8b..e922f714d507 100644
--- a/core/res/res/drawable-mdpi/textfield_disabled_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_disabled_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_disabled_focused_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_disabled_focused_holo_light.9.png
index 8a63152c24ec..3b928944874b 100644
--- a/core/res/res/drawable-mdpi/textfield_disabled_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_disabled_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_disabled_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_disabled_holo_dark.9.png
index 7f15e1e9e02e..7e44919a72e5 100644
--- a/core/res/res/drawable-mdpi/textfield_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_disabled_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_disabled_holo_light.9.png
index 8bdbb2e61ff7..09b5616424b9 100644
--- a/core/res/res/drawable-mdpi/textfield_disabled_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_multiline_activated_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_multiline_activated_holo_dark.9.png
index c97cff486265..b69c3f0c91c7 100644
--- a/core/res/res/drawable-mdpi/textfield_multiline_activated_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_multiline_activated_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_multiline_activated_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_multiline_activated_holo_light.9.png
index c97cff486265..b69c3f0c91c7 100644
--- a/core/res/res/drawable-mdpi/textfield_multiline_activated_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_multiline_activated_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_multiline_default_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_multiline_default_holo_dark.9.png
index bf7df172eca7..6b4bba02ce4d 100644
--- a/core/res/res/drawable-mdpi/textfield_multiline_default_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_multiline_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_multiline_default_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_multiline_default_holo_light.9.png
index 6aa64c637412..3d8898e90610 100644
--- a/core/res/res/drawable-mdpi/textfield_multiline_default_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_multiline_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_multiline_disabled_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_multiline_disabled_focused_holo_dark.9.png
index c5f098c13d8b..e922f714d507 100644
--- a/core/res/res/drawable-mdpi/textfield_multiline_disabled_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_multiline_disabled_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_multiline_disabled_focused_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_multiline_disabled_focused_holo_light.9.png
index 8a63152c24ec..3b928944874b 100644
--- a/core/res/res/drawable-mdpi/textfield_multiline_disabled_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_multiline_disabled_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_multiline_disabled_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_multiline_disabled_holo_dark.9.png
index 7f15e1e9e02e..7e44919a72e5 100644
--- a/core/res/res/drawable-mdpi/textfield_multiline_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_multiline_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_multiline_disabled_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_multiline_disabled_holo_light.9.png
index 8bdbb2e61ff7..09b5616424b9 100644
--- a/core/res/res/drawable-mdpi/textfield_multiline_disabled_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_multiline_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_multiline_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_multiline_focused_holo_dark.9.png
index efbaef8b47ed..2a78e8c509ec 100644
--- a/core/res/res/drawable-mdpi/textfield_multiline_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_multiline_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_multiline_focused_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_multiline_focused_holo_light.9.png
index efbaef8b47ed..632d9fc7a991 100644
--- a/core/res/res/drawable-mdpi/textfield_multiline_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_multiline_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_default_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_search_default_holo_dark.9.png
index 039af2fd1f34..081657ee7b82 100644
--- a/core/res/res/drawable-mdpi/textfield_search_default_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_default_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_search_default_holo_light.9.png
index eb70db6278af..3f312b465189 100644
--- a/core/res/res/drawable-mdpi/textfield_search_default_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_right_default_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_search_right_default_holo_dark.9.png
index 9b45bb72b596..b086fae87382 100644
--- a/core/res/res/drawable-mdpi/textfield_search_right_default_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_right_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_right_default_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_search_right_default_holo_light.9.png
index 67b96e2cafd5..73c336a77a9c 100644
--- a/core/res/res/drawable-mdpi/textfield_search_right_default_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_right_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_dark.9.png
index b09f9dc313d3..726e0ff427cd 100644
--- a/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_light.9.png
index 821ad9102b72..726e0ff427cd 100644
--- a/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_right_selected_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_selected_holo_dark.9.png b/core/res/res/drawable-mdpi/textfield_search_selected_holo_dark.9.png
index c3a7a2e6f62e..1767c169eef0 100644
--- a/core/res/res/drawable-mdpi/textfield_search_selected_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_selected_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/textfield_search_selected_holo_light.9.png b/core/res/res/drawable-mdpi/textfield_search_selected_holo_light.9.png
index e769cb5e494d..1767c169eef0 100644
--- a/core/res/res/drawable-mdpi/textfield_search_selected_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/textfield_search_selected_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-nodpi/text_cursor_holo_dark.9.png b/core/res/res/drawable-nodpi/text_cursor_holo_dark.9.png
index 450c486dc2cd..a1bddc337981 100644
--- a/core/res/res/drawable-nodpi/text_cursor_holo_dark.9.png
+++ b/core/res/res/drawable-nodpi/text_cursor_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-nodpi/text_cursor_holo_light.9.png b/core/res/res/drawable-nodpi/text_cursor_holo_light.9.png
index 22633eb04d91..cfdb8499fd0b 100644
--- a/core/res/res/drawable-nodpi/text_cursor_holo_light.9.png
+++ b/core/res/res/drawable-nodpi/text_cursor_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-sw600dp-hdpi/ic_lockscreen_handle_normal.png b/core/res/res/drawable-sw600dp-hdpi/ic_lockscreen_handle_normal.png
new file mode 100644
index 000000000000..f28fe38eb449
--- /dev/null
+++ b/core/res/res/drawable-sw600dp-hdpi/ic_lockscreen_handle_normal.png
Binary files differ
diff --git a/core/res/res/drawable-sw600dp-hdpi/ic_lockscreen_handle_pressed.png b/core/res/res/drawable-sw600dp-hdpi/ic_lockscreen_handle_pressed.png
new file mode 100644
index 000000000000..728fc6756e25
--- /dev/null
+++ b/core/res/res/drawable-sw600dp-hdpi/ic_lockscreen_handle_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-sw600dp-mdpi/ic_lockscreen_handle_normal.png b/core/res/res/drawable-sw600dp-mdpi/ic_lockscreen_handle_normal.png
new file mode 100644
index 000000000000..99e742fa27a3
--- /dev/null
+++ b/core/res/res/drawable-sw600dp-mdpi/ic_lockscreen_handle_normal.png
Binary files differ
diff --git a/core/res/res/drawable-sw600dp-mdpi/ic_lockscreen_handle_pressed.png b/core/res/res/drawable-sw600dp-mdpi/ic_lockscreen_handle_pressed.png
new file mode 100644
index 000000000000..c7da0242730d
--- /dev/null
+++ b/core/res/res/drawable-sw600dp-mdpi/ic_lockscreen_handle_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-sw600dp-xhdpi/ic_lockscreen_handle_normal.png b/core/res/res/drawable-sw600dp-xhdpi/ic_lockscreen_handle_normal.png
new file mode 100644
index 000000000000..75e478310a1b
--- /dev/null
+++ b/core/res/res/drawable-sw600dp-xhdpi/ic_lockscreen_handle_normal.png
Binary files differ
diff --git a/core/res/res/drawable-sw600dp-xhdpi/ic_lockscreen_handle_pressed.png b/core/res/res/drawable-sw600dp-xhdpi/ic_lockscreen_handle_pressed.png
new file mode 100644
index 000000000000..534c10bc08e0
--- /dev/null
+++ b/core/res/res/drawable-sw600dp-xhdpi/ic_lockscreen_handle_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_buttonless_off.png b/core/res/res/drawable-xhdpi/btn_check_buttonless_off.png
index a3c56550792c..243a97667d00 100644
--- a/core/res/res/drawable-xhdpi/btn_check_buttonless_off.png
+++ b/core/res/res/drawable-xhdpi/btn_check_buttonless_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_buttonless_on.png b/core/res/res/drawable-xhdpi/btn_check_buttonless_on.png
index 0629581d0cae..348a2648d729 100644
--- a/core/res/res/drawable-xhdpi/btn_check_buttonless_on.png
+++ b/core/res/res/drawable-xhdpi/btn_check_buttonless_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off.png b/core/res/res/drawable-xhdpi/btn_check_off.png
index 083e04a49032..933864b86e14 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_disable.png b/core/res/res/drawable-xhdpi/btn_check_off_disable.png
index e7465576a613..926c694d5823 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_disable.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_disable.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_disable_focused.png b/core/res/res/drawable-xhdpi/btn_check_off_disable_focused.png
index 377b645f43ef..9e99fbd37bf8 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_disable_focused.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_disable_focused.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_disable_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_off_disable_focused_holo_dark.png
index df66e7e23979..8417bfe48860 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_disable_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_disable_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_disable_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_off_disable_focused_holo_light.png
index 96b2a0ff79ad..903bf201a865 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_disable_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_disable_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_disable_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_off_disable_holo_dark.png
index df66e7e23979..8417bfe48860 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_disable_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_disable_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_disable_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_off_disable_holo_light.png
index 96b2a0ff79ad..903bf201a865 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_disable_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_disable_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_off_disabled_focused_holo_dark.png
index 0f34797709c2..1dd1eec97c4a 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_off_disabled_focused_holo_light.png
index 95f8a1512c95..481eb7740ef2 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_off_disabled_holo_dark.png
index 26a45405f11b..85ab47854c2d 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_disabled_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_disabled_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_off_disabled_holo_light.png
index 803f0af54911..6a364bbe3c3e 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_disabled_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_off_focused_holo_dark.png
index 9a3e472b8d57..828e4bcdefad 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_off_focused_holo_light.png
index dce8e06cf680..1c5e5033f1c4 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_holo.png b/core/res/res/drawable-xhdpi/btn_check_off_holo.png
index bdab4d05875e..bcedcea4cf34 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_holo.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_off_holo_dark.png
index f8afd6aeb556..f696db07a3ae 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_off_holo_light.png
index 902b3a52ca72..4518328b20dc 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_normal_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_off_normal_holo_dark.png
index ee19faf93de8..d3d2fa481a15 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_normal_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_normal_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_off_normal_holo_light.png
index ea7dec82260a..b7f226aae0d3 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_normal_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_pressed.png b/core/res/res/drawable-xhdpi/btn_check_off_pressed.png
index a3065f66423d..3a79e7557006 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_pressed.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_dark.png
index 575f4e896769..c85f1352de14 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_light.png
index 8d5d780ec993..50461d2445e5 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_off_selected.png b/core/res/res/drawable-xhdpi/btn_check_off_selected.png
index edfb30a85187..80049745a05f 100644
--- a/core/res/res/drawable-xhdpi/btn_check_off_selected.png
+++ b/core/res/res/drawable-xhdpi/btn_check_off_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on.png b/core/res/res/drawable-xhdpi/btn_check_on.png
index c1dee1889c93..3c9874010c6a 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_dark.png
index 041663af8e18..a42c7ff45c55 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_light.png
index ca0dadbfe2a4..74fa0ff344c4 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_dark.png
index 4960b5799501..499147ea0f55 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_light.png
index ce1dd23554c4..d705b4204370 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_dark.png
index 0a31fbcdd5d8..e64a1884a1fd 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_light.png
index 62f6336cce74..697a18a020cc 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_on_holo_dark.png
index dc2379c942af..2fe7b01d6b0e 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_on_holo_light.png
index cbb26fd822b3..a2612d7de8be 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_dark.png
index 9c160affd7dd..ce4b5780641d 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_light.png
index eb8521825363..8f03489fd00d 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off.png b/core/res/res/drawable-xhdpi/btn_radio_off.png
index be4bafaa0e94..b25fd98f8843 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_dark.png
index 0aa6b93ca113..b93bb66ebda6 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_light.png
index e7a7020ff662..2625e8b4c9f8 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_dark.png
index e3fac6969fd8..aa5f830b0cc0 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_light.png
index c2c8b5e44444..1030a801a08c 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_dark.png
index c28914c2476a..5a12961179c5 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_light.png
index 9ddffd186b1a..1e2108cd4d2f 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_holo.png b/core/res/res/drawable-xhdpi/btn_radio_off_holo.png
index 1167e1f87ed6..1866d0704509 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off_holo.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_off_holo_dark.png
index e6c247467b15..d04d6e5fbec7 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_off_holo_light.png
index c642355fdb0e..36e82bbb226f 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_pressed.png b/core/res/res/drawable-xhdpi/btn_radio_off_pressed.png
index 19e444359e3a..1ee1d4c1e245 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off_pressed.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_dark.png
index 786ce599888f..60aede8b81da 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_light.png
index f56d716fbb9e..614d27a566a6 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_selected.png b/core/res/res/drawable-xhdpi/btn_radio_off_selected.png
index 599b48b2963a..2ef78f012d06 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_off_selected.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_off_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on.png b/core/res/res/drawable-xhdpi/btn_radio_on.png
index d041657212c1..c3b757eae4ff 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_dark.png
index 99f3d53a6663..97994e834f68 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_light.png
index 2d98e17ebb3e..67e9bd1bd086 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_dark.png
index 71984bc5547a..346909d36f85 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_light.png
index e77b6e35c62f..5741490d36c0 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_dark.png
index 5d1edc73c63b..587f0cee54e2 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_light.png
index db9fc3217fa6..6d78b9723580 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_holo.png b/core/res/res/drawable-xhdpi/btn_radio_on_holo.png
index e39e0972cad3..e14392f4b4fe 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on_holo.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_on_holo_dark.png
index 4fc05dd9a597..e565dfe5ccf8 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_on_holo_light.png
index bfcef363d9f5..5a7a5f7fa7db 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_pressed.png b/core/res/res/drawable-xhdpi/btn_radio_on_pressed.png
index 88640d03f6df..a9867468672b 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on_pressed.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_dark.png
index ec7fa73e6256..f402bd1ca72c 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_light.png
index 6941ce032534..041e5cc3be8d 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_radio_on_selected.png b/core/res/res/drawable-xhdpi/btn_radio_on_selected.png
index c90b24d36b4f..b3d423443e90 100644
--- a/core/res/res/drawable-xhdpi/btn_radio_on_selected.png
+++ b/core/res/res/drawable-xhdpi/btn_radio_on_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lockscreen_outerring.png b/core/res/res/drawable-xhdpi/ic_lockscreen_outerring.png
deleted file mode 100644
index 0b4b26053850..000000000000
--- a/core/res/res/drawable-xhdpi/ic_lockscreen_outerring.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_suggestions_add.png b/core/res/res/drawable-xhdpi/ic_suggestions_add.png
index aac038cbed27..b1edef7ea550 100644
--- a/core/res/res/drawable-xhdpi/ic_suggestions_add.png
+++ b/core/res/res/drawable-xhdpi/ic_suggestions_add.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_suggestions_delete.png b/core/res/res/drawable-xhdpi/ic_suggestions_delete.png
index 077e9fcbec95..6b1f44754551 100644
--- a/core/res/res/drawable-xhdpi/ic_suggestions_delete.png
+++ b/core/res/res/drawable-xhdpi/ic_suggestions_delete.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_dark.9.png
index ed69545bf8b7..edf2573841eb 100644
--- a/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_light.9.png
index ed69545bf8b7..3a165793312b 100644
--- a/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_ab_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/spinner_focused_holo_dark.9.png
index d80fa37e1310..eb1e1b7c5897 100644
--- a/core/res/res/drawable-xhdpi/spinner_focused_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/spinner_focused_holo_light.9.png
index d80fa37e1310..00c440cb8c27 100644
--- a/core/res/res/drawable-xhdpi/spinner_focused_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_chat.png b/core/res/res/drawable-xhdpi/stat_notify_chat.png
index f860fdc18d7e..af85623fae55 100644
--- a/core/res/res/drawable-xhdpi/stat_notify_chat.png
+++ b/core/res/res/drawable-xhdpi/stat_notify_chat.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_disabled.png b/core/res/res/drawable-xhdpi/stat_notify_disabled.png
index 0a003af6fc9d..a99f1f4e5def 100644
--- a/core/res/res/drawable-xhdpi/stat_notify_disabled.png
+++ b/core/res/res/drawable-xhdpi/stat_notify_disabled.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_edit_paste_window.9.png b/core/res/res/drawable-xhdpi/text_edit_paste_window.9.png
index 5c043b6d1309..a6e199aa9c5a 100644
--- a/core/res/res/drawable-xhdpi/text_edit_paste_window.9.png
+++ b/core/res/res/drawable-xhdpi/text_edit_paste_window.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_edit_side_paste_window.9.png b/core/res/res/drawable-xhdpi/text_edit_side_paste_window.9.png
index ac10b3e91da4..f96ff01aafb4 100644
--- a/core/res/res/drawable-xhdpi/text_edit_side_paste_window.9.png
+++ b/core/res/res/drawable-xhdpi/text_edit_side_paste_window.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_edit_suggestions_window.9.png b/core/res/res/drawable-xhdpi/text_edit_suggestions_window.9.png
index 5c043b6d1309..a6e199aa9c5a 100644
--- a/core/res/res/drawable-xhdpi/text_edit_suggestions_window.9.png
+++ b/core/res/res/drawable-xhdpi/text_edit_suggestions_window.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_activated_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_activated_holo_dark.9.png
index 4c4e02cfe91d..b3f8cd6a06e9 100644
--- a/core/res/res/drawable-xhdpi/textfield_activated_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_activated_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_activated_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_activated_holo_light.9.png
index 4c4e02cfe91d..b3f8cd6a06e9 100644
--- a/core/res/res/drawable-xhdpi/textfield_activated_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_activated_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_default_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_default_holo_dark.9.png
index 86221f05ed95..b5c5907ef7d1 100644
--- a/core/res/res/drawable-xhdpi/textfield_default_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_default_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_default_holo_light.9.png
index a604537b2ad3..30052e9ac918 100644
--- a/core/res/res/drawable-xhdpi/textfield_default_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_disabled_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_disabled_focused_holo_dark.9.png
index cf1b79fd5f69..16be83999b6b 100644
--- a/core/res/res/drawable-xhdpi/textfield_disabled_focused_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_disabled_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_disabled_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_disabled_focused_holo_light.9.png
index d1ecc73e4127..ddd05596cc48 100644
--- a/core/res/res/drawable-xhdpi/textfield_disabled_focused_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_disabled_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_disabled_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_disabled_holo_dark.9.png
index e97c5d7b17d6..3d143b9d1452 100644
--- a/core/res/res/drawable-xhdpi/textfield_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_disabled_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_disabled_holo_light.9.png
index 5c52dd5ac454..dfb218564d7f 100644
--- a/core/res/res/drawable-xhdpi/textfield_disabled_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_multiline_activated_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_multiline_activated_holo_dark.9.png
index 4c4e02cfe91d..b3f8cd6a06e9 100644
--- a/core/res/res/drawable-xhdpi/textfield_multiline_activated_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_multiline_activated_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_multiline_activated_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_multiline_activated_holo_light.9.png
index 4c4e02cfe91d..b3f8cd6a06e9 100644
--- a/core/res/res/drawable-xhdpi/textfield_multiline_activated_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_multiline_activated_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_multiline_default_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_multiline_default_holo_dark.9.png
index 86221f05ed95..b5c5907ef7d1 100644
--- a/core/res/res/drawable-xhdpi/textfield_multiline_default_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_multiline_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_multiline_default_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_multiline_default_holo_light.9.png
index a604537b2ad3..30052e9ac918 100644
--- a/core/res/res/drawable-xhdpi/textfield_multiline_default_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_multiline_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_multiline_disabled_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_multiline_disabled_focused_holo_dark.9.png
index cf1b79fd5f69..16be83999b6b 100644
--- a/core/res/res/drawable-xhdpi/textfield_multiline_disabled_focused_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_multiline_disabled_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_multiline_disabled_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_multiline_disabled_focused_holo_light.9.png
index d1ecc73e4127..ddd05596cc48 100644
--- a/core/res/res/drawable-xhdpi/textfield_multiline_disabled_focused_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_multiline_disabled_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_multiline_disabled_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_multiline_disabled_holo_dark.9.png
index e97c5d7b17d6..3d143b9d1452 100644
--- a/core/res/res/drawable-xhdpi/textfield_multiline_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_multiline_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_multiline_disabled_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_multiline_disabled_holo_light.9.png
index 5c52dd5ac454..dfb218564d7f 100644
--- a/core/res/res/drawable-xhdpi/textfield_multiline_disabled_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_multiline_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_multiline_focused_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_multiline_focused_holo_dark.9.png
index 3ed03f32cdbe..7f0dc654849f 100644
--- a/core/res/res/drawable-xhdpi/textfield_multiline_focused_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_multiline_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_multiline_focused_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_multiline_focused_holo_light.9.png
index 3ed03f32cdbe..7f0dc654849f 100644
--- a/core/res/res/drawable-xhdpi/textfield_multiline_focused_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_multiline_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_default_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_search_default_holo_dark.9.png
index 59a9a1b80b80..8fdbbf3ad77a 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_default_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_default_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_search_default_holo_light.9.png
index 5d472c8a7640..4e9ae43c250a 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_default_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_right_default_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_search_right_default_holo_dark.9.png
index 3dbef609d2e8..98f4871bb52a 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_right_default_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_right_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_right_default_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_search_right_default_holo_light.9.png
index 197c2bc5d150..733373ed38d9 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_right_default_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_right_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_right_selected_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_search_right_selected_holo_dark.9.png
index a765e5bf79d2..0c6bb036dbff 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_right_selected_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_right_selected_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_right_selected_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_search_right_selected_holo_light.9.png
index 30a3237b858c..0c6bb036dbff 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_right_selected_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_right_selected_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_selected_holo_dark.9.png b/core/res/res/drawable-xhdpi/textfield_search_selected_holo_dark.9.png
index 3c8ed1e0815c..e5bfd8ad3321 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_selected_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_selected_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_selected_holo_light.9.png b/core/res/res/drawable-xhdpi/textfield_search_selected_holo_light.9.png
index f69ebc533529..1743da6b4e1f 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_selected_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_selected_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable/edit_text_holo_dark.xml b/core/res/res/drawable/edit_text_holo_dark.xml
index d00747fe4383..2bfe3333142f 100644
--- a/core/res/res/drawable/edit_text_holo_dark.xml
+++ b/core/res/res/drawable/edit_text_holo_dark.xml
@@ -27,7 +27,7 @@
<item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/textfield_default_holo_dark" />
<item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/textfield_disabled_holo_dark" />
<item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/textfield_activated_holo_dark" />
- <iten android:state_enabled="true" android:state_activated="true" android:drawable="@drawable/textfield_focused_holo_dark" />
+ <item android:state_enabled="true" android:state_activated="true" android:drawable="@drawable/textfield_focused_holo_dark" />
<item android:state_enabled="true" android:drawable="@drawable/textfield_default_holo_dark" />
<item android:state_focused="true" android:drawable="@drawable/textfield_disabled_focused_holo_dark" />
<item android:drawable="@drawable/textfield_disabled_holo_dark" />
diff --git a/core/res/res/drawable/ic_lockscreen_outerring.xml b/core/res/res/drawable/ic_lockscreen_outerring.xml
new file mode 100644
index 000000000000..490f3707279f
--- /dev/null
+++ b/core/res/res/drawable/ic_lockscreen_outerring.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="oval"
+ >
+ <size android:height="270dp" android:width="270dp" />
+ <solid android:color="#00000000" />
+ <stroke android:color="#1affffff" android:width="2dp" />
+</shape>
diff --git a/core/res/res/layout-sw600dp/keyguard_screen_tab_unlock.xml b/core/res/res/layout-sw600dp/keyguard_screen_tab_unlock.xml
index d32cd0c050d5..23b2fcb891e5 100644
--- a/core/res/res/layout-sw600dp/keyguard_screen_tab_unlock.xml
+++ b/core/res/res/layout-sw600dp/keyguard_screen_tab_unlock.xml
@@ -57,11 +57,27 @@
android:drawablePadding="4dip"
/>
- <com.android.internal.widget.WaveView
+ <com.android.internal.widget.multiwaveview.MultiWaveView
android:id="@+id/unlock_widget"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_alignParentBottom="true"
android:layout_gravity="center"
+
+ android:targetDrawables="@array/lockscreen_targets_with_camera"
+ android:targetDescriptions="@array/lockscreen_target_descriptions_with_camera"
+ android:directionDescriptions="@array/lockscreen_direction_descriptions"
+ android:handleDrawable="@drawable/ic_lockscreen_handle"
+ android:waveDrawable="@drawable/ic_lockscreen_outerring"
+ android:outerRadius="@dimen/multiwaveview_target_placement_radius"
+ android:snapMargin="@dimen/multiwaveview_snap_margin"
+ android:hitRadius="@dimen/multiwaveview_hit_radius"
+ android:rightChevronDrawable="@drawable/ic_lockscreen_chevron_right"
+ android:horizontalOffset="0dip"
+ android:verticalOffset="60dip"
+ android:feedbackCount="3"
+ android:vibrationDuration="20"
/>
<!-- emergency call button shown when sim is PUKd and tab_selector is hidden -->
diff --git a/core/res/res/layout-sw600dp/keyguard_screen_tab_unlock_land.xml b/core/res/res/layout-sw600dp/keyguard_screen_tab_unlock_land.xml
index dd291644e4f3..66223f2f817d 100644
--- a/core/res/res/layout-sw600dp/keyguard_screen_tab_unlock_land.xml
+++ b/core/res/res/layout-sw600dp/keyguard_screen_tab_unlock_land.xml
@@ -61,13 +61,27 @@
android:layout_alignParentTop="true"
android:drawablePadding="4dip"/>
- <com.android.internal.widget.WaveView
+ <com.android.internal.widget.multiwaveview.MultiWaveView
android:id="@+id/unlock_widget"
- android:layout_width="wrap_content"
+ android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:layout_rowSpan="7"
android:layout_gravity="center_vertical|center_horizontal"
- android:layout_marginRight="0dip"
- android:layout_weight="1.0"/>
+
+ android:targetDrawables="@array/lockscreen_targets_with_camera"
+ android:targetDescriptions="@array/lockscreen_target_descriptions_with_camera"
+ android:directionDescriptions="@array/lockscreen_direction_descriptions"
+ android:handleDrawable="@drawable/ic_lockscreen_handle"
+ android:waveDrawable="@drawable/ic_lockscreen_outerring"
+ android:outerRadius="@dimen/multiwaveview_target_placement_radius"
+ android:snapMargin="@dimen/multiwaveview_snap_margin"
+ android:hitRadius="@dimen/multiwaveview_hit_radius"
+ android:rightChevronDrawable="@drawable/ic_lockscreen_chevron_right"
+ android:feedbackCount="3"
+ android:vibrationDuration="20"
+ android:horizontalOffset="0dip"
+ android:verticalOffset="0dip"
+ />
<!-- emergency call button shown when sim is PUKd and tab_selector is hidden -->
<Button
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index 3ad01a532285..7f2552786993 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Stil"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Klank aan"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Koppel \'n kopstuk om te hoor hoe wagwoordsleutels hardop gesê word."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punt."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Navigeer tuis"</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index f23e9e791a72..3b60099ce51d 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"ካሜራ"</string>
<string name="description_target_silent" msgid="893551287746522182">"ፀጥታ"</string>
<string name="description_target_soundon" msgid="30052466675500172">"ድምፅ አብራ"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"የይለፍቃል ቁልፎች ጮክ በለው ሲነገሩ ለመስማት የጆሮ ማዳመጫ ሰካ::"</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"ነጥብ."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"መነሻ ዳስስ"</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index 1d65c4f7c4f5..2bd9d6925fb9 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"الكاميرا"</string>
<string name="description_target_silent" msgid="893551287746522182">"صامت"</string>
<string name="description_target_soundon" msgid="30052466675500172">"تشغيل الصوت"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"يمكنك توصيل سماعة رأس لسماع مفاتيح كلمة المرور منطوقة بصوت عالٍ."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"نقطة"</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"التنقل إلى الشاشة الرئيسية"</string>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index 1b5c4cd9f135..269e348b28ab 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Камера"</string>
<string name="description_target_silent" msgid="893551287746522182">"Тих режим"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Включване на звука"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Включете слушалки, за да чуете клавишите за паролата на висок глас."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Точка."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Придвижване към „Начало“"</string>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index ec454a7b57f6..70dd5ecf1651 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -1169,6 +1169,7 @@
<string name="description_target_camera" msgid="969071997552486814">"Càmera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Silenci"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Activa el so"</string>
+ <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Llisca el dit per desbloquejar."</string>
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Connecta un auricular per escoltar les claus de la contrasenya en veu alta."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punt."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Torna a la pàgina d\'inici"</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 618e11482230..3b0b7f9b312c 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Fotoaparát"</string>
<string name="description_target_silent" msgid="893551287746522182">"Tichý"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Zapnout zvuk"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Chcete-li slyšet, které klávesy jste při zadávání hesla stiskli, připojte sluchátka."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Tečka."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Přejít na plochu"</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 56b24bb490e0..788b285816ef 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Lydløs"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Lyd slået til"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Tilslut et headset for at få læst taster højt, når du indtaster en adgangskode."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punktum."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Naviger hjem"</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index 22d750b6f9ac..6bcdaa955cb5 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Lautlos"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Ton ein"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Schließen Sie ein Headset an, um das Passwort gesprochen zu hören."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punkt."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Zur Startseite navigieren"</string>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index ac2842f74b85..639f115ed385 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -1169,6 +1169,7 @@
<string name="description_target_camera" msgid="969071997552486814">"Φωτογραφική μηχανή"</string>
<string name="description_target_silent" msgid="893551287746522182">"Αθόρυβο"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Ενεργοποίηση ήχου"</string>
+ <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Σύρετε για ξεκλείδωμα."</string>
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Συνδέστε ένα σετ ακουστικών για να ακούσετε τα πλήκτρα του κωδικού πρόσβασης να εκφωνούνται δυνατά."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Τελεία."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Πλοήγηση στην αρχική σελίδα"</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index 43deb8ba1923..dfc0916e854e 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -1169,6 +1169,7 @@
<string name="description_target_camera" msgid="969071997552486814">"Camera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Silent"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Sound on"</string>
+ <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Swipe to unlock."</string>
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Plug in a headset to hear password keys spoken aloud."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Dot"</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Navigate home"</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index 9609c1a6d12e..84c385cd2ae3 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Cámara"</string>
<string name="description_target_silent" msgid="893551287746522182">"Silencioso"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Sonido activado"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Conecta un auricular para escuchar las contraseñas en voz alta."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punto"</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Desplazarse hasta la página principal"</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index b5409bdf5605..9d81403f1bf0 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Cámara"</string>
<string name="description_target_silent" msgid="893551287746522182">"Silencio"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Sonido activado"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Conecta un auricular para escuchar las contraseñas en voz alta."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punto"</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Ir al escritorio"</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index 869b540e98d8..274d46bcd59b 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"دوربین"</string>
<string name="description_target_silent" msgid="893551287746522182">"ساکت"</string>
<string name="description_target_soundon" msgid="30052466675500172">"صدا روشن"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"برای شنیدن کلیدهای گذرواژه که با صدای بلند خوانده می‌شوند، از هدست استفاده کنید."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"نقطه."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"رفتن به صفحه اصلی"</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index d16d29b212d1..1f0d020b0313 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Äänetön"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Ääni käytössä"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Liitä kuulokkeet kuullaksesi, mitä näppäimiä painat kirjoittaessasi salasanaa."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Piste."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Siirry etusivulle"</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index 3ef6347e5a18..63365325b96e 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Appareil photo"</string>
<string name="description_target_silent" msgid="893551287746522182">"Mode silencieux"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Son activé"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Branchez des écouteurs pour entendre l\'énoncé à haute voix des touches du mot de passe."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Point."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Retour à l\'accueil"</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index 968ade8e07a6..c275a5d7e371 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"कैमरा"</string>
<string name="description_target_silent" msgid="893551287746522182">"मौन"</string>
<string name="description_target_soundon" msgid="30052466675500172">"ध्‍वनि चालू करें"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"ज़ोर से बोली गईं पासवर्ड कुंजियां सुनने के लिए हेडसेट प्‍लग इन करें."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"बिंदु."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"होम पर नेविगेट करें"</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index 84d940d6a8e4..3c90e0999efb 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Fotoaparat"</string>
<string name="description_target_silent" msgid="893551287746522182">"Bešumno"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Zvuk je uključen"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Priključite slušalice da biste čuli tipke zaporke izgovorene naglas."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Točka."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Kreni na početnu"</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index b2b61e6fabf1..c416f2ee8a22 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Némítás"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Hang bekapcsolása"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Csatlakoztasson egy fejhallgatót, ha hallani szeretné a jelszó gombjait felolvasva."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Pont."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Ugrás a főoldalra"</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 5819e4e47a89..8b6e9e79fd6c 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Senyap"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Suara hidup"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Pasang headset untuk mendengar tombol sandi yang diucapkan dengan keras."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Titik."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Navigasi ke beranda"</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index fdb1e5afc999..38e42f2e0fef 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Fotocamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Silenzioso"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Audio attivato"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Collega gli auricolari per ascoltare la pronuncia dei tasti premuti per la password."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punto."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Vai alla home page"</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 869f971ac375..608cee06b6bb 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"מצלמה"</string>
<string name="description_target_silent" msgid="893551287746522182">"שקט"</string>
<string name="description_target_soundon" msgid="30052466675500172">"הקול פועל"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"חבר אוזניות כדי לשמוע הקראה של מפתחות סיסמה."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"נקודה."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"נווט לדף הבית"</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 025be8c95dac..a30e1f52b343 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"カメラ"</string>
<string name="description_target_silent" msgid="893551287746522182">"マナーモード"</string>
<string name="description_target_soundon" msgid="30052466675500172">"サウンドON"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"パスワードのキーが音声出力されるのでヘッドセットを接続してください。"</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"ドット。"</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"ホームへ移動"</string>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index ea4c6cc248a3..f3e63179d1c8 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"카메라"</string>
<string name="description_target_silent" msgid="893551287746522182">"무음"</string>
<string name="description_target_soundon" msgid="30052466675500172">"사운드 켜기"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"비밀번호 키를 음성으로 들으려면 헤드셋을 연결하세요."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"점"</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"홈 탐색"</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index b62284aa6339..944ea889ff3d 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Vaizdo kamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Begarsis"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Garsas įjungtas"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Įjunkite ausines, kad išgirstumėte sakomus slaptažodžio klavišus."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Taškas."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Naršyti pagrindinį puslapį"</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index 9812b43b4de0..21f4e3294b7c 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Klusums"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Skaņa ieslēgta"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Pievienojiet austiņas, lai dzirdētu paroles rakstzīmes."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punkts."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Pārvietoties uz sākuma ekrānu"</string>
diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml
index b17803fa8257..1cd8359b2adb 100644
--- a/core/res/res/values-ms/strings.xml
+++ b/core/res/res/values-ms/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Senyap"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Bunyi dihidupkan"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Pasangkan set kepala untuk mendengar kekunci kata laluan disebut dengan kuat."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Titik."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Navigasi laman utama"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index bc532205b636..9cd3cb3142b5 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Stille"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Lyd på"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Koble til hodetelefoner for å høre hvilke taster som brukes for å skrive inn passordet."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punktum."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Gå til startsiden"</string>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 73c6c8bed98e..4d934420588d 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Camera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Stil"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Geluid aan"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Sluit een headset aan om wachtwoordtoetsen hardop te laten voorlezen."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Stip."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Navigeren naar startpositie"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index e31742661cd0..ae93a616c31b 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Aparat"</string>
<string name="description_target_silent" msgid="893551287746522182">"Wyciszenie"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Włącz dźwięk"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Podłącz zestaw słuchawkowy, aby usłyszeć znaki hasła wypowiadane na głos."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Kropka"</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Przejdź do strony głównej"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 9875c9d9efbd..5b20c9dd0333 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Câmara"</string>
<string name="description_target_silent" msgid="893551287746522182">"Silencioso"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Som ativado"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Ligue os auscultadores com microfone integrado para ouvir as teclas da palavra-passe."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Ponto."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Navegar para página inicial"</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 7ddf142353a3..bfba0744538a 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Câmera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Silencioso"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Som ativado"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Conecte um fone de ouvido para ouvir as teclas da senha em voz alta."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Ponto final."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Navegar na página inicial"</string>
diff --git a/core/res/res/values-rm/strings.xml b/core/res/res/values-rm/strings.xml
index 643b79e0f8d3..f249f32c064a 100644
--- a/core/res/res/values-rm/strings.xml
+++ b/core/res/res/values-rm/strings.xml
@@ -1428,6 +1428,8 @@
<skip />
<!-- no translation found for description_target_soundon (30052466675500172) -->
<skip />
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<!-- no translation found for keyboard_headset_required_to_hear_password (5913502399391940888) -->
<skip />
<!-- no translation found for keyboard_password_character_no_headset (2859873770886153678) -->
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 23f7cb5a66ed..3670e536339c 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Cameră foto"</string>
<string name="description_target_silent" msgid="893551287746522182">"Silenţios"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Sunet activat"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Conectaţi un set căşti-microfon pentru a auzi tastele apăsate când introduceţi parola."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punct."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Navigaţi la ecranul de pornire"</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 7e38edfeafa9..51d7802df4b7 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -486,7 +486,7 @@
<string name="permdesc_readDictionary" msgid="1082972603576360690">"Позволяет приложению считывать любые слова, имена и фразы личного пользования, которые могут храниться в пользовательском словаре."</string>
<string name="permlab_writeDictionary" msgid="6703109511836343341">"записывать в словарь пользователя"</string>
<string name="permdesc_writeDictionary" msgid="2241256206524082880">"Позволяет приложению записывать новые слова в словарь пользователя."</string>
- <string name="permlab_sdcardWrite" product="nosdcard" msgid="85430876310764752">"доступ к USB-накопителю"</string>
+ <string name="permlab_sdcardWrite" product="nosdcard" msgid="85430876310764752">"изм./удал. содерж. накопителя"</string>
<string name="permlab_sdcardWrite" product="default" msgid="8079403759001777291">"изменять/удалять содержимое SD-карты"</string>
<string name="permdesc_sdcardWrite" product="nosdcard" msgid="6594393334785738252">"Разрешает приложению запись на USB-накопитель."</string>
<string name="permdesc_sdcardWrite" product="default" msgid="6643963204976471878">"Разрешает приложению запись на SD-карту"</string>
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Камера"</string>
<string name="description_target_silent" msgid="893551287746522182">"Без звука"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Включить звук"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Подключите гарнитуру, чтобы услышать пароль."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Точка"</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Перейти на главную"</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index abcb3f6037bb..30e3491b78bb 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Fotoaparát"</string>
<string name="description_target_silent" msgid="893551287746522182">"Tichý"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Zapnúť zvuk"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Ak si chcete vypočuť nahlas vyslovené klávesy hesla, pripojte náhlavnú súpravu."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Bodka."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Prejsť na plochu"</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 7a3ae0b92d94..2f1ecc9632c0 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Fotoaparat"</string>
<string name="description_target_silent" msgid="893551287746522182">"Tiho"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Vklopljen zvok"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Priključite slušalke, če želite slišati zvok tipkanja gesla."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Pika."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Krmarjenje domov"</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index f08b80e85ea9..157a3fcaad17 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Камера"</string>
<string name="description_target_silent" msgid="893551287746522182">"Нечујно"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Укључи звук"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Укључите слушалице да бисте чули наглас изговорене тастере за лозинку."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Тачка."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Кретање до Почетне"</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 4230f285122b..dd9715ef6c8e 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -1169,6 +1169,7 @@
<string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Tyst"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Ljud på"</string>
+ <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Lås upp genom att dra."</string>
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Anslut hörlurar om du vill höra lösenorden läsas upp."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punkt."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Visa startsidan"</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index b5465ac8de37..f87592f4b298 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Kimya"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Sauti imewashwa"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Chomeka plagi ya kifaa cha kichwa cha kusikiza ili kusikiliza msimbo wa nenosiri inayozungumwa kwa sauti ya juu."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Nukta."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Abiri nyumbani"</string>
diff --git a/core/res/res/values-sw600dp-land/arrays.xml b/core/res/res/values-sw600dp-land/arrays.xml
new file mode 100644
index 000000000000..6304bc0c5dd6
--- /dev/null
+++ b/core/res/res/values-sw600dp-land/arrays.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/colors.xml
+**
+** Copyright 2006, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <!-- Resources for MultiWaveView in LockScreen -->
+ <array name="lockscreen_targets_when_silent">
+ <item>@drawable/ic_lockscreen_unlock</item>
+ <item>@null</item>
+ <item>@drawable/ic_lockscreen_soundon</item>
+ <item>@null</item>
+ </array>
+
+ <array name="lockscreen_target_descriptions_when_silent">
+ <item>@string/description_target_unlock</item>
+ <item>@null</item>
+ <item>@string/description_target_soundon</item>
+ <item>@null</item>
+ </array>
+
+ <array name="lockscreen_direction_descriptions">
+ <item>@string/description_direction_right</item>
+ <item>@null</item>
+ <item>@string/description_direction_left</item>
+ <item>@null</item>
+ </array>
+
+ <array name="lockscreen_targets_when_soundon">
+ <item>@drawable/ic_lockscreen_unlock</item>
+ <item>@null</item>
+ <item>@drawable/ic_lockscreen_silent</item>
+ <item>@null</item>
+ </array>
+
+ <array name="lockscreen_target_descriptions_when_soundon">
+ <item>@string/description_target_unlock</item>
+ <item>@null</item>
+ <item>@string/description_target_silent</item>
+ <item>@null</item>
+ </array>
+
+ <array name="lockscreen_targets_with_camera">
+ <item>@drawable/ic_lockscreen_unlock</item>
+ <item>@null</item>
+ <item>@drawable/ic_lockscreen_camera</item>
+ <item>@null</item>
+ </array>
+
+ <array name="lockscreen_target_descriptions_with_camera">
+ <item>@string/description_target_unlock</item>
+ <item>@null</item>
+ <item>@string/description_target_camera</item>
+ <item>@null</item>
+ </array>
+
+</resources>
diff --git a/core/res/res/values-sw600dp/colors.xml b/core/res/res/values-sw600dp/colors.xml
index edd2712ecfb0..f59b1f258550 100644
--- a/core/res/res/values-sw600dp/colors.xml
+++ b/core/res/res/values-sw600dp/colors.xml
@@ -19,8 +19,8 @@
-->
<resources>
<!-- keyguard clock -->
- <color name="lockscreen_clock_background">#b3ffffff</color>
- <color name="lockscreen_clock_foreground">#7affffff</color>
+ <color name="lockscreen_clock_background">#ffffffff</color>
+ <color name="lockscreen_clock_foreground">#ffffffff</color>
<color name="lockscreen_clock_am_pm">#ffffffff</color>
<color name="lockscreen_owner_info">#ff9a9a9a</color>
diff --git a/core/res/res/values-sw600dp/dimens.xml b/core/res/res/values-sw600dp/dimens.xml
index 5dacb442e2ca..db94884729ef 100644
--- a/core/res/res/values-sw600dp/dimens.xml
+++ b/core/res/res/values-sw600dp/dimens.xml
@@ -54,5 +54,7 @@
<!-- Compensate for double margin : preference_screen_side_margin + 4 (frame background shadow) = -preference_screen_side_margin_negative -->
<dimen name="preference_screen_side_margin_negative">-4dp</dimen>
+ <!-- Minimum width for an action button in the menu area of an action bar -->
+ <dimen name="action_button_min_width">64dip</dimen>
</resources>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 4446db305250..f1c47bf4153a 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"กล้องถ่ายรูป"</string>
<string name="description_target_silent" msgid="893551287746522182">"ปิดเสียง"</string>
<string name="description_target_soundon" msgid="30052466675500172">"เปิดเสียง"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"เสียบชุดหูฟังเพื่อฟังเสียงเมื่อพิมพ์รหัสผ่าน"</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"เครื่องหมายจุด"</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"นำทางไปหน้าแรก"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 746cb96ecfe8..bc12ce60e101 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Camera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Tahimik"</string>
<string name="description_target_soundon" msgid="30052466675500172">"I-on ang tunog"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Mag-plug in ng isang headset upang marinig ang mga password key na binabanggit nang malakas."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Dot."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Magnabiga sa home"</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index 2b76c224d64b..981ff5da1e3b 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Kamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Sessiz"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Ses açık"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Şifre tuşlarının sesli okunmasını dinlemek için mikrofonlu kulaklık takın."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Nokta."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Ana sayfaya git"</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index c71cc8c242bd..ceacb70f16e7 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -137,7 +137,7 @@
<string name="turn_off_radio" msgid="8198784949987062346">"Вимкнути радіо"</string>
<string name="screen_lock" msgid="799094655496098153">"Заблок. екран"</string>
<string name="power_off" msgid="4266614107412865048">"Вимкнути"</string>
- <string name="shutdown_progress" msgid="2281079257329981203">"Заверш. роботи..."</string>
+ <string name="shutdown_progress" msgid="2281079257329981203">"Вимкнення..."</string>
<string name="shutdown_confirm" product="tablet" msgid="3385745179555731470">"Ваш пристрій буде вимкнено."</string>
<string name="shutdown_confirm" product="default" msgid="649792175242821353">"Ваш телефон буде вимкнено."</string>
<string name="shutdown_confirm_question" msgid="6656441286856415014">"Дійсно вимкнути?"</string>
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Камера"</string>
<string name="description_target_silent" msgid="893551287746522182">"Без звуку"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Увімкнути звук"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Підключіть гарнітуру, щоб прослухати відтворені вголос символи пароля."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Крапка."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Перейти на головну"</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index c65ecf421b2f..93f0901a2402 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"Máy ảnh"</string>
<string name="description_target_silent" msgid="893551287746522182">"Im lặng"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Bật âm thanh"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Hãy cắm tai nghe để nghe mật khẩu."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Dấu chấm."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Điều hướng về trang chủ"</string>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 6dbdb35d9a12..8076723e56b8 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"相机"</string>
<string name="description_target_silent" msgid="893551287746522182">"静音"</string>
<string name="description_target_soundon" msgid="30052466675500172">"打开声音"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"需要插入耳机才能听到密码的按键声。"</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"点。"</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"导航首页"</string>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index 36da9e486905..dba72f42e89a 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -1169,6 +1169,8 @@
<string name="description_target_camera" msgid="969071997552486814">"相機"</string>
<string name="description_target_silent" msgid="893551287746522182">"靜音"</string>
<string name="description_target_soundon" msgid="30052466675500172">"開啟音效"</string>
+ <!-- no translation found for description_target_unlock_tablet (3833195335629795055) -->
+ <skip />
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"接上耳機即可聽見系統朗讀密碼鍵。"</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"點。"</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"瀏覽首頁"</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index a61416f7fd3e..e88de76c6234 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -1169,6 +1169,7 @@
<string name="description_target_camera" msgid="969071997552486814">"Ikhamera"</string>
<string name="description_target_silent" msgid="893551287746522182">"Thulile"</string>
<string name="description_target_soundon" msgid="30052466675500172">"Umsindo uvuliwe"</string>
+ <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Swayipha ukuze uvule."</string>
<string name="keyboard_headset_required_to_hear_password" msgid="5913502399391940888">"Faka ama-headset ukuze uzwe izinkinobho zephasiwedi eziphimiswayo."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Icashazi."</string>
<string name="action_bar_home_description" msgid="5293600496601490216">"Zulazulela ekhaya"</string>
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index d7691f7e8690..936482dfa2ad 100755
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -2394,6 +2394,10 @@
<attr name="description" />
</declare-styleable>
+ <declare-styleable name="ActionMenuItemView">
+ <attr name="minWidth" />
+ </declare-styleable>
+
<!-- =============================== -->
<!-- Widget package class attributes -->
<!-- =============================== -->
@@ -3572,6 +3576,10 @@
<attr name="selectionDivider" format="reference" />
<!-- @hide The height of the selection divider. -->
<attr name="selectionDividerHeight" format="dimension" />
+ <!-- @hide The max height of the NumberPicker. -->
+ <attr name="maxHeight" />
+ <!-- @hide The max width of the NumberPicker. -->
+ <attr name="maxWidth" />
</declare-styleable>
<declare-styleable name="TimePicker">
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index c37871bfca78..b1a4b42498c7 100644
--- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml
@@ -107,9 +107,9 @@
<color name="keyguard_text_color_decline">#fe0a5a</color>
<!-- keyguard clock -->
- <color name="lockscreen_clock_background">#e5ffffff</color>
- <color name="lockscreen_clock_foreground">#e5ffffff</color>
- <color name="lockscreen_clock_am_pm">#ff9a9a9a</color>
+ <color name="lockscreen_clock_background">#ffffffff</color>
+ <color name="lockscreen_clock_foreground">#ffffffff</color>
+ <color name="lockscreen_clock_am_pm">#ffffffff</color>
<color name="lockscreen_owner_info">#ff9a9a9a</color>
<!-- FaceLock -->
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index dfd8306c0bc5..607054ab0507 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -189,4 +189,7 @@
<dimen name="default_app_widget_padding_top">8dp</dimen>
<dimen name="default_app_widget_padding_right">8dp</dimen>
<dimen name="default_app_widget_padding_bottom">8dp</dimen>
+
+ <!-- Minimum width for an action button in the menu area of an action bar -->
+ <dimen name="action_button_min_width">56dip</dimen>
</resources>
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index fb4783b51802..a81917342180 100755
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -3248,6 +3248,9 @@
<!-- Description of the sound on target in the Slide unlock screen. [CHAR LIMIT=NONE] -->
<string name="description_target_soundon">Sound on</string>
+ <!-- Description of the unlock handle in the Slide unlock screen for tablets. [CHAR LIMIT=NONE] -->
+ <string name="description_target_unlock_tablet">Swipe to unlock.</string>
+
<!-- Announce that a headset is required to hear keyboard keys while typing a password. [CHAR LIMIT=NONE] -->
<string name="keyboard_headset_required_to_hear_password">Plug in a headset to hear password keys spoken aloud.</string>
<!-- The value of a keyboard key announced when accessibility is enabled and no headsed is used. [CHAR LIMIT=NONE] -->
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index e60e8b2429a0..924695404f73 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -1161,8 +1161,9 @@ please see styles_device_defaults.xml.
<item name="android:background">?android:attr/actionBarItemBackground</item>
<item name="android:paddingLeft">12dip</item>
<item name="android:paddingRight">12dip</item>
- <item name="android:minWidth">56dip</item>
+ <item name="android:minWidth">@android:dimen/action_button_min_width</item>
<item name="android:minHeight">?android:attr/actionBarSize</item>
+ <item name="android:gravity">center</item>
</style>
<style name="Widget.ActionButton.Overflow">
@@ -1359,7 +1360,7 @@ please see styles_device_defaults.xml.
<item name="android:textSize">12sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">?android:attr/actionMenuTextColor</item>
- <item name="android:textAllCaps">true</item>
+ <item name="android:textAllCaps">@android:bool/config_actionMenuItemAllCaps</item>
</style>
<style name="TextAppearance.Holo.Widget.ActionMode">
@@ -1646,6 +1647,8 @@ please see styles_device_defaults.xml.
<item name="android:flingable">true</item>
<item name="android:selectionDivider">@android:drawable/numberpicker_selection_divider</item>
<item name="android:selectionDividerHeight">2dip</item>
+ <item name="android:maxHeight">180dip</item>
+ <item name="android:maxWidth">56dip</item>
</style>
<style name="Widget.Holo.TimePicker" parent="Widget.TimePicker">
@@ -1661,13 +1664,13 @@ please see styles_device_defaults.xml.
<item name="android:background">@null</item>
<item name="android:src">@android:drawable/numberpicker_up_btn_holo_dark</item>
<item name="android:paddingTop">16dip</item>
- <item name="android:paddingBottom">36dip</item>
+ <item name="android:paddingBottom">22dip</item>
</style>
<style name="Widget.Holo.ImageButton.NumberPickerDownButton">
<item name="android:background">@null</item>
<item name="android:src">@android:drawable/numberpicker_down_btn_holo_dark</item>
- <item name="android:paddingTop">36dip</item>
+ <item name="android:paddingTop">22dip</item>
<item name="android:paddingBottom">16dip</item>
</style>
@@ -1881,7 +1884,7 @@ please see styles_device_defaults.xml.
</style>
<style name="Widget.Holo.ActionButton" parent="Widget.ActionButton">
- <item name="android:minWidth">56dip</item>
+ <item name="android:minWidth">@android:dimen/action_button_min_width</item>
<item name="android:gravity">center</item>
<item name="android:paddingLeft">12dip</item>
<item name="android:paddingRight">12dip</item>
diff --git a/core/tests/coretests/src/android/database/CursorWindowTest.java b/core/tests/coretests/src/android/database/CursorWindowTest.java
index 07e75cb5b318..8c8081cdc7a9 100644
--- a/core/tests/coretests/src/android/database/CursorWindowTest.java
+++ b/core/tests/coretests/src/android/database/CursorWindowTest.java
@@ -16,17 +16,11 @@
package android.database;
-import android.database.AbstractCursor;
import android.test.suitebuilder.annotation.SmallTest;
-import com.android.common.ArrayListCursor;
import android.database.CursorWindow;
import android.test.PerformanceTestCase;
-import com.google.android.collect.Lists;
-
-import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Random;
import junit.framework.TestCase;
@@ -41,48 +35,6 @@ public class CursorWindowTest extends TestCase implements PerformanceTestCase {
}
@SmallTest
- public void testWriteCursorToWindow() throws Exception {
- // create cursor
- String[] colNames = new String[]{"name", "number", "profit"};
- int colsize = colNames.length;
- ArrayList<ArrayList> list = createTestList(10, colsize);
- AbstractCursor cursor = new ArrayListCursor(colNames, (ArrayList<ArrayList>) list);
-
- // fill window
- CursorWindow window = new CursorWindow(false);
- cursor.fillWindow(0, window);
-
- // read from cursor window
- for (int i = 0; i < list.size(); i++) {
- ArrayList<Integer> col = list.get(i);
- for (int j = 0; j < colsize; j++) {
- String s = window.getString(i, j);
- int r2 = col.get(j);
- int r1 = Integer.parseInt(s);
- assertEquals(r2, r1);
- }
- }
-
- // test cursor window handle startpos != 0
- window.clear();
- cursor.fillWindow(1, window);
- // read from cursor from window
- for (int i = 1; i < list.size(); i++) {
- ArrayList<Integer> col = list.get(i);
- for (int j = 0; j < colsize; j++) {
- String s = window.getString(i, j);
- int r2 = col.get(j);
- int r1 = Integer.parseInt(s);
- assertEquals(r2, r1);
- }
- }
-
- // Clear the window and make sure it's empty
- window.clear();
- assertEquals(0, window.getNumRows());
- }
-
- @SmallTest
public void testValuesLocalWindow() {
doTestValues(new CursorWindow(true));
}
@@ -124,50 +76,4 @@ public class CursorWindowTest extends TestCase implements PerformanceTestCase {
assertTrue(window.putBlob(blob, 0, 6));
assertTrue(Arrays.equals(blob, window.getBlob(0, 6)));
}
-
- @SmallTest
- public void testNull() {
- CursorWindow window = getOneByOneWindow();
-
- // Put in a null value and read it back as various types
- assertTrue(window.putNull(0, 0));
- assertNull(window.getString(0, 0));
- assertEquals(0, window.getLong(0, 0));
- assertEquals(0.0, window.getDouble(0, 0));
- assertNull(window.getBlob(0, 0));
- }
-
- @SmallTest
- public void testEmptyString() {
- CursorWindow window = getOneByOneWindow();
-
- // put size 0 string and read it back as various types
- assertTrue(window.putString("", 0, 0));
- assertEquals("", window.getString(0, 0));
- assertEquals(0, window.getLong(0, 0));
- assertEquals(0.0, window.getDouble(0, 0));
- }
-
- private CursorWindow getOneByOneWindow() {
- CursorWindow window = new CursorWindow(false);
- assertTrue(window.setNumColumns(1));
- assertTrue(window.allocRow());
- return window;
- }
-
- private static ArrayList<ArrayList> createTestList(int rows, int cols) {
- ArrayList<ArrayList> list = Lists.newArrayList();
- Random generator = new Random();
-
- for (int i = 0; i < rows; i++) {
- ArrayList<Integer> col = Lists.newArrayList();
- list.add(col);
- for (int j = 0; j < cols; j++) {
- // generate random number
- Integer r = generator.nextInt();
- col.add(r);
- }
- }
- return list;
- }
}
diff --git a/core/tests/coretests/src/android/webkit/AccessibilityInjectorTest.java b/core/tests/coretests/src/android/webkit/AccessibilityInjectorTest.java
index 2ed7c52b69c2..417a85f4978e 100644
--- a/core/tests/coretests/src/android/webkit/AccessibilityInjectorTest.java
+++ b/core/tests/coretests/src/android/webkit/AccessibilityInjectorTest.java
@@ -1677,7 +1677,7 @@ public class AccessibilityInjectorTest
}
});
}
- mWebView.loadData(html, "text/html", "utf-8");
+ mWebView.loadData(html, "text/html", null);
}
});
synchronized (sTestLock) {
diff --git a/core/tests/coretests/src/android/widget/SimpleCursorAdapterTest.java b/core/tests/coretests/src/android/widget/SimpleCursorAdapterTest.java
index 7726f023227b..62466f126c91 100644
--- a/core/tests/coretests/src/android/widget/SimpleCursorAdapterTest.java
+++ b/core/tests/coretests/src/android/widget/SimpleCursorAdapterTest.java
@@ -16,11 +16,11 @@
package android.widget;
-import com.android.common.ArrayListCursor;
import com.google.android.collect.Lists;
import android.content.Context;
import android.database.Cursor;
+import android.database.MatrixCursor;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
@@ -52,14 +52,14 @@ public class SimpleCursorAdapterTest extends AndroidTestCase {
super.setUp();
// all the pieces needed for the various tests
- mFrom = new String[]{"Column1", "Column2"};
+ mFrom = new String[]{"Column1", "Column2", "_id"};
mTo = new int[]{com.android.internal.R.id.text1, com.android.internal.R.id.text2};
mLayout = com.android.internal.R.layout.simple_list_item_2;
mContext = getContext();
// raw data for building a basic test cursor
mData2x2 = createTestList(2, 2);
- mCursor2x2 = new ArrayListCursor(mFrom, mData2x2);
+ mCursor2x2 = createCursor(mFrom, mData2x2);
}
/**
@@ -77,6 +77,7 @@ public class SimpleCursorAdapterTest extends AndroidTestCase {
Integer r = generator.nextInt();
col.add(r);
}
+ col.add(i);
}
return list;
}
@@ -115,7 +116,7 @@ public class SimpleCursorAdapterTest extends AndroidTestCase {
// now put in a different cursor (5 rows)
ArrayList<ArrayList> data2 = createTestList(5, 2);
- Cursor c2 = new ArrayListCursor(mFrom, data2);
+ Cursor c2 = createCursor(mFrom, data2);
ca.changeCursor(c2);
// Now see if we can pull 5 rows from the adapter
@@ -155,8 +156,8 @@ public class SimpleCursorAdapterTest extends AndroidTestCase {
assertEquals(columns[1], 1);
// Now make a new cursor with similar data but rearrange the columns
- String[] swappedFrom = new String[]{"Column2", "Column1"};
- Cursor c2 = new ArrayListCursor(swappedFrom, mData2x2);
+ String[] swappedFrom = new String[]{"Column2", "Column1", "_id"};
+ Cursor c2 = createCursor(swappedFrom, mData2x2);
ca.changeCursor(c2);
assertEquals(2, ca.getCount());
@@ -235,7 +236,15 @@ public class SimpleCursorAdapterTest extends AndroidTestCase {
assertEquals(1, viewIds.length);
assertEquals(com.android.internal.R.id.text2, viewIds[0]);
}
-
+
+ private static MatrixCursor createCursor(String[] columns, ArrayList<ArrayList> list) {
+ MatrixCursor cursor = new MatrixCursor(columns, list.size());
+ for (ArrayList row : list) {
+ cursor.addRow(row);
+ }
+ return cursor;
+ }
+
/**
* This is simply a way to sneak a look at the protected mFrom() array. A more API-
* friendly way to do this would be to mock out a View and a ViewBinder and exercise
diff --git a/core/tests/coretests/src/android/widget/focus/ListWithMailMessages.java b/core/tests/coretests/src/android/widget/focus/ListWithMailMessages.java
index 5de4ad59d9a7..5c891f90bc2f 100644
--- a/core/tests/coretests/src/android/widget/focus/ListWithMailMessages.java
+++ b/core/tests/coretests/src/android/widget/focus/ListWithMailMessages.java
@@ -120,7 +120,6 @@ public class ListWithMailMessages extends ListActivity {
}
final String mimeType = "text/html";
- final String encoding = "utf-8";
@Override
@@ -137,7 +136,7 @@ public class ListWithMailMessages extends ListActivity {
subject.setText(message.getSubject());
WebView body = (WebView) messageUi.findViewById(R.id.body);
- body.loadData(message.getBody(), mimeType, encoding);
+ body.loadData(message.getBody(), mimeType, null);
// body.setText(message.getBody());
body.setFocusable(message.isFocusable());
diff --git a/data/etc/platform.xml b/data/etc/platform.xml
index 0353a471a5d6..9fe2dde14610 100644
--- a/data/etc/platform.xml
+++ b/data/etc/platform.xml
@@ -156,6 +156,7 @@
<assign-permission name="android.permission.INSTALL_LOCATION_PROVIDER" uid="shell" />
<assign-permission name="android.permission.BACKUP" uid="shell" />
<assign-permission name="android.permission.FORCE_STOP_PACKAGES" uid="shell" />
+ <assign-permission name="android.permission.STOP_APP_SWITCHES" uid="shell" />
<assign-permission name="android.permission.MODIFY_AUDIO_SETTINGS" uid="media" />
<assign-permission name="android.permission.ACCESS_DRM" uid="media" />
diff --git a/data/keyboards/keyboards.mk b/data/keyboards/keyboards.mk
index 564f41cb4cf6..c96496195849 100644
--- a/data/keyboards/keyboards.mk
+++ b/data/keyboards/keyboards.mk
@@ -24,6 +24,3 @@ PRODUCT_COPY_FILES += $(foreach file,$(keycharmaps),\
PRODUCT_COPY_FILES += $(foreach file,$(keyconfigs),\
frameworks/base/data/keyboards/$(file):system/usr/idc/$(file))
-
-PRODUCT_PACKAGES := $(keylayouts) $(keycharmaps) $(keyconfigs)
-
diff --git a/docs/html/guide/topics/resources/drawable-resource.jd b/docs/html/guide/topics/resources/drawable-resource.jd
index ed9f99056bf5..fdf6c5add1fb 100644
--- a/docs/html/guide/topics/resources/drawable-resource.jd
+++ b/docs/html/guide/topics/resources/drawable-resource.jd
@@ -1458,7 +1458,7 @@ In XML: <code>@[<em>package</em>:]drawable/<em>filename</em></code>
android:gradientRadius="<em>integer</em>"
android:startColor="<em>color</em>"
android:type=["linear" | "radial" | "sweep"]
- android:usesLevel=["true" | "false"] /&gt;
+ android:useLevel=["true" | "false"] /&gt;
&lt;<a href="#padding-element">padding</a>
android:left="<em>integer</em>"
android:top="<em>integer</em>"
diff --git a/graphics/java/android/renderscript/Element.java b/graphics/java/android/renderscript/Element.java
index f844331a144a..8a9ca8550992 100644
--- a/graphics/java/android/renderscript/Element.java
+++ b/graphics/java/android/renderscript/Element.java
@@ -46,13 +46,18 @@ public class Element extends BaseObj {
Element[] mElements;
String[] mElementNames;
int[] mArraySizes;
+ int[] mOffsetInBytes;
DataType mType;
DataKind mKind;
boolean mNormalized;
int mVectorSize;
- int getSizeBytes() {return mSize;}
+ /**
+ * @hide
+ * @return element size in bytes
+ */
+ public int getSizeBytes() {return mSize;}
/**
@@ -152,6 +157,77 @@ public class Element extends BaseObj {
}
/**
+ * @hide
+ * @return number of sub-elements in this element
+ */
+ public int getSubElementCount() {
+ if (mElements == null) {
+ return 0;
+ }
+ return mElements.length;
+ }
+
+ /**
+ * @hide
+ * @param index index of the sub-element to return
+ * @return sub-element in this element at given index
+ */
+ public Element getSubElement(int index) {
+ if (mElements == null) {
+ throw new RSIllegalArgumentException("Element contains no sub-elements");
+ }
+ if (index < 0 || index >= mElements.length) {
+ throw new RSIllegalArgumentException("Illegal sub-element index");
+ }
+ return mElements[index];
+ }
+
+ /**
+ * @hide
+ * @param index index of the sub-element
+ * @return sub-element in this element at given index
+ */
+ public String getSubElementName(int index) {
+ if (mElements == null) {
+ throw new RSIllegalArgumentException("Element contains no sub-elements");
+ }
+ if (index < 0 || index >= mElements.length) {
+ throw new RSIllegalArgumentException("Illegal sub-element index");
+ }
+ return mElementNames[index];
+ }
+
+ /**
+ * @hide
+ * @param index index of the sub-element
+ * @return array size of sub-element in this element at given index
+ */
+ public int getSubElementArraySize(int index) {
+ if (mElements == null) {
+ throw new RSIllegalArgumentException("Element contains no sub-elements");
+ }
+ if (index < 0 || index >= mElements.length) {
+ throw new RSIllegalArgumentException("Illegal sub-element index");
+ }
+ return mArraySizes[index];
+ }
+
+ /**
+ * @hide
+ * @param index index of the sub-element
+ * @return offset in bytes of sub-element in this element at given index
+ */
+ public int getSubElementOffsetBytes(int index) {
+ if (mElements == null) {
+ throw new RSIllegalArgumentException("Element contains no sub-elements");
+ }
+ if (index < 0 || index >= mElements.length) {
+ throw new RSIllegalArgumentException("Illegal sub-element index");
+ }
+ return mOffsetInBytes[index];
+ }
+
+ /**
* Utility function for returning an Element containing a single Boolean.
*
* @param rs Context to which the element will belong.
@@ -602,7 +678,9 @@ public class Element extends BaseObj {
mElements = e;
mElementNames = n;
mArraySizes = as;
+ mOffsetInBytes = new int[mElements.length];
for (int ct = 0; ct < mElements.length; ct++ ) {
+ mOffsetInBytes[ct] = mSize;
mSize += mElements[ct].mSize * mArraySizes[ct];
}
}
@@ -653,13 +731,16 @@ public class Element extends BaseObj {
if(numSubElements > 0) {
mElements = new Element[numSubElements];
mElementNames = new String[numSubElements];
+ mArraySizes = new int[numSubElements];
+ mOffsetInBytes = new int[numSubElements];
int[] subElementIds = new int[numSubElements];
- mRS.nElementGetSubElements(getID(), subElementIds, mElementNames);
+ mRS.nElementGetSubElements(getID(), subElementIds, mElementNames, mArraySizes);
for(int i = 0; i < numSubElements; i ++) {
mElements[i] = new Element(subElementIds[i], mRS);
mElements[i].updateFromNative();
- mSize += mElements[i].mSize;
+ mOffsetInBytes[i] = mSize;
+ mSize += mElements[i].mSize * mArraySizes[i];
}
}
diff --git a/graphics/java/android/renderscript/ProgramRaster.java b/graphics/java/android/renderscript/ProgramRaster.java
index 60d9698df411..93ee0cea098d 100644
--- a/graphics/java/android/renderscript/ProgramRaster.java
+++ b/graphics/java/android/renderscript/ProgramRaster.java
@@ -37,23 +37,32 @@ public class ProgramRaster extends BaseObj {
}
}
- boolean mPointSmooth;
- boolean mLineSmooth;
boolean mPointSprite;
- float mLineWidth;
CullMode mCullMode;
ProgramRaster(int id, RenderScript rs) {
super(id, rs);
- mLineWidth = 1.0f;
- mPointSmooth = false;
- mLineSmooth = false;
mPointSprite = false;
-
mCullMode = CullMode.BACK;
}
+ /**
+ * @hide
+ * @return whether point sprites are enabled
+ */
+ public boolean getPointSpriteEnabled() {
+ return mPointSprite;
+ }
+
+ /**
+ * @hide
+ * @return cull mode
+ */
+ public CullMode getCullMode() {
+ return mCullMode;
+ }
+
public static ProgramRaster CULL_BACK(RenderScript rs) {
if(rs.mProgramRaster_CULL_BACK == null) {
ProgramRaster.Builder builder = new ProgramRaster.Builder(rs);
@@ -105,7 +114,10 @@ public class ProgramRaster extends BaseObj {
public ProgramRaster create() {
mRS.validate();
int id = mRS.nProgramRasterCreate(mPointSprite, mCullMode.mID);
- return new ProgramRaster(id, mRS);
+ ProgramRaster programRaster = new ProgramRaster(id, mRS);
+ programRaster.mPointSprite = mPointSprite;
+ programRaster.mCullMode = mCullMode;
+ return programRaster;
}
}
diff --git a/graphics/java/android/renderscript/ProgramStore.java b/graphics/java/android/renderscript/ProgramStore.java
index fb7c8ca059c1..677daddbfe1b 100644
--- a/graphics/java/android/renderscript/ProgramStore.java
+++ b/graphics/java/android/renderscript/ProgramStore.java
@@ -135,12 +135,93 @@ public class ProgramStore extends BaseObj {
}
}
+ DepthFunc mDepthFunc;
+ boolean mDepthMask;
+ boolean mColorMaskR;
+ boolean mColorMaskG;
+ boolean mColorMaskB;
+ boolean mColorMaskA;
+ BlendSrcFunc mBlendSrc;
+ BlendDstFunc mBlendDst;
+ boolean mDither;
ProgramStore(int id, RenderScript rs) {
super(id, rs);
}
/**
+ * @hide
+ * @return depth function
+ */
+ public DepthFunc getDepthFunc() {
+ return mDepthFunc;
+ }
+
+ /**
+ * @hide
+ * @return whether depth writes are enabled
+ */
+ public boolean getDepthMaskEnabled() {
+ return mDepthMask;
+ }
+
+ /**
+ * @hide
+ * @return red color channel mask
+ */
+ public boolean getColorMaskREnabled() {
+ return mColorMaskR;
+ }
+
+ /**
+ * @hide
+ * @return green color channel mask
+ */
+ public boolean getColorMaskGEnabled() {
+ return mColorMaskG;
+ }
+
+ /**
+ * @hide
+ * @return blue color channel mask
+ */
+ public boolean getColorMaskBEnabled() {
+ return mColorMaskB;
+ }
+
+ /**
+ * @hide
+ * @return alpha channel mask
+ */
+ public boolean getColorMaskAEnabled() {
+ return mColorMaskA;
+ }
+
+ /**
+ * @hide
+ * @return source blend function
+ */
+ public BlendSrcFunc getBlendSrcFunc() {
+ return mBlendSrc;
+ }
+
+ /**
+ * @hide
+ * @return destination blend function
+ */
+ public BlendDstFunc getBlendDstFunc() {
+ return mBlendDst;
+ }
+
+ /**
+ * @hide
+ * @return whether dither is enabled
+ */
+ public boolean getDitherEnabled() {
+ return mDither;
+ }
+
+ /**
* Returns a pre-defined program store object with the following
* characteristics:
* - incoming pixels are drawn if their depth value is less than
@@ -340,7 +421,17 @@ public class ProgramStore extends BaseObj {
int id = mRS.nProgramStoreCreate(mColorMaskR, mColorMaskG, mColorMaskB, mColorMaskA,
mDepthMask, mDither,
mBlendSrc.mID, mBlendDst.mID, mDepthFunc.mID);
- return new ProgramStore(id, mRS);
+ ProgramStore programStore = new ProgramStore(id, mRS);
+ programStore.mDepthFunc = mDepthFunc;
+ programStore.mDepthMask = mDepthMask;
+ programStore.mColorMaskR = mColorMaskR;
+ programStore.mColorMaskG = mColorMaskG;
+ programStore.mColorMaskB = mColorMaskB;
+ programStore.mColorMaskA = mColorMaskA;
+ programStore.mBlendSrc = mBlendSrc;
+ programStore.mBlendDst = mBlendDst;
+ programStore.mDither = mDither;
+ return programStore;
}
}
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index d3d65a34c4d7..130563386174 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -210,10 +210,11 @@ public class RenderScript {
validate();
rsnElementGetNativeData(mContext, id, elementData);
}
- native void rsnElementGetSubElements(int con, int id, int[] IDs, String[] names);
- synchronized void nElementGetSubElements(int id, int[] IDs, String[] names) {
+ native void rsnElementGetSubElements(int con, int id,
+ int[] IDs, String[] names, int[] arraySizes);
+ synchronized void nElementGetSubElements(int id, int[] IDs, String[] names, int[] arraySizes) {
validate();
- rsnElementGetSubElements(mContext, id, IDs, names);
+ rsnElementGetSubElements(mContext, id, IDs, names, arraySizes);
}
native int rsnTypeCreate(int con, int eid, int x, int y, int z, boolean mips, boolean faces);
diff --git a/graphics/java/android/renderscript/Sampler.java b/graphics/java/android/renderscript/Sampler.java
index 98943a159cc3..0a3c91daa18a 100644
--- a/graphics/java/android/renderscript/Sampler.java
+++ b/graphics/java/android/renderscript/Sampler.java
@@ -47,11 +47,58 @@ public class Sampler extends BaseObj {
}
}
+ Value mMin;
+ Value mMag;
+ Value mWrapS;
+ Value mWrapT;
+ Value mWrapR;
+ float mAniso;
+
Sampler(int id, RenderScript rs) {
super(id, rs);
}
/**
+ * @hide
+ * @return minification setting for the sampler
+ */
+ public Value getMinification() {
+ return mMin;
+ }
+
+ /**
+ * @hide
+ * @return magnification setting for the sampler
+ */
+ public Value getMagnification() {
+ return mMag;
+ }
+
+ /**
+ * @hide
+ * @return S wrapping mode for the sampler
+ */
+ public Value getWrapS() {
+ return mWrapS;
+ }
+
+ /**
+ * @hide
+ * @return T wrapping mode for the sampler
+ */
+ public Value getWrapT() {
+ return mWrapT;
+ }
+
+ /**
+ * @hide
+ * @return anisotropy setting for the sampler
+ */
+ public float getAnisotropy() {
+ return mAniso;
+ }
+
+ /**
* Retrieve a sampler with min and mag set to nearest and wrap modes set to
* clamp.
*
@@ -241,8 +288,16 @@ public class Sampler extends BaseObj {
public Sampler create() {
mRS.validate();
- int id = mRS.nSamplerCreate(mMag.mID, mMin.mID, mWrapS.mID, mWrapT.mID, mWrapR.mID, mAniso);
- return new Sampler(id, mRS);
+ int id = mRS.nSamplerCreate(mMag.mID, mMin.mID,
+ mWrapS.mID, mWrapT.mID, mWrapR.mID, mAniso);
+ Sampler sampler = new Sampler(id, mRS);
+ sampler.mMin = mMin;
+ sampler.mMag = mMag;
+ sampler.mWrapS = mWrapS;
+ sampler.mWrapT = mWrapT;
+ sampler.mWrapR = mWrapR;
+ sampler.mAniso = mAniso;
+ return sampler;
}
}
diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp
index ec1f8dea7c7d..af03ee2aba40 100644
--- a/graphics/jni/android_renderscript_RenderScript.cpp
+++ b/graphics/jni/android_renderscript_RenderScript.cpp
@@ -371,23 +371,29 @@ nElementGetNativeData(JNIEnv *_env, jobject _this, RsContext con, jint id, jintA
static void
-nElementGetSubElements(JNIEnv *_env, jobject _this, RsContext con, jint id, jintArray _IDs, jobjectArray _names)
+nElementGetSubElements(JNIEnv *_env, jobject _this, RsContext con, jint id,
+ jintArray _IDs,
+ jobjectArray _names,
+ jintArray _arraySizes)
{
int dataSize = _env->GetArrayLength(_IDs);
LOG_API("nElementGetSubElements, con(%p)", con);
uint32_t *ids = (uint32_t *)malloc((uint32_t)dataSize * sizeof(uint32_t));
const char **names = (const char **)malloc((uint32_t)dataSize * sizeof(const char *));
+ uint32_t *arraySizes = (uint32_t *)malloc((uint32_t)dataSize * sizeof(uint32_t));
- rsaElementGetSubElements(con, (RsElement)id, ids, names, (uint32_t)dataSize);
+ rsaElementGetSubElements(con, (RsElement)id, ids, names, arraySizes, (uint32_t)dataSize);
for(jint i = 0; i < dataSize; i++) {
_env->SetObjectArrayElement(_names, i, _env->NewStringUTF(names[i]));
_env->SetIntArrayRegion(_IDs, i, 1, (const jint*)&ids[i]);
+ _env->SetIntArrayRegion(_arraySizes, i, 1, (const jint*)&arraySizes[i]);
}
free(ids);
free(names);
+ free(arraySizes);
}
// -----------------------------------
@@ -1239,7 +1245,7 @@ static JNINativeMethod methods[] = {
{"rsnElementCreate", "(IIIZI)I", (void*)nElementCreate },
{"rsnElementCreate2", "(I[I[Ljava/lang/String;[I)I", (void*)nElementCreate2 },
{"rsnElementGetNativeData", "(II[I)V", (void*)nElementGetNativeData },
-{"rsnElementGetSubElements", "(II[I[Ljava/lang/String;)V", (void*)nElementGetSubElements },
+{"rsnElementGetSubElements", "(II[I[Ljava/lang/String;[I)V", (void*)nElementGetSubElements },
{"rsnTypeCreate", "(IIIIIZZ)I", (void*)nTypeCreate },
{"rsnTypeGetNativeData", "(II[I)V", (void*)nTypeGetNativeData },
diff --git a/include/binder/CursorWindow.h b/include/binder/CursorWindow.h
index 5d490ed988af..f0284ded0cb2 100644
--- a/include/binder/CursorWindow.h
+++ b/include/binder/CursorWindow.h
@@ -80,8 +80,7 @@ public:
~CursorWindow();
- static status_t create(const String8& name, size_t size, bool localOnly,
- CursorWindow** outCursorWindow);
+ static status_t create(const String8& name, size_t size, CursorWindow** outCursorWindow);
static status_t createFromParcel(Parcel* parcel, CursorWindow** outCursorWindow);
status_t writeToParcel(Parcel* parcel);
diff --git a/include/media/stagefright/MediaDefs.h b/include/media/stagefright/MediaDefs.h
index 3e4845900958..2eb259e8b590 100644
--- a/include/media/stagefright/MediaDefs.h
+++ b/include/media/stagefright/MediaDefs.h
@@ -31,7 +31,9 @@ extern const char *MEDIA_MIMETYPE_VIDEO_RAW;
extern const char *MEDIA_MIMETYPE_AUDIO_AMR_NB;
extern const char *MEDIA_MIMETYPE_AUDIO_AMR_WB;
-extern const char *MEDIA_MIMETYPE_AUDIO_MPEG;
+extern const char *MEDIA_MIMETYPE_AUDIO_MPEG; // layer III
+extern const char *MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_I;
+extern const char *MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_II;
extern const char *MEDIA_MIMETYPE_AUDIO_AAC;
extern const char *MEDIA_MIMETYPE_AUDIO_QCELP;
extern const char *MEDIA_MIMETYPE_AUDIO_VORBIS;
@@ -47,6 +49,7 @@ extern const char *MEDIA_MIMETYPE_CONTAINER_OGG;
extern const char *MEDIA_MIMETYPE_CONTAINER_MATROSKA;
extern const char *MEDIA_MIMETYPE_CONTAINER_MPEG2TS;
extern const char *MEDIA_MIMETYPE_CONTAINER_AVI;
+extern const char *MEDIA_MIMETYPE_CONTAINER_MPEG2PS;
extern const char *MEDIA_MIMETYPE_CONTAINER_WVM;
diff --git a/include/surfaceflinger/ISurfaceComposer.h b/include/surfaceflinger/ISurfaceComposer.h
index e7a33f1d39de..5eb09c79666a 100644
--- a/include/surfaceflinger/ISurfaceComposer.h
+++ b/include/surfaceflinger/ISurfaceComposer.h
@@ -84,7 +84,11 @@ public:
eOrientationUnchanged = 4,
eOrientationSwapMask = 0x01
};
-
+
+ enum {
+ eSynchronous = 0x01,
+ };
+
enum {
eElectronBeamAnimationOn = 0x01,
eElectronBeamAnimationOff = 0x10
@@ -104,7 +108,7 @@ public:
/* open/close transactions. requires ACCESS_SURFACE_FLINGER permission */
virtual void setTransactionState(const Vector<ComposerState>& state,
- int orientation) = 0;
+ int orientation, uint32_t flags) = 0;
/* signal that we're done booting.
* Requires ACCESS_SURFACE_FLINGER permission
@@ -143,8 +147,6 @@ public:
GET_CBLK,
SET_TRANSACTION_STATE,
SET_ORIENTATION,
- FREEZE_DISPLAY,
- UNFREEZE_DISPLAY,
CAPTURE_SCREEN,
TURN_ELECTRON_BEAM_OFF,
TURN_ELECTRON_BEAM_ON,
diff --git a/include/surfaceflinger/SurfaceComposerClient.h b/include/surfaceflinger/SurfaceComposerClient.h
index 14e5b23a71f9..8226abec1c13 100644
--- a/include/surfaceflinger/SurfaceComposerClient.h
+++ b/include/surfaceflinger/SurfaceComposerClient.h
@@ -112,7 +112,7 @@ public:
static void openGlobalTransaction();
//! Close a composer transaction on all active SurfaceComposerClients.
- static void closeGlobalTransaction();
+ static void closeGlobalTransaction(bool synchronous = false);
//! Freeze the specified display but not transactions.
static status_t freezeDisplay(DisplayID dpy, uint32_t flags = 0);
diff --git a/include/utils/Singleton.h b/include/utils/Singleton.h
index e1ee8eb068fb..a42ce210dd48 100644
--- a/include/utils/Singleton.h
+++ b/include/utils/Singleton.h
@@ -20,12 +20,13 @@
#include <stdint.h>
#include <sys/types.h>
#include <utils/threads.h>
+#include <cutils/compiler.h>
namespace android {
// ---------------------------------------------------------------------------
template <typename TYPE>
-class Singleton
+class ANDROID_API Singleton
{
public:
static TYPE& getInstance() {
diff --git a/libs/binder/CursorWindow.cpp b/libs/binder/CursorWindow.cpp
index 60681c420715..07333787cbb0 100644
--- a/libs/binder/CursorWindow.cpp
+++ b/libs/binder/CursorWindow.cpp
@@ -40,11 +40,9 @@ CursorWindow::~CursorWindow() {
::close(mAshmemFd);
}
-status_t CursorWindow::create(const String8& name, size_t size, bool localOnly,
- CursorWindow** outCursorWindow) {
+status_t CursorWindow::create(const String8& name, size_t size, CursorWindow** outCursorWindow) {
String8 ashmemName("CursorWindow: ");
ashmemName.append(name);
- ashmemName.append(localOnly ? " (local)" : " (remote)");
status_t result;
int ashmemFd = ashmem_create_region(ashmemName.string(), size);
diff --git a/libs/gui/ISurfaceComposer.cpp b/libs/gui/ISurfaceComposer.cpp
index eb90147ac593..86bc62aa2806 100644
--- a/libs/gui/ISurfaceComposer.cpp
+++ b/libs/gui/ISurfaceComposer.cpp
@@ -79,7 +79,7 @@ public:
}
virtual void setTransactionState(const Vector<ComposerState>& state,
- int orientation)
+ int orientation, uint32_t flags)
{
Parcel data, reply;
data.writeInterfaceToken(ISurfaceComposer::getInterfaceDescriptor());
@@ -90,6 +90,7 @@ public:
b->write(data);
}
data.writeInt32(orientation);
+ data.writeInt32(flags);
remote()->transact(BnSurfaceComposer::SET_TRANSACTION_STATE, data, &reply);
}
@@ -204,7 +205,8 @@ status_t BnSurfaceComposer::onTransact(
state.add(s);
}
int orientation = data.readInt32();
- setTransactionState(state, orientation);
+ uint32_t flags = data.readInt32();
+ setTransactionState(state, orientation, flags);
} break;
case BOOT_FINISHED: {
CHECK_INTERFACE(ISurfaceComposer, data, reply);
diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp
index 5f3d608a5563..4ad6c22c0dae 100644
--- a/libs/gui/SurfaceComposerClient.cpp
+++ b/libs/gui/SurfaceComposerClient.cpp
@@ -92,11 +92,14 @@ class Composer : public Singleton<Composer>
mutable Mutex mLock;
SortedVector<ComposerState> mStates;
int mOrientation;
+ uint32_t mForceSynchronous;
Composer() : Singleton<Composer>(),
- mOrientation(ISurfaceComposer::eOrientationUnchanged) { }
+ mOrientation(ISurfaceComposer::eOrientationUnchanged),
+ mForceSynchronous(0)
+ { }
- void closeGlobalTransactionImpl();
+ void closeGlobalTransactionImpl(bool synchronous);
layer_state_t* getLayerStateLocked(
const sp<SurfaceComposerClient>& client, SurfaceID id);
@@ -123,8 +126,8 @@ public:
uint32_t tint);
status_t setOrientation(int orientation);
- static void closeGlobalTransaction() {
- Composer::getInstance().closeGlobalTransactionImpl();
+ static void closeGlobalTransaction(bool synchronous) {
+ Composer::getInstance().closeGlobalTransactionImpl(synchronous);
}
};
@@ -132,11 +135,12 @@ ANDROID_SINGLETON_STATIC_INSTANCE(Composer);
// ---------------------------------------------------------------------------
-void Composer::closeGlobalTransactionImpl() {
+void Composer::closeGlobalTransactionImpl(bool synchronous) {
sp<ISurfaceComposer> sm(getComposerService());
Vector<ComposerState> transaction;
int orientation;
+ uint32_t flags = 0;
{ // scope for the lock
Mutex::Autolock _l(mLock);
@@ -145,9 +149,14 @@ void Composer::closeGlobalTransactionImpl() {
orientation = mOrientation;
mOrientation = ISurfaceComposer::eOrientationUnchanged;
+
+ if (synchronous || mForceSynchronous) {
+ flags |= ISurfaceComposer::eSynchronous;
+ }
+ mForceSynchronous = false;
}
- sm->setTransactionState(transaction, orientation);
+ sm->setTransactionState(transaction, orientation, flags);
}
layer_state_t* Composer::getLayerStateLocked(
@@ -188,6 +197,10 @@ status_t Composer::setSize(const sp<SurfaceComposerClient>& client,
s->what |= ISurfaceComposer::eSizeChanged;
s->w = w;
s->h = h;
+
+ // Resizing a surface makes the transaction synchronous.
+ mForceSynchronous = true;
+
return NO_ERROR;
}
@@ -270,6 +283,10 @@ status_t Composer::setFreezeTint(const sp<SurfaceComposerClient>& client,
status_t Composer::setOrientation(int orientation) {
Mutex::Autolock _l(mLock);
mOrientation = orientation;
+
+ // Changing the orientation makes the transaction synchronous.
+ mForceSynchronous = true;
+
return NO_ERROR;
}
@@ -375,8 +392,8 @@ void SurfaceComposerClient::openGlobalTransaction() {
// Currently a no-op
}
-void SurfaceComposerClient::closeGlobalTransaction() {
- Composer::closeGlobalTransaction();
+void SurfaceComposerClient::closeGlobalTransaction(bool synchronous) {
+ Composer::closeGlobalTransaction(synchronous);
}
// ----------------------------------------------------------------------------
diff --git a/libs/gui/tests/SurfaceTexture_test.cpp b/libs/gui/tests/SurfaceTexture_test.cpp
index b8bc454782e8..5daafd5581aa 100644
--- a/libs/gui/tests/SurfaceTexture_test.cpp
+++ b/libs/gui/tests/SurfaceTexture_test.cpp
@@ -334,7 +334,7 @@ protected:
class SurfaceTextureGLTest : public GLTest {
protected:
- static const GLint TEX_ID = 123;
+ enum { TEX_ID = 123 };
virtual void SetUp() {
GLTest::SetUp();
@@ -1438,4 +1438,86 @@ TEST_F(SurfaceTextureGLToGLTest, DISABLED_RepeatedSwapBuffersWhileDequeueStalled
}
}
+TEST_F(SurfaceTextureGLTest, EglDestroySurfaceUnrefsBuffers) {
+ EGLSurface stcEglSurface = eglCreateWindowSurface(mEglDisplay, mGlConfig,
+ mANW.get(), NULL);
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+ ASSERT_NE(EGL_NO_SURFACE, stcEglSurface);
+
+ sp<GraphicBuffer> buffers[3];
+
+ for (int i = 0; i < 3; i++) {
+ // Produce a frame
+ EXPECT_TRUE(eglMakeCurrent(mEglDisplay, stcEglSurface, stcEglSurface,
+ mEglContext));
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+ glClear(GL_COLOR_BUFFER_BIT);
+ eglSwapBuffers(mEglDisplay, stcEglSurface);
+
+ // Consume a frame
+ EXPECT_TRUE(eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface,
+ mEglContext));
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+ mST->updateTexImage();
+ buffers[i] = mST->getCurrentBuffer();
+ }
+
+ // Destroy the GL texture object to release its ref on buffers[2].
+ GLuint texID = TEX_ID;
+ glDeleteTextures(1, &texID);
+
+ // Destroy the EGLSurface
+ EXPECT_TRUE(eglDestroySurface(mEglDisplay, stcEglSurface));
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+
+ // Release the ref that the SurfaceTexture has on buffers[2].
+ mST->abandon();
+
+ EXPECT_EQ(1, buffers[0]->getStrongCount());
+ EXPECT_EQ(1, buffers[1]->getStrongCount());
+ EXPECT_EQ(1, buffers[2]->getStrongCount());
+}
+
+TEST_F(SurfaceTextureGLTest, EglDestroySurfaceAfterAbandonUnrefsBuffers) {
+ EGLSurface stcEglSurface = eglCreateWindowSurface(mEglDisplay, mGlConfig,
+ mANW.get(), NULL);
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+ ASSERT_NE(EGL_NO_SURFACE, stcEglSurface);
+
+ sp<GraphicBuffer> buffers[3];
+
+ for (int i = 0; i < 3; i++) {
+ // Produce a frame
+ EXPECT_TRUE(eglMakeCurrent(mEglDisplay, stcEglSurface, stcEglSurface,
+ mEglContext));
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+ glClear(GL_COLOR_BUFFER_BIT);
+ EXPECT_TRUE(eglSwapBuffers(mEglDisplay, stcEglSurface));
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+
+ // Consume a frame
+ EXPECT_TRUE(eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface,
+ mEglContext));
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+ ASSERT_EQ(NO_ERROR, mST->updateTexImage());
+ buffers[i] = mST->getCurrentBuffer();
+ }
+
+ // Abandon the SurfaceTexture, releasing the ref that the SurfaceTexture has
+ // on buffers[2].
+ mST->abandon();
+
+ // Destroy the GL texture object to release its ref on buffers[2].
+ GLuint texID = TEX_ID;
+ glDeleteTextures(1, &texID);
+
+ // Destroy the EGLSurface.
+ EXPECT_TRUE(eglDestroySurface(mEglDisplay, stcEglSurface));
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+
+ EXPECT_EQ(1, buffers[0]->getStrongCount());
+ EXPECT_EQ(1, buffers[1]->getStrongCount());
+ EXPECT_EQ(1, buffers[2]->getStrongCount());
+}
+
} // namespace android
diff --git a/libs/hwui/Android.mk b/libs/hwui/Android.mk
index a98e4cd30235..9bfc94cb11fd 100644
--- a/libs/hwui/Android.mk
+++ b/libs/hwui/Android.mk
@@ -39,6 +39,7 @@ ifeq ($(USE_OPENGL_RENDERER),true)
external/skia/include/utils
LOCAL_CFLAGS += -DUSE_OPENGL_RENDERER
+ LOCAL_CFLAGS += -fvisibility=hidden
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_SHARED_LIBRARIES := libcutils libutils libGLESv2 libskia libui
LOCAL_MODULE := libhwui
diff --git a/libs/hwui/Caches.h b/libs/hwui/Caches.h
index cdcbf2188532..9b0d7c6e6009 100644
--- a/libs/hwui/Caches.h
+++ b/libs/hwui/Caches.h
@@ -23,6 +23,8 @@
#include <utils/Singleton.h>
+#include <cutils/compiler.h>
+
#include "Extensions.h"
#include "FontRenderer.h"
#include "GammaFontRenderer.h"
@@ -82,7 +84,7 @@ struct CacheLogger {
// Caches
///////////////////////////////////////////////////////////////////////////////
-class Caches: public Singleton<Caches> {
+class ANDROID_API Caches: public Singleton<Caches> {
Caches();
~Caches();
diff --git a/libs/hwui/DisplayListLogBuffer.h b/libs/hwui/DisplayListLogBuffer.h
index bf16f297fb9b..5d689bb82363 100644
--- a/libs/hwui/DisplayListLogBuffer.h
+++ b/libs/hwui/DisplayListLogBuffer.h
@@ -18,6 +18,7 @@
#define ANDROID_HWUI_DISPLAY_LIST_LOG_BUFFER_H
#include <utils/Singleton.h>
+
#include <stdio.h>
namespace android {
diff --git a/libs/hwui/DisplayListRenderer.cpp b/libs/hwui/DisplayListRenderer.cpp
index cedf456e22c3..3372d1c249bf 100644
--- a/libs/hwui/DisplayListRenderer.cpp
+++ b/libs/hwui/DisplayListRenderer.cpp
@@ -382,12 +382,13 @@ void DisplayList::output(OpenGLRenderer& renderer, uint32_t level) {
xDivs = getInts(xDivsCount);
yDivs = getInts(yDivsCount);
colors = getUInts(numColors);
- DISPLAY_LIST_LOGD("%s%s", (char*) indent, OP_NAMES[op]);
- getFloat();
- getFloat();
- getFloat();
- getFloat();
- getPaint();
+ float left = getFloat();
+ float top = getFloat();
+ float right = getFloat();
+ float bottom = getFloat();
+ SkPaint* paint = getPaint();
+ LOGD("%s%s %.2f, %.2f, %.2f, %.2f", (char*) indent, OP_NAMES[op],
+ left, top, right, bottom);
}
break;
case DrawColor: {
diff --git a/libs/hwui/DisplayListRenderer.h b/libs/hwui/DisplayListRenderer.h
index 8cd7fea07d01..ab475bf53beb 100644
--- a/libs/hwui/DisplayListRenderer.h
+++ b/libs/hwui/DisplayListRenderer.h
@@ -26,6 +26,8 @@
#include <SkTDArray.h>
#include <SkTSearch.h>
+#include <cutils/compiler.h>
+
#include "DisplayListLogBuffer.h"
#include "OpenGLRenderer.h"
#include "utils/Functor.h"
@@ -58,7 +60,7 @@ class DisplayListRenderer;
class DisplayList {
public:
DisplayList(const DisplayListRenderer& recorder);
- ~DisplayList();
+ ANDROID_API ~DisplayList();
// IMPORTANT: Update the intialization of OP_NAMES in the .cpp file
// when modifying this file
@@ -107,13 +109,13 @@ public:
void initFromDisplayListRenderer(const DisplayListRenderer& recorder, bool reusing = false);
- size_t getSize();
+ ANDROID_API size_t getSize();
bool replay(OpenGLRenderer& renderer, Rect& dirty, uint32_t level = 0);
void output(OpenGLRenderer& renderer, uint32_t level = 0);
- static void outputLogBuffer(int fd);
+ ANDROID_API static void outputLogBuffer(int fd);
void setRenderable(bool renderable) {
mIsRenderable = renderable;
@@ -230,75 +232,76 @@ private:
*/
class DisplayListRenderer: public OpenGLRenderer {
public:
- DisplayListRenderer();
- ~DisplayListRenderer();
+ ANDROID_API DisplayListRenderer();
+ virtual ~DisplayListRenderer();
- DisplayList* getDisplayList(DisplayList* displayList);
+ ANDROID_API DisplayList* getDisplayList(DisplayList* displayList);
- void setViewport(int width, int height);
- void prepareDirty(float left, float top, float right, float bottom, bool opaque);
- void finish();
+ virtual void setViewport(int width, int height);
+ virtual void prepareDirty(float left, float top, float right, float bottom, bool opaque);
+ virtual void finish();
- bool callDrawGLFunction(Functor *functor, Rect& dirty);
+ virtual bool callDrawGLFunction(Functor *functor, Rect& dirty);
- void interrupt();
- void resume();
+ virtual void interrupt();
+ virtual void resume();
- int save(int flags);
- void restore();
- void restoreToCount(int saveCount);
+ virtual int save(int flags);
+ virtual void restore();
+ virtual void restoreToCount(int saveCount);
- int saveLayer(float left, float top, float right, float bottom,
+ virtual int saveLayer(float left, float top, float right, float bottom,
SkPaint* p, int flags);
- int saveLayerAlpha(float left, float top, float right, float bottom,
+ virtual int saveLayerAlpha(float left, float top, float right, float bottom,
int alpha, int flags);
- void translate(float dx, float dy);
- void rotate(float degrees);
- void scale(float sx, float sy);
- void skew(float sx, float sy);
+ virtual void translate(float dx, float dy);
+ virtual void rotate(float degrees);
+ virtual void scale(float sx, float sy);
+ virtual void skew(float sx, float sy);
- void setMatrix(SkMatrix* matrix);
- void concatMatrix(SkMatrix* matrix);
+ virtual void setMatrix(SkMatrix* matrix);
+ virtual void concatMatrix(SkMatrix* matrix);
- bool clipRect(float left, float top, float right, float bottom, SkRegion::Op op);
+ virtual bool clipRect(float left, float top, float right, float bottom, SkRegion::Op op);
- bool drawDisplayList(DisplayList* displayList, uint32_t width, uint32_t height,
+ virtual bool drawDisplayList(DisplayList* displayList, uint32_t width, uint32_t height,
Rect& dirty, uint32_t level = 0);
- void drawLayer(Layer* layer, float x, float y, SkPaint* paint);
- void drawBitmap(SkBitmap* bitmap, float left, float top, SkPaint* paint);
- void drawBitmap(SkBitmap* bitmap, SkMatrix* matrix, SkPaint* paint);
- void drawBitmap(SkBitmap* bitmap, float srcLeft, float srcTop,
+ virtual void drawLayer(Layer* layer, float x, float y, SkPaint* paint);
+ virtual void drawBitmap(SkBitmap* bitmap, float left, float top, SkPaint* paint);
+ virtual void drawBitmap(SkBitmap* bitmap, SkMatrix* matrix, SkPaint* paint);
+ virtual void drawBitmap(SkBitmap* bitmap, float srcLeft, float srcTop,
float srcRight, float srcBottom, float dstLeft, float dstTop,
float dstRight, float dstBottom, SkPaint* paint);
- void drawBitmapMesh(SkBitmap* bitmap, int meshWidth, int meshHeight,
+ virtual void drawBitmapMesh(SkBitmap* bitmap, int meshWidth, int meshHeight,
float* vertices, int* colors, SkPaint* paint);
- void drawPatch(SkBitmap* bitmap, const int32_t* xDivs, const int32_t* yDivs,
+ virtual void drawPatch(SkBitmap* bitmap, const int32_t* xDivs, const int32_t* yDivs,
const uint32_t* colors, uint32_t width, uint32_t height, int8_t numColors,
float left, float top, float right, float bottom, SkPaint* paint);
- void drawColor(int color, SkXfermode::Mode mode);
- void drawRect(float left, float top, float right, float bottom, SkPaint* paint);
- void drawRoundRect(float left, float top, float right, float bottom,
+ virtual void drawColor(int color, SkXfermode::Mode mode);
+ virtual void drawRect(float left, float top, float right, float bottom, SkPaint* paint);
+ virtual void drawRoundRect(float left, float top, float right, float bottom,
float rx, float ry, SkPaint* paint);
- void drawCircle(float x, float y, float radius, SkPaint* paint);
- void drawOval(float left, float top, float right, float bottom, SkPaint* paint);
- void drawArc(float left, float top, float right, float bottom,
+ virtual void drawCircle(float x, float y, float radius, SkPaint* paint);
+ virtual void drawOval(float left, float top, float right, float bottom, SkPaint* paint);
+ virtual void drawArc(float left, float top, float right, float bottom,
float startAngle, float sweepAngle, bool useCenter, SkPaint* paint);
- void drawPath(SkPath* path, SkPaint* paint);
- void drawLines(float* points, int count, SkPaint* paint);
- void drawPoints(float* points, int count, SkPaint* paint);
- void drawText(const char* text, int bytesCount, int count, float x, float y, SkPaint* paint);
+ virtual void drawPath(SkPath* path, SkPaint* paint);
+ virtual void drawLines(float* points, int count, SkPaint* paint);
+ virtual void drawPoints(float* points, int count, SkPaint* paint);
+ virtual void drawText(const char* text, int bytesCount, int count, float x, float y,
+ SkPaint* paint);
- void resetShader();
- void setupShader(SkiaShader* shader);
+ virtual void resetShader();
+ virtual void setupShader(SkiaShader* shader);
- void resetColorFilter();
- void setupColorFilter(SkiaColorFilter* filter);
+ virtual void resetColorFilter();
+ virtual void setupColorFilter(SkiaColorFilter* filter);
- void resetShadow();
- void setupShadow(float radius, float dx, float dy, int color);
+ virtual void resetShadow();
+ virtual void setupShadow(float radius, float dx, float dy, int color);
- void reset();
+ ANDROID_API void reset();
const SkWriter32& writeStream() const {
return mWriter;
diff --git a/libs/hwui/LayerRenderer.cpp b/libs/hwui/LayerRenderer.cpp
index 349b9e32268d..e38b4794bcae 100644
--- a/libs/hwui/LayerRenderer.cpp
+++ b/libs/hwui/LayerRenderer.cpp
@@ -31,6 +31,12 @@ namespace uirenderer {
// Rendering
///////////////////////////////////////////////////////////////////////////////
+LayerRenderer::LayerRenderer(Layer* layer): mLayer(layer) {
+}
+
+LayerRenderer::~LayerRenderer() {
+}
+
void LayerRenderer::prepareDirty(float left, float top, float right, float bottom, bool opaque) {
LAYER_RENDERER_LOGD("Rendering into layer, fbo = %d", mLayer->getFbo());
@@ -210,7 +216,8 @@ Layer* LayerRenderer::createLayer(uint32_t width, uint32_t height, bool isOpaque
layer->allocateTexture(GL_RGBA, GL_UNSIGNED_BYTE);
if (glGetError() != GL_NO_ERROR) {
- LOGD("Could not allocate texture");
+ LOGD("Could not allocate texture for layer (fbo=%d %dx%d)",
+ fbo, width, height);
glBindFramebuffer(GL_FRAMEBUFFER, previousFbo);
Caches::getInstance().fboCache.put(fbo);
@@ -264,7 +271,7 @@ Layer* LayerRenderer::createTextureLayer(bool isOpaque) {
layer->setFbo(0);
layer->setAlpha(255, SkXfermode::kSrcOver_Mode);
layer->layer.set(0.0f, 0.0f, 0.0f, 0.0f);
- layer->texCoords.set(0.0f, 1.0f, 0.0f, 1.0f);
+ layer->texCoords.set(0.0f, 1.0f, 1.0f, 0.0f);
layer->region.clear();
layer->setRenderTarget(GL_NONE); // see ::updateTextureLayer()
@@ -400,6 +407,18 @@ bool LayerRenderer::copyLayer(Layer* layer, SkBitmap* bitmap) {
renderer.setViewport(bitmap->width(), bitmap->height());
renderer.OpenGLRenderer::prepareDirty(0.0f, 0.0f,
bitmap->width(), bitmap->height(), !layer->isBlend());
+
+ glDisable(GL_SCISSOR_TEST);
+ renderer.translate(0.0f, bitmap->height());
+ renderer.scale(1.0f, -1.0f);
+
+ mat4 texTransform(layer->getTexTransform());
+
+ mat4 invert;
+ invert.translate(0.0f, 1.0f, 0.0f);
+ invert.scale(1.0f, -1.0f, 1.0f);
+ layer->getTexTransform().multiply(invert);
+
if ((error = glGetError()) != GL_NO_ERROR) goto error;
{
@@ -413,6 +432,7 @@ bool LayerRenderer::copyLayer(Layer* layer, SkBitmap* bitmap) {
if ((error = glGetError()) != GL_NO_ERROR) goto error;
}
+ layer->getTexTransform().load(texTransform);
status = true;
}
diff --git a/libs/hwui/LayerRenderer.h b/libs/hwui/LayerRenderer.h
index 224657397dd1..61043015f768 100644
--- a/libs/hwui/LayerRenderer.h
+++ b/libs/hwui/LayerRenderer.h
@@ -17,6 +17,8 @@
#ifndef ANDROID_HWUI_LAYER_RENDERER_H
#define ANDROID_HWUI_LAYER_RENDERER_H
+#include <cutils/compiler.h>
+
#include "OpenGLRenderer.h"
#include "Layer.h"
@@ -42,27 +44,24 @@ namespace uirenderer {
class LayerRenderer: public OpenGLRenderer {
public:
- LayerRenderer(Layer* layer): mLayer(layer) {
- }
-
- ~LayerRenderer() {
- }
+ ANDROID_API LayerRenderer(Layer* layer);
+ virtual ~LayerRenderer();
- void prepareDirty(float left, float top, float right, float bottom, bool opaque);
- void finish();
+ virtual void prepareDirty(float left, float top, float right, float bottom, bool opaque);
+ virtual void finish();
- bool hasLayer();
- Region* getRegion();
- GLint getTargetFbo();
+ virtual bool hasLayer();
+ virtual Region* getRegion();
+ virtual GLint getTargetFbo();
- static Layer* createTextureLayer(bool isOpaque);
- static Layer* createLayer(uint32_t width, uint32_t height, bool isOpaque = false);
- static bool resizeLayer(Layer* layer, uint32_t width, uint32_t height);
- static void updateTextureLayer(Layer* layer, uint32_t width, uint32_t height,
+ ANDROID_API static Layer* createTextureLayer(bool isOpaque);
+ ANDROID_API static Layer* createLayer(uint32_t width, uint32_t height, bool isOpaque = false);
+ ANDROID_API static bool resizeLayer(Layer* layer, uint32_t width, uint32_t height);
+ ANDROID_API static void updateTextureLayer(Layer* layer, uint32_t width, uint32_t height,
bool isOpaque, GLenum renderTarget, float* transform);
- static void destroyLayer(Layer* layer);
- static void destroyLayerDeferred(Layer* layer);
- static bool copyLayer(Layer* layer, SkBitmap* bitmap);
+ ANDROID_API static void destroyLayer(Layer* layer);
+ ANDROID_API static void destroyLayerDeferred(Layer* layer);
+ ANDROID_API static bool copyLayer(Layer* layer, SkBitmap* bitmap);
private:
void generateMesh();
diff --git a/libs/hwui/Matrix.h b/libs/hwui/Matrix.h
index 56fd37de813b..22220a93c0ad 100644
--- a/libs/hwui/Matrix.h
+++ b/libs/hwui/Matrix.h
@@ -19,6 +19,8 @@
#include <SkMatrix.h>
+#include <cutils/compiler.h>
+
#include "Rect.h"
namespace android {
@@ -28,7 +30,7 @@ namespace uirenderer {
// Classes
///////////////////////////////////////////////////////////////////////////////
-class Matrix4 {
+class ANDROID_API Matrix4 {
public:
float data[16];
diff --git a/libs/hwui/OpenGLRenderer.h b/libs/hwui/OpenGLRenderer.h
index 14b22b39cfdb..2fc88e1d9674 100644
--- a/libs/hwui/OpenGLRenderer.h
+++ b/libs/hwui/OpenGLRenderer.h
@@ -31,6 +31,8 @@
#include <utils/RefBase.h>
#include <utils/Vector.h>
+#include <cutils/compiler.h>
+
#include "Debug.h"
#include "Extensions.h"
#include "Matrix.h"
@@ -57,12 +59,12 @@ class DisplayList;
*/
class OpenGLRenderer {
public:
- OpenGLRenderer();
+ ANDROID_API OpenGLRenderer();
virtual ~OpenGLRenderer();
virtual void setViewport(int width, int height);
- void prepare(bool opaque);
+ ANDROID_API void prepare(bool opaque);
virtual void prepareDirty(float left, float top, float right, float bottom, bool opaque);
virtual void finish();
@@ -72,7 +74,7 @@ public:
virtual bool callDrawGLFunction(Functor *functor, Rect& dirty);
- int getSaveCount() const;
+ ANDROID_API int getSaveCount() const;
virtual int save(int flags);
virtual void restore();
virtual void restoreToCount(int saveCount);
@@ -87,12 +89,12 @@ public:
virtual void scale(float sx, float sy);
virtual void skew(float sx, float sy);
- void getMatrix(SkMatrix* matrix);
+ ANDROID_API void getMatrix(SkMatrix* matrix);
virtual void setMatrix(SkMatrix* matrix);
virtual void concatMatrix(SkMatrix* matrix);
- const Rect& getClipBounds();
- bool quickReject(float left, float top, float right, float bottom);
+ ANDROID_API const Rect& getClipBounds();
+ ANDROID_API bool quickReject(float left, float top, float right, float bottom);
virtual bool clipRect(float left, float top, float right, float bottom, SkRegion::Op op);
virtual bool drawDisplayList(DisplayList* displayList, uint32_t width, uint32_t height,
diff --git a/libs/hwui/Patch.cpp b/libs/hwui/Patch.cpp
index f7dacaea1c3f..47a2c99dd60a 100644
--- a/libs/hwui/Patch.cpp
+++ b/libs/hwui/Patch.cpp
@@ -157,14 +157,17 @@ void Patch::updateVertices(const float bitmapWidth, const float bitmapHeight,
for (uint32_t i = 0; i < mYCount; i++) {
float stepY = mYDivs[i];
+ const float segment = stepY - previousStepY;
if (i & 1) {
- const float segment = stepY - previousStepY;
y2 = y1 + floorf(segment * stretchY + 0.5f);
} else {
- y2 = y1 + stepY - previousStepY;
+ y2 = y1 + segment;
}
- float v2 = fmax(0.0f, stepY - 0.5f) / bitmapHeight;
+
+ float vOffset = y1 == y2 ? 0.0f : 0.5 - (0.5 * segment / (y2 - y1));
+ float v2 = fmax(0.0f, stepY - vOffset) / bitmapHeight;
+ v1 += vOffset / bitmapHeight;
if (stepY > 0.0f) {
#if DEBUG_EXPLODE_PATCHES
@@ -179,7 +182,7 @@ void Patch::updateVertices(const float bitmapWidth, const float bitmapHeight,
}
y1 = y2;
- v1 = (stepY + 0.5f) / bitmapHeight;
+ v1 = stepY / bitmapHeight;
previousStepY = stepY;
}
@@ -190,8 +193,7 @@ void Patch::updateVertices(const float bitmapWidth, const float bitmapHeight,
y1 += mYCount * EXPLODE_GAP;
y2 += mYCount * EXPLODE_GAP;
#endif
- generateRow(vertex, y1, y2, v1, 1.0f, stretchX, right - left,
- bitmapWidth, quadCount);
+ generateRow(vertex, y1, y2, v1, 1.0f, stretchX, right - left, bitmapWidth, quadCount);
}
if (verticesCount > 0) {
@@ -220,14 +222,17 @@ void Patch::generateRow(TextureVertex*& vertex, float y1, float y2, float v1, fl
// Generate the row quad by quad
for (uint32_t i = 0; i < mXCount; i++) {
float stepX = mXDivs[i];
+ const float segment = stepX - previousStepX;
if (i & 1) {
- const float segment = stepX - previousStepX;
x2 = x1 + floorf(segment * stretchX + 0.5f);
} else {
- x2 = x1 + stepX - previousStepX;
+ x2 = x1 + segment;
}
- float u2 = fmax(0.0f, stepX - 0.5f) / bitmapWidth;
+
+ float uOffset = x1 == x2 ? 0.0f : 0.5 - (0.5 * segment / (x2 - x1));
+ float u2 = fmax(0.0f, stepX - uOffset) / bitmapWidth;
+ u1 += uOffset / bitmapWidth;
if (stepX > 0.0f) {
#if DEBUG_EXPLODE_PATCHES
@@ -241,7 +246,7 @@ void Patch::generateRow(TextureVertex*& vertex, float y1, float y2, float v1, fl
}
x1 = x2;
- u1 = (stepX + 0.5f) / bitmapWidth;
+ u1 = stepX / bitmapWidth;
previousStepX = stepX;
}
@@ -265,8 +270,8 @@ void Patch::generateQuad(TextureVertex*& vertex, float x1, float y1, float x2, f
if ((mColorKey >> oldQuadCount) & 0x1) {
#if DEBUG_PATCHES_EMPTY_VERTICES
PATCH_LOGD(" quad %d (empty)", oldQuadCount);
- PATCH_LOGD(" left, top = %.2f, %.2f\t\tu1, v1 = %.2f, %.2f", x1, y1, u1, v1);
- PATCH_LOGD(" right, bottom = %.2f, %.2f\t\tu2, v2 = %.2f, %.2f", x2, y2, u2, v2);
+ PATCH_LOGD(" left, top = %.2f, %.2f\t\tu1, v1 = %.4f, %.4f", x1, y1, u1, v1);
+ PATCH_LOGD(" right, bottom = %.2f, %.2f\t\tu2, v2 = %.4f, %.4f", x2, y2, u2, v2);
#endif
return;
}
@@ -294,8 +299,8 @@ void Patch::generateQuad(TextureVertex*& vertex, float x1, float y1, float x2, f
#if DEBUG_PATCHES_VERTICES
PATCH_LOGD(" quad %d", oldQuadCount);
- PATCH_LOGD(" left, top = %.2f, %.2f\t\tu1, v1 = %.2f, %.2f", x1, y1, u1, v1);
- PATCH_LOGD(" right, bottom = %.2f, %.2f\t\tu2, v2 = %.2f, %.2f", x2, y2, u2, v2);
+ PATCH_LOGD(" left, top = %.2f, %.2f\t\tu1, v1 = %.4f, %.4f", x1, y1, u1, v1);
+ PATCH_LOGD(" right, bottom = %.2f, %.2f\t\tu2, v2 = %.4f, %.4f", x2, y2, u2, v2);
#endif
}
diff --git a/libs/hwui/ResourceCache.h b/libs/hwui/ResourceCache.h
index 2a38910951c4..8cf466baa4e8 100644
--- a/libs/hwui/ResourceCache.h
+++ b/libs/hwui/ResourceCache.h
@@ -17,6 +17,8 @@
#ifndef ANDROID_HWUI_RESOURCE_CACHE_H
#define ANDROID_HWUI_RESOURCE_CACHE_H
+#include <cutils/compiler.h>
+
#include <SkBitmap.h>
#include <SkiaColorFilter.h>
#include <SkiaShader.h>
@@ -49,7 +51,7 @@ public:
ResourceType resourceType;
};
-class ResourceCache {
+class ANDROID_API ResourceCache {
KeyedVector<void *, ResourceReference *>* mCache;
public:
ResourceCache();
diff --git a/libs/hwui/SkiaColorFilter.h b/libs/hwui/SkiaColorFilter.h
index 1bf475c2268e..2feb834e540c 100644
--- a/libs/hwui/SkiaColorFilter.h
+++ b/libs/hwui/SkiaColorFilter.h
@@ -20,6 +20,8 @@
#include <GLES2/gl2.h>
#include <SkColorFilter.h>
+#include <cutils/compiler.h>
+
#include "ProgramCache.h"
#include "Extensions.h"
@@ -45,7 +47,7 @@ struct SkiaColorFilter {
kBlend,
};
- SkiaColorFilter(SkColorFilter *skFilter, Type type, bool blend);
+ ANDROID_API SkiaColorFilter(SkColorFilter *skFilter, Type type, bool blend);
virtual ~SkiaColorFilter();
virtual void describe(ProgramDescription& description, const Extensions& extensions) = 0;
@@ -79,7 +81,7 @@ private:
* A color filter that multiplies the source color with a matrix and adds a vector.
*/
struct SkiaColorMatrixFilter: public SkiaColorFilter {
- SkiaColorMatrixFilter(SkColorFilter *skFilter, float* matrix, float* vector);
+ ANDROID_API SkiaColorMatrixFilter(SkColorFilter *skFilter, float* matrix, float* vector);
~SkiaColorMatrixFilter();
void describe(ProgramDescription& description, const Extensions& extensions);
@@ -95,7 +97,7 @@ private:
* another fixed value. Ignores the alpha channel of both arguments.
*/
struct SkiaLightingFilter: public SkiaColorFilter {
- SkiaLightingFilter(SkColorFilter *skFilter, int multiply, int add);
+ ANDROID_API SkiaLightingFilter(SkColorFilter *skFilter, int multiply, int add);
void describe(ProgramDescription& description, const Extensions& extensions);
void setupProgram(Program* program);
@@ -110,7 +112,7 @@ private:
* and PorterDuff blending mode.
*/
struct SkiaBlendFilter: public SkiaColorFilter {
- SkiaBlendFilter(SkColorFilter *skFilter, int color, SkXfermode::Mode mode);
+ ANDROID_API SkiaBlendFilter(SkColorFilter *skFilter, int color, SkXfermode::Mode mode);
void describe(ProgramDescription& description, const Extensions& extensions);
void setupProgram(Program* program);
diff --git a/libs/hwui/SkiaShader.h b/libs/hwui/SkiaShader.h
index 89dd131f8ab2..2de9a93bd136 100644
--- a/libs/hwui/SkiaShader.h
+++ b/libs/hwui/SkiaShader.h
@@ -22,6 +22,8 @@
#include <GLES2/gl2.h>
+#include <cutils/compiler.h>
+
#include "Extensions.h"
#include "ProgramCache.h"
#include "TextureCache.h"
@@ -52,8 +54,8 @@ struct SkiaShader {
kCompose
};
- SkiaShader(Type type, SkShader* key, SkShader::TileMode tileX, SkShader::TileMode tileY,
- SkMatrix* matrix, bool blend);
+ ANDROID_API SkiaShader(Type type, SkShader* key, SkShader::TileMode tileX,
+ SkShader::TileMode tileY, SkMatrix* matrix, bool blend);
virtual ~SkiaShader();
virtual SkiaShader* copy() = 0;
@@ -139,7 +141,7 @@ private:
* A shader that draws a bitmap.
*/
struct SkiaBitmapShader: public SkiaShader {
- SkiaBitmapShader(SkBitmap* bitmap, SkShader* key, SkShader::TileMode tileX,
+ ANDROID_API SkiaBitmapShader(SkBitmap* bitmap, SkShader* key, SkShader::TileMode tileX,
SkShader::TileMode tileY, SkMatrix* matrix, bool blend);
SkiaShader* copy();
@@ -169,8 +171,8 @@ private:
* A shader that draws a linear gradient.
*/
struct SkiaLinearGradientShader: public SkiaShader {
- SkiaLinearGradientShader(float* bounds, uint32_t* colors, float* positions, int count,
- SkShader* key, SkShader::TileMode tileMode, SkMatrix* matrix, bool blend);
+ ANDROID_API SkiaLinearGradientShader(float* bounds, uint32_t* colors, float* positions,
+ int count, SkShader* key, SkShader::TileMode tileMode, SkMatrix* matrix, bool blend);
~SkiaLinearGradientShader();
SkiaShader* copy();
@@ -193,8 +195,8 @@ private:
* A shader that draws a sweep gradient.
*/
struct SkiaSweepGradientShader: public SkiaShader {
- SkiaSweepGradientShader(float x, float y, uint32_t* colors, float* positions, int count,
- SkShader* key, SkMatrix* matrix, bool blend);
+ ANDROID_API SkiaSweepGradientShader(float x, float y, uint32_t* colors, float* positions,
+ int count, SkShader* key, SkMatrix* matrix, bool blend);
~SkiaSweepGradientShader();
SkiaShader* copy();
@@ -218,8 +220,9 @@ protected:
* A shader that draws a circular gradient.
*/
struct SkiaCircularGradientShader: public SkiaSweepGradientShader {
- SkiaCircularGradientShader(float x, float y, float radius, uint32_t* colors, float* positions,
- int count, SkShader* key,SkShader::TileMode tileMode, SkMatrix* matrix, bool blend);
+ ANDROID_API SkiaCircularGradientShader(float x, float y, float radius, uint32_t* colors,
+ float* positions, int count, SkShader* key,SkShader::TileMode tileMode,
+ SkMatrix* matrix, bool blend);
SkiaShader* copy();
void describe(ProgramDescription& description, const Extensions& extensions);
@@ -233,7 +236,8 @@ private:
* A shader that draws two shaders, composited with an xfermode.
*/
struct SkiaComposeShader: public SkiaShader {
- SkiaComposeShader(SkiaShader* first, SkiaShader* second, SkXfermode::Mode mode, SkShader* key);
+ ANDROID_API SkiaComposeShader(SkiaShader* first, SkiaShader* second, SkXfermode::Mode mode,
+ SkShader* key);
~SkiaComposeShader();
SkiaShader* copy();
diff --git a/libs/rs/RenderScript.h b/libs/rs/RenderScript.h
index 3ba012353ca7..6d5426882bda 100644
--- a/libs/rs/RenderScript.h
+++ b/libs/rs/RenderScript.h
@@ -34,26 +34,30 @@ RsFile rsaFileA3DCreateFromMemory(RsContext, const void *data, uint32_t len);
RsFile rsaFileA3DCreateFromAsset(RsContext, void *asset);
RsFile rsaFileA3DCreateFromFile(RsContext, const char *path);
void rsaFileA3DGetNumIndexEntries(RsContext, int32_t *numEntries, RsFile);
-void rsaFileA3DGetIndexEntries(RsContext, RsFileIndexEntry *fileEntries,uint32_t numEntries, RsFile);
+void rsaFileA3DGetIndexEntries(RsContext, RsFileIndexEntry *fileEntries,
+ uint32_t numEntries, RsFile);
void rsaGetName(RsContext, void * obj, const char **name);
// Mesh update functions
void rsaMeshGetVertexBufferCount(RsContext, RsMesh, int32_t *vtxCount);
void rsaMeshGetIndexCount(RsContext, RsMesh, int32_t *idxCount);
void rsaMeshGetVertices(RsContext, RsMesh, RsAllocation *vtxData, uint32_t vtxDataCount);
-void rsaMeshGetIndices(RsContext, RsMesh, RsAllocation *va, uint32_t *primType, uint32_t idxDataCount);
+void rsaMeshGetIndices(RsContext, RsMesh, RsAllocation *va,
+ uint32_t *primType, uint32_t idxDataCount);
// Allocation update
const void* rsaAllocationGetType(RsContext con, RsAllocation va);
// Type update
void rsaTypeGetNativeData(RsContext, RsType, uint32_t *typeData, uint32_t typeDataSize);
// Element update
void rsaElementGetNativeData(RsContext, RsElement, uint32_t *elemData, uint32_t elemDataSize);
-void rsaElementGetSubElements(RsContext, RsElement, uint32_t *ids, const char **names, uint32_t dataSize);
+void rsaElementGetSubElements(RsContext, RsElement, uint32_t *ids, const char **names,
+ uint32_t *arraySizes, uint32_t dataSize);
RsDevice rsDeviceCreate();
void rsDeviceDestroy(RsDevice dev);
void rsDeviceSetConfig(RsDevice dev, RsDeviceParam p, int32_t value);
RsContext rsContextCreate(RsDevice dev, uint32_t version, uint32_t sdkVersion);
-RsContext rsContextCreateGL(RsDevice dev, uint32_t version, uint32_t sdkVersion, RsSurfaceConfig sc, uint32_t dpi);
+RsContext rsContextCreateGL(RsDevice dev, uint32_t version, uint32_t sdkVersion,
+ RsSurfaceConfig sc, uint32_t dpi);
#include "rsgApiFuncDecl.h"
diff --git a/libs/rs/driver/rsdBcc.cpp b/libs/rs/driver/rsdBcc.cpp
index 5fd5c35168c7..4ecf8e84a4df 100644
--- a/libs/rs/driver/rsdBcc.cpp
+++ b/libs/rs/driver/rsdBcc.cpp
@@ -226,6 +226,7 @@ static void wc_xy(void *usr, uint32_t idx) {
RsdHal * dc = (RsdHal *)mtls->rsc->mHal.drv;
uint32_t sig = mtls->sig;
+ outer_foreach_t fn = dc->mForEachLaunch[sig];
while (1) {
uint32_t slice = (uint32_t)android_atomic_inc(&mtls->mSliceNum);
uint32_t yStart = mtls->yStart + slice * mtls->mSliceSize;
@@ -239,16 +240,10 @@ static void wc_xy(void *usr, uint32_t idx) {
//LOGE("usr ptr in %p, out %p", mtls->ptrIn, mtls->ptrOut);
for (p.y = yStart; p.y < yEnd; p.y++) {
uint32_t offset = mtls->dimX * p.y;
- uint8_t *xPtrOut = mtls->ptrOut + (mtls->eStrideOut * offset);
- const uint8_t *xPtrIn = mtls->ptrIn + (mtls->eStrideIn * offset);
-
- for (p.x = mtls->xStart; p.x < mtls->xEnd; p.x++) {
- p.in = xPtrIn;
- p.out = xPtrOut;
- dc->mForEachLaunch[sig](&mtls->script->mHal.info.root, &p);
- xPtrIn += mtls->eStrideIn;
- xPtrOut += mtls->eStrideOut;
- }
+ p.out = mtls->ptrOut + (mtls->eStrideOut * offset);
+ p.in = mtls->ptrIn + (mtls->eStrideIn * offset);
+ fn(&mtls->script->mHal.info.root, &p, mtls->xStart, mtls->xEnd,
+ mtls->eStrideIn, mtls->eStrideOut);
}
}
}
@@ -262,6 +257,7 @@ static void wc_x(void *usr, uint32_t idx) {
RsdHal * dc = (RsdHal *)mtls->rsc->mHal.drv;
uint32_t sig = mtls->sig;
+ outer_foreach_t fn = dc->mForEachLaunch[sig];
while (1) {
uint32_t slice = (uint32_t)android_atomic_inc(&mtls->mSliceNum);
uint32_t xStart = mtls->xStart + slice * mtls->mSliceSize;
@@ -271,17 +267,12 @@ static void wc_x(void *usr, uint32_t idx) {
return;
}
- //LOGE("usr idx %i, x %i,%i y %i,%i", idx, mtls->xStart, mtls->xEnd, yStart, yEnd);
+ //LOGE("usr slice %i idx %i, x %i,%i", slice, idx, xStart, xEnd);
//LOGE("usr ptr in %p, out %p", mtls->ptrIn, mtls->ptrOut);
- uint8_t *xPtrOut = mtls->ptrOut + (mtls->eStrideOut * xStart);
- const uint8_t *xPtrIn = mtls->ptrIn + (mtls->eStrideIn * xStart);
- for (p.x = xStart; p.x < xEnd; p.x++) {
- p.in = xPtrIn;
- p.out = xPtrOut;
- dc->mForEachLaunch[sig](&mtls->script->mHal.info.root, &p);
- xPtrIn += mtls->eStrideIn;
- xPtrOut += mtls->eStrideOut;
- }
+
+ p.out = mtls->ptrOut + (mtls->eStrideOut * xStart);
+ p.in = mtls->ptrIn + (mtls->eStrideIn * xStart);
+ fn(&mtls->script->mHal.info.root, &p, xStart, xEnd, mtls->eStrideIn, mtls->eStrideOut);
}
}
@@ -392,22 +383,17 @@ void rsdScriptInvokeForEach(const Context *rsc,
uint32_t sig = mtls.sig;
//LOGE("launch 3");
+ outer_foreach_t fn = dc->mForEachLaunch[sig];
for (p.ar[0] = mtls.arrayStart; p.ar[0] < mtls.arrayEnd; p.ar[0]++) {
for (p.z = mtls.zStart; p.z < mtls.zEnd; p.z++) {
for (p.y = mtls.yStart; p.y < mtls.yEnd; p.y++) {
uint32_t offset = mtls.dimX * mtls.dimY * mtls.dimZ * p.ar[0] +
mtls.dimX * mtls.dimY * p.z +
mtls.dimX * p.y;
- uint8_t *xPtrOut = mtls.ptrOut + (mtls.eStrideOut * offset);
- const uint8_t *xPtrIn = mtls.ptrIn + (mtls.eStrideIn * offset);
-
- for (p.x = mtls.xStart; p.x < mtls.xEnd; p.x++) {
- p.in = xPtrIn;
- p.out = xPtrOut;
- dc->mForEachLaunch[sig](&s->mHal.info.root, &p);
- xPtrIn += mtls.eStrideIn;
- xPtrOut += mtls.eStrideOut;
- }
+ p.out = mtls.ptrOut + (mtls.eStrideOut * offset);
+ p.in = mtls.ptrIn + (mtls.eStrideIn * offset);
+ fn(&mtls.script->mHal.info.root, &p, mtls.xStart, mtls.xEnd,
+ mtls.eStrideIn, mtls.eStrideOut);
}
}
}
diff --git a/libs/rs/driver/rsdCore.cpp b/libs/rs/driver/rsdCore.cpp
index f8107d9ff633..247f4dc163af 100644
--- a/libs/rs/driver/rsdCore.cpp
+++ b/libs/rs/driver/rsdCore.cpp
@@ -292,75 +292,136 @@ void Shutdown(Context *rsc) {
}
static void rsdForEach17(const void *vRoot,
- const android::renderscript::RsForEachStubParamStruct *p) {
+ const android::renderscript::RsForEachStubParamStruct *p,
+ uint32_t x1, uint32_t x2,
+ uint32_t instep, uint32_t outstep) {
typedef void (*fe)(const void *, uint32_t);
(*(fe*)vRoot)(p->in, p->y);
}
static void rsdForEach18(const void *vRoot,
- const android::renderscript::RsForEachStubParamStruct *p) {
+ const android::renderscript::RsForEachStubParamStruct *p,
+ uint32_t x1, uint32_t x2,
+ uint32_t instep, uint32_t outstep) {
typedef void (*fe)(void *, uint32_t);
(*(fe*)vRoot)(p->out, p->y);
}
static void rsdForEach19(const void *vRoot,
- const android::renderscript::RsForEachStubParamStruct *p) {
+ const android::renderscript::RsForEachStubParamStruct *p,
+ uint32_t x1, uint32_t x2,
+ uint32_t instep, uint32_t outstep) {
typedef void (*fe)(const void *, void *, uint32_t);
(*(fe*)vRoot)(p->in, p->out, p->y);
}
static void rsdForEach21(const void *vRoot,
- const android::renderscript::RsForEachStubParamStruct *p) {
+ const android::renderscript::RsForEachStubParamStruct *p,
+ uint32_t x1, uint32_t x2,
+ uint32_t instep, uint32_t outstep) {
typedef void (*fe)(const void *, const void *, uint32_t);
(*(fe*)vRoot)(p->in, p->usr, p->y);
}
static void rsdForEach22(const void *vRoot,
- const android::renderscript::RsForEachStubParamStruct *p) {
+ const android::renderscript::RsForEachStubParamStruct *p,
+ uint32_t x1, uint32_t x2,
+ uint32_t instep, uint32_t outstep) {
typedef void (*fe)(void *, const void *, uint32_t);
(*(fe*)vRoot)(p->out, p->usr, p->y);
}
static void rsdForEach23(const void *vRoot,
- const android::renderscript::RsForEachStubParamStruct *p) {
+ const android::renderscript::RsForEachStubParamStruct *p,
+ uint32_t x1, uint32_t x2,
+ uint32_t instep, uint32_t outstep) {
typedef void (*fe)(const void *, void *, const void *, uint32_t);
(*(fe*)vRoot)(p->in, p->out, p->usr, p->y);
}
static void rsdForEach25(const void *vRoot,
- const android::renderscript::RsForEachStubParamStruct *p) {
+ const android::renderscript::RsForEachStubParamStruct *p,
+ uint32_t x1, uint32_t x2,
+ uint32_t instep, uint32_t outstep) {
typedef void (*fe)(const void *, uint32_t, uint32_t);
- (*(fe*)vRoot)(p->in, p->x, p->y);
+ const uint8_t *pin = (const uint8_t *)p->in;
+ uint32_t y = p->y;
+ for (uint32_t x = x1; x < x2; x++) {
+ (*(fe*)vRoot)(pin, x, y);
+ pin += instep;
+ }
}
static void rsdForEach26(const void *vRoot,
- const android::renderscript::RsForEachStubParamStruct *p) {
+ const android::renderscript::RsForEachStubParamStruct *p,
+ uint32_t x1, uint32_t x2,
+ uint32_t instep, uint32_t outstep) {
typedef void (*fe)(void *, uint32_t, uint32_t);
- (*(fe*)vRoot)(p->out, p->x, p->y);
+ uint8_t *pout = (uint8_t *)p->out;
+ uint32_t y = p->y;
+ for (uint32_t x = x1; x < x2; x++) {
+ (*(fe*)vRoot)(pout, x, y);
+ pout += outstep;
+ }
}
static void rsdForEach27(const void *vRoot,
- const android::renderscript::RsForEachStubParamStruct *p) {
+ const android::renderscript::RsForEachStubParamStruct *p,
+ uint32_t x1, uint32_t x2,
+ uint32_t instep, uint32_t outstep) {
typedef void (*fe)(const void *, void *, uint32_t, uint32_t);
- (*(fe*)vRoot)(p->in, p->out, p->x, p->y);
+ uint8_t *pout = (uint8_t *)p->out;
+ const uint8_t *pin = (const uint8_t *)p->in;
+ uint32_t y = p->y;
+ for (uint32_t x = x1; x < x2; x++) {
+ (*(fe*)vRoot)(pin, pout, x, y);
+ pin += instep;
+ pout += outstep;
+ }
}
static void rsdForEach29(const void *vRoot,
- const android::renderscript::RsForEachStubParamStruct *p) {
+ const android::renderscript::RsForEachStubParamStruct *p,
+ uint32_t x1, uint32_t x2,
+ uint32_t instep, uint32_t outstep) {
typedef void (*fe)(const void *, const void *, uint32_t, uint32_t);
- (*(fe*)vRoot)(p->in, p->usr, p->x, p->y);
+ const uint8_t *pin = (const uint8_t *)p->in;
+ const void *usr = p->usr;
+ const uint32_t y = p->y;
+ for (uint32_t x = x1; x < x2; x++) {
+ (*(fe*)vRoot)(pin, usr, x, y);
+ pin += instep;
+ }
}
static void rsdForEach30(const void *vRoot,
- const android::renderscript::RsForEachStubParamStruct *p) {
+ const android::renderscript::RsForEachStubParamStruct *p,
+ uint32_t x1, uint32_t x2,
+ uint32_t instep, uint32_t outstep) {
typedef void (*fe)(void *, const void *, uint32_t, uint32_t);
- (*(fe*)vRoot)(p->out, p->usr, p->x, p->y);
+ uint8_t *pout = (uint8_t *)p->out;
+ const void *usr = p->usr;
+ const uint32_t y = p->y;
+ for (uint32_t x = x1; x < x2; x++) {
+ (*(fe*)vRoot)(pout, usr, x, y);
+ pout += outstep;
+ }
}
static void rsdForEach31(const void *vRoot,
- const android::renderscript::RsForEachStubParamStruct *p) {
+ const android::renderscript::RsForEachStubParamStruct *p,
+ uint32_t x1, uint32_t x2,
+ uint32_t instep, uint32_t outstep) {
typedef void (*fe)(const void *, void *, const void *, uint32_t, uint32_t);
- (*(fe*)vRoot)(p->in, p->out, p->usr, p->x, p->y);
+ uint8_t *pout = (uint8_t *)p->out;
+ const uint8_t *pin = (const uint8_t *)p->in;
+ const void *usr = p->usr;
+ const uint32_t y = p->y;
+ for (uint32_t x = x1; x < x2; x++) {
+ (*(fe*)vRoot)(pin, pout, usr, x, y);
+ pin += instep;
+ pout += outstep;
+ }
}
diff --git a/libs/rs/driver/rsdCore.h b/libs/rs/driver/rsdCore.h
index 159b72af96c8..ce86d118a8cd 100644
--- a/libs/rs/driver/rsdCore.h
+++ b/libs/rs/driver/rsdCore.h
@@ -28,7 +28,9 @@ typedef void (* InvokeFunc_t)(void);
typedef void (*WorkerCallback_t)(void *usr, uint32_t idx);
typedef void (*outer_foreach_t)(const void *,
- const android::renderscript::RsForEachStubParamStruct *);
+ const android::renderscript::RsForEachStubParamStruct *,
+ uint32_t x1, uint32_t x2,
+ uint32_t instep, uint32_t outstep);
typedef struct RsdSymbolTableRec {
const char * mName;
diff --git a/libs/rs/driver/rsdFrameBuffer.cpp b/libs/rs/driver/rsdFrameBuffer.cpp
index 8c1b12d7cada..bb07d296c5ee 100644
--- a/libs/rs/driver/rsdFrameBuffer.cpp
+++ b/libs/rs/driver/rsdFrameBuffer.cpp
@@ -33,11 +33,11 @@ void setDepthAttachment(const Context *rsc, const FBOCache *fb) {
RsdFrameBufferObj *fbo = (RsdFrameBufferObj*)fb->mHal.drv;
DrvAllocation *depth = NULL;
- if (fb->mHal.state.depthTarget.get() != NULL) {
+ if (fb->mHal.state.depthTarget != NULL) {
depth = (DrvAllocation *)fb->mHal.state.depthTarget->mHal.drv;
if (depth->uploadDeferred) {
- rsdAllocationSyncAll(rsc, fb->mHal.state.depthTarget.get(),
+ rsdAllocationSyncAll(rsc, fb->mHal.state.depthTarget,
RS_ALLOCATION_USAGE_SCRIPT);
}
}
@@ -49,11 +49,11 @@ void setColorAttachment(const Context *rsc, const FBOCache *fb) {
// Now attach color targets
for (uint32_t i = 0; i < fb->mHal.state.colorTargetsCount; i ++) {
DrvAllocation *color = NULL;
- if (fb->mHal.state.colorTargets[i].get() != NULL) {
+ if (fb->mHal.state.colorTargets[i] != NULL) {
color = (DrvAllocation *)fb->mHal.state.colorTargets[i]->mHal.drv;
if (color->uploadDeferred) {
- rsdAllocationSyncAll(rsc, fb->mHal.state.colorTargets[i].get(),
+ rsdAllocationSyncAll(rsc, fb->mHal.state.colorTargets[i],
RS_ALLOCATION_USAGE_SCRIPT);
}
}
@@ -79,10 +79,10 @@ void rsdFrameBufferSetActive(const Context *rsc, const FBOCache *fb) {
setColorAttachment(rsc, fb);
RsdFrameBufferObj *fbo = (RsdFrameBufferObj *)fb->mHal.drv;
- if (fb->mHal.state.colorTargets[0].get()) {
+ if (fb->mHal.state.colorTargets[0]) {
fbo->setDimensions(fb->mHal.state.colorTargets[0]->getType()->getDimX(),
fb->mHal.state.colorTargets[0]->getType()->getDimY());
- } else if (fb->mHal.state.depthTarget.get()) {
+ } else if (fb->mHal.state.depthTarget) {
fbo->setDimensions(fb->mHal.state.depthTarget->getType()->getDimX(),
fb->mHal.state.depthTarget->getType()->getDimY());
}
diff --git a/libs/rs/driver/rsdMeshObj.cpp b/libs/rs/driver/rsdMeshObj.cpp
index 019167bd0b2d..24a718331776 100644
--- a/libs/rs/driver/rsdMeshObj.cpp
+++ b/libs/rs/driver/rsdMeshObj.cpp
@@ -138,7 +138,7 @@ void RsdMeshObj::renderPrimitiveRange(const Context *rsc, uint32_t primIndex,
}
for (uint32_t ct=0; ct < mRSMesh->mHal.state.vertexBuffersCount; ct++) {
- const Allocation *alloc = mRSMesh->mHal.state.vertexBuffers[ct].get();
+ const Allocation *alloc = mRSMesh->mHal.state.vertexBuffers[ct];
DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
if (drv->uploadDeferred) {
rsdAllocationSyncAll(rsc, alloc, RS_ALLOCATION_USAGE_SCRIPT);
@@ -148,7 +148,7 @@ void RsdMeshObj::renderPrimitiveRange(const Context *rsc, uint32_t primIndex,
// update attributes with either buffer information or data ptr based on their current state
for (uint32_t ct=0; ct < mAttribCount; ct++) {
uint32_t allocIndex = mAttribAllocationIndex[ct];
- Allocation *alloc = mRSMesh->mHal.state.vertexBuffers[allocIndex].get();
+ Allocation *alloc = mRSMesh->mHal.state.vertexBuffers[allocIndex];
DrvAllocation *drvAlloc = (DrvAllocation *)alloc->mHal.drv;
if (drvAlloc->bufferID) {
@@ -163,8 +163,7 @@ void RsdMeshObj::renderPrimitiveRange(const Context *rsc, uint32_t primIndex,
RsdVertexArray va(mAttribs, mAttribCount);
va.setup(rsc);
- Mesh::Primitive_t *prim = mRSMesh->mHal.state.primitives[primIndex];
- const Allocation *idxAlloc = prim->mIndexBuffer.get();
+ const Allocation *idxAlloc = mRSMesh->mHal.state.indexBuffers[primIndex];
if (idxAlloc) {
DrvAllocation *drvAlloc = (DrvAllocation *)idxAlloc->mHal.drv;
if (drvAlloc->uploadDeferred) {
@@ -190,7 +189,7 @@ void RsdMeshObj::renderPrimitiveRange(const Context *rsc, uint32_t primIndex,
void RsdMeshObj::updateGLPrimitives() {
mGLPrimitives = new uint32_t[mRSMesh->mHal.state.primitivesCount];
for (uint32_t i = 0; i < mRSMesh->mHal.state.primitivesCount; i ++) {
- switch (mRSMesh->mHal.state.primitives[i]->mPrimitive) {
+ switch (mRSMesh->mHal.state.primitives[i]) {
case RS_PRIMITIVE_POINT: mGLPrimitives[i] = GL_POINTS; break;
case RS_PRIMITIVE_LINE: mGLPrimitives[i] = GL_LINES; break;
case RS_PRIMITIVE_LINE_STRIP: mGLPrimitives[i] = GL_LINE_STRIP; break;
diff --git a/libs/rs/driver/rsdProgram.cpp b/libs/rs/driver/rsdProgram.cpp
index 27a66639148b..7556e50a37ec 100644
--- a/libs/rs/driver/rsdProgram.cpp
+++ b/libs/rs/driver/rsdProgram.cpp
@@ -43,7 +43,7 @@ bool rsdProgramVertexInit(const Context *rsc, const ProgramVertex *pv,
static void SyncProgramConstants(const Context *rsc, const Program *p) {
for (uint32_t ct=0; ct < p->mHal.state.texturesCount; ct++) {
- const Allocation *a = p->mHal.state.textures[ct].get();
+ const Allocation *a = p->mHal.state.textures[ct];
if (!a) {
continue;
}
diff --git a/libs/rs/driver/rsdShader.cpp b/libs/rs/driver/rsdShader.cpp
index 16ff0634748f..bdb60c24f917 100644
--- a/libs/rs/driver/rsdShader.cpp
+++ b/libs/rs/driver/rsdShader.cpp
@@ -69,7 +69,7 @@ void RsdShader::init() {
uint32_t attribCount = 0;
uint32_t uniformCount = 0;
for (uint32_t ct=0; ct < mRSProgram->mHal.state.inputElementsCount; ct++) {
- initAddUserElement(mRSProgram->mHal.state.inputElements[ct].get(), mAttribNames, NULL, &attribCount, RS_SHADER_ATTR);
+ initAddUserElement(mRSProgram->mHal.state.inputElements[ct], mAttribNames, NULL, &attribCount, RS_SHADER_ATTR);
}
for (uint32_t ct=0; ct < mRSProgram->mHal.state.constantsCount; ct++) {
initAddUserElement(mRSProgram->mHal.state.constantTypes[ct]->getElement(), mUniformNames, mUniformArraySizes, &uniformCount, RS_SHADER_UNI);
@@ -89,7 +89,7 @@ void RsdShader::init() {
String8 RsdShader::getGLSLInputString() const {
String8 s;
for (uint32_t ct=0; ct < mRSProgram->mHal.state.inputElementsCount; ct++) {
- const Element *e = mRSProgram->mHal.state.inputElements[ct].get();
+ const Element *e = mRSProgram->mHal.state.inputElements[ct];
for (uint32_t field=0; field < e->getFieldCount(); field++) {
const Element *f = e->getField(field);
@@ -113,7 +113,7 @@ String8 RsdShader::getGLSLInputString() const {
void RsdShader::appendAttributes() {
for (uint32_t ct=0; ct < mRSProgram->mHal.state.inputElementsCount; ct++) {
- const Element *e = mRSProgram->mHal.state.inputElements[ct].get();
+ const Element *e = mRSProgram->mHal.state.inputElements[ct];
for (uint32_t field=0; field < e->getFieldCount(); field++) {
const Element *f = e->getField(field);
const char *fn = e->getFieldName(field);
@@ -414,7 +414,7 @@ void RsdShader::setupTextures(const Context *rsc, RsdShaderCache *sc) {
RSD_CALL_GL(glActiveTexture, GL_TEXTURE0 + ct);
RSD_CALL_GL(glUniform1i, sc->fragUniformSlot(mTextureUniformIndexStart + ct), ct);
- if (!mRSProgram->mHal.state.textures[ct].get()) {
+ if (!mRSProgram->mHal.state.textures[ct]) {
// if nothing is bound, reset to default GL texture
RSD_CALL_GL(glBindTexture, mTextureTargets[ct], 0);
continue;
@@ -427,9 +427,9 @@ void RsdShader::setupTextures(const Context *rsc, RsdShaderCache *sc) {
}
RSD_CALL_GL(glBindTexture, drvTex->glTarget, drvTex->textureID);
rsdGLCheckError(rsc, "ProgramFragment::setup tex bind");
- if (mRSProgram->mHal.state.samplers[ct].get()) {
- setupSampler(rsc, mRSProgram->mHal.state.samplers[ct].get(),
- mRSProgram->mHal.state.textures[ct].get());
+ if (mRSProgram->mHal.state.samplers[ct]) {
+ setupSampler(rsc, mRSProgram->mHal.state.samplers[ct],
+ mRSProgram->mHal.state.textures[ct]);
} else {
RSD_CALL_GL(glTexParameteri, drvTex->glTarget, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
RSD_CALL_GL(glTexParameteri, drvTex->glTarget, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
@@ -448,7 +448,7 @@ void RsdShader::setupTextures(const Context *rsc, RsdShaderCache *sc) {
void RsdShader::setupUserConstants(const Context *rsc, RsdShaderCache *sc, bool isFragment) {
uint32_t uidx = 0;
for (uint32_t ct=0; ct < mRSProgram->mHal.state.constantsCount; ct++) {
- Allocation *alloc = mRSProgram->mHal.state.constants[ct].get();
+ Allocation *alloc = mRSProgram->mHal.state.constants[ct];
if (!alloc) {
LOGE("Attempting to set constants on shader id %u, but alloc at slot %u is not set",
(uint32_t)this, ct);
@@ -504,7 +504,7 @@ void RsdShader::setup(const android::renderscript::Context *rsc, RsdShaderCache
void RsdShader::initAttribAndUniformArray() {
mAttribCount = 0;
for (uint32_t ct=0; ct < mRSProgram->mHal.state.inputElementsCount; ct++) {
- const Element *elem = mRSProgram->mHal.state.inputElements[ct].get();
+ const Element *elem = mRSProgram->mHal.state.inputElements[ct];
for (uint32_t field=0; field < elem->getFieldCount(); field++) {
if (elem->getFieldName(field)[0] != '#') {
mAttribCount ++;
diff --git a/libs/rs/rsAllocation.cpp b/libs/rs/rsAllocation.cpp
index 4359d957193a..e73263009fc6 100644
--- a/libs/rs/rsAllocation.cpp
+++ b/libs/rs/rsAllocation.cpp
@@ -30,7 +30,7 @@ Allocation::Allocation(Context *rsc, const Type *type, uint32_t usages,
mHal.state.usageFlags = usages;
mHal.state.mipmapControl = mc;
- mHal.state.type.set(type);
+ setType(type);
updateCache();
}
@@ -47,7 +47,7 @@ Allocation * Allocation::createAllocation(Context *rsc, const Type *type, uint32
}
void Allocation::updateCache() {
- const Type *type = mHal.state.type.get();
+ const Type *type = mHal.state.type;
mHal.state.dimensionX = type->getDimX();
mHal.state.dimensionY = type->getDimY();
mHal.state.dimensionZ = type->getDimZ();
@@ -187,7 +187,7 @@ void Allocation::dumpLOGV(const char *prefix) const {
String8 s(prefix);
s.append(" type ");
- if (mHal.state.type.get()) {
+ if (mHal.state.type) {
mHal.state.type->dumpLOGV(s.string());
}
@@ -314,7 +314,7 @@ void Allocation::resize1D(Context *rsc, uint32_t dimX) {
decRefs(getPtr(), oldDimX - dimX, dimX);
}
rsc->mHal.funcs.allocation.resize(rsc, this, t.get(), mHal.state.hasReferences);
- mHal.state.type.set(t.get());
+ setType(t.get());
updateCache();
}
diff --git a/libs/rs/rsAllocation.h b/libs/rs/rsAllocation.h
index 67fc3b5e0777..714798aa1e0c 100644
--- a/libs/rs/rsAllocation.h
+++ b/libs/rs/rsAllocation.h
@@ -41,7 +41,7 @@ public:
void * drv;
struct State {
- ObjectBaseRef<const Type> type;
+ const Type * type;
uint32_t usageFlags;
RsAllocationMipmapControl mipmapControl;
@@ -71,7 +71,7 @@ public:
void updateCache();
void * getPtr() const {return mHal.drvState.mallocPtr;}
- const Type * getType() const {return mHal.state.type.get();}
+ const Type * getType() const {return mHal.state.type;}
void syncAll(Context *rsc, RsAllocationUsageType src);
@@ -126,6 +126,11 @@ public:
protected:
Vector<const Program *> mToDirtyList;
+ ObjectBaseRef<const Type> mType;
+ void setType(const Type *t) {
+ mType.set(t);
+ mHal.state.type = t;
+ }
private:
void freeChildrenUnlocked();
diff --git a/libs/rs/rsElement.cpp b/libs/rs/rsElement.cpp
index d6ab0dac064c..71e1b91c6371 100644
--- a/libs/rs/rsElement.cpp
+++ b/libs/rs/rsElement.cpp
@@ -364,7 +364,7 @@ void rsaElementGetNativeData(RsContext con, RsElement elem,
}
void rsaElementGetSubElements(RsContext con, RsElement elem, uint32_t *ids,
- const char **names, uint32_t dataSize) {
+ const char **names, uint32_t *arraySizes, uint32_t dataSize) {
Element *e = static_cast<Element *>(elem);
rsAssert(e->getFieldCount() == dataSize);
@@ -372,5 +372,6 @@ void rsaElementGetSubElements(RsContext con, RsElement elem, uint32_t *ids,
e->getField(i)->incUserRef();
ids[i] = (uint32_t)e->getField(i);
names[i] = e->getFieldName(i);
+ arraySizes[i] = e->getFieldArraySize(i);
}
}
diff --git a/libs/rs/rsFBOCache.cpp b/libs/rs/rsFBOCache.cpp
index c5c64c27b602..f4a8bc6d7b30 100644
--- a/libs/rs/rsFBOCache.cpp
+++ b/libs/rs/rsFBOCache.cpp
@@ -26,11 +26,14 @@ using namespace android::renderscript;
FBOCache::FBOCache() {
mDirty = true;
mHal.state.colorTargetsCount = 1;
- mHal.state.colorTargets = new ObjectBaseRef<Allocation>[mHal.state.colorTargetsCount];
+ mHal.state.colorTargets = new Allocation*[mHal.state.colorTargetsCount];
+ mColorTargets = new ObjectBaseRef<Allocation>[mHal.state.colorTargetsCount];
+ resetAll(NULL);
}
FBOCache::~FBOCache() {
delete[] mHal.state.colorTargets;
+ delete[] mColorTargets;
}
void FBOCache::init(Context *rsc) {
@@ -52,7 +55,8 @@ void FBOCache::bindColorTarget(Context *rsc, Allocation *a, uint32_t slot) {
return;
}
}
- mHal.state.colorTargets[slot].set(a);
+ mColorTargets[slot].set(a);
+ mHal.state.colorTargets[slot] = a;
mDirty = true;
}
@@ -63,15 +67,18 @@ void FBOCache::bindDepthTarget(Context *rsc, Allocation *a) {
return;
}
}
- mHal.state.depthTarget.set(a);
+ mDepthTarget.set(a);
+ mHal.state.depthTarget = a;
mDirty = true;
}
void FBOCache::resetAll(Context *) {
for (uint32_t i = 0; i < mHal.state.colorTargetsCount; i ++) {
- mHal.state.colorTargets[i].set(NULL);
+ mColorTargets[i].set(NULL);
+ mHal.state.colorTargets[i] = NULL;
}
- mHal.state.depthTarget.set(NULL);
+ mDepthTarget.set(NULL);
+ mHal.state.depthTarget = NULL;
mDirty = true;
}
diff --git a/libs/rs/rsFBOCache.h b/libs/rs/rsFBOCache.h
index 5d58ba405416..abb84de0c83f 100644
--- a/libs/rs/rsFBOCache.h
+++ b/libs/rs/rsFBOCache.h
@@ -44,15 +44,17 @@ public:
mutable void *drv;
struct State {
- ObjectBaseRef<Allocation> *colorTargets;
+ Allocation **colorTargets;
uint32_t colorTargetsCount;
- ObjectBaseRef<Allocation> depthTarget;
+ Allocation *depthTarget;
};
State state;
};
Hal mHal;
protected:
+ ObjectBaseRef<Allocation> *mColorTargets;
+ ObjectBaseRef<Allocation> mDepthTarget;
bool mDirty;
void checkError(Context *);
void setColorAttachment(Context *rsc);
diff --git a/libs/rs/rsMesh.cpp b/libs/rs/rsMesh.cpp
index 359d09fdcd86..bf9284f56aaf 100644
--- a/libs/rs/rsMesh.cpp
+++ b/libs/rs/rsMesh.cpp
@@ -23,9 +23,14 @@ Mesh::Mesh(Context *rsc) : ObjectBase(rsc) {
mHal.drv = NULL;
mHal.state.primitives = NULL;
mHal.state.primitivesCount = 0;
+ mHal.state.indexBuffers = NULL;
+ mHal.state.indexBuffersCount = 0;
mHal.state.vertexBuffers = NULL;
mHal.state.vertexBuffersCount = 0;
mInitialized = false;
+
+ mVertexBuffers = NULL;
+ mIndexBuffers = NULL;
}
Mesh::Mesh(Context *rsc,
@@ -33,12 +38,23 @@ Mesh::Mesh(Context *rsc,
uint32_t primitivesCount) : ObjectBase(rsc) {
mHal.drv = NULL;
mHal.state.primitivesCount = primitivesCount;
- mHal.state.primitives = new Primitive_t *[mHal.state.primitivesCount];
+ mHal.state.indexBuffersCount = primitivesCount;
+ mHal.state.primitives = new RsPrimitive[mHal.state.primitivesCount];
+ mHal.state.indexBuffers = new Allocation *[mHal.state.indexBuffersCount];
for (uint32_t i = 0; i < mHal.state.primitivesCount; i ++) {
- mHal.state.primitives[i] = new Primitive_t;
+ mHal.state.primitives[i] = RS_PRIMITIVE_POINT;
+ }
+ for (uint32_t i = 0; i < mHal.state.indexBuffersCount; i ++) {
+ mHal.state.indexBuffers[i] = NULL;
}
mHal.state.vertexBuffersCount = vertexBuffersCount;
- mHal.state.vertexBuffers = new ObjectBaseRef<Allocation>[mHal.state.vertexBuffersCount];
+ mHal.state.vertexBuffers = new Allocation *[mHal.state.vertexBuffersCount];
+ for (uint32_t i = 0; i < mHal.state.vertexBuffersCount; i ++) {
+ mHal.state.vertexBuffers[i] = NULL;
+ }
+
+ mVertexBuffers = new ObjectBaseRef<Allocation>[mHal.state.vertexBuffersCount];
+ mIndexBuffers = new ObjectBaseRef<Allocation>[mHal.state.primitivesCount];
}
Mesh::~Mesh() {
@@ -46,17 +62,12 @@ Mesh::~Mesh() {
mRSC->mHal.funcs.mesh.destroy(mRSC, this);
#endif
- if (mHal.state.vertexBuffers) {
- delete[] mHal.state.vertexBuffers;
- }
+ delete[] mHal.state.vertexBuffers;
+ delete[] mHal.state.primitives;
+ delete[] mHal.state.indexBuffers;
- if (mHal.state.primitives) {
- for (uint32_t i = 0; i < mHal.state.primitivesCount; i ++) {
- mHal.state.primitives[i]->mIndexBuffer.clear();
- delete mHal.state.primitives[i];
- }
- delete[] mHal.state.primitives;
- }
+ delete[] mVertexBuffers;
+ delete[] mIndexBuffers;
}
void Mesh::init() {
@@ -81,13 +92,11 @@ void Mesh::serialize(OStream *stream) const {
stream->addU32(mHal.state.primitivesCount);
// Store the primitives
for (uint32_t pCount = 0; pCount < mHal.state.primitivesCount; pCount ++) {
- Primitive_t * prim = mHal.state.primitives[pCount];
+ stream->addU8((uint8_t)mHal.state.primitives[pCount]);
- stream->addU8((uint8_t)prim->mPrimitive);
-
- if (prim->mIndexBuffer.get()) {
+ if (mHal.state.indexBuffers[pCount]) {
stream->addU32(1);
- prim->mIndexBuffer->serialize(stream);
+ mHal.state.indexBuffers[pCount]->serialize(stream);
} else {
stream->addU32(0);
}
@@ -173,10 +182,8 @@ void Mesh::renderPrimitive(Context *rsc, uint32_t primIndex) const {
return;
}
- Primitive_t *prim = mHal.state.primitives[primIndex];
-
- if (prim->mIndexBuffer.get()) {
- renderPrimitiveRange(rsc, primIndex, 0, prim->mIndexBuffer->getType()->getDimX());
+ if (mHal.state.indexBuffers[primIndex]) {
+ renderPrimitiveRange(rsc, primIndex, 0, mHal.state.indexBuffers[primIndex]->getType()->getDimX());
return;
}
@@ -194,14 +201,14 @@ void Mesh::renderPrimitiveRange(Context *rsc, uint32_t primIndex, uint32_t start
void Mesh::uploadAll(Context *rsc) {
for (uint32_t ct = 0; ct < mHal.state.vertexBuffersCount; ct ++) {
- if (mHal.state.vertexBuffers[ct].get()) {
- rsc->mHal.funcs.allocation.markDirty(rsc, mHal.state.vertexBuffers[ct].get());
+ if (mHal.state.vertexBuffers[ct]) {
+ rsc->mHal.funcs.allocation.markDirty(rsc, mHal.state.vertexBuffers[ct]);
}
}
for (uint32_t ct = 0; ct < mHal.state.primitivesCount; ct ++) {
- if (mHal.state.primitives[ct]->mIndexBuffer.get()) {
- rsc->mHal.funcs.allocation.markDirty(rsc, mHal.state.primitives[ct]->mIndexBuffer.get());
+ if (mHal.state.indexBuffers[ct]) {
+ rsc->mHal.funcs.allocation.markDirty(rsc, mHal.state.indexBuffers[ct]);
}
}
}
@@ -290,7 +297,7 @@ void rsaMeshGetVertices(RsContext con, RsMesh mv, RsAllocation *vtxData, uint32_
rsAssert(vtxDataCount == sm->mHal.state.vertexBuffersCount);
for (uint32_t ct = 0; ct < vtxDataCount; ct ++) {
- vtxData[ct] = sm->mHal.state.vertexBuffers[ct].get();
+ vtxData[ct] = sm->mHal.state.vertexBuffers[ct];
sm->mHal.state.vertexBuffers[ct]->incUserRef();
}
}
@@ -300,10 +307,10 @@ void rsaMeshGetIndices(RsContext con, RsMesh mv, RsAllocation *va, uint32_t *pri
rsAssert(idxDataCount == sm->mHal.state.primitivesCount);
for (uint32_t ct = 0; ct < idxDataCount; ct ++) {
- va[ct] = sm->mHal.state.primitives[ct]->mIndexBuffer.get();
- primType[ct] = sm->mHal.state.primitives[ct]->mPrimitive;
- if (sm->mHal.state.primitives[ct]->mIndexBuffer.get()) {
- sm->mHal.state.primitives[ct]->mIndexBuffer->incUserRef();
+ va[ct] = sm->mHal.state.indexBuffers[ct];
+ primType[ct] = sm->mHal.state.primitives[ct];
+ if (sm->mHal.state.indexBuffers[ct]) {
+ sm->mHal.state.indexBuffers[ct]->incUserRef();
}
}
}
diff --git a/libs/rs/rsMesh.h b/libs/rs/rsMesh.h
index ed1e93d63954..0fc73fba5c95 100644
--- a/libs/rs/rsMesh.h
+++ b/libs/rs/rsMesh.h
@@ -32,13 +32,6 @@ public:
Mesh(Context *, uint32_t vertexBuffersCount, uint32_t primitivesCount);
~Mesh();
- // Either mIndexBuffer, mPrimitiveBuffer or both could have a NULL reference
- // If both are null, mPrimitive only would be used to render the mesh
- struct Primitive_t {
- ObjectBaseRef<Allocation> mIndexBuffer;
- RsPrimitive mPrimitive;
- };
-
virtual void serialize(OStream *stream) const;
virtual RsA3DClassID getClassId() const { return RS_A3D_CLASS_ID_MESH; }
static Mesh *createFromStream(Context *rsc, IStream *stream);
@@ -51,10 +44,13 @@ public:
// Contains vertex data
// Position, normal, texcoord, etc could either be strided in one allocation
// of provided separetely in multiple ones
- ObjectBaseRef<Allocation> *vertexBuffers;
+ Allocation **vertexBuffers;
uint32_t vertexBuffersCount;
- Primitive_t ** primitives;
+ // indexBuffers[i] could be NULL, in which case only primitives[i] is used
+ Allocation **indexBuffers;
+ uint32_t indexBuffersCount;
+ RsPrimitive *primitives;
uint32_t primitivesCount;
};
State state;
@@ -62,12 +58,14 @@ public:
Hal mHal;
void setVertexBuffer(Allocation *vb, uint32_t index) {
- mHal.state.vertexBuffers[index].set(vb);
+ mVertexBuffers[index].set(vb);
+ mHal.state.vertexBuffers[index] = vb;
}
void setPrimitive(Allocation *idx, RsPrimitive prim, uint32_t index) {
- mHal.state.primitives[index]->mIndexBuffer.set(idx);
- mHal.state.primitives[index]->mPrimitive = prim;
+ mIndexBuffers[index].set(idx);
+ mHal.state.indexBuffers[index] = idx;
+ mHal.state.primitives[index] = prim;
}
void render(Context *) const;
@@ -80,6 +78,8 @@ public:
float mBBoxMax[3];
void computeBBox();
protected:
+ ObjectBaseRef<Allocation> *mVertexBuffers;
+ ObjectBaseRef<Allocation> *mIndexBuffers;
bool mInitialized;
};
diff --git a/libs/rs/rsProgram.cpp b/libs/rs/rsProgram.cpp
index 4178aa5b547e..a9fd8776e5fd 100644
--- a/libs/rs/rsProgram.cpp
+++ b/libs/rs/rsProgram.cpp
@@ -37,22 +37,33 @@ Program::Program(Context *rsc, const char * shaderText, uint32_t shaderLength,
}
}
- mHal.state.textures = new ObjectBaseRef<Allocation>[mHal.state.texturesCount];
- mHal.state.samplers = new ObjectBaseRef<Sampler>[mHal.state.texturesCount];
+ mTextures = new ObjectBaseRef<Allocation>[mHal.state.texturesCount];
+ mSamplers = new ObjectBaseRef<Sampler>[mHal.state.texturesCount];
+ mInputElements = new ObjectBaseRef<Element>[mHal.state.inputElementsCount];
+ mConstantTypes = new ObjectBaseRef<Type>[mHal.state.constantsCount];
+ mConstants = new ObjectBaseRef<Allocation>[mHal.state.constantsCount];
+
+ mHal.state.textures = new Allocation*[mHal.state.texturesCount];
+ mHal.state.samplers = new Sampler*[mHal.state.texturesCount];
mHal.state.textureTargets = new RsTextureTarget[mHal.state.texturesCount];
- mHal.state.inputElements = new ObjectBaseRef<Element>[mHal.state.inputElementsCount];
- mHal.state.constantTypes = new ObjectBaseRef<Type>[mHal.state.constantsCount];
- mHal.state.constants = new ObjectBaseRef<Allocation>[mHal.state.constantsCount];
+ mHal.state.inputElements = new Element*[mHal.state.inputElementsCount];
+ mHal.state.constantTypes = new Type*[mHal.state.constantsCount];
+ mHal.state.constants = new Allocation*[mHal.state.constantsCount];
+
+ // Will initialize everything
+ freeChildren();
uint32_t input = 0;
uint32_t constant = 0;
uint32_t texture = 0;
for (uint32_t ct=0; ct < paramLength; ct+=2) {
if (params[ct] == RS_PROGRAM_PARAM_INPUT) {
- mHal.state.inputElements[input++].set(reinterpret_cast<Element *>(params[ct+1]));
+ mInputElements[input].set(reinterpret_cast<Element *>(params[ct+1]));
+ mHal.state.inputElements[input++] = reinterpret_cast<Element *>(params[ct+1]);
}
if (params[ct] == RS_PROGRAM_PARAM_CONSTANT) {
- mHal.state.constantTypes[constant++].set(reinterpret_cast<Type *>(params[ct+1]));
+ mConstantTypes[constant].set(reinterpret_cast<Type *>(params[ct+1]));
+ mHal.state.constantTypes[constant++] = reinterpret_cast<Type *>(params[ct+1]);
}
if (params[ct] == RS_PROGRAM_PARAM_TEXTURE_TYPE) {
mHal.state.textureTargets[texture++] = (RsTextureTarget)params[ct+1];
@@ -72,6 +83,12 @@ Program::Program(Context *rsc, const char * shaderText, uint32_t shaderLength,
Program::~Program() {
freeChildren();
+ delete[] mTextures;
+ delete[] mSamplers;
+ delete[] mInputElements;
+ delete[] mConstantTypes;
+ delete[] mConstants;
+
delete[] mHal.state.textures;
delete[] mHal.state.samplers;
delete[] mHal.state.textureTargets;
@@ -110,6 +127,12 @@ void Program::initMemberVars() {
mHal.state.constantsCount = 0;
mHal.state.texturesCount = 0;
+ mTextures = NULL;
+ mSamplers = NULL;
+ mInputElements = NULL;
+ mConstantTypes = NULL;
+ mConstants = NULL;
+
mIsInternal = false;
}
@@ -121,20 +144,21 @@ void Program::bindAllocation(Context *rsc, Allocation *alloc, uint32_t slot) {
rsc->setError(RS_ERROR_BAD_SHADER, "Cannot bind allocation");
return;
}
- if (alloc->getType() != mHal.state.constantTypes[slot].get()) {
+ if (alloc->getType() != mConstantTypes[slot].get()) {
LOGE("Attempt to bind alloc at slot %u, on shader id %u, but types mismatch",
slot, (uint32_t)this);
rsc->setError(RS_ERROR_BAD_SHADER, "Cannot bind allocation");
return;
}
}
- if (mHal.state.constants[slot].get() == alloc) {
+ if (mConstants[slot].get() == alloc) {
return;
}
- if (mHal.state.constants[slot].get()) {
- mHal.state.constants[slot].get()->removeProgramToDirty(this);
+ if (mConstants[slot].get()) {
+ mConstants[slot]->removeProgramToDirty(this);
}
- mHal.state.constants[slot].set(alloc);
+ mConstants[slot].set(alloc);
+ mHal.state.constants[slot] = alloc;
if (alloc) {
alloc->addProgramToDirty(this);
}
@@ -154,7 +178,9 @@ void Program::bindTexture(Context *rsc, uint32_t slot, Allocation *a) {
return;
}
- mHal.state.textures[slot].set(a);
+ mTextures[slot].set(a);
+ mHal.state.textures[slot] = a;
+
mDirty = true;
}
@@ -165,7 +191,8 @@ void Program::bindSampler(Context *rsc, uint32_t slot, Sampler *s) {
return;
}
- mHal.state.samplers[slot].set(s);
+ mSamplers[slot].set(s);
+ mHal.state.samplers[slot] = s;
mDirty = true;
}
diff --git a/libs/rs/rsProgram.h b/libs/rs/rsProgram.h
index 3237a7295eca..06fc3eca71ab 100644
--- a/libs/rs/rsProgram.h
+++ b/libs/rs/rsProgram.h
@@ -30,19 +30,6 @@ namespace renderscript {
class Program : public ProgramBase {
public:
-
- Program(Context *, const char * shaderText, uint32_t shaderLength,
- const uint32_t * params, uint32_t paramLength);
- virtual ~Program();
- virtual bool freeChildren();
-
- void bindAllocation(Context *, Allocation *, uint32_t slot);
-
- bool isUserProgram() const {return !mIsInternal;}
-
- void bindTexture(Context *, uint32_t slot, Allocation *);
- void bindSampler(Context *, uint32_t slot, Sampler *);
-
struct Hal {
mutable void *drv;
@@ -53,25 +40,43 @@ public:
// and filtered.
//
// Constants are strictly accessed by the shader code
- ObjectBaseRef<Allocation> *textures;
+ Allocation **textures;
RsTextureTarget *textureTargets;
uint32_t texturesCount;
- ObjectBaseRef<Sampler> *samplers;
+ Sampler **samplers;
uint32_t samplersCount;
- ObjectBaseRef<Allocation> *constants;
- ObjectBaseRef<Type> *constantTypes;
+ Allocation **constants;
+ Type **constantTypes;
uint32_t constantsCount;
- ObjectBaseRef<Element> *inputElements;
+ Element **inputElements;
uint32_t inputElementsCount;
};
State state;
};
Hal mHal;
+ Program(Context *, const char * shaderText, uint32_t shaderLength,
+ const uint32_t * params, uint32_t paramLength);
+ virtual ~Program();
+ virtual bool freeChildren();
+
+ void bindAllocation(Context *, Allocation *, uint32_t slot);
+
+ bool isUserProgram() const {return !mIsInternal;}
+
+ void bindTexture(Context *, uint32_t slot, Allocation *);
+ void bindSampler(Context *, uint32_t slot, Sampler *);
+
protected:
+ ObjectBaseRef<Allocation> *mTextures;
+ ObjectBaseRef<Sampler> *mSamplers;
+ ObjectBaseRef<Allocation> *mConstants;
+ ObjectBaseRef<Type> *mConstantTypes;
+ ObjectBaseRef<Element> *mInputElements;
+
bool mIsInternal;
String8 mUserShader;
void initMemberVars();
diff --git a/libs/rs/rsProgramFragment.cpp b/libs/rs/rsProgramFragment.cpp
index ff2952051162..81eedc424994 100644
--- a/libs/rs/rsProgramFragment.cpp
+++ b/libs/rs/rsProgramFragment.cpp
@@ -42,7 +42,7 @@ void ProgramFragment::setConstantColor(Context *rsc, float r, float g, float b,
rsc->setError(RS_ERROR_BAD_SHADER, "Cannot set fixed function emulation color on user program");
return;
}
- if (mHal.state.constants[0].get() == NULL) {
+ if (mHal.state.constants[0] == NULL) {
LOGE("Unable to set fixed function emulation color because allocation is missing");
rsc->setError(RS_ERROR_BAD_SHADER, "Unable to set fixed function emulation color because allocation is missing");
return;
@@ -62,7 +62,7 @@ void ProgramFragment::setup(Context *rsc, ProgramFragmentState *state) {
state->mLast.set(this);
for (uint32_t ct=0; ct < mHal.state.texturesCount; ct++) {
- if (!mHal.state.textures[ct].get()) {
+ if (!mHal.state.textures[ct]) {
LOGE("No texture bound for shader id %u, texture unit %u", (uint)this, ct);
rsc->setError(RS_ERROR_BAD_SHADER, "No texture bound");
continue;
diff --git a/libs/rs/rsProgramRaster.h b/libs/rs/rsProgramRaster.h
index 20af30a1b90b..c552ea3004d6 100644
--- a/libs/rs/rsProgramRaster.h
+++ b/libs/rs/rsProgramRaster.h
@@ -24,17 +24,16 @@ namespace android {
namespace renderscript {
class ProgramRasterState;
-
+/*****************************************************************************
+ * CAUTION
+ *
+ * Any layout changes for this class may require a corresponding change to be
+ * made to frameworks/compile/libbcc/lib/ScriptCRT/rs_core.c, which contains
+ * a partial copy of the information below.
+ *
+ *****************************************************************************/
class ProgramRaster : public ProgramBase {
public:
- virtual void setup(const Context *, ProgramRasterState *);
- virtual void serialize(OStream *stream) const;
- virtual RsA3DClassID getClassId() const { return RS_A3D_CLASS_ID_PROGRAM_RASTER; }
- static ProgramRaster *createFromStream(Context *rsc, IStream *stream);
-
- static ObjectBaseRef<ProgramRaster> getProgramRaster(Context *rsc,
- bool pointSprite,
- RsCullMode cull);
struct Hal {
mutable void *drv;
@@ -46,6 +45,14 @@ public:
};
Hal mHal;
+ virtual void setup(const Context *, ProgramRasterState *);
+ virtual void serialize(OStream *stream) const;
+ virtual RsA3DClassID getClassId() const { return RS_A3D_CLASS_ID_PROGRAM_RASTER; }
+ static ProgramRaster *createFromStream(Context *rsc, IStream *stream);
+
+ static ObjectBaseRef<ProgramRaster> getProgramRaster(Context *rsc,
+ bool pointSprite,
+ RsCullMode cull);
protected:
virtual void preDestroy() const;
virtual ~ProgramRaster();
diff --git a/libs/rs/rsProgramStore.h b/libs/rs/rsProgramStore.h
index e21f039678b3..9bb2795cba5d 100644
--- a/libs/rs/rsProgramStore.h
+++ b/libs/rs/rsProgramStore.h
@@ -25,23 +25,16 @@ namespace android {
namespace renderscript {
class ProgramStoreState;
-
+/*****************************************************************************
+ * CAUTION
+ *
+ * Any layout changes for this class may require a corresponding change to be
+ * made to frameworks/compile/libbcc/lib/ScriptCRT/rs_core.c, which contains
+ * a partial copy of the information below.
+ *
+ *****************************************************************************/
class ProgramStore : public ProgramBase {
public:
- virtual void setup(const Context *, ProgramStoreState *);
-
- virtual void serialize(OStream *stream) const;
- virtual RsA3DClassID getClassId() const { return RS_A3D_CLASS_ID_PROGRAM_STORE; }
- static ProgramStore *createFromStream(Context *rsc, IStream *stream);
- static ObjectBaseRef<ProgramStore> getProgramStore(Context *,
- bool colorMaskR, bool colorMaskG,
- bool colorMaskB, bool colorMaskA,
- bool depthMask, bool ditherEnable,
- RsBlendSrcFunc srcFunc, RsBlendDstFunc destFunc,
- RsDepthFunc depthFunc);
-
- void init();
-
struct Hal {
mutable void *drv;
@@ -64,6 +57,18 @@ public:
};
Hal mHal;
+ virtual void setup(const Context *, ProgramStoreState *);
+
+ virtual void serialize(OStream *stream) const;
+ virtual RsA3DClassID getClassId() const { return RS_A3D_CLASS_ID_PROGRAM_STORE; }
+ static ProgramStore *createFromStream(Context *rsc, IStream *stream);
+ static ObjectBaseRef<ProgramStore> getProgramStore(Context *,
+ bool colorMaskR, bool colorMaskG,
+ bool colorMaskB, bool colorMaskA,
+ bool depthMask, bool ditherEnable,
+ RsBlendSrcFunc srcFunc, RsBlendDstFunc destFunc,
+ RsDepthFunc depthFunc);
+ void init();
protected:
virtual void preDestroy() const;
virtual ~ProgramStore();
diff --git a/libs/rs/rsProgramVertex.cpp b/libs/rs/rsProgramVertex.cpp
index 51cb2a8ad490..4a1362254b0b 100644
--- a/libs/rs/rsProgramVertex.cpp
+++ b/libs/rs/rsProgramVertex.cpp
@@ -38,7 +38,7 @@ void ProgramVertex::setup(Context *rsc, ProgramVertexState *state) {
}
if (!isUserProgram()) {
- if (mHal.state.constants[0].get() == NULL) {
+ if (mHal.state.constants[0] == NULL) {
rsc->setError(RS_ERROR_FATAL_UNKNOWN,
"Unable to set fixed function emulation matrices because allocation is missing");
return;
@@ -65,7 +65,7 @@ void ProgramVertex::setProjectionMatrix(Context *rsc, const rsc_Matrix *m) const
"Attempting to set fixed function emulation matrix projection on user program");
return;
}
- if (mHal.state.constants[0].get() == NULL) {
+ if (mHal.state.constants[0] == NULL) {
rsc->setError(RS_ERROR_FATAL_UNKNOWN,
"Unable to set fixed function emulation matrix projection because allocation is missing");
return;
@@ -81,7 +81,7 @@ void ProgramVertex::setModelviewMatrix(Context *rsc, const rsc_Matrix *m) const
"Attempting to set fixed function emulation matrix modelview on user program");
return;
}
- if (mHal.state.constants[0].get() == NULL) {
+ if (mHal.state.constants[0] == NULL) {
rsc->setError(RS_ERROR_FATAL_UNKNOWN,
"Unable to set fixed function emulation matrix modelview because allocation is missing");
return;
@@ -97,7 +97,7 @@ void ProgramVertex::setTextureMatrix(Context *rsc, const rsc_Matrix *m) const {
"Attempting to set fixed function emulation matrix texture on user program");
return;
}
- if (mHal.state.constants[0].get() == NULL) {
+ if (mHal.state.constants[0] == NULL) {
rsc->setError(RS_ERROR_FATAL_UNKNOWN,
"Unable to set fixed function emulation matrix texture because allocation is missing");
return;
@@ -113,7 +113,7 @@ void ProgramVertex::getProjectionMatrix(Context *rsc, rsc_Matrix *m) const {
"Attempting to get fixed function emulation matrix projection on user program");
return;
}
- if (mHal.state.constants[0].get() == NULL) {
+ if (mHal.state.constants[0] == NULL) {
rsc->setError(RS_ERROR_FATAL_UNKNOWN,
"Unable to get fixed function emulation matrix projection because allocation is missing");
return;
diff --git a/libs/rs/rsSampler.h b/libs/rs/rsSampler.h
index e698132d0f70..654cd9ce1a06 100644
--- a/libs/rs/rsSampler.h
+++ b/libs/rs/rsSampler.h
@@ -27,23 +27,16 @@ namespace renderscript {
const static uint32_t RS_MAX_SAMPLER_SLOT = 16;
class SamplerState;
-
+/*****************************************************************************
+ * CAUTION
+ *
+ * Any layout changes for this class may require a corresponding change to be
+ * made to frameworks/compile/libbcc/lib/ScriptCRT/rs_core.c, which contains
+ * a partial copy of the information below.
+ *
+ *****************************************************************************/
class Sampler : public ObjectBase {
public:
- static ObjectBaseRef<Sampler> getSampler(Context *,
- RsSamplerValue magFilter,
- RsSamplerValue minFilter,
- RsSamplerValue wrapS,
- RsSamplerValue wrapT,
- RsSamplerValue wrapR,
- float aniso = 1.0f);
- void bindToContext(SamplerState *, uint32_t slot);
- void unbindFromContext(SamplerState *);
-
- virtual void serialize(OStream *stream) const;
- virtual RsA3DClassID getClassId() const { return RS_A3D_CLASS_ID_SAMPLER; }
- static Sampler *createFromStream(Context *rsc, IStream *stream);
-
struct Hal {
mutable void *drv;
@@ -59,6 +52,20 @@ public:
};
Hal mHal;
+ static ObjectBaseRef<Sampler> getSampler(Context *,
+ RsSamplerValue magFilter,
+ RsSamplerValue minFilter,
+ RsSamplerValue wrapS,
+ RsSamplerValue wrapT,
+ RsSamplerValue wrapR,
+ float aniso = 1.0f);
+ void bindToContext(SamplerState *, uint32_t slot);
+ void unbindFromContext(SamplerState *);
+
+ virtual void serialize(OStream *stream) const;
+ virtual RsA3DClassID getClassId() const { return RS_A3D_CLASS_ID_SAMPLER; }
+ static Sampler *createFromStream(Context *rsc, IStream *stream);
+
protected:
int32_t mBoundSlot;
diff --git a/libs/rs/scriptc/rs_graphics.rsh b/libs/rs/scriptc/rs_graphics.rsh
index 3e9339e07619..25819537e26b 100644
--- a/libs/rs/scriptc/rs_graphics.rsh
+++ b/libs/rs/scriptc/rs_graphics.rsh
@@ -22,7 +22,6 @@
*/
#ifndef __RS_GRAPHICS_RSH__
#define __RS_GRAPHICS_RSH__
-
#if (defined(RS_VERSION) && (RS_VERSION >= 14))
/**
* Set the color target used for all subsequent rendering calls
diff --git a/libs/rs/scriptc/rs_quaternion.rsh b/libs/rs/scriptc/rs_quaternion.rsh
index 23945ae691df..4e08d2f81b74 100644
--- a/libs/rs/scriptc/rs_quaternion.rsh
+++ b/libs/rs/scriptc/rs_quaternion.rsh
@@ -66,19 +66,6 @@ rsQuaternionMultiply(rs_quaternion *q, float s) {
}
/**
- * Multiply quaternion by another quaternion
- * @param q destination quaternion
- * @param rhs right hand side quaternion to multiply by
- */
-static void __attribute__((overloadable))
-rsQuaternionMultiply(rs_quaternion *q, const rs_quaternion *rhs) {
- q->w = -q->x*rhs->x - q->y*rhs->y - q->z*rhs->z + q->w*rhs->w;
- q->x = q->x*rhs->w + q->y*rhs->z - q->z*rhs->y + q->w*rhs->x;
- q->y = -q->x*rhs->z + q->y*rhs->w + q->z*rhs->x + q->w*rhs->y;
- q->z = q->x*rhs->y - q->y*rhs->x + q->z*rhs->w + q->w*rhs->z;
-}
-
-/**
* Add two quaternions
* @param q destination quaternion to add to
* @param rsh right hand side quaternion to add
@@ -168,6 +155,23 @@ rsQuaternionNormalize(rs_quaternion *q) {
}
/**
+ * Multiply quaternion by another quaternion
+ * @param q destination quaternion
+ * @param rhs right hand side quaternion to multiply by
+ */
+static void __attribute__((overloadable))
+rsQuaternionMultiply(rs_quaternion *q, const rs_quaternion *rhs) {
+ rs_quaternion qtmp;
+ rsQuaternionSet(&qtmp, q);
+
+ q->w = qtmp.w*rhs->w - qtmp.x*rhs->x - qtmp.y*rhs->y - qtmp.z*rhs->z;
+ q->x = qtmp.w*rhs->x + qtmp.x*rhs->w + qtmp.y*rhs->z - qtmp.z*rhs->y;
+ q->y = qtmp.w*rhs->y + qtmp.y*rhs->w + qtmp.z*rhs->x - qtmp.x*rhs->z;
+ q->z = qtmp.w*rhs->z + qtmp.z*rhs->w + qtmp.x*rhs->y - qtmp.y*rhs->x;
+ rsQuaternionNormalize(q);
+}
+
+/**
* Performs spherical linear interpolation between two quaternions
* @param q result quaternion from interpolation
* @param q0 first param
@@ -222,34 +226,26 @@ rsQuaternionSlerp(rs_quaternion *q, const rs_quaternion *q0, const rs_quaternion
* @param p normalized quaternion
*/
static void rsQuaternionGetMatrixUnit(rs_matrix4x4 *m, const rs_quaternion *q) {
- float x2 = 2.0f * q->x * q->x;
- float y2 = 2.0f * q->y * q->y;
- float z2 = 2.0f * q->z * q->z;
- float xy = 2.0f * q->x * q->y;
- float wz = 2.0f * q->w * q->z;
- float xz = 2.0f * q->x * q->z;
- float wy = 2.0f * q->w * q->y;
- float wx = 2.0f * q->w * q->x;
- float yz = 2.0f * q->y * q->z;
-
- m->m[0] = 1.0f - y2 - z2;
- m->m[1] = xy - wz;
- m->m[2] = xz + wy;
- m->m[3] = 0.0f;
-
- m->m[4] = xy + wz;
- m->m[5] = 1.0f - x2 - z2;
- m->m[6] = yz - wx;
- m->m[7] = 0.0f;
-
- m->m[8] = xz - wy;
- m->m[9] = yz - wx;
- m->m[10] = 1.0f - x2 - y2;
- m->m[11] = 0.0f;
-
- m->m[12] = 0.0f;
- m->m[13] = 0.0f;
- m->m[14] = 0.0f;
+ float xx = q->x * q->x;
+ float xy = q->x * q->y;
+ float xz = q->x * q->z;
+ float xw = q->x * q->w;
+ float yy = q->y * q->y;
+ float yz = q->y * q->z;
+ float yw = q->y * q->w;
+ float zz = q->z * q->z;
+ float zw = q->z * q->w;
+
+ m->m[0] = 1.0f - 2.0f * ( yy + zz );
+ m->m[4] = 2.0f * ( xy - zw );
+ m->m[8] = 2.0f * ( xz + yw );
+ m->m[1] = 2.0f * ( xy + zw );
+ m->m[5] = 1.0f - 2.0f * ( xx + zz );
+ m->m[9] = 2.0f * ( yz - xw );
+ m->m[2] = 2.0f * ( xz - yw );
+ m->m[6] = 2.0f * ( yz + xw );
+ m->m[10] = 1.0f - 2.0f * ( xx + yy );
+ m->m[3] = m->m[7] = m->m[11] = m->m[12] = m->m[13] = m->m[14] = 0.0f;
m->m[15] = 1.0f;
}
diff --git a/libs/utils/Android.mk b/libs/utils/Android.mk
index 638f72f0b66a..831d9e37890c 100644
--- a/libs/utils/Android.mk
+++ b/libs/utils/Android.mk
@@ -71,6 +71,10 @@ LOCAL_CFLAGS += -DMB_CUR_MAX=1
endif
endif
+ifeq ($(TARGET_OS),linux)
+LOCAL_LDLIBS += -lrt -ldl
+endif
+
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/media/java/android/media/CamcorderProfile.java b/media/java/android/media/CamcorderProfile.java
index 51a45cdeca2c..7d60c55957a0 100644
--- a/media/java/android/media/CamcorderProfile.java
+++ b/media/java/android/media/CamcorderProfile.java
@@ -82,7 +82,6 @@ public class CamcorderProfile
/**
* Quality level corresponding to the QVGA (320x240) resolution.
- * {@hide}
*/
public static final int QUALITY_QVGA = 7;
@@ -127,7 +126,6 @@ public class CamcorderProfile
/**
* Time lapse quality level corresponding to the QVGA (320 x 240) resolution.
- * {@hide}
*/
public static final int QUALITY_TIME_LAPSE_QVGA = 1007;
diff --git a/media/java/android/media/MediaFile.java b/media/java/android/media/MediaFile.java
index 8793841ae05c..e275aa66dc2a 100644
--- a/media/java/android/media/MediaFile.java
+++ b/media/java/android/media/MediaFile.java
@@ -71,6 +71,11 @@ public class MediaFile {
private static final int FIRST_VIDEO_FILE_TYPE = FILE_TYPE_MP4;
private static final int LAST_VIDEO_FILE_TYPE = FILE_TYPE_WEBM;
+ // More video file types
+ public static final int FILE_TYPE_MP2PS = 200;
+ private static final int FIRST_VIDEO_FILE_TYPE2 = FILE_TYPE_MP2PS;
+ private static final int LAST_VIDEO_FILE_TYPE2 = FILE_TYPE_MP2PS;
+
// Image file types
public static final int FILE_TYPE_JPEG = 31;
public static final int FILE_TYPE_GIF = 32;
@@ -235,6 +240,8 @@ public class MediaFile {
addFileType("PPT", FILE_TYPE_MS_POWERPOINT, "application/mspowerpoint", MtpConstants.FORMAT_MS_POWERPOINT_PRESENTATION);
addFileType("FLAC", FILE_TYPE_FLAC, "audio/flac", MtpConstants.FORMAT_FLAC);
addFileType("ZIP", FILE_TYPE_ZIP, "application/zip");
+ addFileType("MPG", FILE_TYPE_MP2PS, "video/mp2p");
+ addFileType("MPEG", FILE_TYPE_MP2PS, "video/mp2p");
}
public static boolean isAudioFileType(int fileType) {
@@ -246,7 +253,9 @@ public class MediaFile {
public static boolean isVideoFileType(int fileType) {
return (fileType >= FIRST_VIDEO_FILE_TYPE &&
- fileType <= LAST_VIDEO_FILE_TYPE);
+ fileType <= LAST_VIDEO_FILE_TYPE)
+ || (fileType >= FIRST_VIDEO_FILE_TYPE2 &&
+ fileType <= LAST_VIDEO_FILE_TYPE2);
}
public static boolean isImageFileType(int fileType) {
diff --git a/media/java/android/media/MediaInserter.java b/media/java/android/media/MediaInserter.java
new file mode 100644
index 000000000000..a998407ca6b2
--- /dev/null
+++ b/media/java/android/media/MediaInserter.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media;
+
+import android.content.ContentValues;
+import android.content.IContentProvider;
+import android.net.Uri;
+import android.os.RemoteException;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * A MediaScanner helper class which enables us to do lazy insertion on the
+ * given provider. This class manages buffers internally and flushes when they
+ * are full. Note that you should call flushAll() after using this class.
+ * {@hide}
+ */
+public class MediaInserter {
+ private HashMap<Uri, List<ContentValues>> mRowMap =
+ new HashMap<Uri, List<ContentValues>>();
+
+ private IContentProvider mProvider;
+ private int mBufferSizePerUri;
+
+ public MediaInserter(IContentProvider provider, int bufferSizePerUri) {
+ mProvider = provider;
+ mBufferSizePerUri = bufferSizePerUri;
+ }
+
+ public void insert(Uri tableUri, ContentValues values) throws RemoteException {
+ List<ContentValues> list = mRowMap.get(tableUri);
+ if (list == null) {
+ list = new ArrayList<ContentValues>();
+ mRowMap.put(tableUri, list);
+ }
+ list.add(new ContentValues(values));
+ if (list.size() >= mBufferSizePerUri) {
+ flush(tableUri);
+ }
+ }
+
+ public void flushAll() throws RemoteException {
+ for (Uri tableUri : mRowMap.keySet()){
+ flush(tableUri);
+ }
+ mRowMap.clear();
+ }
+
+ private void flush(Uri tableUri) throws RemoteException {
+ List<ContentValues> list = mRowMap.get(tableUri);
+ if (!list.isEmpty()) {
+ ContentValues[] valuesArray = new ContentValues[list.size()];
+ valuesArray = list.toArray(valuesArray);
+ mProvider.bulkInsert(tableUri, valuesArray);
+ list.clear();
+ }
+ }
+}
diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java
index 7b42ac3c9d12..ceeacbb513ea 100644
--- a/media/java/android/media/MediaRecorder.java
+++ b/media/java/android/media/MediaRecorder.java
@@ -305,7 +305,7 @@ public class MediaRecorder
setVideoEncodingBitRate(profile.videoBitRate);
setVideoEncoder(profile.videoCodec);
if (profile.quality >= CamcorderProfile.QUALITY_TIME_LAPSE_LOW &&
- profile.quality <= CamcorderProfile.QUALITY_TIME_LAPSE_1080P) {
+ profile.quality <= CamcorderProfile.QUALITY_TIME_LAPSE_QVGA) {
// Enable time lapse. Also don't set audio for time lapse.
setParameter(String.format("time-lapse-enable=1"));
} else {
diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java
index 2d927ad9c583..386986eb07cf 100644
--- a/media/java/android/media/MediaScanner.java
+++ b/media/java/android/media/MediaScanner.java
@@ -377,43 +377,7 @@ public class MediaScanner
}
}
- private class FileInserter {
-
- private final Uri mUri;
- private final ContentValues[] mValues;
- private int mIndex;
-
- public FileInserter(Uri uri, int count) {
- mUri = uri;
- mValues = new ContentValues[count];
- }
-
- public Uri insert(ContentValues values) {
- if (mIndex == mValues.length) {
- flush();
- }
- mValues[mIndex++] = values;
- // URI not needed when doing bulk inserts
- return null;
- }
-
- public void flush() {
- while (mIndex < mValues.length) {
- mValues[mIndex++] = null;
- }
- try {
- mMediaProvider.bulkInsert(mUri, mValues);
- } catch (RemoteException e) {
- Log.e(TAG, "RemoteException in FileInserter.flush()", e);
- }
- mIndex = 0;
- }
- }
-
- private FileInserter mAudioInserter;
- private FileInserter mVideoInserter;
- private FileInserter mImageInserter;
- private FileInserter mFileInserter;
+ private MediaInserter mMediaInserter;
// hashes file path to FileCacheEntry.
// path should be lower case if mCaseInsensitivePaths is true
@@ -880,17 +844,14 @@ public class MediaScanner
}
Uri tableUri = mFilesUri;
- FileInserter inserter = mFileInserter;
+ MediaInserter inserter = mMediaInserter;
if (!mNoMedia) {
if (MediaFile.isVideoFileType(mFileType)) {
tableUri = mVideoUri;
- inserter = mVideoInserter;
} else if (MediaFile.isImageFileType(mFileType)) {
tableUri = mImagesUri;
- inserter = mImageInserter;
} else if (MediaFile.isAudioFileType(mFileType)) {
tableUri = mAudioUri;
- inserter = mAudioInserter;
}
}
Uri result = null;
@@ -913,7 +874,7 @@ public class MediaScanner
if (inserter == null || entry.mFormat == MtpConstants.FORMAT_ASSOCIATION) {
result = mMediaProvider.insert(tableUri, values);
} else {
- result = inserter.insert(values);
+ inserter.insert(tableUri, values);
}
if (result != null) {
@@ -1212,11 +1173,8 @@ public class MediaScanner
long prescan = System.currentTimeMillis();
if (ENABLE_BULK_INSERTS) {
- // create FileInserters for bulk inserts
- mAudioInserter = new FileInserter(mAudioUri, 500);
- mVideoInserter = new FileInserter(mVideoUri, 500);
- mImageInserter = new FileInserter(mImagesUri, 500);
- mFileInserter = new FileInserter(mFilesUri, 500);
+ // create MediaInserter for bulk inserts
+ mMediaInserter = new MediaInserter(mMediaProvider, 500);
}
for (int i = 0; i < directories.length; i++) {
@@ -1225,14 +1183,8 @@ public class MediaScanner
if (ENABLE_BULK_INSERTS) {
// flush remaining inserts
- mAudioInserter.flush();
- mVideoInserter.flush();
- mImageInserter.flush();
- mFileInserter.flush();
- mAudioInserter = null;
- mVideoInserter = null;
- mImageInserter = null;
- mFileInserter = null;
+ mMediaInserter.flushAll();
+ mMediaInserter = null;
}
long scan = System.currentTimeMillis();
diff --git a/media/libmediaplayerservice/Android.mk b/media/libmediaplayerservice/Android.mk
index ec7d8a09be96..a3e2517b37d2 100644
--- a/media/libmediaplayerservice/Android.mk
+++ b/media/libmediaplayerservice/Android.mk
@@ -32,8 +32,8 @@ LOCAL_SHARED_LIBRARIES := \
libdl
LOCAL_STATIC_LIBRARIES := \
- libstagefright_rtsp \
libstagefright_nuplayer \
+ libstagefright_rtsp \
LOCAL_C_INCLUDES := \
$(JNI_H_INCLUDE) \
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp
index ba9f54f5f045..b6553586c9fa 100644
--- a/media/libmediaplayerservice/MediaPlayerService.cpp
+++ b/media/libmediaplayerservice/MediaPlayerService.cpp
@@ -589,6 +589,10 @@ player_type getPlayerType(const char* url)
}
}
+ if (!strncasecmp("rtsp://", url, 7)) {
+ return NU_PLAYER;
+ }
+
// use MidiFile for MIDI extensions
int lenURL = strlen(url);
for (int i = 0; i < NELEM(FILE_EXTS); ++i) {
diff --git a/media/libmediaplayerservice/nuplayer/Android.mk b/media/libmediaplayerservice/nuplayer/Android.mk
index e76150913629..33e2f9350d03 100644
--- a/media/libmediaplayerservice/nuplayer/Android.mk
+++ b/media/libmediaplayerservice/nuplayer/Android.mk
@@ -8,6 +8,7 @@ LOCAL_SRC_FILES:= \
NuPlayerDriver.cpp \
NuPlayerRenderer.cpp \
NuPlayerStreamListener.cpp \
+ RTSPSource.cpp \
StreamingSource.cpp \
LOCAL_C_INCLUDES := \
@@ -15,6 +16,7 @@ LOCAL_C_INCLUDES := \
$(TOP)/frameworks/base/media/libstagefright/include \
$(TOP)/frameworks/base/media/libstagefright/mpeg2ts \
$(TOP)/frameworks/base/media/libstagefright/httplive \
+ $(TOP)/frameworks/base/media/libstagefright/rtsp \
LOCAL_MODULE:= libstagefright_nuplayer
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
index 6b40528a160f..7cdb76c9aa37 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
@@ -25,6 +25,7 @@
#include "NuPlayerDriver.h"
#include "NuPlayerRenderer.h"
#include "NuPlayerSource.h"
+#include "RTSPSource.h"
#include "StreamingSource.h"
#include "ATSParser.h"
@@ -87,7 +88,14 @@ void NuPlayer::setDataSource(
const char *url, const KeyedVector<String8, String8> *headers) {
sp<AMessage> msg = new AMessage(kWhatSetDataSource, id());
- msg->setObject("source", new HTTPLiveSource(url, headers, mUIDValid, mUID));
+ if (!strncasecmp(url, "rtsp://", 7)) {
+ msg->setObject(
+ "source", new RTSPSource(url, headers, mUIDValid, mUID));
+ } else {
+ msg->setObject(
+ "source", new HTTPLiveSource(url, headers, mUIDValid, mUID));
+ }
+
msg->post();
}
@@ -568,8 +576,15 @@ void NuPlayer::finishReset() {
CHECK(mAudioDecoder == NULL);
CHECK(mVideoDecoder == NULL);
+ ++mScanSourcesGeneration;
+ mScanSourcesPending = false;
+
mRenderer.clear();
- mSource.clear();
+
+ if (mSource != NULL) {
+ mSource->stop();
+ mSource.clear();
+ }
if (mDriver != NULL) {
sp<NuPlayerDriver> driver = mDriver.promote();
@@ -781,7 +796,7 @@ void NuPlayer::notifyListener(int msg, int ext1, int ext2) {
return;
}
- driver->sendEvent(msg, ext1, ext2);
+ driver->notifyListener(msg, ext1, ext2);
}
void NuPlayer::flushDecoder(bool audio, bool needShutdown) {
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.h b/media/libmediaplayerservice/nuplayer/NuPlayer.h
index a5382b498909..f90759dd3e94 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.h
@@ -68,6 +68,7 @@ private:
struct Renderer;
struct Source;
struct StreamingSource;
+ struct RTSPSource;
enum {
kWhatSetDataSource = '=DaS',
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp
index b1e917d2abea..452ba994abd6 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp
@@ -35,6 +35,7 @@ NuPlayerDriver::NuPlayerDriver()
mNumFramesDropped(0),
mLooper(new ALooper),
mState(UNINITIALIZED),
+ mAtEOS(false),
mStartupSeekTimeUs(-1) {
mLooper->setName("NuPlayerDriver Looper");
@@ -106,7 +107,7 @@ status_t NuPlayerDriver::prepare() {
}
status_t NuPlayerDriver::prepareAsync() {
- sendEvent(MEDIA_PREPARED);
+ notifyListener(MEDIA_PREPARED);
return OK;
}
@@ -117,6 +118,7 @@ status_t NuPlayerDriver::start() {
return INVALID_OPERATION;
case STOPPED:
{
+ mAtEOS = false;
mPlayer->start();
if (mStartupSeekTimeUs >= 0) {
@@ -173,7 +175,7 @@ status_t NuPlayerDriver::pause() {
}
bool NuPlayerDriver::isPlaying() {
- return mState == PLAYING;
+ return mState == PLAYING && !mAtEOS;
}
status_t NuPlayerDriver::seekTo(int msec) {
@@ -190,6 +192,7 @@ status_t NuPlayerDriver::seekTo(int msec) {
case PLAYING:
case PAUSED:
{
+ mAtEOS = false;
mPlayer->seekToAsync(seekTimeUs);
break;
}
@@ -291,7 +294,7 @@ void NuPlayerDriver::notifyPosition(int64_t positionUs) {
}
void NuPlayerDriver::notifySeekComplete() {
- sendEvent(MEDIA_SEEK_COMPLETE);
+ notifyListener(MEDIA_SEEK_COMPLETE);
}
void NuPlayerDriver::notifyFrameStats(
@@ -320,4 +323,12 @@ status_t NuPlayerDriver::dump(int fd, const Vector<String16> &args) const {
return OK;
}
+void NuPlayerDriver::notifyListener(int msg, int ext1, int ext2) {
+ if (msg == MEDIA_PLAYBACK_COMPLETE || msg == MEDIA_ERROR) {
+ mAtEOS = true;
+ }
+
+ sendEvent(msg, ext1, ext2);
+}
+
} // namespace android
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h
index 181c37dec4d6..aaa3de0f0d9c 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h
@@ -67,6 +67,7 @@ struct NuPlayerDriver : public MediaPlayerInterface {
void notifyPosition(int64_t positionUs);
void notifySeekComplete();
void notifyFrameStats(int64_t numFramesTotal, int64_t numFramesDropped);
+ void notifyListener(int msg, int ext1 = 0, int ext2 = 0);
protected:
virtual ~NuPlayerDriver();
@@ -95,6 +96,7 @@ private:
};
State mState;
+ bool mAtEOS;
int64_t mStartupSeekTimeUs;
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
index 07e347ee1582..bf19040fbeb3 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
@@ -219,7 +219,9 @@ void NuPlayer::Renderer::signalAudioSinkChanged() {
bool NuPlayer::Renderer::onDrainAudioQueue() {
uint32_t numFramesPlayed;
- CHECK_EQ(mAudioSink->getPosition(&numFramesPlayed), (status_t)OK);
+ if (mAudioSink->getPosition(&numFramesPlayed) != OK) {
+ return false;
+ }
ssize_t numFramesAvailableToWrite =
mAudioSink->frameCount() - (mNumFramesWritten - numFramesPlayed);
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerSource.h b/media/libmediaplayerservice/nuplayer/NuPlayerSource.h
index 8a7eece12050..531b29f8b464 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerSource.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerSource.h
@@ -28,6 +28,7 @@ struct NuPlayer::Source : public RefBase {
Source() {}
virtual void start() = 0;
+ virtual void stop() {}
// Returns OK iff more data was available,
// an error or ERROR_END_OF_STREAM if not.
diff --git a/media/libmediaplayerservice/nuplayer/RTSPSource.cpp b/media/libmediaplayerservice/nuplayer/RTSPSource.cpp
new file mode 100644
index 000000000000..e72adc4a24e8
--- /dev/null
+++ b/media/libmediaplayerservice/nuplayer/RTSPSource.cpp
@@ -0,0 +1,354 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+//#define LOG_NDEBUG 0
+#define LOG_TAG "RTSPSource"
+#include <utils/Log.h>
+
+#include "RTSPSource.h"
+
+#include "AnotherPacketSource.h"
+#include "MyHandler.h"
+
+#include <media/stagefright/MetaData.h>
+
+namespace android {
+
+NuPlayer::RTSPSource::RTSPSource(
+ const char *url,
+ const KeyedVector<String8, String8> *headers,
+ bool uidValid,
+ uid_t uid)
+ : mURL(url),
+ mUIDValid(uidValid),
+ mUID(uid),
+ mFlags(0),
+ mState(DISCONNECTED),
+ mFinalResult(OK),
+ mDisconnectReplyID(0) {
+ if (headers) {
+ mExtraHeaders = *headers;
+
+ ssize_t index =
+ mExtraHeaders.indexOfKey(String8("x-hide-urls-from-log"));
+
+ if (index >= 0) {
+ mFlags |= kFlagIncognito;
+
+ mExtraHeaders.removeItemsAt(index);
+ }
+ }
+}
+
+NuPlayer::RTSPSource::~RTSPSource() {
+ if (mLooper != NULL) {
+ mLooper->stop();
+ }
+}
+
+void NuPlayer::RTSPSource::start() {
+ if (mLooper == NULL) {
+ mLooper = new ALooper;
+ mLooper->setName("rtsp");
+ mLooper->start();
+
+ mReflector = new AHandlerReflector<RTSPSource>(this);
+ mLooper->registerHandler(mReflector);
+ }
+
+ CHECK(mHandler == NULL);
+
+ sp<AMessage> notify = new AMessage(kWhatNotify, mReflector->id());
+
+ mHandler = new MyHandler(mURL.c_str(), notify, mUIDValid, mUID);
+ mLooper->registerHandler(mHandler);
+
+ CHECK_EQ(mState, (int)DISCONNECTED);
+ mState = CONNECTING;
+
+ mHandler->connect();
+}
+
+void NuPlayer::RTSPSource::stop() {
+ sp<AMessage> msg = new AMessage(kWhatDisconnect, mReflector->id());
+
+ sp<AMessage> dummy;
+ msg->postAndAwaitResponse(&dummy);
+}
+
+status_t NuPlayer::RTSPSource::feedMoreTSData() {
+ return mFinalResult;
+}
+
+sp<MetaData> NuPlayer::RTSPSource::getFormat(bool audio) {
+ sp<AnotherPacketSource> source = getSource(audio);
+
+ if (source == NULL) {
+ return NULL;
+ }
+
+ return source->getFormat();
+}
+
+status_t NuPlayer::RTSPSource::dequeueAccessUnit(
+ bool audio, sp<ABuffer> *accessUnit) {
+ sp<AnotherPacketSource> source = getSource(audio);
+
+ if (source == NULL) {
+ return -EWOULDBLOCK;
+ }
+
+ status_t finalResult;
+ if (!source->hasBufferAvailable(&finalResult)) {
+ return finalResult == OK ? -EWOULDBLOCK : finalResult;
+ }
+
+ return source->dequeueAccessUnit(accessUnit);
+}
+
+sp<AnotherPacketSource> NuPlayer::RTSPSource::getSource(bool audio) {
+ return audio ? mAudioTrack : mVideoTrack;
+}
+
+status_t NuPlayer::RTSPSource::getDuration(int64_t *durationUs) {
+ *durationUs = 0ll;
+
+ int64_t audioDurationUs;
+ if (mAudioTrack != NULL
+ && mAudioTrack->getFormat()->findInt64(
+ kKeyDuration, &audioDurationUs)
+ && audioDurationUs > *durationUs) {
+ *durationUs = audioDurationUs;
+ }
+
+ int64_t videoDurationUs;
+ if (mVideoTrack != NULL
+ && mVideoTrack->getFormat()->findInt64(
+ kKeyDuration, &videoDurationUs)
+ && videoDurationUs > *durationUs) {
+ *durationUs = videoDurationUs;
+ }
+
+ return OK;
+}
+
+status_t NuPlayer::RTSPSource::seekTo(int64_t seekTimeUs) {
+ if (mState != CONNECTED) {
+ return UNKNOWN_ERROR;
+ }
+
+ mState = SEEKING;
+ mHandler->seek(seekTimeUs);
+
+ return OK;
+}
+
+bool NuPlayer::RTSPSource::isSeekable() {
+ return true;
+}
+
+void NuPlayer::RTSPSource::onMessageReceived(const sp<AMessage> &msg) {
+ if (msg->what() == kWhatDisconnect) {
+ uint32_t replyID;
+ CHECK(msg->senderAwaitsResponse(&replyID));
+
+ mDisconnectReplyID = replyID;
+ finishDisconnectIfPossible();
+ return;
+ }
+
+ CHECK_EQ(msg->what(), (int)kWhatNotify);
+
+ int32_t what;
+ CHECK(msg->findInt32("what", &what));
+
+ switch (what) {
+ case MyHandler::kWhatConnected:
+ onConnected();
+ break;
+
+ case MyHandler::kWhatDisconnected:
+ onDisconnected(msg);
+ break;
+
+ case MyHandler::kWhatSeekDone:
+ {
+ mState = CONNECTED;
+ break;
+ }
+
+ case MyHandler::kWhatAccessUnit:
+ {
+ size_t trackIndex;
+ CHECK(msg->findSize("trackIndex", &trackIndex));
+ CHECK_LT(trackIndex, mTracks.size());
+
+ sp<RefBase> obj;
+ CHECK(msg->findObject("accessUnit", &obj));
+
+ sp<ABuffer> accessUnit = static_cast<ABuffer *>(obj.get());
+
+ int32_t damaged;
+ if (accessUnit->meta()->findInt32("damaged", &damaged)
+ && damaged) {
+ LOGI("dropping damaged access unit.");
+ break;
+ }
+
+ const TrackInfo &info = mTracks.editItemAt(trackIndex);
+ sp<AnotherPacketSource> source = info.mSource;
+ if (source != NULL) {
+#if 1
+ uint32_t rtpTime;
+ CHECK(accessUnit->meta()->findInt32("rtp-time", (int32_t *)&rtpTime));
+
+ int64_t nptUs =
+ ((double)rtpTime - (double)info.mRTPTime)
+ / info.mTimeScale
+ * 1000000ll
+ + info.mNormalPlaytimeUs;
+
+ accessUnit->meta()->setInt64("timeUs", nptUs);
+#endif
+
+ source->queueAccessUnit(accessUnit);
+ }
+ break;
+ }
+
+ case MyHandler::kWhatEOS:
+ {
+ size_t trackIndex;
+ CHECK(msg->findSize("trackIndex", &trackIndex));
+ CHECK_LT(trackIndex, mTracks.size());
+
+ int32_t finalResult;
+ CHECK(msg->findInt32("finalResult", &finalResult));
+ CHECK_NE(finalResult, (status_t)OK);
+
+ TrackInfo *info = &mTracks.editItemAt(trackIndex);
+ sp<AnotherPacketSource> source = info->mSource;
+ if (source != NULL) {
+ source->signalEOS(finalResult);
+ }
+
+ break;
+ }
+
+ case MyHandler::kWhatSeekDiscontinuity:
+ {
+ size_t trackIndex;
+ CHECK(msg->findSize("trackIndex", &trackIndex));
+ CHECK_LT(trackIndex, mTracks.size());
+
+ TrackInfo *info = &mTracks.editItemAt(trackIndex);
+ sp<AnotherPacketSource> source = info->mSource;
+ if (source != NULL) {
+ source->queueDiscontinuity(ATSParser::DISCONTINUITY_SEEK, NULL);
+ }
+
+ break;
+ }
+
+ case MyHandler::kWhatNormalPlayTimeMapping:
+ {
+ size_t trackIndex;
+ CHECK(msg->findSize("trackIndex", &trackIndex));
+ CHECK_LT(trackIndex, mTracks.size());
+
+ uint32_t rtpTime;
+ CHECK(msg->findInt32("rtpTime", (int32_t *)&rtpTime));
+
+ int64_t nptUs;
+ CHECK(msg->findInt64("nptUs", &nptUs));
+
+ TrackInfo *info = &mTracks.editItemAt(trackIndex);
+ info->mRTPTime = rtpTime;
+ info->mNormalPlaytimeUs = nptUs;
+ break;
+ }
+
+ default:
+ TRESPASS();
+ }
+}
+
+void NuPlayer::RTSPSource::onConnected() {
+ CHECK(mAudioTrack == NULL);
+ CHECK(mVideoTrack == NULL);
+
+ size_t numTracks = mHandler->countTracks();
+ for (size_t i = 0; i < numTracks; ++i) {
+ int32_t timeScale;
+ sp<MetaData> format = mHandler->getTrackFormat(i, &timeScale);
+
+ const char *mime;
+ CHECK(format->findCString(kKeyMIMEType, &mime));
+
+ bool isAudio = !strncasecmp(mime, "audio/", 6);
+ bool isVideo = !strncasecmp(mime, "video/", 6);
+
+ TrackInfo info;
+ info.mTimeScale = timeScale;
+ info.mRTPTime = 0;
+ info.mNormalPlaytimeUs = 0ll;
+
+ if ((isAudio && mAudioTrack == NULL)
+ || (isVideo && mVideoTrack == NULL)) {
+ sp<AnotherPacketSource> source = new AnotherPacketSource(format);
+
+ if (isAudio) {
+ mAudioTrack = source;
+ } else {
+ mVideoTrack = source;
+ }
+
+ info.mSource = source;
+ }
+
+ mTracks.push(info);
+ }
+
+ mState = CONNECTED;
+}
+
+void NuPlayer::RTSPSource::onDisconnected(const sp<AMessage> &msg) {
+ status_t err;
+ CHECK(msg->findInt32("result", &err));
+ CHECK_NE(err, (status_t)OK);
+
+ mLooper->unregisterHandler(mHandler->id());
+ mHandler.clear();
+
+ mState = DISCONNECTED;
+ mFinalResult = err;
+
+ if (mDisconnectReplyID != 0) {
+ finishDisconnectIfPossible();
+ }
+}
+
+void NuPlayer::RTSPSource::finishDisconnectIfPossible() {
+ if (mState != DISCONNECTED) {
+ mHandler->disconnect();
+ return;
+ }
+
+ (new AMessage)->postReply(mDisconnectReplyID);
+ mDisconnectReplyID = 0;
+}
+
+} // namespace android
diff --git a/media/libmediaplayerservice/nuplayer/RTSPSource.h b/media/libmediaplayerservice/nuplayer/RTSPSource.h
new file mode 100644
index 000000000000..66eab7254df0
--- /dev/null
+++ b/media/libmediaplayerservice/nuplayer/RTSPSource.h
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef RTSP_SOURCE_H_
+
+#define RTSP_SOURCE_H_
+
+#include "NuPlayerSource.h"
+
+#include <media/stagefright/foundation/AHandlerReflector.h>
+
+namespace android {
+
+struct ALooper;
+struct AnotherPacketSource;
+struct MyHandler;
+
+struct NuPlayer::RTSPSource : public NuPlayer::Source {
+ RTSPSource(
+ const char *url,
+ const KeyedVector<String8, String8> *headers,
+ bool uidValid = false,
+ uid_t uid = 0);
+
+ virtual void start();
+ virtual void stop();
+
+ virtual status_t feedMoreTSData();
+
+ virtual sp<MetaData> getFormat(bool audio);
+ virtual status_t dequeueAccessUnit(bool audio, sp<ABuffer> *accessUnit);
+
+ virtual status_t getDuration(int64_t *durationUs);
+ virtual status_t seekTo(int64_t seekTimeUs);
+ virtual bool isSeekable();
+
+ void onMessageReceived(const sp<AMessage> &msg);
+
+protected:
+ virtual ~RTSPSource();
+
+private:
+ enum {
+ kWhatNotify = 'noti',
+ kWhatDisconnect = 'disc',
+ };
+
+ enum State {
+ DISCONNECTED,
+ CONNECTING,
+ CONNECTED,
+ SEEKING,
+ };
+
+ enum Flags {
+ // Don't log any URLs.
+ kFlagIncognito = 1,
+ };
+
+ struct TrackInfo {
+ sp<AnotherPacketSource> mSource;
+
+ int32_t mTimeScale;
+ uint32_t mRTPTime;
+ int64_t mNormalPlaytimeUs;
+ };
+
+ AString mURL;
+ KeyedVector<String8, String8> mExtraHeaders;
+ bool mUIDValid;
+ uid_t mUID;
+ uint32_t mFlags;
+ State mState;
+ status_t mFinalResult;
+ uint32_t mDisconnectReplyID;
+
+ sp<ALooper> mLooper;
+ sp<AHandlerReflector<RTSPSource> > mReflector;
+ sp<MyHandler> mHandler;
+
+ Vector<TrackInfo> mTracks;
+ sp<AnotherPacketSource> mAudioTrack;
+ sp<AnotherPacketSource> mVideoTrack;
+
+ sp<AnotherPacketSource> getSource(bool audio);
+
+ void onConnected();
+ void onDisconnected(const sp<AMessage> &msg);
+ void finishDisconnectIfPossible();
+
+ DISALLOW_EVIL_CONSTRUCTORS(RTSPSource);
+};
+
+} // namespace android
+
+#endif // RTSP_SOURCE_H_
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index 9cb18de26e24..d947760c19b6 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -681,6 +681,10 @@ void ACodec::setComponentRole(
static const MimeToRole kMimeToRole[] = {
{ MEDIA_MIMETYPE_AUDIO_MPEG,
"audio_decoder.mp3", "audio_encoder.mp3" },
+ { MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_I,
+ "audio_decoder.mp1", "audio_encoder.mp1" },
+ { MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_II,
+ "audio_decoder.mp2", "audio_encoder.mp2" },
{ MEDIA_MIMETYPE_AUDIO_AMR_NB,
"audio_decoder.amrnb", "audio_encoder.amrnb" },
{ MEDIA_MIMETYPE_AUDIO_AMR_WB,
diff --git a/media/libstagefright/Android.mk b/media/libstagefright/Android.mk
index 0b1a2af46bc5..0aeb515d0181 100644
--- a/media/libstagefright/Android.mk
+++ b/media/libstagefright/Android.mk
@@ -58,7 +58,6 @@ LOCAL_C_INCLUDES:= \
$(TOP)/frameworks/base/include/media/stagefright/openmax \
$(TOP)/external/flac/include \
$(TOP)/external/tremolo \
- $(TOP)/frameworks/base/media/libstagefright/rtsp \
$(TOP)/external/openssl/include \
LOCAL_SHARED_LIBRARIES := \
@@ -88,7 +87,6 @@ LOCAL_STATIC_LIBRARIES := \
libvpx \
libstagefright_mpeg2ts \
libstagefright_httplive \
- libstagefright_rtsp \
libstagefright_id3 \
libFLAC \
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp
index 1165af5183a6..f37e75baa758 100644
--- a/media/libstagefright/AwesomePlayer.cpp
+++ b/media/libstagefright/AwesomePlayer.cpp
@@ -22,7 +22,6 @@
#include <dlfcn.h>
-#include "include/ARTSPController.h"
#include "include/AwesomePlayer.h"
#include "include/DRMExtractor.h"
#include "include/SoftwareRenderer.h"
@@ -53,7 +52,6 @@
#include <gui/SurfaceTextureClient.h>
#include <surfaceflinger/ISurfaceComposer.h>
-#include <media/stagefright/foundation/ALooper.h>
#include <media/stagefright/foundation/AMessage.h>
#include <cutils/properties.h>
@@ -65,7 +63,6 @@ namespace android {
static int64_t kLowWaterMarkUs = 2000000ll; // 2secs
static int64_t kHighWaterMarkUs = 5000000ll; // 5secs
-static int64_t kHighWaterMarkRTSPUs = 4000000ll; // 4secs
static const size_t kLowWaterMarkBytes = 40000;
static const size_t kHighWaterMarkBytes = 200000;
@@ -388,10 +385,12 @@ status_t AwesomePlayer::setDataSource_l(const sp<MediaExtractor> &extractor) {
for (size_t i = 0; i < extractor->countTracks(); ++i) {
sp<MetaData> meta = extractor->getTrackMetaData(i);
- const char *mime;
- CHECK(meta->findCString(kKeyMIMEType, &mime));
+ const char *_mime;
+ CHECK(meta->findCString(kKeyMIMEType, &_mime));
- if (!haveVideo && !strncasecmp(mime, "video/", 6)) {
+ String8 mime = String8(_mime);
+
+ if (!haveVideo && !strncasecmp(mime.string(), "video/", 6)) {
setVideoSource(extractor->getTrack(i));
haveVideo = true;
@@ -412,9 +411,9 @@ status_t AwesomePlayer::setDataSource_l(const sp<MediaExtractor> &extractor) {
mStats.mTracks.push();
TrackStat *stat =
&mStats.mTracks.editItemAt(mStats.mVideoTrackIndex);
- stat->mMIME = mime;
+ stat->mMIME = mime.string();
}
- } else if (!haveAudio && !strncasecmp(mime, "audio/", 6)) {
+ } else if (!haveAudio && !strncasecmp(mime.string(), "audio/", 6)) {
setAudioSource(extractor->getTrack(i));
haveAudio = true;
@@ -424,10 +423,10 @@ status_t AwesomePlayer::setDataSource_l(const sp<MediaExtractor> &extractor) {
mStats.mTracks.push();
TrackStat *stat =
&mStats.mTracks.editItemAt(mStats.mAudioTrackIndex);
- stat->mMIME = mime;
+ stat->mMIME = mime.string();
}
- if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_VORBIS)) {
+ if (!strcasecmp(mime.string(), MEDIA_MIMETYPE_AUDIO_VORBIS)) {
// Only do this for vorbis audio, none of the other audio
// formats even support this ringtone specific hack and
// retrieving the metadata on some extractors may turn out
@@ -439,7 +438,7 @@ status_t AwesomePlayer::setDataSource_l(const sp<MediaExtractor> &extractor) {
modifyFlags(AUTO_LOOPING, SET);
}
}
- } else if (!strcasecmp(mime, MEDIA_MIMETYPE_TEXT_3GPP)) {
+ } else if (!strcasecmp(mime.string(), MEDIA_MIMETYPE_TEXT_3GPP)) {
addTextSource(extractor->getTrack(i));
}
}
@@ -485,9 +484,6 @@ void AwesomePlayer::reset_l() {
if (mConnectingDataSource != NULL) {
LOGI("interrupting the connection process");
mConnectingDataSource->disconnect();
- } else if (mConnectingRTSPController != NULL) {
- LOGI("interrupting the connection process");
- mConnectingRTSPController->disconnect();
}
if (mFlags & PREPARING_CONNECTED) {
@@ -534,11 +530,6 @@ void AwesomePlayer::reset_l() {
mVideoRenderer.clear();
- if (mRTSPController != NULL) {
- mRTSPController->disconnect();
- mRTSPController.clear();
- }
-
if (mVideoSource != NULL) {
shutdownVideoDecoder_l();
}
@@ -612,10 +603,7 @@ bool AwesomePlayer::getBitrate(int64_t *bitrate) {
bool AwesomePlayer::getCachedDuration_l(int64_t *durationUs, bool *eos) {
int64_t bitrate;
- if (mRTSPController != NULL) {
- *durationUs = mRTSPController->getQueueDurationUs(eos);
- return true;
- } else if (mCachedSource != NULL && getBitrate(&bitrate)) {
+ if (mCachedSource != NULL && getBitrate(&bitrate)) {
status_t finalStatus;
size_t cachedDataRemaining = mCachedSource->approxDataRemaining(&finalStatus);
*durationUs = cachedDataRemaining * 8000000ll / bitrate;
@@ -751,9 +739,6 @@ void AwesomePlayer::onBufferingUpdate() {
LOGV("cachedDurationUs = %.2f secs, eos=%d",
cachedDurationUs / 1E6, eos);
- int64_t highWaterMarkUs =
- (mRTSPController != NULL) ? kHighWaterMarkRTSPUs : kHighWaterMarkUs;
-
if ((mFlags & PLAYING) && !eos
&& (cachedDurationUs < kLowWaterMarkUs)) {
LOGI("cache is running low (%.2f secs) , pausing.",
@@ -763,7 +748,7 @@ void AwesomePlayer::onBufferingUpdate() {
ensureCacheIsFetching_l();
sendCacheStats();
notifyListener_l(MEDIA_INFO, MEDIA_INFO_BUFFERING_START);
- } else if (eos || cachedDurationUs > highWaterMarkUs) {
+ } else if (eos || cachedDurationUs > kHighWaterMarkUs) {
if (mFlags & CACHE_UNDERRUN) {
LOGI("cache has filled up (%.2f secs), resuming.",
cachedDurationUs / 1E6);
@@ -1081,7 +1066,8 @@ void AwesomePlayer::initRenderer_l() {
if (USE_SURFACE_ALLOC
&& !strncmp(component, "OMX.", 4)
- && strncmp(component, "OMX.google.", 11)) {
+ && strncmp(component, "OMX.google.", 11)
+ && strcmp(component, "OMX.Nvidia.mpeg2v.decode")) {
// Hardware decoders avoid the CPU color conversion by decoding
// directly to ANativeBuffers, so we must use a renderer that
// just pushes those buffers to the ANativeWindow.
@@ -1263,10 +1249,7 @@ status_t AwesomePlayer::getDuration(int64_t *durationUs) {
}
status_t AwesomePlayer::getPosition(int64_t *positionUs) {
- if (mRTSPController != NULL) {
- *positionUs = mRTSPController->getNormalPlayTimeUs();
- }
- else if (mSeeking != NO_SEEK) {
+ if (mSeeking != NO_SEEK) {
*positionUs = mSeekTimeUs;
} else if (mVideoSource != NULL
&& (mAudioPlayer == NULL || !(mFlags & VIDEO_AT_EOS))) {
@@ -1316,25 +1299,7 @@ status_t AwesomePlayer::setTimedTextTrackIndex(int32_t index) {
}
}
-// static
-void AwesomePlayer::OnRTSPSeekDoneWrapper(void *cookie) {
- static_cast<AwesomePlayer *>(cookie)->onRTSPSeekDone();
-}
-
-void AwesomePlayer::onRTSPSeekDone() {
- if (!mSeekNotificationSent) {
- notifyListener_l(MEDIA_SEEK_COMPLETE);
- mSeekNotificationSent = true;
- }
-}
-
status_t AwesomePlayer::seekTo_l(int64_t timeUs) {
- if (mRTSPController != NULL) {
- mSeekNotificationSent = false;
- mRTSPController->seekAsync(timeUs, OnRTSPSeekDoneWrapper, this);
- return OK;
- }
-
if (mFlags & CACHE_UNDERRUN) {
modifyFlags(CACHE_UNDERRUN, CLEAR);
play_l();
@@ -1770,7 +1735,6 @@ void AwesomePlayer::onVideoEvent() {
int64_t latenessUs = nowUs - timeUs;
if (latenessUs > 500000ll
- && mRTSPController == NULL
&& mAudioPlayer != NULL
&& mAudioPlayer->getMediaTimeMapping(
&realTimeUs, &mediaTimeUs)) {
@@ -2085,34 +2049,6 @@ status_t AwesomePlayer::finishSetDataSource_l() {
return UNKNOWN_ERROR;
}
}
- } else if (!strncasecmp("rtsp://", mUri.string(), 7)) {
- if (mLooper == NULL) {
- mLooper = new ALooper;
- mLooper->setName("rtsp");
- mLooper->start();
- }
- mRTSPController = new ARTSPController(mLooper);
- mConnectingRTSPController = mRTSPController;
-
- if (mUIDValid) {
- mConnectingRTSPController->setUID(mUID);
- }
-
- mLock.unlock();
- status_t err = mRTSPController->connect(mUri.string());
- mLock.lock();
-
- mConnectingRTSPController.clear();
-
- LOGI("ARTSPController::connect returned %d", err);
-
- if (err != OK) {
- mRTSPController.clear();
- return err;
- }
-
- sp<MediaExtractor> extractor = mRTSPController.get();
- return setDataSource_l(extractor);
} else {
dataSource = DataSource::CreateFromURI(mUri.string(), &mUriHeaders);
}
@@ -2224,7 +2160,7 @@ void AwesomePlayer::onPrepareAsyncEvent() {
modifyFlags(PREPARING_CONNECTED, SET);
- if (isStreamingHTTP() || mRTSPController != NULL) {
+ if (isStreamingHTTP()) {
postBufferingEvent_l();
} else {
finishAsyncPrepare_l();
diff --git a/media/libstagefright/DataSource.cpp b/media/libstagefright/DataSource.cpp
index c16b3b503219..70523c1cdcf8 100644
--- a/media/libstagefright/DataSource.cpp
+++ b/media/libstagefright/DataSource.cpp
@@ -20,6 +20,7 @@
#include "include/MPEG4Extractor.h"
#include "include/WAVExtractor.h"
#include "include/OggExtractor.h"
+#include "include/MPEG2PSExtractor.h"
#include "include/MPEG2TSExtractor.h"
#include "include/NuCachedSource2.h"
#include "include/HTTPBase.h"
@@ -113,6 +114,7 @@ void DataSource::RegisterDefaultSniffers() {
RegisterSniffer(SniffMP3);
RegisterSniffer(SniffAAC);
RegisterSniffer(SniffAVI);
+ RegisterSniffer(SniffMPEG2PS);
char value[PROPERTY_VALUE_MAX];
if (property_get("drm.service.enabled", value, NULL)
diff --git a/media/libstagefright/MP3Extractor.cpp b/media/libstagefright/MP3Extractor.cpp
index 92e84c29fe34..34e9cd7cfead 100644
--- a/media/libstagefright/MP3Extractor.cpp
+++ b/media/libstagefright/MP3Extractor.cpp
@@ -25,11 +25,11 @@
#include "include/VBRISeeker.h"
#include "include/XINGSeeker.h"
+#include <media/stagefright/foundation/ADebug.h>
#include <media/stagefright/foundation/AMessage.h>
#include <media/stagefright/DataSource.h>
#include <media/stagefright/MediaBuffer.h>
#include <media/stagefright/MediaBufferGroup.h>
-#include <media/stagefright/MediaDebug.h>
#include <media/stagefright/MediaDefs.h>
#include <media/stagefright/MediaErrors.h>
#include <media/stagefright/MediaSource.h>
@@ -289,9 +289,24 @@ MP3Extractor::MP3Extractor(
GetMPEGAudioFrameSize(
header, &frame_size, &sample_rate, &num_channels, &bitrate);
+ unsigned layer = 4 - ((header >> 17) & 3);
+
mMeta = new MetaData;
- mMeta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_MPEG);
+ switch (layer) {
+ case 1:
+ mMeta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_I);
+ break;
+ case 2:
+ mMeta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_II);
+ break;
+ case 3:
+ mMeta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_MPEG);
+ break;
+ default:
+ TRESPASS();
+ }
+
mMeta->setInt32(kKeySampleRate, sample_rate);
mMeta->setInt32(kKeyBitRate, bitrate * 1000);
mMeta->setInt32(kKeyChannelCount, num_channels);
diff --git a/media/libstagefright/MediaDefs.cpp b/media/libstagefright/MediaDefs.cpp
index 01f1fbaf4abc..444e823295a3 100644
--- a/media/libstagefright/MediaDefs.cpp
+++ b/media/libstagefright/MediaDefs.cpp
@@ -30,6 +30,8 @@ const char *MEDIA_MIMETYPE_VIDEO_RAW = "video/raw";
const char *MEDIA_MIMETYPE_AUDIO_AMR_NB = "audio/3gpp";
const char *MEDIA_MIMETYPE_AUDIO_AMR_WB = "audio/amr-wb";
const char *MEDIA_MIMETYPE_AUDIO_MPEG = "audio/mpeg";
+const char *MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_I = "audio/mpeg-L1";
+const char *MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_II = "audio/mpeg-L2";
const char *MEDIA_MIMETYPE_AUDIO_AAC = "audio/mp4a-latm";
const char *MEDIA_MIMETYPE_AUDIO_QCELP = "audio/qcelp";
const char *MEDIA_MIMETYPE_AUDIO_VORBIS = "audio/vorbis";
@@ -45,6 +47,7 @@ const char *MEDIA_MIMETYPE_CONTAINER_OGG = "application/ogg";
const char *MEDIA_MIMETYPE_CONTAINER_MATROSKA = "video/x-matroska";
const char *MEDIA_MIMETYPE_CONTAINER_MPEG2TS = "video/mp2ts";
const char *MEDIA_MIMETYPE_CONTAINER_AVI = "video/avi";
+const char *MEDIA_MIMETYPE_CONTAINER_MPEG2PS = "video/mp2p";
const char *MEDIA_MIMETYPE_CONTAINER_WVM = "video/wvm";
diff --git a/media/libstagefright/MediaExtractor.cpp b/media/libstagefright/MediaExtractor.cpp
index a8023df60789..22212683d72c 100644
--- a/media/libstagefright/MediaExtractor.cpp
+++ b/media/libstagefright/MediaExtractor.cpp
@@ -24,6 +24,7 @@
#include "include/MPEG4Extractor.h"
#include "include/WAVExtractor.h"
#include "include/OggExtractor.h"
+#include "include/MPEG2PSExtractor.h"
#include "include/MPEG2TSExtractor.h"
#include "include/DRMExtractor.h"
#include "include/WVMExtractor.h"
@@ -115,6 +116,8 @@ sp<MediaExtractor> MediaExtractor::Create(
ret = new WVMExtractor(source);
} else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_AAC_ADTS)) {
ret = new AACExtractor(source);
+ } else if (!strcasecmp(mime, MEDIA_MIMETYPE_CONTAINER_MPEG2PS)) {
+ ret = new MPEG2PSExtractor(source);
}
if (ret != NULL) {
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp
index b20bfcb73ae7..dfd3f4ade921 100755
--- a/media/libstagefright/OMXCodec.cpp
+++ b/media/libstagefright/OMXCodec.cpp
@@ -109,6 +109,7 @@ static const CodecInfo kDecoderInfo[] = {
{ MEDIA_MIMETYPE_IMAGE_JPEG, "OMX.TI.JPEG.decode" },
// { MEDIA_MIMETYPE_AUDIO_MPEG, "OMX.TI.MP3.decode" },
{ MEDIA_MIMETYPE_AUDIO_MPEG, "OMX.google.mp3.decoder" },
+ { MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_II, "OMX.Nvidia.mp2.decoder" },
// { MEDIA_MIMETYPE_AUDIO_AMR_NB, "OMX.TI.AMR.decode" },
// { MEDIA_MIMETYPE_AUDIO_AMR_NB, "OMX.Nvidia.amr.decoder" },
{ MEDIA_MIMETYPE_AUDIO_AMR_NB, "OMX.google.amrnb.decoder" },
@@ -1471,7 +1472,9 @@ OMXCodec::OMXCodec(
mOutputPortSettingsChangedPending(false),
mLeftOverBuffer(NULL),
mPaused(false),
- mNativeWindow(!strncmp(componentName, "OMX.google.", 11)
+ mNativeWindow(
+ (!strncmp(componentName, "OMX.google.", 11)
+ || !strcmp(componentName, "OMX.Nvidia.mpeg2v.decode"))
? NULL : nativeWindow) {
mPortStatus[kPortIndexInput] = ENABLED;
mPortStatus[kPortIndexOutput] = ENABLED;
@@ -1492,6 +1495,12 @@ void OMXCodec::setComponentRole(
static const MimeToRole kMimeToRole[] = {
{ MEDIA_MIMETYPE_AUDIO_MPEG,
"audio_decoder.mp3", "audio_encoder.mp3" },
+ { MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_I,
+ "audio_decoder.mp1", "audio_encoder.mp1" },
+ { MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_II,
+ "audio_decoder.mp2", "audio_encoder.mp2" },
+ { MEDIA_MIMETYPE_AUDIO_MPEG,
+ "audio_decoder.mp3", "audio_encoder.mp3" },
{ MEDIA_MIMETYPE_AUDIO_AMR_NB,
"audio_decoder.amrnb", "audio_encoder.amrnb" },
{ MEDIA_MIMETYPE_AUDIO_AMR_WB,
diff --git a/media/libstagefright/StagefrightMediaScanner.cpp b/media/libstagefright/StagefrightMediaScanner.cpp
index 571e8be27ec8..bb6e4cd6b9e0 100644
--- a/media/libstagefright/StagefrightMediaScanner.cpp
+++ b/media/libstagefright/StagefrightMediaScanner.cpp
@@ -38,7 +38,7 @@ static bool FileHasAcceptableExtension(const char *extension) {
".mpeg", ".ogg", ".mid", ".smf", ".imy", ".wma", ".aac",
".wav", ".amr", ".midi", ".xmf", ".rtttl", ".rtx", ".ota",
".mkv", ".mka", ".webm", ".ts", ".fl", ".flac", ".mxmf",
- ".avi",
+ ".avi", ".mpeg", ".mpg"
};
static const size_t kNumValidExtensions =
sizeof(kValidExtensions) / sizeof(kValidExtensions[0]);
diff --git a/media/libstagefright/codecs/amrnb/enc/AMRNBEncoder.cpp b/media/libstagefright/codecs/amrnb/enc/AMRNBEncoder.cpp
index 94a79ab97441..d361ef4292cc 100644
--- a/media/libstagefright/codecs/amrnb/enc/AMRNBEncoder.cpp
+++ b/media/libstagefright/codecs/amrnb/enc/AMRNBEncoder.cpp
@@ -82,7 +82,11 @@ status_t AMRNBEncoder::start(MetaData *params) {
&mEncState, &mSidState, false /* dtx_enable */),
0);
- mSource->start(params);
+ status_t err = mSource->start(params);
+ if (err != OK) {
+ LOGE("AudioSource is not available");
+ return err;
+ }
mAnchorTimeUs = 0;
mNumFramesOutput = 0;
diff --git a/media/libstagefright/codecs/amrwbenc/AMRWBEncoder.cpp b/media/libstagefright/codecs/amrwbenc/AMRWBEncoder.cpp
index 002f05558c88..5eacc160fd29 100644
--- a/media/libstagefright/codecs/amrwbenc/AMRWBEncoder.cpp
+++ b/media/libstagefright/codecs/amrwbenc/AMRWBEncoder.cpp
@@ -137,8 +137,12 @@ status_t AMRWBEncoder::start(MetaData *params) {
CHECK_EQ(OK, initCheck());
mNumFramesOutput = 0;
- mSource->start(params);
+ status_t err = mSource->start(params);
+ if (err != OK) {
+ LOGE("AudioSource is not available");
+ return err;
+ }
mStarted = true;
return OK;
diff --git a/media/libstagefright/include/ARTSPController.h b/media/libstagefright/include/ARTSPController.h
deleted file mode 100644
index 2bd5be632a26..000000000000
--- a/media/libstagefright/include/ARTSPController.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef A_RTSP_CONTROLLER_H_
-
-#define A_RTSP_CONTROLLER_H_
-
-#include <media/stagefright/foundation/ABase.h>
-#include <media/stagefright/foundation/AHandlerReflector.h>
-#include <media/stagefright/MediaExtractor.h>
-
-namespace android {
-
-struct ALooper;
-struct MyHandler;
-
-struct ARTSPController : public MediaExtractor {
- ARTSPController(const sp<ALooper> &looper);
-
- void setUID(uid_t uid);
-
- status_t connect(const char *url);
- void disconnect();
-
- void seekAsync(int64_t timeUs, void (*seekDoneCb)(void *), void *cookie);
-
- virtual size_t countTracks();
- virtual sp<MediaSource> getTrack(size_t index);
-
- virtual sp<MetaData> getTrackMetaData(
- size_t index, uint32_t flags);
-
- int64_t getNormalPlayTimeUs();
- int64_t getQueueDurationUs(bool *eos);
-
- void onMessageReceived(const sp<AMessage> &msg);
-
- virtual uint32_t flags() const {
- // Seeking 10secs forward or backward is a very expensive operation
- // for rtsp, so let's not enable that.
- // The user can always use the seek bar.
-
- return CAN_PAUSE | CAN_SEEK;
- }
-
-protected:
- virtual ~ARTSPController();
-
-private:
- enum {
- kWhatConnectDone = 'cdon',
- kWhatDisconnectDone = 'ddon',
- kWhatSeekDone = 'sdon',
- };
-
- enum State {
- DISCONNECTED,
- CONNECTED,
- CONNECTING,
- };
-
- Mutex mLock;
- Condition mCondition;
-
- State mState;
- status_t mConnectionResult;
-
- sp<ALooper> mLooper;
- sp<MyHandler> mHandler;
- sp<AHandlerReflector<ARTSPController> > mReflector;
-
- bool mUIDValid;
- uid_t mUID;
-
- void (*mSeekDoneCb)(void *);
- void *mSeekDoneCookie;
- int64_t mLastSeekCompletedTimeUs;
-
- DISALLOW_EVIL_CONSTRUCTORS(ARTSPController);
-};
-
-} // namespace android
-
-#endif // A_RTSP_CONTROLLER_H_
diff --git a/media/libstagefright/include/AwesomePlayer.h b/media/libstagefright/include/AwesomePlayer.h
index 8e731212eb5f..7d6bcad4df01 100644
--- a/media/libstagefright/include/AwesomePlayer.h
+++ b/media/libstagefright/include/AwesomePlayer.h
@@ -38,9 +38,6 @@ struct MediaSource;
struct NuCachedSource2;
struct ISurfaceTexture;
-struct ALooper;
-struct ARTSPController;
-
class DrmManagerClinet;
class DecryptHandle;
@@ -233,10 +230,6 @@ private:
sp<HTTPBase> mConnectingDataSource;
sp<NuCachedSource2> mCachedSource;
- sp<ALooper> mLooper;
- sp<ARTSPController> mRTSPController;
- sp<ARTSPController> mConnectingRTSPController;
-
DrmManagerClient *mDrmManagerClient;
sp<DecryptHandle> mDecryptHandle;
@@ -287,9 +280,6 @@ private:
static bool ContinuePreparation(void *cookie);
- static void OnRTSPSeekDoneWrapper(void *cookie);
- void onRTSPSeekDone();
-
bool getBitrate(int64_t *bitrate);
void finishSeekIfNecessary(int64_t videoTimeUs);
diff --git a/media/libstagefright/include/MPEG2PSExtractor.h b/media/libstagefright/include/MPEG2PSExtractor.h
new file mode 100644
index 000000000000..fb76564c608c
--- /dev/null
+++ b/media/libstagefright/include/MPEG2PSExtractor.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef MPEG2_PS_EXTRACTOR_H_
+
+#define MPEG2_PS_EXTRACTOR_H_
+
+#include <media/stagefright/foundation/ABase.h>
+#include <media/stagefright/MediaExtractor.h>
+#include <utils/threads.h>
+#include <utils/KeyedVector.h>
+
+namespace android {
+
+struct ABuffer;
+struct AMessage;
+struct Track;
+struct String8;
+
+struct MPEG2PSExtractor : public MediaExtractor {
+ MPEG2PSExtractor(const sp<DataSource> &source);
+
+ virtual size_t countTracks();
+ virtual sp<MediaSource> getTrack(size_t index);
+ virtual sp<MetaData> getTrackMetaData(size_t index, uint32_t flags);
+
+ virtual sp<MetaData> getMetaData();
+
+ virtual uint32_t flags() const;
+
+protected:
+ virtual ~MPEG2PSExtractor();
+
+private:
+ struct Track;
+ struct WrappedTrack;
+
+ mutable Mutex mLock;
+ sp<DataSource> mDataSource;
+
+ off64_t mOffset;
+ status_t mFinalResult;
+ sp<ABuffer> mBuffer;
+ KeyedVector<unsigned, sp<Track> > mTracks;
+ bool mScanning;
+
+ bool mProgramStreamMapValid;
+ KeyedVector<unsigned, unsigned> mStreamTypeByESID;
+
+ status_t feedMore();
+
+ status_t dequeueChunk();
+ ssize_t dequeuePack();
+ ssize_t dequeueSystemHeader();
+ ssize_t dequeuePES();
+
+ DISALLOW_EVIL_CONSTRUCTORS(MPEG2PSExtractor);
+};
+
+bool SniffMPEG2PS(
+ const sp<DataSource> &source, String8 *mimeType, float *confidence,
+ sp<AMessage> *);
+
+} // namespace android
+
+#endif // MPEG2_PS_EXTRACTOR_H_
+
diff --git a/media/libstagefright/mpeg2ts/ATSParser.h b/media/libstagefright/mpeg2ts/ATSParser.h
index 388cb542f568..878e5342430c 100644
--- a/media/libstagefright/mpeg2ts/ATSParser.h
+++ b/media/libstagefright/mpeg2ts/ATSParser.h
@@ -64,12 +64,9 @@ struct ATSParser : public RefBase {
bool PTSTimeDeltaEstablished();
-protected:
- virtual ~ATSParser();
-
-private:
enum {
// From ISO/IEC 13818-1: 2000 (E), Table 2-29
+ STREAMTYPE_RESERVED = 0x00,
STREAMTYPE_MPEG1_VIDEO = 0x01,
STREAMTYPE_MPEG2_VIDEO = 0x02,
STREAMTYPE_MPEG1_AUDIO = 0x03,
@@ -79,6 +76,10 @@ private:
STREAMTYPE_H264 = 0x1b,
};
+protected:
+ virtual ~ATSParser();
+
+private:
struct Program;
struct Stream;
diff --git a/media/libstagefright/mpeg2ts/Android.mk b/media/libstagefright/mpeg2ts/Android.mk
index 4a30416b5d36..578c6690e04f 100644
--- a/media/libstagefright/mpeg2ts/Android.mk
+++ b/media/libstagefright/mpeg2ts/Android.mk
@@ -6,6 +6,7 @@ LOCAL_SRC_FILES:= \
AnotherPacketSource.cpp \
ATSParser.cpp \
ESQueue.cpp \
+ MPEG2PSExtractor.cpp \
MPEG2TSExtractor.cpp \
LOCAL_C_INCLUDES:= \
diff --git a/media/libstagefright/mpeg2ts/ESQueue.cpp b/media/libstagefright/mpeg2ts/ESQueue.cpp
index a56da364d441..b9a482614ed1 100644
--- a/media/libstagefright/mpeg2ts/ESQueue.cpp
+++ b/media/libstagefright/mpeg2ts/ESQueue.cpp
@@ -585,6 +585,8 @@ sp<ABuffer> ElementaryStreamQueue::dequeueAccessUnitMPEGAudio() {
return NULL;
}
+ unsigned layer = 4 - ((header >> 17) & 3);
+
sp<ABuffer> accessUnit = new ABuffer(frameSize);
memcpy(accessUnit->data(), data, frameSize);
@@ -601,7 +603,24 @@ sp<ABuffer> ElementaryStreamQueue::dequeueAccessUnitMPEGAudio() {
if (mFormat == NULL) {
mFormat = new MetaData;
- mFormat->setCString(kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_MPEG);
+
+ switch (layer) {
+ case 1:
+ mFormat->setCString(
+ kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_I);
+ break;
+ case 2:
+ mFormat->setCString(
+ kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_II);
+ break;
+ case 3:
+ mFormat->setCString(
+ kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_MPEG);
+ break;
+ default:
+ TRESPASS();
+ }
+
mFormat->setInt32(kKeySampleRate, samplingRate);
mFormat->setInt32(kKeyChannelCount, numChannels);
}
diff --git a/media/libstagefright/mpeg2ts/MPEG2PSExtractor.cpp b/media/libstagefright/mpeg2ts/MPEG2PSExtractor.cpp
new file mode 100644
index 000000000000..f55be6e208b1
--- /dev/null
+++ b/media/libstagefright/mpeg2ts/MPEG2PSExtractor.cpp
@@ -0,0 +1,715 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+//#define LOG_NDEBUG 0
+#define LOG_TAG "MPEG2PSExtractor"
+#include <utils/Log.h>
+
+#include "include/MPEG2PSExtractor.h"
+
+#include "AnotherPacketSource.h"
+#include "ESQueue.h"
+
+#include <media/stagefright/foundation/ABitReader.h>
+#include <media/stagefright/foundation/ABuffer.h>
+#include <media/stagefright/foundation/ADebug.h>
+#include <media/stagefright/foundation/AMessage.h>
+#include <media/stagefright/foundation/hexdump.h>
+#include <media/stagefright/DataSource.h>
+#include <media/stagefright/MediaDefs.h>
+#include <media/stagefright/MediaErrors.h>
+#include <media/stagefright/MediaSource.h>
+#include <media/stagefright/MetaData.h>
+#include <media/stagefright/Utils.h>
+#include <utils/String8.h>
+
+namespace android {
+
+struct MPEG2PSExtractor::Track : public MediaSource {
+ Track(MPEG2PSExtractor *extractor,
+ unsigned stream_id, unsigned stream_type);
+
+ virtual status_t start(MetaData *params);
+ virtual status_t stop();
+ virtual sp<MetaData> getFormat();
+
+ virtual status_t read(
+ MediaBuffer **buffer, const ReadOptions *options);
+
+protected:
+ virtual ~Track();
+
+private:
+ friend struct MPEG2PSExtractor;
+
+ MPEG2PSExtractor *mExtractor;
+
+ unsigned mStreamID;
+ unsigned mStreamType;
+ ElementaryStreamQueue *mQueue;
+ sp<AnotherPacketSource> mSource;
+
+ status_t appendPESData(
+ unsigned PTS_DTS_flags,
+ uint64_t PTS, uint64_t DTS,
+ const uint8_t *data, size_t size);
+
+ DISALLOW_EVIL_CONSTRUCTORS(Track);
+};
+
+struct MPEG2PSExtractor::WrappedTrack : public MediaSource {
+ WrappedTrack(const sp<MPEG2PSExtractor> &extractor, const sp<Track> &track);
+
+ virtual status_t start(MetaData *params);
+ virtual status_t stop();
+ virtual sp<MetaData> getFormat();
+
+ virtual status_t read(
+ MediaBuffer **buffer, const ReadOptions *options);
+
+protected:
+ virtual ~WrappedTrack();
+
+private:
+ sp<MPEG2PSExtractor> mExtractor;
+ sp<MPEG2PSExtractor::Track> mTrack;
+
+ DISALLOW_EVIL_CONSTRUCTORS(WrappedTrack);
+};
+
+////////////////////////////////////////////////////////////////////////////////
+
+MPEG2PSExtractor::MPEG2PSExtractor(const sp<DataSource> &source)
+ : mDataSource(source),
+ mOffset(0),
+ mFinalResult(OK),
+ mBuffer(new ABuffer(0)),
+ mScanning(true),
+ mProgramStreamMapValid(false) {
+ for (size_t i = 0; i < 500; ++i) {
+ if (feedMore() != OK) {
+ break;
+ }
+ }
+
+ // Remove all tracks that were unable to determine their format.
+ for (size_t i = mTracks.size(); i-- > 0;) {
+ if (mTracks.valueAt(i)->getFormat() == NULL) {
+ mTracks.removeItemsAt(i);
+ }
+ }
+
+ mScanning = false;
+}
+
+MPEG2PSExtractor::~MPEG2PSExtractor() {
+}
+
+size_t MPEG2PSExtractor::countTracks() {
+ return mTracks.size();
+}
+
+sp<MediaSource> MPEG2PSExtractor::getTrack(size_t index) {
+ if (index >= mTracks.size()) {
+ return NULL;
+ }
+
+ return new WrappedTrack(this, mTracks.valueAt(index));
+}
+
+sp<MetaData> MPEG2PSExtractor::getTrackMetaData(size_t index, uint32_t flags) {
+ if (index >= mTracks.size()) {
+ return NULL;
+ }
+
+ return mTracks.valueAt(index)->getFormat();
+}
+
+sp<MetaData> MPEG2PSExtractor::getMetaData() {
+ sp<MetaData> meta = new MetaData;
+ meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_CONTAINER_MPEG2PS);
+
+ return meta;
+}
+
+uint32_t MPEG2PSExtractor::flags() const {
+ return CAN_PAUSE;
+}
+
+status_t MPEG2PSExtractor::feedMore() {
+ Mutex::Autolock autoLock(mLock);
+
+ // How much data we're reading at a time
+ static const size_t kChunkSize = 8192;
+
+ for (;;) {
+ status_t err = dequeueChunk();
+
+ if (err == -EAGAIN && mFinalResult == OK) {
+ memmove(mBuffer->base(), mBuffer->data(), mBuffer->size());
+ mBuffer->setRange(0, mBuffer->size());
+
+ if (mBuffer->size() + kChunkSize > mBuffer->capacity()) {
+ size_t newCapacity = mBuffer->capacity() + kChunkSize;
+ sp<ABuffer> newBuffer = new ABuffer(newCapacity);
+ memcpy(newBuffer->data(), mBuffer->data(), mBuffer->size());
+ newBuffer->setRange(0, mBuffer->size());
+ mBuffer = newBuffer;
+ }
+
+ ssize_t n = mDataSource->readAt(
+ mOffset, mBuffer->data() + mBuffer->size(), kChunkSize);
+
+ if (n < (ssize_t)kChunkSize) {
+ mFinalResult = (n < 0) ? (status_t)n : ERROR_END_OF_STREAM;
+ return mFinalResult;
+ }
+
+ mBuffer->setRange(mBuffer->offset(), mBuffer->size() + n);
+ mOffset += n;
+ } else if (err != OK) {
+ mFinalResult = err;
+ return err;
+ } else {
+ return OK;
+ }
+ }
+}
+
+status_t MPEG2PSExtractor::dequeueChunk() {
+ if (mBuffer->size() < 4) {
+ return -EAGAIN;
+ }
+
+ if (memcmp("\x00\x00\x01", mBuffer->data(), 3)) {
+ return ERROR_MALFORMED;
+ }
+
+ unsigned chunkType = mBuffer->data()[3];
+
+ ssize_t res;
+
+ switch (chunkType) {
+ case 0xba:
+ {
+ res = dequeuePack();
+ break;
+ }
+
+ case 0xbb:
+ {
+ res = dequeueSystemHeader();
+ break;
+ }
+
+ default:
+ {
+ res = dequeuePES();
+ break;
+ }
+ }
+
+ if (res > 0) {
+ if (mBuffer->size() < (size_t)res) {
+ return -EAGAIN;
+ }
+
+ mBuffer->setRange(mBuffer->offset() + res, mBuffer->size() - res);
+ res = OK;
+ }
+
+ return res;
+}
+
+ssize_t MPEG2PSExtractor::dequeuePack() {
+ // 32 + 2 + 3 + 1 + 15 + 1 + 15+ 1 + 9 + 1 + 22 + 1 + 1 | +5
+
+ if (mBuffer->size() < 14) {
+ return -EAGAIN;
+ }
+
+ unsigned pack_stuffing_length = mBuffer->data()[13] & 7;
+
+ return pack_stuffing_length + 14;
+}
+
+ssize_t MPEG2PSExtractor::dequeueSystemHeader() {
+ if (mBuffer->size() < 6) {
+ return -EAGAIN;
+ }
+
+ unsigned header_length = U16_AT(mBuffer->data() + 4);
+
+ return header_length + 6;
+}
+
+ssize_t MPEG2PSExtractor::dequeuePES() {
+ if (mBuffer->size() < 6) {
+ return -EAGAIN;
+ }
+
+ unsigned PES_packet_length = U16_AT(mBuffer->data() + 4);
+ CHECK_NE(PES_packet_length, 0u);
+
+ size_t n = PES_packet_length + 6;
+
+ if (mBuffer->size() < n) {
+ return -EAGAIN;
+ }
+
+ ABitReader br(mBuffer->data(), n);
+
+ unsigned packet_startcode_prefix = br.getBits(24);
+
+ LOGV("packet_startcode_prefix = 0x%08x", packet_startcode_prefix);
+
+ if (packet_startcode_prefix != 1) {
+ LOGV("Supposedly payload_unit_start=1 unit does not start "
+ "with startcode.");
+
+ return ERROR_MALFORMED;
+ }
+
+ CHECK_EQ(packet_startcode_prefix, 0x000001u);
+
+ unsigned stream_id = br.getBits(8);
+ LOGV("stream_id = 0x%02x", stream_id);
+
+ /* unsigned PES_packet_length = */br.getBits(16);
+
+ if (stream_id == 0xbc) {
+ // program_stream_map
+
+ if (!mScanning) {
+ return n;
+ }
+
+ mStreamTypeByESID.clear();
+
+ /* unsigned current_next_indicator = */br.getBits(1);
+ /* unsigned reserved = */br.getBits(2);
+ /* unsigned program_stream_map_version = */br.getBits(5);
+ /* unsigned reserved = */br.getBits(7);
+ /* unsigned marker_bit = */br.getBits(1);
+ unsigned program_stream_info_length = br.getBits(16);
+
+ size_t offset = 0;
+ while (offset < program_stream_info_length) {
+ if (offset + 2 > program_stream_info_length) {
+ return ERROR_MALFORMED;
+ }
+
+ unsigned descriptor_tag = br.getBits(8);
+ unsigned descriptor_length = br.getBits(8);
+
+ LOGI("found descriptor tag 0x%02x of length %u",
+ descriptor_tag, descriptor_length);
+
+ if (offset + 2 + descriptor_length > program_stream_info_length) {
+ return ERROR_MALFORMED;
+ }
+
+ br.skipBits(8 * descriptor_length);
+
+ offset += 2 + descriptor_length;
+ }
+
+ unsigned elementary_stream_map_length = br.getBits(16);
+
+ offset = 0;
+ while (offset < elementary_stream_map_length) {
+ if (offset + 4 > elementary_stream_map_length) {
+ return ERROR_MALFORMED;
+ }
+
+ unsigned stream_type = br.getBits(8);
+ unsigned elementary_stream_id = br.getBits(8);
+
+ LOGI("elementary stream id 0x%02x has stream type 0x%02x",
+ elementary_stream_id, stream_type);
+
+ mStreamTypeByESID.add(elementary_stream_id, stream_type);
+
+ unsigned elementary_stream_info_length = br.getBits(16);
+
+ if (offset + 4 + elementary_stream_info_length
+ > elementary_stream_map_length) {
+ return ERROR_MALFORMED;
+ }
+
+ offset += 4 + elementary_stream_info_length;
+ }
+
+ /* unsigned CRC32 = */br.getBits(32);
+
+ mProgramStreamMapValid = true;
+ } else if (stream_id != 0xbe // padding_stream
+ && stream_id != 0xbf // private_stream_2
+ && stream_id != 0xf0 // ECM
+ && stream_id != 0xf1 // EMM
+ && stream_id != 0xff // program_stream_directory
+ && stream_id != 0xf2 // DSMCC
+ && stream_id != 0xf8) { // H.222.1 type E
+ CHECK_EQ(br.getBits(2), 2u);
+
+ /* unsigned PES_scrambling_control = */br.getBits(2);
+ /* unsigned PES_priority = */br.getBits(1);
+ /* unsigned data_alignment_indicator = */br.getBits(1);
+ /* unsigned copyright = */br.getBits(1);
+ /* unsigned original_or_copy = */br.getBits(1);
+
+ unsigned PTS_DTS_flags = br.getBits(2);
+ LOGV("PTS_DTS_flags = %u", PTS_DTS_flags);
+
+ unsigned ESCR_flag = br.getBits(1);
+ LOGV("ESCR_flag = %u", ESCR_flag);
+
+ unsigned ES_rate_flag = br.getBits(1);
+ LOGV("ES_rate_flag = %u", ES_rate_flag);
+
+ unsigned DSM_trick_mode_flag = br.getBits(1);
+ LOGV("DSM_trick_mode_flag = %u", DSM_trick_mode_flag);
+
+ unsigned additional_copy_info_flag = br.getBits(1);
+ LOGV("additional_copy_info_flag = %u", additional_copy_info_flag);
+
+ /* unsigned PES_CRC_flag = */br.getBits(1);
+ /* PES_extension_flag = */br.getBits(1);
+
+ unsigned PES_header_data_length = br.getBits(8);
+ LOGV("PES_header_data_length = %u", PES_header_data_length);
+
+ unsigned optional_bytes_remaining = PES_header_data_length;
+
+ uint64_t PTS = 0, DTS = 0;
+
+ if (PTS_DTS_flags == 2 || PTS_DTS_flags == 3) {
+ CHECK_GE(optional_bytes_remaining, 5u);
+
+ CHECK_EQ(br.getBits(4), PTS_DTS_flags);
+
+ PTS = ((uint64_t)br.getBits(3)) << 30;
+ CHECK_EQ(br.getBits(1), 1u);
+ PTS |= ((uint64_t)br.getBits(15)) << 15;
+ CHECK_EQ(br.getBits(1), 1u);
+ PTS |= br.getBits(15);
+ CHECK_EQ(br.getBits(1), 1u);
+
+ LOGV("PTS = %llu", PTS);
+ // LOGI("PTS = %.2f secs", PTS / 90000.0f);
+
+ optional_bytes_remaining -= 5;
+
+ if (PTS_DTS_flags == 3) {
+ CHECK_GE(optional_bytes_remaining, 5u);
+
+ CHECK_EQ(br.getBits(4), 1u);
+
+ DTS = ((uint64_t)br.getBits(3)) << 30;
+ CHECK_EQ(br.getBits(1), 1u);
+ DTS |= ((uint64_t)br.getBits(15)) << 15;
+ CHECK_EQ(br.getBits(1), 1u);
+ DTS |= br.getBits(15);
+ CHECK_EQ(br.getBits(1), 1u);
+
+ LOGV("DTS = %llu", DTS);
+
+ optional_bytes_remaining -= 5;
+ }
+ }
+
+ if (ESCR_flag) {
+ CHECK_GE(optional_bytes_remaining, 6u);
+
+ br.getBits(2);
+
+ uint64_t ESCR = ((uint64_t)br.getBits(3)) << 30;
+ CHECK_EQ(br.getBits(1), 1u);
+ ESCR |= ((uint64_t)br.getBits(15)) << 15;
+ CHECK_EQ(br.getBits(1), 1u);
+ ESCR |= br.getBits(15);
+ CHECK_EQ(br.getBits(1), 1u);
+
+ LOGV("ESCR = %llu", ESCR);
+ /* unsigned ESCR_extension = */br.getBits(9);
+
+ CHECK_EQ(br.getBits(1), 1u);
+
+ optional_bytes_remaining -= 6;
+ }
+
+ if (ES_rate_flag) {
+ CHECK_GE(optional_bytes_remaining, 3u);
+
+ CHECK_EQ(br.getBits(1), 1u);
+ /* unsigned ES_rate = */br.getBits(22);
+ CHECK_EQ(br.getBits(1), 1u);
+
+ optional_bytes_remaining -= 3;
+ }
+
+ br.skipBits(optional_bytes_remaining * 8);
+
+ // ES data follows.
+
+ CHECK_GE(PES_packet_length, PES_header_data_length + 3);
+
+ unsigned dataLength =
+ PES_packet_length - 3 - PES_header_data_length;
+
+ if (br.numBitsLeft() < dataLength * 8) {
+ LOGE("PES packet does not carry enough data to contain "
+ "payload. (numBitsLeft = %d, required = %d)",
+ br.numBitsLeft(), dataLength * 8);
+
+ return ERROR_MALFORMED;
+ }
+
+ CHECK_GE(br.numBitsLeft(), dataLength * 8);
+
+ ssize_t index = mTracks.indexOfKey(stream_id);
+ if (index < 0 && mScanning) {
+ unsigned streamType;
+
+ ssize_t streamTypeIndex;
+ if (mProgramStreamMapValid
+ && (streamTypeIndex =
+ mStreamTypeByESID.indexOfKey(stream_id)) >= 0) {
+ streamType = mStreamTypeByESID.valueAt(streamTypeIndex);
+ } else if ((stream_id & ~0x1f) == 0xc0) {
+ // ISO/IEC 13818-3 or ISO/IEC 11172-3 or ISO/IEC 13818-7
+ // or ISO/IEC 14496-3 audio
+ streamType = ATSParser::STREAMTYPE_MPEG2_AUDIO;
+ } else if ((stream_id & ~0x0f) == 0xe0) {
+ // ISO/IEC 13818-2 or ISO/IEC 11172-2 or ISO/IEC 14496-2 video
+ streamType = ATSParser::STREAMTYPE_MPEG2_VIDEO;
+ } else {
+ streamType = ATSParser::STREAMTYPE_RESERVED;
+ }
+
+ index = mTracks.add(
+ stream_id, new Track(this, stream_id, streamType));
+ }
+
+ status_t err = OK;
+
+ if (index >= 0) {
+ err =
+ mTracks.editValueAt(index)->appendPESData(
+ PTS_DTS_flags, PTS, DTS, br.data(), dataLength);
+ }
+
+ br.skipBits(dataLength * 8);
+
+ if (err != OK) {
+ return err;
+ }
+ } else if (stream_id == 0xbe) { // padding_stream
+ CHECK_NE(PES_packet_length, 0u);
+ br.skipBits(PES_packet_length * 8);
+ } else {
+ CHECK_NE(PES_packet_length, 0u);
+ br.skipBits(PES_packet_length * 8);
+ }
+
+ return n;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+MPEG2PSExtractor::Track::Track(
+ MPEG2PSExtractor *extractor, unsigned stream_id, unsigned stream_type)
+ : mExtractor(extractor),
+ mStreamID(stream_id),
+ mStreamType(stream_type),
+ mQueue(NULL) {
+ bool supported = true;
+ ElementaryStreamQueue::Mode mode;
+
+ switch (mStreamType) {
+ case ATSParser::STREAMTYPE_H264:
+ mode = ElementaryStreamQueue::H264;
+ break;
+ case ATSParser::STREAMTYPE_MPEG2_AUDIO_ATDS:
+ mode = ElementaryStreamQueue::AAC;
+ break;
+ case ATSParser::STREAMTYPE_MPEG1_AUDIO:
+ case ATSParser::STREAMTYPE_MPEG2_AUDIO:
+ mode = ElementaryStreamQueue::MPEG_AUDIO;
+ break;
+
+ case ATSParser::STREAMTYPE_MPEG1_VIDEO:
+ case ATSParser::STREAMTYPE_MPEG2_VIDEO:
+ mode = ElementaryStreamQueue::MPEG_VIDEO;
+ break;
+
+ case ATSParser::STREAMTYPE_MPEG4_VIDEO:
+ mode = ElementaryStreamQueue::MPEG4_VIDEO;
+ break;
+
+ default:
+ supported = false;
+ break;
+ }
+
+ if (supported) {
+ mQueue = new ElementaryStreamQueue(mode);
+ } else {
+ LOGI("unsupported stream ID 0x%02x", stream_id);
+ }
+}
+
+MPEG2PSExtractor::Track::~Track() {
+ delete mQueue;
+ mQueue = NULL;
+}
+
+status_t MPEG2PSExtractor::Track::start(MetaData *params) {
+ if (mSource == NULL) {
+ return NO_INIT;
+ }
+
+ return mSource->start(params);
+}
+
+status_t MPEG2PSExtractor::Track::stop() {
+ if (mSource == NULL) {
+ return NO_INIT;
+ }
+
+ return mSource->stop();
+}
+
+sp<MetaData> MPEG2PSExtractor::Track::getFormat() {
+ if (mSource == NULL) {
+ return NULL;
+ }
+
+ return mSource->getFormat();
+}
+
+status_t MPEG2PSExtractor::Track::read(
+ MediaBuffer **buffer, const ReadOptions *options) {
+ if (mSource == NULL) {
+ return NO_INIT;
+ }
+
+ status_t finalResult;
+ while (!mSource->hasBufferAvailable(&finalResult)) {
+ if (finalResult != OK) {
+ return ERROR_END_OF_STREAM;
+ }
+
+ status_t err = mExtractor->feedMore();
+
+ if (err != OK) {
+ mSource->signalEOS(err);
+ }
+ }
+
+ return mSource->read(buffer, options);
+}
+
+status_t MPEG2PSExtractor::Track::appendPESData(
+ unsigned PTS_DTS_flags,
+ uint64_t PTS, uint64_t DTS,
+ const uint8_t *data, size_t size) {
+ if (mQueue == NULL) {
+ return OK;
+ }
+
+ int64_t timeUs;
+ if (PTS_DTS_flags == 2 || PTS_DTS_flags == 3) {
+ timeUs = (PTS * 100) / 9;
+ } else {
+ timeUs = 0;
+ }
+
+ status_t err = mQueue->appendData(data, size, timeUs);
+
+ if (err != OK) {
+ return err;
+ }
+
+ sp<ABuffer> accessUnit;
+ while ((accessUnit = mQueue->dequeueAccessUnit()) != NULL) {
+ if (mSource == NULL) {
+ sp<MetaData> meta = mQueue->getFormat();
+
+ if (meta != NULL) {
+ LOGV("Stream ID 0x%02x now has data.", mStreamID);
+
+ mSource = new AnotherPacketSource(meta);
+ mSource->queueAccessUnit(accessUnit);
+ }
+ } else if (mQueue->getFormat() != NULL) {
+ mSource->queueAccessUnit(accessUnit);
+ }
+ }
+
+ return OK;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+MPEG2PSExtractor::WrappedTrack::WrappedTrack(
+ const sp<MPEG2PSExtractor> &extractor, const sp<Track> &track)
+ : mExtractor(extractor),
+ mTrack(track) {
+}
+
+MPEG2PSExtractor::WrappedTrack::~WrappedTrack() {
+}
+
+status_t MPEG2PSExtractor::WrappedTrack::start(MetaData *params) {
+ return mTrack->start(params);
+}
+
+status_t MPEG2PSExtractor::WrappedTrack::stop() {
+ return mTrack->stop();
+}
+
+sp<MetaData> MPEG2PSExtractor::WrappedTrack::getFormat() {
+ return mTrack->getFormat();
+}
+
+status_t MPEG2PSExtractor::WrappedTrack::read(
+ MediaBuffer **buffer, const ReadOptions *options) {
+ return mTrack->read(buffer, options);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+bool SniffMPEG2PS(
+ const sp<DataSource> &source, String8 *mimeType, float *confidence,
+ sp<AMessage> *) {
+ uint8_t header[5];
+ if (source->readAt(0, header, sizeof(header)) < (ssize_t)sizeof(header)) {
+ return false;
+ }
+
+ if (memcmp("\x00\x00\x01\xba", header, 4) || (header[4] >> 6) != 1) {
+ return false;
+ }
+
+ *confidence = 0.25f; // Slightly larger than .mp3 extractor's confidence
+
+ mimeType->setTo(MEDIA_MIMETYPE_CONTAINER_MPEG2PS);
+
+ return true;
+}
+
+} // namespace android
diff --git a/media/libstagefright/rtsp/APacketSource.cpp b/media/libstagefright/rtsp/APacketSource.cpp
index 4ecb92f02c5f..3f4cdb5e9bb3 100644
--- a/media/libstagefright/rtsp/APacketSource.cpp
+++ b/media/libstagefright/rtsp/APacketSource.cpp
@@ -34,8 +34,8 @@
#include <media/stagefright/foundation/AString.h>
#include <media/stagefright/foundation/base64.h>
#include <media/stagefright/foundation/hexdump.h>
-#include <media/stagefright/MediaBuffer.h>
#include <media/stagefright/MediaDefs.h>
+#include <media/stagefright/MediaErrors.h>
#include <media/stagefright/MetaData.h>
#include <utils/Vector.h>
@@ -402,43 +402,15 @@ static sp<ABuffer> MakeMPEG4VideoCodecSpecificData(
return csd;
}
-static bool GetClockRate(const AString &desc, uint32_t *clockRate) {
- ssize_t slashPos = desc.find("/");
- if (slashPos < 0) {
- return false;
- }
-
- const char *s = desc.c_str() + slashPos + 1;
-
- char *end;
- unsigned long x = strtoul(s, &end, 10);
-
- if (end == s || (*end != '\0' && *end != '/')) {
- return false;
- }
-
- *clockRate = x;
-
- return true;
-}
-
APacketSource::APacketSource(
const sp<ASessionDescription> &sessionDesc, size_t index)
: mInitCheck(NO_INIT),
- mFormat(new MetaData),
- mEOSResult(OK),
- mIsAVC(false),
- mScanForIDR(true),
- mRTPTimeBase(0),
- mNormalPlayTimeBaseUs(0),
- mLastNormalPlayTimeUs(0) {
+ mFormat(new MetaData) {
unsigned long PT;
AString desc;
AString params;
sessionDesc->getFormatType(index, &PT, &desc, &params);
- CHECK(GetClockRate(desc, &mClockRate));
-
int64_t durationUs;
if (sessionDesc->getDurationUs(&durationUs)) {
mFormat->setInt64(kKeyDuration, durationUs);
@@ -448,8 +420,6 @@ APacketSource::APacketSource(
mInitCheck = OK;
if (!strncmp(desc.c_str(), "H264/", 5)) {
- mIsAVC = true;
-
mFormat->setCString(kKeyMIMEType, MEDIA_MIMETYPE_VIDEO_AVC);
int32_t width, height;
@@ -602,137 +572,8 @@ status_t APacketSource::initCheck() const {
return mInitCheck;
}
-status_t APacketSource::start(MetaData *params) {
- return OK;
-}
-
-status_t APacketSource::stop() {
- return OK;
-}
-
sp<MetaData> APacketSource::getFormat() {
return mFormat;
}
-status_t APacketSource::read(
- MediaBuffer **out, const ReadOptions *) {
- *out = NULL;
-
- Mutex::Autolock autoLock(mLock);
- while (mEOSResult == OK && mBuffers.empty()) {
- mCondition.wait(mLock);
- }
-
- if (!mBuffers.empty()) {
- const sp<ABuffer> buffer = *mBuffers.begin();
-
- updateNormalPlayTime_l(buffer);
-
- int64_t timeUs;
- CHECK(buffer->meta()->findInt64("timeUs", &timeUs));
-
- MediaBuffer *mediaBuffer = new MediaBuffer(buffer);
- mediaBuffer->meta_data()->setInt64(kKeyTime, timeUs);
-
- *out = mediaBuffer;
-
- mBuffers.erase(mBuffers.begin());
- return OK;
- }
-
- return mEOSResult;
-}
-
-void APacketSource::updateNormalPlayTime_l(const sp<ABuffer> &buffer) {
- uint32_t rtpTime;
- CHECK(buffer->meta()->findInt32("rtp-time", (int32_t *)&rtpTime));
-
- mLastNormalPlayTimeUs =
- (((double)rtpTime - (double)mRTPTimeBase) / mClockRate)
- * 1000000ll
- + mNormalPlayTimeBaseUs;
-}
-
-void APacketSource::queueAccessUnit(const sp<ABuffer> &buffer) {
- int32_t damaged;
- if (buffer->meta()->findInt32("damaged", &damaged) && damaged) {
- LOGV("discarding damaged AU");
- return;
- }
-
- if (mScanForIDR && mIsAVC) {
- // This pretty piece of code ensures that the first access unit
- // fed to the decoder after stream-start or seek is guaranteed to
- // be an IDR frame. This is to workaround limitations of a certain
- // hardware h.264 decoder that requires this to be the case.
-
- if (!IsIDR(buffer)) {
- LOGV("skipping AU while scanning for next IDR frame.");
- return;
- }
-
- mScanForIDR = false;
- }
-
- Mutex::Autolock autoLock(mLock);
- mBuffers.push_back(buffer);
- mCondition.signal();
-}
-
-void APacketSource::signalEOS(status_t result) {
- CHECK(result != OK);
-
- Mutex::Autolock autoLock(mLock);
- mEOSResult = result;
- mCondition.signal();
-}
-
-void APacketSource::flushQueue() {
- Mutex::Autolock autoLock(mLock);
- mBuffers.clear();
-
- mScanForIDR = true;
-}
-
-int64_t APacketSource::getNormalPlayTimeUs() {
- Mutex::Autolock autoLock(mLock);
- return mLastNormalPlayTimeUs;
-}
-
-void APacketSource::setNormalPlayTimeMapping(
- uint32_t rtpTime, int64_t normalPlayTimeUs) {
- Mutex::Autolock autoLock(mLock);
-
- mRTPTimeBase = rtpTime;
- mNormalPlayTimeBaseUs = normalPlayTimeUs;
-}
-
-int64_t APacketSource::getQueueDurationUs(bool *eos) {
- Mutex::Autolock autoLock(mLock);
-
- *eos = (mEOSResult != OK);
-
- if (mBuffers.size() < 2) {
- return 0;
- }
-
- const sp<ABuffer> first = *mBuffers.begin();
- const sp<ABuffer> last = *--mBuffers.end();
-
- int64_t firstTimeUs;
- CHECK(first->meta()->findInt64("timeUs", &firstTimeUs));
-
- int64_t lastTimeUs;
- CHECK(last->meta()->findInt64("timeUs", &lastTimeUs));
-
- if (lastTimeUs < firstTimeUs) {
- LOGE("Huh? Time moving backwards? %lld > %lld",
- firstTimeUs, lastTimeUs);
-
- return 0;
- }
-
- return lastTimeUs - firstTimeUs;
-}
-
} // namespace android
diff --git a/media/libstagefright/rtsp/APacketSource.h b/media/libstagefright/rtsp/APacketSource.h
index 7a77fc64f826..530e53761700 100644
--- a/media/libstagefright/rtsp/APacketSource.h
+++ b/media/libstagefright/rtsp/APacketSource.h
@@ -19,63 +19,27 @@
#define A_PACKET_SOURCE_H_
#include <media/stagefright/foundation/ABase.h>
-#include <media/stagefright/MediaSource.h>
-#include <utils/threads.h>
-#include <utils/List.h>
+#include <media/stagefright/MetaData.h>
+#include <utils/RefBase.h>
namespace android {
-struct ABuffer;
struct ASessionDescription;
-struct APacketSource : public MediaSource {
+struct APacketSource : public RefBase {
APacketSource(const sp<ASessionDescription> &sessionDesc, size_t index);
status_t initCheck() const;
- virtual status_t start(MetaData *params = NULL);
- virtual status_t stop();
virtual sp<MetaData> getFormat();
- virtual status_t read(
- MediaBuffer **buffer, const ReadOptions *options = NULL);
-
- void queueAccessUnit(const sp<ABuffer> &buffer);
- void signalEOS(status_t result);
-
- void flushQueue();
-
- int64_t getNormalPlayTimeUs();
-
- void setNormalPlayTimeMapping(
- uint32_t rtpTime, int64_t normalPlayTimeUs);
-
- int64_t getQueueDurationUs(bool *eos);
-
protected:
virtual ~APacketSource();
private:
status_t mInitCheck;
- Mutex mLock;
- Condition mCondition;
-
sp<MetaData> mFormat;
- List<sp<ABuffer> > mBuffers;
- status_t mEOSResult;
-
- bool mIsAVC;
- bool mScanForIDR;
-
- uint32_t mClockRate;
-
- uint32_t mRTPTimeBase;
- int64_t mNormalPlayTimeBaseUs;
-
- int64_t mLastNormalPlayTimeUs;
-
- void updateNormalPlayTime_l(const sp<ABuffer> &buffer);
DISALLOW_EVIL_CONSTRUCTORS(APacketSource);
};
diff --git a/media/libstagefright/rtsp/ARTSPController.cpp b/media/libstagefright/rtsp/ARTSPController.cpp
deleted file mode 100644
index 2ebae7e37abc..000000000000
--- a/media/libstagefright/rtsp/ARTSPController.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ARTSPController.h"
-
-#include "MyHandler.h"
-
-#include <media/stagefright/foundation/ADebug.h>
-#include <media/stagefright/MediaErrors.h>
-#include <media/stagefright/MediaSource.h>
-#include <media/stagefright/MetaData.h>
-
-namespace android {
-
-ARTSPController::ARTSPController(const sp<ALooper> &looper)
- : mState(DISCONNECTED),
- mLooper(looper),
- mUIDValid(false),
- mSeekDoneCb(NULL),
- mSeekDoneCookie(NULL),
- mLastSeekCompletedTimeUs(-1) {
- mReflector = new AHandlerReflector<ARTSPController>(this);
- looper->registerHandler(mReflector);
-}
-
-ARTSPController::~ARTSPController() {
- CHECK_EQ((int)mState, (int)DISCONNECTED);
- mLooper->unregisterHandler(mReflector->id());
-}
-
-void ARTSPController::setUID(uid_t uid) {
- mUIDValid = true;
- mUID = uid;
-}
-
-status_t ARTSPController::connect(const char *url) {
- Mutex::Autolock autoLock(mLock);
-
- if (mState != DISCONNECTED) {
- return ERROR_ALREADY_CONNECTED;
- }
-
- sp<AMessage> msg = new AMessage(kWhatConnectDone, mReflector->id());
-
- mHandler = new MyHandler(url, mLooper, mUIDValid, mUID);
-
- mState = CONNECTING;
-
- mHandler->connect(msg);
-
- while (mState == CONNECTING) {
- mCondition.wait(mLock);
- }
-
- if (mState != CONNECTED) {
- mHandler.clear();
- }
-
- return mConnectionResult;
-}
-
-void ARTSPController::disconnect() {
- Mutex::Autolock autoLock(mLock);
-
- if (mState == CONNECTING) {
- mState = DISCONNECTED;
- mConnectionResult = ERROR_IO;
- mCondition.broadcast();
-
- mHandler.clear();
- return;
- } else if (mState != CONNECTED) {
- return;
- }
-
- sp<AMessage> msg = new AMessage(kWhatDisconnectDone, mReflector->id());
- mHandler->disconnect(msg);
-
- while (mState == CONNECTED) {
- mCondition.wait(mLock);
- }
-
- mHandler.clear();
-}
-
-void ARTSPController::seekAsync(
- int64_t timeUs,
- void (*seekDoneCb)(void *), void *cookie) {
- Mutex::Autolock autoLock(mLock);
-
- CHECK(seekDoneCb != NULL);
- CHECK(mSeekDoneCb == NULL);
-
- // Ignore seek requests that are too soon after the previous one has
- // completed, we don't want to swamp the server.
-
- bool tooEarly =
- mLastSeekCompletedTimeUs >= 0
- && ALooper::GetNowUs() < mLastSeekCompletedTimeUs + 500000ll;
-
- if (mState != CONNECTED || tooEarly) {
- (*seekDoneCb)(cookie);
- return;
- }
-
- mSeekDoneCb = seekDoneCb;
- mSeekDoneCookie = cookie;
-
- sp<AMessage> msg = new AMessage(kWhatSeekDone, mReflector->id());
- mHandler->seek(timeUs, msg);
-}
-
-size_t ARTSPController::countTracks() {
- if (mHandler == NULL) {
- return 0;
- }
-
- return mHandler->countTracks();
-}
-
-sp<MediaSource> ARTSPController::getTrack(size_t index) {
- CHECK(mHandler != NULL);
-
- return mHandler->getPacketSource(index);
-}
-
-sp<MetaData> ARTSPController::getTrackMetaData(
- size_t index, uint32_t flags) {
- CHECK(mHandler != NULL);
-
- return mHandler->getPacketSource(index)->getFormat();
-}
-
-void ARTSPController::onMessageReceived(const sp<AMessage> &msg) {
- switch (msg->what()) {
- case kWhatConnectDone:
- {
- Mutex::Autolock autoLock(mLock);
-
- CHECK(msg->findInt32("result", &mConnectionResult));
- mState = (mConnectionResult == OK) ? CONNECTED : DISCONNECTED;
-
- mCondition.signal();
- break;
- }
-
- case kWhatDisconnectDone:
- {
- Mutex::Autolock autoLock(mLock);
- mState = DISCONNECTED;
- mCondition.signal();
- break;
- }
-
- case kWhatSeekDone:
- {
- LOGI("seek done");
-
- mLastSeekCompletedTimeUs = ALooper::GetNowUs();
-
- void (*seekDoneCb)(void *) = mSeekDoneCb;
- mSeekDoneCb = NULL;
-
- (*seekDoneCb)(mSeekDoneCookie);
- break;
- }
-
- default:
- TRESPASS();
- break;
- }
-}
-
-int64_t ARTSPController::getNormalPlayTimeUs() {
- CHECK(mHandler != NULL);
- return mHandler->getNormalPlayTimeUs();
-}
-
-int64_t ARTSPController::getQueueDurationUs(bool *eos) {
- *eos = true;
-
- int64_t minQueuedDurationUs = 0;
- for (size_t i = 0; i < mHandler->countTracks(); ++i) {
- sp<APacketSource> source = mHandler->getPacketSource(i);
-
- bool newEOS;
- int64_t queuedDurationUs = source->getQueueDurationUs(&newEOS);
-
- if (!newEOS) {
- *eos = false;
- }
-
- if (i == 0 || queuedDurationUs < minQueuedDurationUs) {
- minQueuedDurationUs = queuedDurationUs;
- }
- }
-
- return minQueuedDurationUs;
-}
-
-} // namespace android
diff --git a/media/libstagefright/rtsp/Android.mk b/media/libstagefright/rtsp/Android.mk
index 8530ff323408..823034787fbb 100644
--- a/media/libstagefright/rtsp/Android.mk
+++ b/media/libstagefright/rtsp/Android.mk
@@ -15,7 +15,6 @@ LOCAL_SRC_FILES:= \
ARTPSource.cpp \
ARTPWriter.cpp \
ARTSPConnection.cpp \
- ARTSPController.cpp \
ASessionDescription.cpp \
LOCAL_C_INCLUDES:= \
diff --git a/media/libstagefright/rtsp/MyHandler.h b/media/libstagefright/rtsp/MyHandler.h
index 812881305787..af7dd23c613e 100644
--- a/media/libstagefright/rtsp/MyHandler.h
+++ b/media/libstagefright/rtsp/MyHandler.h
@@ -94,12 +94,24 @@ static bool GetAttribute(const char *s, const char *key, AString *value) {
}
struct MyHandler : public AHandler {
+ enum {
+ kWhatConnected = 'conn',
+ kWhatDisconnected = 'disc',
+ kWhatSeekDone = 'sdon',
+
+ kWhatAccessUnit = 'accU',
+ kWhatEOS = 'eos!',
+ kWhatSeekDiscontinuity = 'seeD',
+ kWhatNormalPlayTimeMapping = 'nptM',
+ };
+
MyHandler(
- const char *url, const sp<ALooper> &looper,
+ const char *url,
+ const sp<AMessage> &notify,
bool uidValid = false, uid_t uid = 0)
- : mUIDValid(uidValid),
+ : mNotify(notify),
+ mUIDValid(uidValid),
mUID(uid),
- mLooper(looper),
mNetLooper(new ALooper),
mConn(new ARTSPConnection(mUIDValid, mUID)),
mRTPConn(new ARTPConnection),
@@ -145,12 +157,9 @@ struct MyHandler : public AHandler {
mSessionHost = host;
}
- void connect(const sp<AMessage> &doneMsg) {
- mDoneMsg = doneMsg;
-
- mLooper->registerHandler(this);
- mLooper->registerHandler(mConn);
- (1 ? mNetLooper : mLooper)->registerHandler(mRTPConn);
+ void connect() {
+ looper()->registerHandler(mConn);
+ (1 ? mNetLooper : looper())->registerHandler(mRTPConn);
sp<AMessage> notify = new AMessage('biny', id());
mConn->observeBinaryData(notify);
@@ -159,33 +168,16 @@ struct MyHandler : public AHandler {
mConn->connect(mOriginalSessionURL.c_str(), reply);
}
- void disconnect(const sp<AMessage> &doneMsg) {
- mDoneMsg = doneMsg;
-
+ void disconnect() {
(new AMessage('abor', id()))->post();
}
- void seek(int64_t timeUs, const sp<AMessage> &doneMsg) {
+ void seek(int64_t timeUs) {
sp<AMessage> msg = new AMessage('seek', id());
msg->setInt64("time", timeUs);
- msg->setMessage("doneMsg", doneMsg);
msg->post();
}
- int64_t getNormalPlayTimeUs() {
- int64_t maxTimeUs = 0;
- for (size_t i = 0; i < mTracks.size(); ++i) {
- int64_t timeUs = mTracks.editItemAt(i).mPacketSource
- ->getNormalPlayTimeUs();
-
- if (i == 0 || timeUs > maxTimeUs) {
- maxTimeUs = timeUs;
- }
- }
-
- return maxTimeUs;
- }
-
static void addRR(const sp<ABuffer> &buf) {
uint8_t *ptr = buf->data() + buf->size();
ptr[0] = 0x80 | 0;
@@ -619,7 +611,9 @@ struct MyHandler : public AHandler {
for (size_t i = 0; i < mTracks.size(); ++i) {
TrackInfo *info = &mTracks.editItemAt(i);
- info->mPacketSource->signalEOS(ERROR_END_OF_STREAM);
+ if (!mFirstAccessUnit) {
+ postQueueEOS(i, ERROR_END_OF_STREAM);
+ }
if (!info->mUsingInterleavedTCP) {
mRTPConn->removeStream(info->mRTPSocket, info->mRTCPSocket);
@@ -690,11 +684,10 @@ struct MyHandler : public AHandler {
case 'quit':
{
- if (mDoneMsg != NULL) {
- mDoneMsg->setInt32("result", UNKNOWN_ERROR);
- mDoneMsg->post();
- mDoneMsg = NULL;
- }
+ sp<AMessage> msg = mNotify->dup();
+ msg->setInt32("what", kWhatDisconnected);
+ msg->setInt32("result", UNKNOWN_ERROR);
+ msg->post();
break;
}
@@ -795,17 +788,12 @@ struct MyHandler : public AHandler {
case 'seek':
{
- sp<AMessage> doneMsg;
- CHECK(msg->findMessage("doneMsg", &doneMsg));
-
- if (mSeekPending) {
- doneMsg->post();
- break;
- }
-
if (!mSeekable) {
LOGW("This is a live stream, ignoring seek request.");
- doneMsg->post();
+
+ sp<AMessage> msg = mNotify->dup();
+ msg->setInt32("what", kWhatSeekDone);
+ msg->post();
break;
}
@@ -831,7 +819,6 @@ struct MyHandler : public AHandler {
sp<AMessage> reply = new AMessage('see1', id());
reply->setInt64("time", timeUs);
- reply->setMessage("doneMsg", doneMsg);
mConn->sendRequest(request.c_str(), reply);
break;
}
@@ -842,7 +829,8 @@ struct MyHandler : public AHandler {
for (size_t i = 0; i < mTracks.size(); ++i) {
TrackInfo *info = &mTracks.editItemAt(i);
- info->mPacketSource->flushQueue();
+ postQueueSeekDiscontinuity(i);
+
info->mRTPAnchor = 0;
info->mNTPAnchorUs = -1;
}
@@ -866,11 +854,7 @@ struct MyHandler : public AHandler {
request.append("\r\n");
- sp<AMessage> doneMsg;
- CHECK(msg->findMessage("doneMsg", &doneMsg));
-
sp<AMessage> reply = new AMessage('see2', id());
- reply->setMessage("doneMsg", doneMsg);
mConn->sendRequest(request.c_str(), reply);
break;
}
@@ -915,10 +899,9 @@ struct MyHandler : public AHandler {
mSeekPending = false;
- sp<AMessage> doneMsg;
- CHECK(msg->findMessage("doneMsg", &doneMsg));
-
- doneMsg->post();
+ sp<AMessage> msg = mNotify->dup();
+ msg->setInt32("what", kWhatSeekDone);
+ msg->post();
break;
}
@@ -1056,8 +1039,14 @@ struct MyHandler : public AHandler {
LOGV("track #%d: rtpTime=%u <=> npt=%.2f", n, rtpTime, npt1);
- info->mPacketSource->setNormalPlayTimeMapping(
- rtpTime, (int64_t)(npt1 * 1E6));
+ info->mNormalPlayTimeRTP = rtpTime;
+ info->mNormalPlayTimeUs = (int64_t)(npt1 * 1E6);
+
+ if (!mFirstAccessUnit) {
+ postNormalPlayTimeMapping(
+ trackIndex,
+ info->mNormalPlayTimeRTP, info->mNormalPlayTimeUs);
+ }
++n;
}
@@ -1065,11 +1054,15 @@ struct MyHandler : public AHandler {
mSeekable = true;
}
- sp<APacketSource> getPacketSource(size_t index) {
+ sp<MetaData> getTrackFormat(size_t index, int32_t *timeScale) {
CHECK_GE(index, 0u);
CHECK_LT(index, mTracks.size());
- return mTracks.editItemAt(index).mPacketSource;
+ const TrackInfo &info = mTracks.itemAt(index);
+
+ *timeScale = info.mTimeScale;
+
+ return info.mPacketSource->getFormat();
}
size_t countTracks() const {
@@ -1089,6 +1082,9 @@ private:
int64_t mNTPAnchorUs;
int32_t mTimeScale;
+ uint32_t mNormalPlayTimeRTP;
+ int64_t mNormalPlayTimeUs;
+
sp<APacketSource> mPacketSource;
// Stores packets temporarily while no notion of time
@@ -1096,9 +1092,9 @@ private:
List<sp<ABuffer> > mPackets;
};
+ sp<AMessage> mNotify;
bool mUIDValid;
uid_t mUID;
- sp<ALooper> mLooper;
sp<ALooper> mNetLooper;
sp<ARTSPConnection> mConn;
sp<ARTPConnection> mRTPConn;
@@ -1127,8 +1123,6 @@ private:
Vector<TrackInfo> mTracks;
- sp<AMessage> mDoneMsg;
-
void setupTrack(size_t index) {
sp<APacketSource> source =
new APacketSource(mSessionDesc, index);
@@ -1158,6 +1152,8 @@ private:
info->mNewSegment = true;
info->mRTPAnchor = 0;
info->mNTPAnchorUs = -1;
+ info->mNormalPlayTimeRTP = 0;
+ info->mNormalPlayTimeUs = 0ll;
unsigned long PT;
AString formatDesc;
@@ -1283,9 +1279,17 @@ private:
LOGV("onAccessUnitComplete track %d", trackIndex);
if (mFirstAccessUnit) {
- mDoneMsg->setInt32("result", OK);
- mDoneMsg->post();
- mDoneMsg = NULL;
+ sp<AMessage> msg = mNotify->dup();
+ msg->setInt32("what", kWhatConnected);
+ msg->post();
+
+ for (size_t i = 0; i < mTracks.size(); ++i) {
+ TrackInfo *info = &mTracks.editItemAt(i);
+
+ postNormalPlayTimeMapping(
+ i,
+ info->mNormalPlayTimeRTP, info->mNormalPlayTimeUs);
+ }
mFirstAccessUnit = false;
}
@@ -1303,12 +1307,12 @@ private:
track->mPackets.erase(track->mPackets.begin());
if (addMediaTimestamp(trackIndex, track, accessUnit)) {
- track->mPacketSource->queueAccessUnit(accessUnit);
+ postQueueAccessUnit(trackIndex, accessUnit);
}
}
if (addMediaTimestamp(trackIndex, track, accessUnit)) {
- track->mPacketSource->queueAccessUnit(accessUnit);
+ postQueueAccessUnit(trackIndex, accessUnit);
}
}
@@ -1344,6 +1348,39 @@ private:
return true;
}
+ void postQueueAccessUnit(
+ size_t trackIndex, const sp<ABuffer> &accessUnit) {
+ sp<AMessage> msg = mNotify->dup();
+ msg->setInt32("what", kWhatAccessUnit);
+ msg->setSize("trackIndex", trackIndex);
+ msg->setObject("accessUnit", accessUnit);
+ msg->post();
+ }
+
+ void postQueueEOS(size_t trackIndex, status_t finalResult) {
+ sp<AMessage> msg = mNotify->dup();
+ msg->setInt32("what", kWhatEOS);
+ msg->setSize("trackIndex", trackIndex);
+ msg->setInt32("finalResult", finalResult);
+ msg->post();
+ }
+
+ void postQueueSeekDiscontinuity(size_t trackIndex) {
+ sp<AMessage> msg = mNotify->dup();
+ msg->setInt32("what", kWhatSeekDiscontinuity);
+ msg->setSize("trackIndex", trackIndex);
+ msg->post();
+ }
+
+ void postNormalPlayTimeMapping(
+ size_t trackIndex, uint32_t rtpTime, int64_t nptUs) {
+ sp<AMessage> msg = mNotify->dup();
+ msg->setInt32("what", kWhatNormalPlayTimeMapping);
+ msg->setSize("trackIndex", trackIndex);
+ msg->setInt32("rtpTime", rtpTime);
+ msg->setInt64("nptUs", nptUs);
+ msg->post();
+ }
DISALLOW_EVIL_CONSTRUCTORS(MyHandler);
};
diff --git a/media/tests/MediaFrameworkTest/Android.mk b/media/tests/MediaFrameworkTest/Android.mk
index 9c45e6e189c4..c9afa19f274d 100644
--- a/media/tests/MediaFrameworkTest/Android.mk
+++ b/media/tests/MediaFrameworkTest/Android.mk
@@ -7,6 +7,8 @@ LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_JAVA_LIBRARIES := android.test.runner
+LOCAL_STATIC_JAVA_LIBRARIES := easymocklib
+
LOCAL_PACKAGE_NAME := mediaframeworktest
include $(BUILD_PACKAGE)
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkUnitTestRunner.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkUnitTestRunner.java
index a203adc71c31..62af3f32a079 100755
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkUnitTestRunner.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkUnitTestRunner.java
@@ -47,6 +47,7 @@ public class MediaFrameworkUnitTestRunner extends InstrumentationTestRunner {
addMediaMetadataRetrieverStateUnitTests(suite);
addMediaRecorderStateUnitTests(suite);
addMediaPlayerStateUnitTests(suite);
+ addMediaScannerUnitTests(suite);
return suite;
}
@@ -89,4 +90,8 @@ public class MediaFrameworkUnitTestRunner extends InstrumentationTestRunner {
suite.addTestSuite(MediaPlayerSetVolumeStateUnitTest.class);
suite.addTestSuite(MediaPlayerMetadataParserTest.class);
}
+
+ private void addMediaScannerUnitTests(TestSuite suite) {
+ suite.addTestSuite(MediaInserterTest.class);
+ }
}
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/MediaInserterTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/MediaInserterTest.java
new file mode 100644
index 000000000000..ad3c3425533f
--- /dev/null
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/MediaInserterTest.java
@@ -0,0 +1,246 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.mediaframeworktest.unit;
+
+import android.content.ContentValues;
+import android.content.IContentProvider;
+import android.media.MediaInserter;
+import android.net.Uri;
+import android.provider.MediaStore.Audio;
+import android.provider.MediaStore.Files;
+import android.provider.MediaStore.Images;
+import android.provider.MediaStore.Video;
+import android.test.InstrumentationTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import dalvik.annotation.TestTargetClass;
+
+import org.easymock.EasyMock;
+import org.easymock.IArgumentMatcher;
+
+@TestTargetClass(MediaInserter.class)
+public class MediaInserterTest extends InstrumentationTestCase {
+
+ private MediaInserter mMediaInserter;
+ private static final int TEST_BUFFER_SIZE = 10;
+ private IContentProvider mMockProvider;
+
+ private int mFilesCounter;
+ private int mAudioCounter;
+ private int mVideoCounter;
+ private int mImagesCounter;
+
+ private static final String sVolumeName = "external";
+ private static final Uri sAudioUri = Audio.Media.getContentUri(sVolumeName);
+ private static final Uri sVideoUri = Video.Media.getContentUri(sVolumeName);
+ private static final Uri sImagesUri = Images.Media.getContentUri(sVolumeName);
+ private static final Uri sFilesUri = Files.getContentUri(sVolumeName);
+
+ private static class MediaUriMatcher implements IArgumentMatcher {
+ private Uri mUri;
+
+ private MediaUriMatcher(Uri uri) {
+ mUri = uri;
+ }
+
+ @Override
+ public boolean matches(Object argument) {
+ if (!(argument instanceof Uri)) {
+ return false;
+ }
+
+ Uri actualUri = (Uri) argument;
+ if (actualUri == mUri) return true;
+ return false;
+ }
+
+ @Override
+ public void appendTo(StringBuffer buffer) {
+ buffer.append("expected a TableUri '").append(mUri).append("'");
+ }
+
+ private static Uri expectMediaUri(Uri in) {
+ EasyMock.reportMatcher(new MediaUriMatcher(in));
+ return null;
+ }
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mMockProvider = EasyMock.createMock(IContentProvider.class);
+ mMediaInserter = new MediaInserter(mMockProvider, TEST_BUFFER_SIZE);
+ mFilesCounter = 0;
+ mAudioCounter = 0;
+ mVideoCounter = 0;
+ mImagesCounter = 0;
+ }
+
+ private ContentValues createFileContent() {
+ ContentValues values = new ContentValues();
+ values.put("_data", "/mnt/sdcard/file" + ++mFilesCounter);
+ return values;
+ }
+
+ private ContentValues createAudioContent() {
+ ContentValues values = new ContentValues();
+ values.put("_data", "/mnt/sdcard/audio" + ++mAudioCounter);
+ return values;
+ }
+
+ private ContentValues createVideoContent() {
+ ContentValues values = new ContentValues();
+ values.put("_data", "/mnt/sdcard/video" + ++mVideoCounter);
+ return values;
+ }
+
+ private ContentValues createImageContent() {
+ ContentValues values = new ContentValues();
+ values.put("_data", "/mnt/sdcard/image" + ++mImagesCounter);
+ return values;
+ }
+
+ private ContentValues createContent(Uri uri) {
+ if (uri == sFilesUri) return createFileContent();
+ else if (uri == sAudioUri) return createAudioContent();
+ else if (uri == sVideoUri) return createVideoContent();
+ else if (uri == sImagesUri) return createImageContent();
+ else throw new IllegalArgumentException("Unknown URL: " + uri.toString());
+ }
+
+ private void fillBuffer(Uri uri, int numberOfFiles) throws Exception {
+ ContentValues values;
+ for (int i = 0; i < numberOfFiles; ++i) {
+ values = createContent(uri);
+ mMediaInserter.insert(uri, values);
+ }
+ }
+
+ @SmallTest
+ public void testInsertContentsLessThanBufferSize() throws Exception {
+ EasyMock.replay(mMockProvider);
+
+ fillBuffer(sFilesUri, TEST_BUFFER_SIZE - 4);
+ fillBuffer(sAudioUri, TEST_BUFFER_SIZE - 3);
+ fillBuffer(sVideoUri, TEST_BUFFER_SIZE - 2);
+ fillBuffer(sImagesUri, TEST_BUFFER_SIZE - 1);
+
+ EasyMock.verify(mMockProvider);
+ }
+
+ @SmallTest
+ public void testInsertContentsEqualToBufferSize() throws Exception {
+ EasyMock.expect(mMockProvider.bulkInsert(
+ (Uri) EasyMock.anyObject(), (ContentValues[]) EasyMock.anyObject())).andReturn(1);
+ EasyMock.expectLastCall().times(4);
+ EasyMock.replay(mMockProvider);
+
+ fillBuffer(sFilesUri, TEST_BUFFER_SIZE);
+ fillBuffer(sAudioUri, TEST_BUFFER_SIZE);
+ fillBuffer(sVideoUri, TEST_BUFFER_SIZE);
+ fillBuffer(sImagesUri, TEST_BUFFER_SIZE);
+
+ EasyMock.verify(mMockProvider);
+ }
+
+ @SmallTest
+ public void testInsertContentsMoreThanBufferSize() throws Exception {
+ EasyMock.expect(mMockProvider.bulkInsert(
+ (Uri) EasyMock.anyObject(), (ContentValues[]) EasyMock.anyObject())).andReturn(1);
+ EasyMock.expectLastCall().times(4);
+ EasyMock.replay(mMockProvider);
+
+ fillBuffer(sFilesUri, TEST_BUFFER_SIZE + 1);
+ fillBuffer(sAudioUri, TEST_BUFFER_SIZE + 2);
+ fillBuffer(sVideoUri, TEST_BUFFER_SIZE + 3);
+ fillBuffer(sImagesUri, TEST_BUFFER_SIZE + 4);
+
+ EasyMock.verify(mMockProvider);
+ }
+
+ @SmallTest
+ public void testFlushAllWithEmptyContents() throws Exception {
+ EasyMock.replay(mMockProvider);
+
+ mMediaInserter.flushAll();
+
+ EasyMock.verify(mMockProvider);
+ }
+
+ @SmallTest
+ public void testFlushAllWithSomeContents() throws Exception {
+ EasyMock.expect(mMockProvider.bulkInsert(
+ (Uri) EasyMock.anyObject(), (ContentValues[]) EasyMock.anyObject())).andReturn(1);
+ EasyMock.expectLastCall().times(4);
+ EasyMock.replay(mMockProvider);
+
+ fillBuffer(sFilesUri, TEST_BUFFER_SIZE - 4);
+ fillBuffer(sAudioUri, TEST_BUFFER_SIZE - 3);
+ fillBuffer(sVideoUri, TEST_BUFFER_SIZE - 2);
+ fillBuffer(sImagesUri, TEST_BUFFER_SIZE - 1);
+ mMediaInserter.flushAll();
+
+ EasyMock.verify(mMockProvider);
+ }
+
+ @SmallTest
+ public void testInsertContentsAfterFlushAll() throws Exception {
+ EasyMock.expect(mMockProvider.bulkInsert(
+ (Uri) EasyMock.anyObject(), (ContentValues[]) EasyMock.anyObject())).andReturn(1);
+ EasyMock.expectLastCall().times(8);
+ EasyMock.replay(mMockProvider);
+
+ fillBuffer(sFilesUri, TEST_BUFFER_SIZE - 4);
+ fillBuffer(sAudioUri, TEST_BUFFER_SIZE - 3);
+ fillBuffer(sVideoUri, TEST_BUFFER_SIZE - 2);
+ fillBuffer(sImagesUri, TEST_BUFFER_SIZE - 1);
+ mMediaInserter.flushAll();
+
+ fillBuffer(sFilesUri, TEST_BUFFER_SIZE + 1);
+ fillBuffer(sAudioUri, TEST_BUFFER_SIZE + 2);
+ fillBuffer(sVideoUri, TEST_BUFFER_SIZE + 3);
+ fillBuffer(sImagesUri, TEST_BUFFER_SIZE + 4);
+
+ EasyMock.verify(mMockProvider);
+ }
+
+ @SmallTest
+ public void testInsertContentsWithDifferentSizePerContentType() throws Exception {
+ EasyMock.expect(mMockProvider.bulkInsert(MediaUriMatcher.expectMediaUri(sFilesUri),
+ (ContentValues[]) EasyMock.anyObject())).andReturn(1);
+ EasyMock.expectLastCall().times(1);
+ EasyMock.expect(mMockProvider.bulkInsert(MediaUriMatcher.expectMediaUri(sAudioUri),
+ (ContentValues[]) EasyMock.anyObject())).andReturn(1);
+ EasyMock.expectLastCall().times(2);
+ EasyMock.expect(mMockProvider.bulkInsert(MediaUriMatcher.expectMediaUri(sVideoUri),
+ (ContentValues[]) EasyMock.anyObject())).andReturn(1);
+ EasyMock.expectLastCall().times(3);
+ EasyMock.expect(mMockProvider.bulkInsert(MediaUriMatcher.expectMediaUri(sImagesUri),
+ (ContentValues[]) EasyMock.anyObject())).andReturn(1);
+ EasyMock.expectLastCall().times(4);
+ EasyMock.replay(mMockProvider);
+
+ for (int i = 0; i < TEST_BUFFER_SIZE; ++i) {
+ fillBuffer(sFilesUri, 1);
+ fillBuffer(sAudioUri, 2);
+ fillBuffer(sVideoUri, 3);
+ fillBuffer(sImagesUri, 4);
+ }
+
+ EasyMock.verify(mMockProvider);
+ }
+}
diff --git a/opengl/java/android/opengl/GLSurfaceView.java b/opengl/java/android/opengl/GLSurfaceView.java
index 51b7c58145fc..8fd866cba36e 100644
--- a/opengl/java/android/opengl/GLSurfaceView.java
+++ b/opengl/java/android/opengl/GLSurfaceView.java
@@ -781,6 +781,9 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback
* {@link GLSurfaceView#setEGLWindowSurfaceFactory(EGLWindowSurfaceFactory)}
*/
public interface EGLWindowSurfaceFactory {
+ /**
+ * @return null if the surface cannot be constructed.
+ */
EGLSurface createWindowSurface(EGL10 egl, EGLDisplay display, EGLConfig config,
Object nativeWindow);
void destroySurface(EGL10 egl, EGLDisplay display, EGLSurface surface);
@@ -790,7 +793,19 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback
public EGLSurface createWindowSurface(EGL10 egl, EGLDisplay display,
EGLConfig config, Object nativeWindow) {
- return egl.eglCreateWindowSurface(display, config, nativeWindow, null);
+ EGLSurface result = null;
+ try {
+ result = egl.eglCreateWindowSurface(display, config, nativeWindow, null);
+ } catch (IllegalArgumentException e) {
+ // This exception indicates that the surface flinger surface
+ // is not valid. This can happen if the surface flinger surface has
+ // been torn down, but the application has not yet been
+ // notified via SurfaceHolder.Callback.surfaceDestroyed.
+ // In theory the application should be notified first,
+ // but in practice sometimes it is not. See b/4588890
+ Log.e(TAG, "eglCreateWindowSurface", e);
+ }
+ return result;
}
public void destroySurface(EGL10 egl, EGLDisplay display,
@@ -1054,9 +1069,8 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback
int error = mEgl.eglGetError();
if (error == EGL10.EGL_BAD_NATIVE_WINDOW) {
Log.e("EglHelper", "createWindowSurface returned EGL_BAD_NATIVE_WINDOW.");
- return null;
}
- throwEglException("createWindowSurface", error);
+ return null;
}
/*
diff --git a/packages/SharedStorageBackup/AndroidManifest.xml b/packages/SharedStorageBackup/AndroidManifest.xml
index 39c36f1b2ec6..fc21df305bb2 100644
--- a/packages/SharedStorageBackup/AndroidManifest.xml
+++ b/packages/SharedStorageBackup/AndroidManifest.xml
@@ -23,7 +23,6 @@
<application android:allowClearUserData="false"
android:permission="android.permission.CONFIRM_FULL_BACKUP"
- android:backupAgent=".SharedStorageAgent"
- android:allowBackup="false" >
+ android:backupAgent="SharedStorageAgent" >
</application>
</manifest>
diff --git a/packages/SharedStorageBackup/src/com/android/sharedstoragebackup/SharedStorageAgent.java b/packages/SharedStorageBackup/src/com/android/sharedstoragebackup/SharedStorageAgent.java
index 6c677b878501..a6415b2fb8b4 100644
--- a/packages/SharedStorageBackup/src/com/android/sharedstoragebackup/SharedStorageAgent.java
+++ b/packages/SharedStorageBackup/src/com/android/sharedstoragebackup/SharedStorageAgent.java
@@ -2,11 +2,8 @@ package com.android.sharedstoragebackup;
import android.app.backup.FullBackupAgent;
import android.app.backup.FullBackup;
-import android.app.backup.BackupDataInput;
-import android.app.backup.BackupDataOutput;
import android.app.backup.FullBackupDataOutput;
import android.content.Context;
-import android.os.Environment;
import android.os.ParcelFileDescriptor;
import android.os.storage.StorageManager;
import android.os.storage.StorageVolume;
@@ -40,6 +37,7 @@ public class SharedStorageAgent extends FullBackupAgent {
// hierarchy backup process on them. By convention in the Storage Manager, the
// "primary" shared storage volume is first in the list.
if (mVolumes != null) {
+ if (DEBUG) Slog.i(TAG, "Backing up " + mVolumes.length + " shared volumes");
for (int i = 0; i < mVolumes.length; i++) {
StorageVolume v = mVolumes[i];
// Express the contents of volume N this way in the tar stream:
@@ -58,7 +56,7 @@ public class SharedStorageAgent extends FullBackupAgent {
public void onRestoreFile(ParcelFileDescriptor data, long size,
int type, String domain, String relpath, long mode, long mtime)
throws IOException {
- Slog.d(TAG, "Shared restore: [ " + domain + " : " + relpath + "]");
+ if (DEBUG) Slog.d(TAG, "Shared restore: [ " + domain + " : " + relpath + "]");
File outFile = null;
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_image.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_image.png
index 319f925b7342..5d2112acce9a 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_image.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_image.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/stat_notify_image_error.png b/packages/SystemUI/res/drawable-hdpi/stat_notify_image_error.png
index fa8d4bfc0512..355f02b2fbf0 100644
--- a/packages/SystemUI/res/drawable-hdpi/stat_notify_image_error.png
+++ b/packages/SystemUI/res/drawable-hdpi/stat_notify_image_error.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_notify_image.png b/packages/SystemUI/res/drawable-mdpi/stat_notify_image.png
index 5036e8ddc93f..87b02972a8ac 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_notify_image.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_notify_image.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/stat_notify_image_error.png b/packages/SystemUI/res/drawable-mdpi/stat_notify_image_error.png
index 94487bf3eefa..35ea65ac1994 100644
--- a/packages/SystemUI/res/drawable-mdpi/stat_notify_image_error.png
+++ b/packages/SystemUI/res/drawable-mdpi/stat_notify_image_error.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/stat_notify_image.png b/packages/SystemUI/res/drawable-xhdpi/stat_notify_image.png
index 3c5c0821f53a..6afd2d0033ff 100644
--- a/packages/SystemUI/res/drawable-xhdpi/stat_notify_image.png
+++ b/packages/SystemUI/res/drawable-xhdpi/stat_notify_image.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/stat_notify_image_error.png b/packages/SystemUI/res/drawable-xhdpi/stat_notify_image_error.png
index 8aa19e44b50d..a104cc2b0cfe 100644
--- a/packages/SystemUI/res/drawable-xhdpi/stat_notify_image_error.png
+++ b/packages/SystemUI/res/drawable-xhdpi/stat_notify_image_error.png
Binary files differ
diff --git a/packages/SystemUI/res/layout-sw600dp/status_bar_notification_area.xml b/packages/SystemUI/res/layout-sw600dp/status_bar_notification_area.xml
index 5e254e88be2c..739f3aa25fe2 100644
--- a/packages/SystemUI/res/layout-sw600dp/status_bar_notification_area.xml
+++ b/packages/SystemUI/res/layout-sw600dp/status_bar_notification_area.xml
@@ -116,22 +116,23 @@
android:orientation="horizontal"
android:gravity="center"
>
+ <include layout="@layout/signal_cluster_view"
+ android:id="@+id/signal_cluster"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ />
<ImageView
android:id="@+id/bluetooth"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
+ android:paddingLeft="4dip"
android:visibility="gone"
/>
- <include layout="@layout/signal_cluster_view"
- android:id="@+id/signal_cluster"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- />
<ImageView
android:id="@+id/battery"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
- android:paddingLeft="6dip"
+ android:paddingLeft="4dip"
/>
</LinearLayout>
</LinearLayout>
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 617e475d36c0..e9286c045475 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Geen kennisgewings"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Voortdurend"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Kennisgewings"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Koppel asseblief herlaaier"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Koppel herlaaier"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Die battery raak pap."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> oor"</string>
<string name="invalid_charger" msgid="4549105996740522523">"USB-laaiery nie ondersteun nie."\n"Gebruik net die laaier wat verskaf is."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"OUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Kennisgewings"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth-verbind"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Stel invoermetodes op"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Stel invoer metodes op"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Gebruik fisiese sleutelbord"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Laat die program <xliff:g id="APPLICATION">%1$s</xliff:g> toe om die USB-toestel te gebruik?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Laat die program <xliff:g id="APPLICATION">%1$s</xliff:g> toe om die USB-toebehoorsel te gebruik?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Laat die program <xliff:g id="APPLICATION">%1$s</xliff:g> toe om die USB-toestel te gebruik?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Laat die program <xliff:g id="APPLICATION">%1$s</xliff:g> toe om toegang tot die USB-toebehoorsel te kry?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Maak <xliff:g id="ACTIVITY">%1$s</xliff:g> oop wanneer hierdie USB-toestel gekoppel is?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Maak <xliff:g id="ACTIVITY">%1$s</xliff:g> oop wanneer hierdie USB-toebehoorsel gekoppel is?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Geen geïnstalleerde programme werk met hierdie USB-toebehoorsel nie. Kom meer te wete oor hierdie toebehoorsel by <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Geen geïnstalleerde programme werk met hierdie USB-toebehoorsel nie. Kom meer te wete oor hierdie toebehoorsel by <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB-toebehoorsel"</string>
<string name="label_view" msgid="6304565553218192990">"Sien"</string>
<string name="always_use_device" msgid="1450287437017315906">"Gebruik by verstek vir hierdie USB-toestel"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Gebruik by verstek vir hierdie USB-toebehoorsel"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoem om skerm te vul"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Strek om skerm te vul"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Versoenbaarheid-zoem"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Versoenbaarheid-zoem"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"As \'n program vir \'n kleiner skerm ontwerp is, sal \'n zoemkontrole naby die horlosie verskyn"</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Stoor tans kiekie..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Stoor tans skermkiekie..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USB-lêeroordrag-opsies"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Heg as \'n mediaspeler (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Heg as \'n kamera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Installeer Android-lêeroordragprogram vir Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Installeer Android-lêeroordragprogram vir Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Terug"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Tuis"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Kieslys"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Data, twee stawe."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Data, drie stawe."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Datasein vol."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Geen Wi-Fi nie."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Wi-Fi, een staaf."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wi-Fi, twee stawe."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Wi-Fi, drie stawe."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi-sein vol."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Geen Wi-Fi nie."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi een strepie."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi twee strepies."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi drie strepies."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi sein vol."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Geen SIM nie."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-verbinding."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Vliegtuigmodus."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G data gedeaktiveer"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobieldata gedeaktiveer"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Data gedeaktiveer"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Die gespesifiseerde datagebruiklimiet is bereik. "\n\n" Addisionele datagebruik kan lei tot diensverskafferkostes."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Jy het die gespesifiseerde gebruikslimiet vir data bereik. "\n\n"As jy data weer heraktiveer, kan jy deur jou diensverskaffer gehef word."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Heraktiveer data"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Geen internetverbinding nie"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi gekoppel"</string>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index 299e6d92b321..e2b0a57b73e9 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"ምንም ማሳወቂያዎች የሉም"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"በመካሄድ ላይ ያለ"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"ማሳወቂያዎች"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"እባክዎ ኃይልመሙያ ያያይዙ"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"የኃይል መሙያ አገናኝ።"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"ባትሪው እያነሰ ነው።"</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> ቀሪ"</string>
<string name="invalid_charger" msgid="4549105996740522523">"USB ኃይል መሙያ አይታገዝም።"\n" የቀረበውን ኃይል መሙያ ብቻ ተጠቀም።"</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"ራስ ሰር"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"ማሳወቂያዎች"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"ብሉቱዝ አያይዝ"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"ግቤት ሜተዶችንአዋቀር"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"የግቤት ስልቶችን አዘጋጅ"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"የቁልፍ ሰሌዳ ተጠቀም"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"<xliff:g id="APPLICATION">%1$s</xliff:g> ትግበራ የUSB መሣሪያለመድረስ ይፈቅዳል?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"<xliff:g id="APPLICATION">%1$s</xliff:g> ትግበራ የUSB ተቀጥላለመድረስ ይፈቅዳል?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"መተግበሪያ <xliff:g id="APPLICATION">%1$s</xliff:g> የUSB መሣሪያን ለመድረስ ይፍቀድ?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"መተግበሪያ <xliff:g id="APPLICATION">%1$s</xliff:g> የUSB ተቀጥላ ላይ እንዲደርስ ፍቀድ?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"የዚህ USB ተቀጥላ ሲያያዝ <xliff:g id="ACTIVITY">%1$s</xliff:g>ይከፈት?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"የዚህ USB ተቀጥላ ሲያያዝ <xliff:g id="ACTIVITY">%1$s</xliff:g> ይከፈት?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"ምንም የተጫኑ ትግበራዎችከዚህ የUSB ተቀጥላ ጋር አይሰሩም። በ<xliff:g id="URL">%1$s</xliff:g> ስለዚህ ተቀጥላ የበለጠ ይረዱ።"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"ምንም የተጫኑ መተግበሪያዎች ከዚህ የUSB ተቀጥላ ጋር አይሰሩም። በ<xliff:g id="URL">%1$s</xliff:g> ስለዚህ ተቀጥላ የበለጠ እወቅ።"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"የUSB ተቀጥላ"</string>
<string name="label_view" msgid="6304565553218192990">"ዕይታ"</string>
<string name="always_use_device" msgid="1450287437017315906">"ለዚህ USB መሣሪያ በነባሪነት ተጠቀም"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"ለዚህ USB ተቀጥላ በነባሪነት ተጠቀም"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"ማያ እንዲሞላ አጉላ"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"ማያ ለመሙለት ሳብ"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"የተኳኋኝነት አጉላ"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"የተኳኋኝነት አጉላ"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"ትግበራ ለትንሽ ማያ ሲነደፍ፣ የአጉላ መቆመጣጠሪያ በሰዓት በኩል ብቅ ይላል።"</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"ቅጽበታዊ ገጽ እይታ በማስቀመጥ ላይ..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"ቅጽበታዊ ገጽ እይታ በማስቀመጥ ላይ..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"የUSB ፋይል ሰደዳ አማራጮች"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"እንደ ማህደረ አጫዋች (MTP) ሰካ"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"እንደ ካሜራ (PTP) ሰካ"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"ለMac የAndroid ፋይል ሰደዳ ትግበራ ጫን"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"ለMac የAndroid ፋይል ሰደዳ መተግበሪያ ጫን"</string>
<string name="accessibility_back" msgid="567011538994429120">"ተመለስ"</string>
<string name="accessibility_home" msgid="8217216074895377641">"መነሻ"</string>
<string name="accessibility_menu" msgid="316839303324695949">"ምናሌ"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"የውሂብ ሁለት አሞሌዎች።"</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"የውሂብ ሦስት አሞሌዎች።"</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"የውሂብ አመልካች ሙሉ ነው።"</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"ምንም WiFi የለም።"</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"የWiFi አንድ አሞሌ።"</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"የWiFi ሁለትአሞሌዎች።"</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"የWiFi ሦስት አሞሌዎች።"</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"የWiFi አመልካች ሙሉ ነው።"</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"ምንም የWi-Fi የለም::"</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi አንድ አሞሌ::"</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi ሁለት አሞሌዎች::"</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi ሶስት አሞሌዎች::"</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi ሲግናል ሙሉ ነው::"</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"ምንም SIM የለም።"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"ብሉቱዝ ማያያዝ።"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"የአውሮፕላን ሁነታ።"</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G ውሂብ ቦዝኗል"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"የተንቀሳቃሽ ውሂብ ቦዝኗል"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"ውሂብ ቦዝኗል"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"የተጠቀሰው የውሂብ አጠቃቀም ወሰን ደርሷል።"\n\n" ተጨማሪ የውሂብ አጠቃቀም የድምጸ ተያያዥ ሞደም ክፍያን ሊጨምር ይችላል።"</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"የተቀመጠውን የውሂብ አጠቃቀም ገደብ ላይ ደርሰሃል:: "\n\n"ውሂብን እንደገና መልሰህ ዳግም-ካነቃህ በከዋኙ ክፍያ ልትጠየቅበት ትችል ይሆናል::"</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"ውሂብ ድጋሚ አንቃ"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"ምንም በይነመረብ ተያያዥ የለም።"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi ተያይዟል"</string>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index 07b07e178679..65c314cbc593 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"ليس هناك أي تنبيهات"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"مستمر"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"التنبيهات"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"الرجاء توصيل الشاحن"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"توصيل الشاحن"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"انخفضت طاقة البطارية."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"المتبقي: <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"شحن USB غير معتمد."\n"استخدم الشاحن الموفر فقط."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"تلقائي"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"التنبيهات"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"تم إنشاء الاتصال بالإنترنت عن طريق البلوتوث."</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"تهيئة طرق الإدخال"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"إعداد أسلوب الإدخال"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"استخدام لوحة المفاتيح الفعلية"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"هل تريد السماح للتطبيق <xliff:g id="APPLICATION">%1$s</xliff:g> بالدخول إلى جهاز USB؟"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"هل تريد السماح للتطبيق <xliff:g id="APPLICATION">%1$s</xliff:g> بالدخول إلى ملحق USB؟"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"هل تريد السماح للتطبيق <xliff:g id="APPLICATION">%1$s</xliff:g> بالدخول إلى جهاز USB؟"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"هل تريد السماح للتطبيق <xliff:g id="APPLICATION">%1$s</xliff:g> بالدخول إلى ملحق USB؟"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"هل تريد فتح <xliff:g id="ACTIVITY">%1$s</xliff:g> عند توصيل جهاز USB هذا؟"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"هل تريد فتح <xliff:g id="ACTIVITY">%1$s</xliff:g> عند توصيل ملحق USB هذا؟"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"لا يعمل أي تطبيق مثبت مع ملحق UEB هذا. تعرف على المزيد عن هذا الملحق على <xliff:g id="URL">%1$s</xliff:g>."</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"لا يعمل أي تطبيق مثبت مع ملحق UEB هذا. مزيد من المعلومات عن هذا الملحق على <xliff:g id="URL">%1$s</xliff:g>."</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"ملحق USB"</string>
<string name="label_view" msgid="6304565553218192990">"عرض"</string>
<string name="always_use_device" msgid="1450287437017315906">"الاستخدام بشكل افتراضي لجهاز USB هذا"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"الاستخدام بشكل افتراضي لملحق USB هذا"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"تكبير/تصغير لملء الشاشة"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"توسيع بملء الشاشة"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"تكبير/تصغير التوافق"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"تكبير/تصغير التوافق"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"عند تصميم تطبيق لشاشة أصغر، سيظهر عنصر تحكم في التكبير/التصغير بجوار الساعة."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"جارٍ حفظ لقطة الشاشة..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"جارٍ حفظ لقطة الشاشة..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"خيارات نقل الملفات عبر USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"تحميل كمشغل وسائط (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"تحميل ككاميرا (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"تثبيت تطبيق Android File Transfer لـ Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"تثبيت تطبيق Android File Transfer لـ Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"رجوع"</string>
<string name="accessibility_home" msgid="8217216074895377641">"الرئيسية"</string>
<string name="accessibility_menu" msgid="316839303324695949">"القائمة"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"إشارة البيانات تتكون من شريطين."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"إشارة البيانات تتكون من ثلاثة أشرطة."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"إشارة البيانات كاملة."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"ليست هناك إشارة WiFi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"إشارة WiFi تتكون من شريط واحد."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"إشارة WiFi تتكون من شريطين."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"إشارة WiFi تتكون من ثلاثة أشرطة."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"إشارة WiFi كاملة."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"ليس هناك اتصال Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"شريط واحد لـ Wi-Fi."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"شريطان لـ Wi-Fi."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"ثلاثة أشرطة لـ Wi-Fi."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"إشارة كاملة لـ Wi-Fi."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"شبكة الجيل الثالث"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"شبكة 3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"شبكة الجيل الرابع"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"ليست هناك بطاقة SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"ربط البلوتوث."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"وضع الطائرة."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"تم تعطيل بيانات شبكة الجيل الرابع"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"تم تعطيل بيانات الجوال"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"تم تعطيل البيانات"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"تم بلوغ الحد المحدد لاستخدام البيانات."\n\n"قد يؤدي الاستخدام الإضافي للبيانات إلى تحصيل رسوم من قبل مشغل شبكة الجوال."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"لقد وصلت إلى حد استخدام البيانات المحدد. "\n" "\n" إذا أعدت تمكين البيانات ، فقد يتم تحصيل رسوم منك من قبل مشغل شبكة الجوال."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"إعادة تمكين البيانات"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"لا يوجد اتصال إنترنت"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi متصل"</string>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index 937f9241353c..da5de7ad7552 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Няма известия"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"В момента"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Известия"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Моля, включете зарядно устройство"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Включете зарядното устройство"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Батерията се изтощава."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"Остава: <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Не се поддържа зареждане през USB."\n"Използвайте само доставеното зарядно устройство."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"АВТ."</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Известия"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth има връзка с тетъринг"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Конфигуриране на въвеждането"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Методи на въвеждане: Настройка"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Използване на физ. клав."</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Да се разреши ли на приложението <xliff:g id="APPLICATION">%1$s</xliff:g> достъп до USB устройството?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Да се разреши ли на приложението <xliff:g id="APPLICATION">%1$s</xliff:g> достъп до аксесоара за USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Да се разреши ли на приложението <xliff:g id="APPLICATION">%1$s</xliff:g> достъп до USB устройството?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Да се разреши ли на приложението <xliff:g id="APPLICATION">%1$s</xliff:g> достъп до аксесоара за USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Да се отвори ли <xliff:g id="ACTIVITY">%1$s</xliff:g>, когато това USB устройство е свързано?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Да се отвори ли <xliff:g id="ACTIVITY">%1$s</xliff:g>, когато този аксесоар за USB е свързан?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Инсталираните приложения не работят с този аксесоар за USB. Научете повече на адрес <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Инстал. приложения не работят с този аксесоар за USB. Научете повече на адрес <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Аксесоар за USB"</string>
<string name="label_view" msgid="6304565553218192990">"Преглед"</string>
<string name="always_use_device" msgid="1450287437017315906">"Използване по подразб. за това USB устройство"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Използване по подразб. за този аксесоар за USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Мащаб – запълва екрана"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Разпъване – запълва екрана"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Промяна на мащаба за съвместимост"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Промяна на мащаба за съвместимост"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Когато дадено приложение е създадено за по-малък екран, до часовника ще се покаже управление за промяна на мащаба."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Екранната снимка се запазва..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Екранната снимка се запазва..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Опции за пренос на файлове чрез USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Свързване като медиен плейър (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Свързване като камера (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Инсталиране на Android File Transfer за Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Инсталиране на Android File Transfer за Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Назад"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Начало"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Меню"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Данните са с две чертички."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Данните са с три чертички."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Сигналът за данни е пълен."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Няма WiFi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"WiFi е с една чертичка."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"WiFi е с две чертички."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"WiFi е с три чертички."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Сигналът за WiFi е пълен."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Няма Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi е с една чертичка."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi е с две чертички."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi е с три чертички."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Сигналът за Wi-Fi е пълен."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Няма SIM карта."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Тетъринг през Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Самолетен режим."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G данните са деактивирани"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Мобилните данни са деактивирани"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Трафикът на данни е деактивиран"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Определеният лимит за използване на данни е достигнат."\n\n"Допълнителната употреба може да доведе до таксуване от оператора."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Достигнахте определеното ограничение за използване на данни."\n\n"Ако ги активирате отново, е възможно да бъдете таксувани от оператора."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Активиране на данните отново"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Няма връзка с интернет"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi: Има връзка"</string>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index 71ec5a2af330..6288c97bedc3 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Cap notificació"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Continu"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificacions"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Connecteu el carregador"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Connecta el carregador"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"La bateria comença a estar baixa."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> restant"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Càrrega d\'USB no admesa."\n"Utilitza només el carregador proporcionat."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTOM."</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Notificacions"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth sense fil"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Configura mètodes d\'entrada"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Configura els mètodes d\'entrada"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Utilitza un teclat físic"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Vols permetre que l\'aplicació <xliff:g id="APPLICATION">%1$s</xliff:g> accedeixi al dispositiu USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Vols permetre que l\'aplicació <xliff:g id="APPLICATION">%1$s</xliff:g> accedeixi a l\'accessori USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Vols permetre que l\'aplicació <xliff:g id="APPLICATION">%1$s</xliff:g> accedeixi al dispositiu USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Vols permetre que l\'aplicació <xliff:g id="APPLICATION">%1$s</xliff:g> accedeixi a l\'accessori USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Vols que s\'obri <xliff:g id="ACTIVITY">%1$s</xliff:g> quan aquest dispositiu USB estigui connectat?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Vols que s\'obri <xliff:g id="ACTIVITY">%1$s</xliff:g> quan aquest accessori USB estigui connectat?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Cap de les aplicacions instal·lades no funciona amb aquest accessori USB. Més informació a <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Les aplicacions instal·lades no funcionen amb l\'accessori USB. Més informació: <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Accessori USB"</string>
<string name="label_view" msgid="6304565553218192990">"Mostra"</string>
<string name="always_use_device" msgid="1450287437017315906">"Utilitza de manera predet. per al dispositiu USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Utilitza de manera predet. per a l\'accessori USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoom per omplir pantalla"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Estira per omplir pant."</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Zoom de compatibilitat"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Zoom de compatibilitat"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Quan una aplicació s\'hagi dissenyat per a una pantalla més petita, apareixerà un control de zoom al costat del rellotge."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Desant captura de pantalla..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"S\'està desant la captura de pantalla..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Opcions transf. fitxers USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Munta com a reproductor multimèdia (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Munta com a càmera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Instal·la aplic. transf. fitxers Android per a Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Instal·la aplic. transf. fitxers Android per a Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Enrere"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Pàgina d\'inici"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menú"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Senyal de dades: dues barres."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Senyal de dades: tres barres."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Senyal de dades: complet."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Senyal Wi-Fi: no n\'hi ha"</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Senyal Wi-Fi: una barra."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Senyal Wi-Fi: dues barres."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Senyal Wi-Fi: tres barres."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Senyal Wi-Fi: complet."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"No hi ha Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Una barra de Wi-Fi."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dues barres de Wi-Fi."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tres barres de Wi-Fi."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Senyal Wi-Fi complet."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Vora"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"No hi ha cap targeta SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Connexió Bluetooth mitjançant dispositiu portàtil"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Mode d\'avió."</string>
@@ -128,7 +128,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Dades 4G desactivades"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Dades mòbils desactivades"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Dades desactivades"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"S\'ha assolit el límit d\'ús de dades especificat."\n\n"Si s\'utilitzen més dades, l\'operador hi podria aplicar càrrecs."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Has arribat al límit especificat d\'utilització de dades."\n\n"Si has reactivat les dades, és possible que l\'operador et faci algun càrrec."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Torna a activar les dades"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"No hi ha connexió a Internet"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi: connectada"</string>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index a0932b2c7727..d43f99f1d565 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Žádná oznámení"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Probíhající"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Oznámení"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Prosím připojte dobíjecí zařízení"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Připojte nabíječku"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Baterie je vybitá."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"Zbývá <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Nabíjení pomocí rozhraní USB není podporováno."\n"Používejte pouze nabíječku, která byla dodána se zařízením."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTOM."</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Oznámení"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Datové připojení Bluetooth se sdílí"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Nakonfigurovat metody vstupu"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Nastavit metody vstupu"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Použít fyz. klávesnici"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Povolit aplikaci <xliff:g id="APPLICATION">%1$s</xliff:g> přístup k zařízení USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Povolit aplikaci <xliff:g id="APPLICATION">%1$s</xliff:g> přístup k perifernímu zařízení USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Povolit aplikaci <xliff:g id="APPLICATION">%1$s</xliff:g> přístup k zařízení USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Povolit aplikaci <xliff:g id="APPLICATION">%1$s</xliff:g> přístup k perifernímu zařízení USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Chcete při připojení tohoto zařízení USB otevřít aplikaci <xliff:g id="ACTIVITY">%1$s</xliff:g>?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Chcete při připojení tohoto periferního zařízení USB otevřít aplikaci <xliff:g id="ACTIVITY">%1$s</xliff:g>?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"S tímto periferním zařízením USB nefunguje žádná nainstalovaná aplikace. Další informace naleznete na stránkách <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Žádná nainstalovaná aplikace s tímto zařízením USB nepracuje. Info. najdete na <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Periferní zařízení USB"</string>
<string name="label_view" msgid="6304565553218192990">"Zobrazit"</string>
<string name="always_use_device" msgid="1450287437017315906">"Pro toto zařízení USB použít jako výchozí"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Pro toto periferní zařízení USB použít jako výchozí"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Přiblížit na celou obrazovku"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Na celou obrazovku"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Kompatibilní přiblížení"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Úprava velikosti z důvodu kompatibility"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Pokud je aplikace navržena pro menší obrazovku, zobrazí se vedle hodin ovládací prvek přiblížení."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Ukládání snímku obrazovky..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Ukládání snímku obrazovky..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Možnosti přenosu souborů pomocí rozhraní USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Připojit jako přehrávač médií (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Připojit jako fotoaparát (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Instalovat aplikaci Android File Transfer pro Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Instalovat aplikaci Android File Transfer pro Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Zpět"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Domů"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Dvě čárky signálu datové sítě."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Tři čárky signálu datové sítě."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Plný signál datové sítě."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Síť Wi-Fi není dostupná."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Jedna čárka signálu sítě Wi-Fi."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Dvě čárky signálu sítě Wi-Fi."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Tři čárky signálu sítě Wi-Fi."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Plný signál sítě Wi-Fi."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Žádná síť Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi – jedna čárka."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi – dvě čárky."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi – tři čárky."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi – plný signál."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Žádná karta SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Tethering přes Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Režim V letadle."</string>
@@ -128,7 +128,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Datové přenosy 4G jsou zakázány"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobilní data jsou zakázána"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Přenos dat vypnut"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Dosáhli jste zadaného limitu množství přenesených dat."\n\n"Za další datové přenosy vám operátor může účtovat poplatky."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Dosáhli jste stanoveného limitu využití dat."\n\n"Chcete-li datové připojení znovu zapnout, operátor vám může účtovat poplatky."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Znovu povolit data"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Žádné přip. k internetu"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi: připojeno"</string>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index 49e027cef6bd..5421095a26b7 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Ingen meddelelser"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"I gang"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Meddelelser"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Forbind oplader"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Tilslut oplader"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Batteriet er ved at være fladt."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> tilbage"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Opladning via USB understøttes ikke."\n"Brug kun den medfølgende oplader."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Meddelelser"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth-tethering anvendt"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Konfigurer inputmetoder"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Konfigurer inputmetoder"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Brug fysisk tastatur"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Vil du tillade, at applikationen <xliff:g id="APPLICATION">%1$s</xliff:g> får adgang til USB-enheden?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Vil du tillade, at applikationen <xliff:g id="APPLICATION">%1$s</xliff:g> får adgang til USB-ekstraudstyret?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Tillad, at appen <xliff:g id="APPLICATION">%1$s</xliff:g> kan få adgang til USB-enheden?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Vil du tillade, at appen <xliff:g id="APPLICATION">%1$s</xliff:g> får adgang til USB-enheden?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Vil du åbne <xliff:g id="ACTIVITY">%1$s</xliff:g>, når denne USB-enhed er tilsluttet?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Vil du åbne <xliff:g id="ACTIVITY">%1$s</xliff:g>, når dette USB-ekstraudstyr er tilsluttet?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Ingen inst. applikationer virker med USB-ekstraudstyret. Få oplysninger om ekstraudstyret på <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Ingen installerede apps fungerer med USB-enheden. Få oplysninger om enheden på <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB-ekstraudstyr"</string>
<string name="label_view" msgid="6304565553218192990">"Vis"</string>
<string name="always_use_device" msgid="1450287437017315906">"Brug som standard til denne USB-enhed"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Brug som standard til dette USB-tilbehør"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoom til fuld skærm"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Stræk til fuld skærm"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Kompatibilitetszoom"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Kompatibilitetszoom"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Når en app er udviklet til en mindre skærm, vises der en zoomfunktion ved uret."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Gemmer skærmbillede..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Gemmer skærmbillede..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Muligheder for USB-filoverførsel"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Isæt som en medieafspiller (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Isæt som et kamera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Installer appen Android File Transfer Manager til Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Installer appen Android Filoverførsel til Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Tilbage"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Startside"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Data to bjælker."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Data tre bjælker."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Datasignal fuldt."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Ingen Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Wi-Fi en bjælke."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wi-Fi to bjælker."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Wi-Fi tre bjælker."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi-signal fuldt."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Intet Wi-Fi-signal."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi har en bjælke."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi har to bjælker."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi har tre bjælker."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi-signalet er godt."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Intet SIM-kort."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-netdeling."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Flytilstand."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G-data er deaktiveret"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobildata er deaktiveret"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Data er deaktiveret"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Den angivne grænse for dataforbrug er nået."\n\n"Yderligere dataforbrug kan koste ekstra hos mobilselskabet."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Du har nået den angivne grænse for dataforbruget."\n\n"Hvis du genaktiverer data, kan dit mobilselskab opkræve ekstra."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Genaktiver data"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Ingen internetforb."</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi er forbundet"</string>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index 5a18d1125fa4..43577a67e696 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Keine Benachrichtigungen"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Aktuell"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Benachrichtigungen"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Ladegerät anschließen"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Ladegerät anschließen"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Akku ist fast leer."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"Noch <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"USB-Aufladung wird nicht unterstützt."\n"Verwenden Sie das mitgelieferte Aufladegerät."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Benachrichtigungen"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth-Tethering aktiv"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Eingabemethoden konfigurieren"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Eingabemethoden einrichten"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Physische Tastatur"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"App <xliff:g id="APPLICATION">%1$s</xliff:g> Zugriff auf USB-Gerät gewähren?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"App <xliff:g id="APPLICATION">%1$s</xliff:g> Zugriff auf USB-Zubehör gewähren?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"App <xliff:g id="APPLICATION">%1$s</xliff:g> Zugriff auf USB-Gerät gewähren?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"App <xliff:g id="APPLICATION">%1$s</xliff:g> Zugriff auf USB-Zubehör gewähren?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"<xliff:g id="ACTIVITY">%1$s</xliff:g> öffnen, wenn dieses USB-Gerät verbunden ist?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"<xliff:g id="ACTIVITY">%1$s</xliff:g> öffnen, wenn dieses USB-Zubehör verbunden ist?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Keine installierten Anwendungen für dieses USB-Zubehör. Weitere Informationen unter <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Keine installierten Apps für dieses USB-Zubehör. Weitere Informationen unter <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB-Zubehör"</string>
<string name="label_view" msgid="6304565553218192990">"Anzeigen"</string>
<string name="always_use_device" msgid="1450287437017315906">"Standardmäßig für dieses USB-Gerät verwenden"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Standardmäßig für dieses USB-Zubehör verwenden"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoom auf Bildschirmgröße"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Auf Bildschirmgröße anpassen"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Kompatibilitätszoom"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Kompatibilitätszoom"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Wenn eine App für einen kleineren Bildschirm ausgelegt ist, wird ein Zoom-Steuerelement neben der Uhr angezeigt."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Screenshot wird gespeichert..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Screenshot wird gespeichert..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USB-Dateiübertragungsoptionen"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Als Medienplayer (MTP) bereitstellen"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Als Kamera (PTP) bereitstellen"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"App \"Android File Transfer\" für Mac installieren"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"App \"Android File Transfer\" für Mac installieren"</string>
<string name="accessibility_back" msgid="567011538994429120">"Zurück"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Startbildschirm"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menü"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Datensignal - zwei Balken"</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Datensignal - drei Balken"</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Volle Datensignalstärke"</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Kein WLAN"</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"WLAN - ein Balken"</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"WLAN - zwei Balken"</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"WLAN - drei Balken"</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Volle WLAN-Signalstärke"</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Kein WLAN"</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"WLAN, ein Balken"</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"WLAN, zwei Balken"</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"WLAN, drei Balken"</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"WLAN, volle Signalstärke"</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WLAN"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"WLAN"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Keine SIM-Karte"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-Tethering"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Flugmodus"</string>
@@ -128,7 +128,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G-Daten deaktiviert"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobile Daten deaktiviert"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Daten deaktiviert"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Das für den Datenverbrauch festgelegte Limit wurde erreicht."\n\n"Weiterer Datenverbrauch kann mit zusätzlichen Kosten vonseiten des Mobilfunkanbieters verbunden sein."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Sie haben die angegebenen Grenze für die Datennutzung erreicht."\n\n"Wenn Sie die Datennutzung erneut aktivieren, berechnet Ihr Mobilfunkanbieter unter Umständen zusätzliche Gebühren."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Daten erneut aktivieren"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Keine Internetverbindung"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"WLAN verbunden"</string>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index e3e8cfff4b74..10632f30f25c 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Δεν υπάρχουν ειδοποιήσεις"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Εν εξελίξει"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Ειδοποιήσεις"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Συνδέστε τον φορτιστή"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Συνδέστε φορτιστή"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Η στάθμη της μπαταρίας είναι χαμηλή."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"Απομένει <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Δεν υποστηρίζεται η φόρτιση USB."\n"Χρησιμοποιείτε μόνο τον φορτιστή που παρέχεται."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"ΑΥΤΟΜ."</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Ειδοποιήσεις"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Έγινε σύνδεση μέσω Bluetooth"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Διαμόρφωση μεθόδων εισαγωγής"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Ρύθμιση μεθόδων εισαγωγής"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Χρήση κανονικού πληκτρολ."</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Να επιτρέπεται στην εφαρμογή <xliff:g id="APPLICATION">%1$s</xliff:g> η πρόσβαση στη συσκευή USB;"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Να επιτρέπεται στην εφαρμογή <xliff:g id="APPLICATION">%1$s</xliff:g> η πρόσβαση στο αξεσουάρ USB;"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Να επιτρέπεται στην εφαρμογή <xliff:g id="APPLICATION">%1$s</xliff:g> η πρόσβαση στη συσκευή USB;"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Να επιτρέπεται στην εφαρμογή <xliff:g id="APPLICATION">%1$s</xliff:g> η πρόσβαση στο αξεσουάρ USB;"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Άνοιγμα του <xliff:g id="ACTIVITY">%1$s</xliff:g> κατά τη σύνδεση αυτής της συσκευής USB;"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Άνοιγμα του <xliff:g id="ACTIVITY">%1$s</xliff:g> κατά τη σύνδεση αυτού του αξεσουάρ USB;"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Καμία εγκατ. εφαρμ. δεν συνεργ. με το αξ. USB. Μάθετε περισ. για το αξ. στο <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Δεν έχετε εφαρμογή που να συνεργάζεται με το αξεσουάρ USB. Για περισσότερα: <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Αξεσουάρ USB"</string>
<string name="label_view" msgid="6304565553218192990">"Προβολή"</string>
<string name="always_use_device" msgid="1450287437017315906">"Χρήση από προεπιλογή για αυτή τη συσκευή USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Χρήση από προεπιλογή για αυτό το εξάρτημα USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Ζουμ σε πλήρη οθόνη"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Προβoλή σε πλήρη οθ."</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Ζουμ για συμβατότητα"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Ζουμ για συμβατότητα"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Όταν μια εφαρμογή έχει σχεδιαστεί για προβολή σε μικρότερη οθόνη, δίπλα από το ρολόι θα εμφανιστεί ένα στοιχείο ελέγχου ζουμ."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Αποθήκ. στιγμιότυπου οθόνης..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Αποθήκευση στιγμιότυπου οθόνης..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Επιλογές μεταφοράς αρχείων μέσω USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Προσάρτηση ως μονάδας αναπαραγωγής μέσων (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Προσάρτηση ως κάμερας (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Εγκατάσταση της εφαρμογής μεταφοράς αρχείων Android για Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Εγκατάστ. της εφαρμ. μεταφ.αρχείων Android για Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Πίσω"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Αρχική σελίδα"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Μενού"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Δύο γραμμές δεδομένων."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Τρεις γραμμές δεδομένων."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Πλήρες σήμα δεδομένων."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Δεν υπάρχει WiFi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Μία γραμμή WiFi."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Δύο γραμμές WiFi."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Τρεις γραμμές WiFi."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Πλήρες σήμα WiFi."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Δεν υπάρχει σήμα Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Μία γραμμή Wi-Fi."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Δύο γραμμές Wi-Fi."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Τρεις γραμμές Wi-Fi."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Πλήρες σήμα Wi-Fi."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Δεν υπάρχει SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Πρόσδεση Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Λειτουργία πτήσης."</string>
@@ -128,7 +128,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Τα δεδομένα 4G απενεργοποιήθηκαν"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Τα δεδομένα κινητής τηλεφωνίας απενεργοποιήθηκαν"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Απενεργοποιήθηκαν τα δεδομένα"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Το καθορισμένο όριο χρήσης δεδομένων συμπληρώθηκε."\n\n"Πρόσθετη χρήση δεδομένων ενδέχεται να επιφέρει χρεώσεις από την εταιρεία κινητής τηλεφωνίας."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Συμπληρώσατε το καθορισμένο όριο χρήσης δεδομένων."\n\n"Αν ενεργοποιήσετε ξανά τα δεδομένα, ενδέχεται να χρεωθείτε από την εταιρεία κινητής τηλεφωνίας."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Νέα ενεργοποίηση δεδομένων"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Χωρ. σύνδ. στο Διαδ."</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi συνδεδεμένο"</string>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index 53e298bef706..c9e65744c565 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"No notifications"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Ongoing"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notifications"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Please connect charger"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Connect charger"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"The battery is getting low."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> remaining"</string>
<string name="invalid_charger" msgid="4549105996740522523">"USB charging not supported."\n"Use only the supplied charger."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Notifications"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth tethered"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Configure input methods"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Set up input methods"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Use physical keyboard"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Allow the application <xliff:g id="APPLICATION">%1$s</xliff:g> to access the USB device?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Allow the application <xliff:g id="APPLICATION">%1$s</xliff:g> to access the USB accessory?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Allow the app <xliff:g id="APPLICATION">%1$s</xliff:g> to access the USB device?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Allow the app <xliff:g id="APPLICATION">%1$s</xliff:g> to access the USB accessory?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Open <xliff:g id="ACTIVITY">%1$s</xliff:g> when this USB device is connected?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Open <xliff:g id="ACTIVITY">%1$s</xliff:g> when this USB accessory is connected?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"No installed applications work with this USB accessory. Learn more about this accessory at <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"No installed apps work with this USB accessory. Learn more about this accessory at <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB accessory"</string>
<string name="label_view" msgid="6304565553218192990">"View"</string>
<string name="always_use_device" msgid="1450287437017315906">"Use by default for this USB device"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Use by default for this USB accessory"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoom to fill screen"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Stretch to fill screen"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Compatibility Zoom"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Compatibility zoom"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"When an app was designed for a smaller screen, a zoom control will appear by the clock."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Saving screenshot…"</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Saving screenshot…"</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USB file transfer options"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Mount as a media player (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Mount as a camera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Install Android File Transfer application for Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Install Android File Transfer application for Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Back"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Home"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Data two bars."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Data three bars."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Data signal full."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"No Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Wi-Fi one bar."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wi-Fi two bars."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Wi-Fi three bars."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi signal full."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"No Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi one bar."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi two bars."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi three bars."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi signal full."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"No SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth tethering"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Airplane mode"</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G data disabled"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobile data disabled"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Data disabled"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"The specified data usage limit has been reached."\n\n"Additional data use may incur operator charges."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"You\'ve reached the specified data usage limit."\n\n"If you re-enable data, you may be charged by the operator."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Reenable data"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"No Internet connection"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi connected"</string>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index 192a687ab66b..bc2d36be8127 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"No hay notificaciones"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Continuo"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificaciones"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Conecta el cargador"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Conecta el cargador."</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Hay poca batería."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"Quedan <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"No admite la carga USB."\n"Usa sólo el cargador provisto."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Notificaciones"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth anclado"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Configurar métodos de entrada"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Configurar métodos de intro."</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Usar teclado físico"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"¿Permitir la aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> para acceder al dispositivo USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"¿Permitir la aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> para acceder al accesorio USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"¿Deseas que la aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> acceda al dispositivo USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"¿Deseas que la aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> acceda al accesorio USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"¿Abrir <xliff:g id="ACTIVITY">%1$s</xliff:g> cuando este dispositivo USB esté conectado?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"¿Abrir <xliff:g id="ACTIVITY">%1$s</xliff:g> cuando este accesorio USB esté conectado?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Las aplicaciones instaladas no funcionan con este accesorio USB. Obtener más información acerca de este accesorio en <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Ninguna aplic. funciona con este accesorio USB. Más info. acerca de este en <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Accesorio USB"</string>
<string name="label_view" msgid="6304565553218192990">"Ver"</string>
<string name="always_use_device" msgid="1450287437017315906">"Se usa de forma predeterminada para este dispositivo USB."</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Se usa de forma predeterminada para este accesorio USB."</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoom para ocupar la pantalla"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Estirar p/ ocupar la pantalla"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Zoom de compatibilidad"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Zoom de compatibilidad"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Cuando una aplicación fue diseñada para una pantalla más pequeña, aparece un control de zoom junto al reloj."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Guardando captura de pantalla"</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Guardando la captura de pantalla..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Opciones de transferencia de archivos por USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Activar como reproductor de medios (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Activar como cámara (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Instalar la aplicación para transferir archivos de Android para Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Instalar la aplic. Android File Transfer para Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Atrás"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Página principal"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menú"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Dos barras de datos"</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Tres barras de datos"</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Señal de datos completa"</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"No hay Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Una barra de Wi-Fi"</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Dos barras de Wi-Fi"</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Tres barras de Wi-Fi"</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Señal de Wi-Fi completa"</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Sin conexión Wi-Fi"</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Una barra de señal Wi-Fi"</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dos barras de señal Wi-Fi"</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tres barras de señal Wi-Fi"</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Señal Wi-Fi máxima"</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"No hay tarjeta SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Conexión mediante Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Modo de avión"</string>
@@ -128,7 +128,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Datos de 4G inhabilitados"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Se inhabilitaron los datos móviles"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Datos inhabilitados"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Se ha alcanzado el límite de uso de datos especificado."\n\n"El uso de datos adicionales puede conllevar cargos para el proveedor."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Alcanzaste el límite de uso de datos especificado."\n\n"Puede que tu operador te cobre por volver a habilitar datos."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Volver a habilitar datos"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Sin conexión a Internet"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi conectado"</string>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 5f9eb6ad9971..cce04c29bdf4 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"No tienes notificaciones"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Entrante"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificaciones"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Conecta el cargador"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Conecta el cargador"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Se está agotando la batería."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> restante"</string>
<string name="invalid_charger" msgid="4549105996740522523">"No se admite la carga por USB."\n"Utiliza solo el cargador proporcionado."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Notificaciones"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth anclado"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Configurar métodos de introducción"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Configurar métodos de introducción"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Utilizar teclado físico"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"¿Permitir que la aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> acceda al dispositivo USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"¿Permitir que la aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> acceda al accesorio USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"¿Permitir que la aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> acceda al dispositivo USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"¿Permitir que la aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> acceda al accesorio USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"¿Quieres abrir <xliff:g id="ACTIVITY">%1$s</xliff:g> al conectar este dispositivo USB?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"¿Quieres abrir <xliff:g id="ACTIVITY">%1$s</xliff:g> al conectar este accesorio USB?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Ninguna aplicación instalada funciona con este accesorio USB. Más información: <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Ninguna aplicación instalada funciona con este accesorio USB. Más información: <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Accesorio USB"</string>
<string name="label_view" msgid="6304565553218192990">"Ver"</string>
<string name="always_use_device" msgid="1450287437017315906">"Usar de forma predeterminada para este dispositivo USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Usar de forma predeterminada para este accesorio USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoom para ajustar"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Expandir para ajustar"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Zoom de compatibilidad"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Zoom de compatibilidad"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Si la aplicación se ha diseñado para una pantalla más pequeña, aparecerá un control de zoom junto al reloj."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Guardando captura..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Guardando captura..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Opciones de transferencia de archivos por USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Activar como reproductor de medios (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Activar como cámara (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Instalar Android File Transfer para Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Instalar Android File Transfer para Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Atrás"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Inicio"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menú"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Dos barras de datos"</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Tres barras de datos"</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Señal de datos al máximo"</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Sin redes Wi-Fi"</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Una barra de Wi-Fi"</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Dos barras de Wi-Fi"</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Tres barras de Wi-Fi"</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Señal de Wi-Fi al máximo"</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Sin conexión Wi-Fi"</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Una barra de Wi-Fi"</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dos barras de Wi-Fi"</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tres barras de Wi-Fi"</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Señal de Wi-Fi al máximo"</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5 G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Tipo Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Sin tarjeta SIM"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Anclaje de Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Modo avión"</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Datos 4G inhabilitados"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Datos móviles inhabilitados"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Datos inhabilitados"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Se ha alcanzado el límite de uso de datos especificado."\n\n"Se pueden aplicar cargos adicionales si utilizas más datos."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Has alcanzado el límite de uso de datos especificado."\n\n"Si vuelves a habilitar los datos, es posible que tu operador te cobre una tarifa adicional."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Volver a habilitar los datos"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Sin conexión a Internet"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Con conexión Wi-Fi"</string>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index 0e20da07f8c0..5102c374f0bc 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"اعلانی موجود نیست"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"در حال انجام"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"اعلان ها"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"لطفاً شارژر را وصل کنید"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"شارژر را متصل کنید"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"باتری در حال کم شدن است."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> باقیمانده است"</string>
<string name="invalid_charger" msgid="4549105996740522523">"شارژ USB پشتیبانی نمی شود."\n"فقط از شارژر ارائه شده استفاده کنید."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"خودکار"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"اعلان ها"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"اتصال اینترنتی با بلوتوث تلفن همراه"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"پیکربندی روش های ورودی"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"تنظیم روش‌های ورودی"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"از صفحه کلید فیزیکی استفاده کنید"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"به برنامه <xliff:g id="APPLICATION">%1$s</xliff:g> اجازه می دهید به دستگاه USB وصل شود؟"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"به برنامه <xliff:g id="APPLICATION">%1$s</xliff:g> اجازه می دهید به وسیله جانبی USB وصل شود؟"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"به برنامه <xliff:g id="APPLICATION">%1$s</xliff:g> اجازه می دهید به دستگاه USB دسترسی داشته باشد؟"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"به برنامه <xliff:g id="APPLICATION">%1$s</xliff:g> اجازه میدهد تا به وسیله جانبی USB دسترسی داشته باشد؟"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"وقتی این دستگاه USB وصل است، <xliff:g id="ACTIVITY">%1$s</xliff:g> باز شود؟"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"وقتی این وسیله جانبی USB وصل است، <xliff:g id="ACTIVITY">%1$s</xliff:g> باز شود؟"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"برنامه های نصب شده با این وسیله جانبی USB کار می کنند. در <xliff:g id="URL">%1$s</xliff:g>راجع به این لوازم جانبی بیشتر بیاموزید"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"هیچ برنامه کاربردی نصب شده‌ای با این وسیله جانبی USB کار نمیکند. در <xliff:g id="URL">%1$s</xliff:g> درباره این وسیله جانبی اطلاعات بیشتری کسب کنید"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"لوازم جانبی USB"</string>
<string name="label_view" msgid="6304565553218192990">"مشاهده"</string>
<string name="always_use_device" msgid="1450287437017315906">"استفاده به صورت پیش فرض برای این دستگاه USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"استفاده به صورت پیش فرض برای این دستگاه USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"بزرگنمایی برای پر کردن صفحه"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"گسترده کردن برای پر کردن صفحه"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"بزرگنمایی سازگاری"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"بزرگنمایی سازگاری"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"اگر یک برنامه برای صفحه کوچک تری طراحی شده باشد، یک کنترل بزرگنمایی توسط ساعت نشان داده می شود."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"در حال ذخیره تصویر صفحه..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"در حال ذخیره تصویر صفحه..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"گزینه های انتقال فایل USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"نصب به عنوان دستگاه پخش رسانه (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"تصب به عنوان دوربین (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"نصب برنامه انتقال فایل Android برای Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"برنامه Android File Transfer را برای Mac نصب کنید"</string>
<string name="accessibility_back" msgid="567011538994429120">"برگشت"</string>
<string name="accessibility_home" msgid="8217216074895377641">"صفحه اصلی"</string>
<string name="accessibility_menu" msgid="316839303324695949">"منو"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"دو نوار برای داده."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"سه نوار برای داده."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"قدرت سیگنال داده کامل است."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Wi-Fi موجود نیست."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"یک نوار برای WiFi."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"دو نوار برای WiFi."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"سه نوار برای WiFi."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"قدرت سیگنال WiFi کامل است."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Wi-Fi موجود نیست."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi یک نوار دارد."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi دو نوار دارد."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi سه نوار دارد."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"سیگنال Wi-Fi کامل است."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wifi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"بدون سیم کارت."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"اتصال اینترنت با بلوتوث تلفن همراه."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"حالت هواپیما."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"داده 4G غیر فعال شد"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"داده‌های تلفن همراه غیرفعال است"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"داده غیرفعال شد"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"به حداکثر محدودیت استفاده از داده رسیده‌اید."\n\n"استفاده از داده بیشتر سبب افزایش هزینه‌های شرکت مخابراتی می‌شود."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"به حداکثر محدوده مشخص شده برای استفاده از داده رسیده‌اید."\n\n"در صورت فعال کردن مجدد داده، ممکن است از طرف اپراتور برای شما هزینه محاسبه شود."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"فعال کردن مجدد داده"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"اتصال اینترنتی وجود ندارد"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi متصل شد"</string>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 346bb574fc38..c62037cf96de 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Ei ilmoituksia"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Käynnissä olevat"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Ilmoitukset"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Kytke laturi"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Kytke laturi"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Akun virta on vähissä."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> jäljellä"</string>
<string name="invalid_charger" msgid="4549105996740522523">"USB-latausta ei tueta."\n"Käytä laitteen mukana tullutta laturia."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Ilmoitukset"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth yhdistetty"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Määritä syöttötavat"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Määritä syöttötavat"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Käytä fyysistä näppäimistöä"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Annetaanko sovellukselle <xliff:g id="APPLICATION">%1$s</xliff:g> lupa käyttää USB-laitetta?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Annetaanko sovellukselle <xliff:g id="APPLICATION">%1$s</xliff:g> lupa käyttää USB-lisälaitetta?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Annetaanko sovellukselle <xliff:g id="APPLICATION">%1$s</xliff:g> lupa käyttää USB-laitetta?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Annetaanko sovellukselle <xliff:g id="APPLICATION">%1$s</xliff:g> lupa käyttää USB-lisälaitetta?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Avataanko <xliff:g id="ACTIVITY">%1$s</xliff:g> tämän USB-laitteen ollessa kytkettynä?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Avataanko <xliff:g id="ACTIVITY">%1$s</xliff:g> tämän USB-lisälaitteen ollessa kytkettynä?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Asennetut sov. eivät toimi tämän USB-lisälaitteen kanssa. Lisätietoja lisälaitteesta os. <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Asennetut sov. eivät toimi tämän USB-laitteen kanssa. Lisätietoja laitteesta: <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB-lisälaite"</string>
<string name="label_view" msgid="6304565553218192990">"Näytä"</string>
<string name="always_use_device" msgid="1450287437017315906">"Käytä oletuksena tällä USB-laitteella"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Käytä oletuksena tällä USB-lisälaitteella"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoomaa koko näyttöön"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Venytä koko näyttöön"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Yhteensopivuustilan zoomaus"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Yhteensopivuuszoomaus"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Jos sovellus on suunniteltu pienemmälle näytölle, kellon viereen tulee näkyviin zoomaussäädin."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Tallennetaan kuvakaappausta..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Tallennetaan kuvakaappausta..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USB-tiedostonsiirtoasetukset"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Käytä mediasoittimena (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Käytä kamerana (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Asenna Android File Transfer -sovellus Macille"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Asenna Android File Transfer -sovellus Macille"</string>
<string name="accessibility_back" msgid="567011538994429120">"Takaisin"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Aloituspainike"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Valikko"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Datasignaali - kaksi palkkia."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Datasignaali - kolme palkkia"</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Vahva kuuluvuus."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Ei wifi-yhteyttä."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Wifi-signaali - yksi palkki."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wifi-signaali - kaksi palkkia."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Wifi-signaali - kolme palkkia."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Vahva wifi-signaali."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Ei wifi-yhteyttä."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wifi-signaali: yksi palkki."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wifi-signaali: kaksi palkkia."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wifi-signaali: kolme palkkia."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wifi-signaali: täysi."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wifi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wifi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Ei SIM-korttia."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Internetyhteyden jakaminen Bluetoothin kautta."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Lentokonetila."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G-tiedonsiirto pois käytöstä"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobiilitiedonsiirto pois käytöstä"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Tiedonsiirto pois käytöstä"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Asetettu tiedonsiirtoraja on täynnä."\n\n"Operaattori voi veloittaa lisätiedonsiirrosta."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Tiedonsiirtoraja saavutettu."\n\n"Jos otat tiedonsiirron uudelleen käyttöön, operaattorisi voi veloittaa sinua."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Ota tiedonsiirto käyttöön"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Ei internetyhteyttä"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wifi yhdistetty"</string>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 55d101ae13d0..bc0a8b45ddad 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Aucune notification"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"En cours"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notifications"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Branchez le chargeur"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Brancher le chargeur"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Le niveau de la batterie est faible."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> restant(s)"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Chargement USB non disponible."\n"Vous devez utiliser le chargeur fourni."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Notifications"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Connexion Bluetooth partagée"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Configurer les modes de saisie"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Configurer les modes de saisie"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Utiliser clavier physique"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Autoriser l\'application <xliff:g id="APPLICATION">%1$s</xliff:g> à accéder au périphérique USB ?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Autoriser l\'application <xliff:g id="APPLICATION">%1$s</xliff:g> à accéder à l\'accessoire USB ?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Autoriser l\'application <xliff:g id="APPLICATION">%1$s</xliff:g> à accéder au périphérique USB ?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Autoriser l\'application <xliff:g id="APPLICATION">%1$s</xliff:g> à accéder à l\'accessoire USB ?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Ouvrir <xliff:g id="ACTIVITY">%1$s</xliff:g> lors de la connexion de ce périphérique USB ?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Ouvrir <xliff:g id="ACTIVITY">%1$s</xliff:g> lors de la connexion de cet accessoire USB ?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Aucune application installée n\'est compatible avec cet accessoire USB. En savoir plus sur <xliff:g id="URL">%1$s</xliff:g>."</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Aucune application installée compatible avec accessoire USB. En savoir plus sur <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Accessoire USB"</string>
<string name="label_view" msgid="6304565553218192990">"Afficher"</string>
<string name="always_use_device" msgid="1450287437017315906">"Utiliser par défaut pour ce périphérique USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Utiliser par défaut pour cet accessoire USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoomer pour remplir l\'écran"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Étirer pour remplir l\'écran"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Zoom de compatibilité"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Zoom de compatibilité"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Si une application a été conçue pour un écran plus petit, une commande de zoom s\'affiche à côté de l\'horloge."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Enregistrement capture écran…"</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Enregistrement de la capture d\'écran…"</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Options transfert fichiers USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Installer en tant que lecteur multimédia (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Installer en tant qu\'appareil photo (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Installer application Android File Transfer pour Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Installer application Android File Transfer (Mac)"</string>
<string name="accessibility_back" msgid="567011538994429120">"Retour"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Accueil"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Signal moyen"</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Signal bon"</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Signal excellent"</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Aucune connexion Wi-Fi"</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Signal Wi-Fi faible"</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Signal Wi-Fi : moyen"</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Signal Wi-Fi : bon"</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Signal Wi-Fi excellent"</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Aucun signal Wi-Fi"</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Signal Wi-Fi très faible"</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Signal Wi-Fi faible"</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Signal Wi-Fi bon"</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Signal Wi-Fi excellent"</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3G+"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Aucune carte SIM"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Partage de connexion Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Mode Avion"</string>
@@ -123,12 +123,12 @@
<string name="accessibility_tty_enabled" msgid="4613200365379426561">"Téléscripteur activé"</string>
<string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Sonnerie en mode vibreur"</string>
<string name="accessibility_ringer_silent" msgid="9061243307939135383">"Sonnerie en mode silencieux"</string>
- <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"Application \"<xliff:g id="APP">%s</xliff:g>\" ignorée."</string>
+ <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"<xliff:g id="APP">%s</xliff:g> supprimé."</string>
<string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"Données 2G-3G désactivées"</string>
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Données 4G désactivées"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Données mobiles désactivées"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Données désactivées"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Vous avez atteint la limite d\'utilisation de données spécifiée."\n\n"L\'utilisation supplémentaire de données peut entraîner la facturation de frais par votre opérateur."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Vous avez atteint le plafond de consommation de données spécifié."\n\n"Si vous utilisez des données supplémentaires, celles-ci pourront être facturées par l\'opérateur."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Réactiver connexion données"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Aucune connexion"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Connecté au Wi-Fi"</string>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index f6b58657d4d2..0f50dff5e7c7 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"कोई सूचना नहीं"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"ऑनगोइंग"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"सूचनाएं"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"कृपया चार्जर कनेक्‍ट करें"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"चार्जर कनेक्‍ट करें"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"बैटरी कम हो रही है."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> शेष"</string>
<string name="invalid_charger" msgid="4549105996740522523">"USB चार्जिंग समर्थित नहीं है."\n"केवल आपूर्ति किए गए चार्जर का उपयोग करें."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"स्वत:"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"सूचनाएं"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth टीदर किया गया"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"इनपुट पद्धतियां कॉन्‍फ़िगर करें"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"इनपुट पद्धति सेट करें"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"भौतिक कीबोर्ड का उपयोग करें"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"एप्‍लिकेशन <xliff:g id="APPLICATION">%1$s</xliff:g> को USB उपकरण में पहुंच की अनुमति दें?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"एप्‍लिकेशन <xliff:g id="APPLICATION">%1$s</xliff:g> को USB एसेसरी में पहुंच की अनुमति दें?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"एप्लिकेशन <xliff:g id="APPLICATION">%1$s</xliff:g> को USB उपकरण तक पहुंचने दें?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"एप्लिकेशन <xliff:g id="APPLICATION">%1$s</xliff:g> को USB सहायक उपकरण तक पहुंचने दें?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"जब यह USB उपकरण कनेक्ट किया जाए, तब <xliff:g id="ACTIVITY">%1$s</xliff:g> को खोलें?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"जब यह USB एसेसरी कनेक्ट की जाए, तब <xliff:g id="ACTIVITY">%1$s</xliff:g> को खोलें?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"इंस्‍टॉल की हुई एप्लिकेशन इस USB एसेसरी के साथ काम नहीं करती. <xliff:g id="URL">%1$s</xliff:g> पर इस एसेसरी के बारे में अधिक जानें"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"इस USB सहायक उपकरण के साथ कोई भी इंस्टॉल एप्लिकेशन काम नहीं करता. इस सहायक उपकरण के बारे में यहां अधिक जानें: <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB सहायक साधन"</string>
<string name="label_view" msgid="6304565553218192990">"देखें"</string>
<string name="always_use_device" msgid="1450287437017315906">"इस USB उपकरण के लिए डिफ़ॉल्‍ट रूप से उपयोग करें"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"इस USB एसेसरी के लिए डिफ़ॉल्‍ट रूप से उपयोग करें"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"स्‍क्रीन भरने हेतु ज़ूम करें"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"स्‍क्रीन को भरने के लिए खींचें"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"संगतता ज़ूम"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"संगतता ज़ूम"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"जब किसी छोटी स्‍क्रीन के लिए एप्‍लिकेशन को डिज़ाइन किया जाता है, तो ज़ूम नियंत्रण क्लॉक के पास दिखाई देगा."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"स्क्रीनशॉट सहेजा जा रहा है..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"स्क्रीनशॉट सहेजा जा रहा है..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USB फ़ाइल स्थानांतरण विकल्प"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"मीडिया प्लेयर के रूप में माउंट करें (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"कैमरे के रूप में माउंट करें (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Mac के लिए Android फ़ाइल स्थानां. एप्लि. इंस्टॉल करें"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Mac के लिए Android File Transfer एप्लि. इंस्टॉल करें"</string>
<string name="accessibility_back" msgid="567011538994429120">"वापस जाएं"</string>
<string name="accessibility_home" msgid="8217216074895377641">"होम"</string>
<string name="accessibility_menu" msgid="316839303324695949">"मेनू"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"डेटा दो बार."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"डेटा तीन बार."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"पूर्ण डेटा सि‍ग्‍नल."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"कोई WiFi नहीं."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"WiFi एक बार."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"WiFi दो बार."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"WiFi तीन बार."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"पूर्ण WiFi सि‍ग्‍नल."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"कोई Wi-Fi नहीं."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi का एक बार."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi के दो बार."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi के तीन बार."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi सिग्नल पूर्ण."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"किनारा"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"कोई सिम नहीं."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth टेदरिंग."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"हवाई जहाज मोड."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G डेटा अक्षम"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"मोबाइल डेटा अक्षम"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"डेटा अक्षम"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"डेटा उपयोग की निर्दिष्‍ट सीमा पूरी हो गई है."\n\n"अतिरिक्त डेटा का उपयोग करने पर वाहक शुल्‍क लगाए जा सकते है."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"आप निर्दिष्ट डेटा उपयोग सीमा तक पहुंच चुके हैं."\n\n"यदि आप डेटा को पुनः सक्षम करते हैं, तो ऑपरेटर द्वारा आपसे शुल्क लिया जा सकता है."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"डेटा पुन: सक्षम करें"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"कोई इंटरनेट कनेक्शन नहीं"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi कनेक्‍ट किया गया"</string>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index d0ec22cd2f59..d77a33f38ff2 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Bez obavijesti"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"U tijeku"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Obavijesti"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Priključite punjač"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Priključite punjač"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Baterija će uskoro biti potrošena."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> preostalo"</string>
<string name="invalid_charger" msgid="4549105996740522523">"USB punjenje nije podržano."\n"Upotrijebite samo priloženi punjač."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTOM."</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Obavijesti"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth posredno povezan"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Konfiguriraj načine ulaza"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Postavljanje načina unosa"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Rabi fizičku tipkovnicu"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Dopustiti aplikaciji <xliff:g id="APPLICATION">%1$s</xliff:g> da pristupi ovom USB uređaju?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Dopustiti aplikaciji <xliff:g id="APPLICATION">%1$s</xliff:g> da pristupi ovom USB dodatku?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Dopustiti aplikaciji <xliff:g id="APPLICATION">%1$s</xliff:g> da pristupi ovom USB uređaju?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Dopustiti aplikaciji <xliff:g id="APPLICATION">%1$s</xliff:g> da pristupi ovom USB dodatku?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Otvoriti <xliff:g id="ACTIVITY">%1$s</xliff:g> kad se spoji ovaj USB uređaj?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Otvoriti <xliff:g id="ACTIVITY">%1$s</xliff:g> kad se spoji ovaj USB dodatak?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Nijedna instalirana aplikacija ne radi s ovim USB dodatkom. Saznajte više o ovom dodatku na <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Nijedna instalirana aplikacija ne radi s ovim USB dodatkom. Saznajte više na <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB pribor"</string>
<string name="label_view" msgid="6304565553218192990">"Prikaži"</string>
<string name="always_use_device" msgid="1450287437017315906">"Koristi se prema zadanim postavkama za ovaj USB uređaj"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Koristi se prema zadanim postavkama za ovaj USB pribor"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zumiraj i ispuni zaslon"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Rastegni i ispuni zaslon"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Kompatibilni zum"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Kompatibilno zumiranje"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Kada je aplikacija dizajnirana za manji zaslon, kontrole zumiranja prikazuju se pored sata."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Spremanje snimke zaslona..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Spremanje snimke zaslona..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Opcije USB prijenosa datoteka"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Učitaj kao media player (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Učitaj kao fotoaparat (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Instalacija aplikacije Android File Transfer za Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Instaliraj Android – Prijenos datoteka za Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Natrag"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Početna"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Izbornik"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Podatkovni signal dva stupca."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Podatkovni signal tri stupca."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Podatkovni signal pun."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Nema WiFi signala."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"WiFi signal jedan stupac."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"WiFi signal dva stupca ."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"WiFi tri stupca."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"WiFi signal pun."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Nema Wi-Fi signala."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi jedna crtica."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi dvije crtice."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi tri crtice."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi signal pun."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Nema SIM kartice."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Posredno povezivanje Bluetootha."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Način rada u zrakoplovu"</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Onemogućeni su 4G podaci"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Onemogućeni su mobilni podaci"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Podaci su onemogućeni"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Dosegnuto je navedeno ograničenje upotrebe podataka."\n\n"Dodatna upotreba podataka može se naplaćivati."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Dosegnuli ste navedeno ograničenje upotrebe podataka."\n\n"Ako ponovo omogućite podatke, operator će vam to možda dodatno naplatiti."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Ponovo omogući podatke"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Nema internetske veze"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi povezan"</string>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index 85353d56ef87..664aae2f9053 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Nincs értesítés"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Folyamatban van"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Értesítések"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Kérjük, csatlakoztassa a töltőt"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Csatlakoztassa a töltőt"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Az akkufeszültség alacsony."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> maradt"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Az USB-n keresztüli töltés nincs támogatva."\n"Használja a kapott töltőt."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Értesítések"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth megosztva"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Beviteli módok konfigurálása"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Beviteli módok beállítása"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Valódi bill. használata"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"<xliff:g id="APPLICATION">%1$s</xliff:g> alkalmazás hozzáférhet az USB-eszközhöz?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"<xliff:g id="APPLICATION">%1$s</xliff:g> alkalmazás hozzáférhet az USB-kiegészítőhöz?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"A(z) <xliff:g id="APPLICATION">%1$s</xliff:g> alkalmazás hozzáférhet az USB-eszközhöz?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"A(z) <xliff:g id="APPLICATION">%1$s</xliff:g> alkalmazás hozzáférhet az USB-kiegészítőhöz?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"<xliff:g id="ACTIVITY">%1$s</xliff:g> megnyitása, ha USB-kiegészítő csatlakoztatva van?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"<xliff:g id="ACTIVITY">%1$s</xliff:g> megnyitása, ha ez az USB-kiegészítő csatlakoztatva van?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"A telepített alkalmazások nem működnek ezzel az USB-kiegészítővel. Bővebben: <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"A telepített alkalmazások nem működnek ezzel az USB-kiegészítővel. Bővebben: <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB-kellék"</string>
<string name="label_view" msgid="6304565553218192990">"Megtekintés"</string>
<string name="always_use_device" msgid="1450287437017315906">"Alapértelmezett használat ehhez az USB-eszközhöz"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Alapértelmezett használat ehhez az USB-kiegészítőhöz"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Nagyítás a kitöltéshez"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Nyújtás kitöltéshez"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Kompatibilitás -- nagyítás/kicsinyítés"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Kompatibilitás -- nagyítás/kicsinyítés"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Ha egy alkalmazást kisebb képernyőre terveztek, akkor a nagyítás/kicsinyítés vezérlője az óra mellett jelenik meg."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Képernyőkép mentése..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Képernyőkép mentése..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USB-fájlátvitel beállításai"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Csatlakoztatás médialejátszóként (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Csatlakoztatás kameraként (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Android fájlátviteli alkalmazás telepítése Machez"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Android fájlátviteli alkalmazás telepítése Machez"</string>
<string name="accessibility_back" msgid="567011538994429120">"Vissza"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Főoldal"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menü"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Adat két sáv."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Adat három sáv."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Adatjel teljes."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Nincs Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Wi-Fi egy sáv."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wi-Fi két sáv."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Wi-Fi három sáv."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi jel teljes."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Nincs Wi-Fi"</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi -- egy sáv"</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi -- két sáv"</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi -- három sáv"</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi -- teljes jel"</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Nincs SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth megosztása."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Repülőgép üzemmód."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G adatforgalom letiltva"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobil adatforgalom letiltva"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Adatok letiltva"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Elérte a megadott adathasználati korlátot."\n\n"További adathasználatért a szolgáltató díjat számolhat fel."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Elérte a megadott adathasználati korlátot."\n\n"Ha újra engedélyezi az adatforgalmat, szolgáltatója díjat számolhat fel."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Adatforgalom engedélyezése"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Nincs internet"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi csatlakoztatva"</string>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index d70f60519cf0..3290c1da2f8d 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Tidak ada pemberitahuan"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Berkelanjutan"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Pemberitahuan"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Harap hubungkan ke pengisi daya"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Hubungkan pengisi daya"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Baterai semakin lemah."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> tersisa"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Pengisian daya USB tidak didukung."\n"Gunakan hanya pengisi daya yang disediakan."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Pemberitahuan"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth tertambat"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Konfigurasikan metode masukan"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Menyiapkan metode masukan"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Gunakan keyboard fisik"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Izinkan aplikasi <xliff:g id="APPLICATION">%1$s</xliff:g> mengakses perangkat USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Izinkan aplikasi <xliff:g id="APPLICATION">%1$s</xliff:g> mengakses aksesori USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Izinkan apl <xliff:g id="APPLICATION">%1$s</xliff:g> mengakses perangkat USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Izinkan apl <xliff:g id="APPLICATION">%1$s</xliff:g> mengakses aksesori USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Buka <xliff:g id="ACTIVITY">%1$s</xliff:g> ketika perangkat USB ini tersambung?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Buka <xliff:g id="ACTIVITY">%1$s</xliff:g> ketika aksesori USB ini tersambung?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Tidak ada aplikasi terpasang yang bekerja dengan aksesori USB ini. Pelajari aksesori ini lebih lanjut di <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Tidak ada apl terpasang yang bekerja dengan aksesori USB ini. Pelajari lebih lanjut tentang aksesori ini di <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Aksesori USB"</string>
<string name="label_view" msgid="6304565553218192990">"Lihat"</string>
<string name="always_use_device" msgid="1450287437017315906">"Gunakan secara bawaan untuk perangkat USB ini"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Gunakan secara bawaan untuk aksesori USB ini"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Perbesar utk mengisi layar"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Rentangkn utk mngisi layar"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Zoom Kompatibilitas"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Perbesar/perkecil untuk kompatibilitas"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Saat apl dirancang untuk layar yang lebih kecil, kontrol zoom akan tampil di dekat jam."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Menyimpan tangkapan layar..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Menyimpan tangkapan layar..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Opsi transfer berkas USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Pasang sebagai pemutar media (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Pasang sebagai kamera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Pasang aplikasi Transfer Berkas Android untuk Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Pasang apl Transfer Berkas Android untuk Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Kembali"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Utama"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Data dua batang."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Data tiga batang."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Sinyal data penuh."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Tidak ada WiFi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"WiFi satu batang."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"WiFi dua batang."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"WiFi tiga batang."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Sinyal WiFi penuh."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Tidak ada Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi satu bilah."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi dua bilah."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi tiga bilah."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Sinyal Wi-Fi penuh."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Tidak ada SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Penambatan bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Mode pesawat."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Data 4G dinonaktifkan"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Data seluler dinonaktifkan"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Data dinonaktifkan"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Telah mencapai batas penggunaan data yang ditetapkan."\n\n"Penggunaan data tambahan mungkin akan dikenai biaya operator."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Anda telah mencapai batas penggunaan data yang ditentukan."\n\n"Jika Anda mengaktifkan ulang data, Anda mungkin akan dikenai biaya oleh operator."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Aktifkan ulang data"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Tidak ada sambungan internet"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi tersambung"</string>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index b40bca3f97a1..f7bd1463ae0e 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Nessuna notifica"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"In corso"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notifiche"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Collegare il caricabatterie"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Collega il caricabatterie"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Batteria quasi scarica."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> rimanente"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Ricarica tramite USB non supportata."\n"Utilizza solo il caricatore in dotazione."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Notifiche"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth con tethering"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Configura metodi di input"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Configura metodi di immissione"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Utilizza tastiera fisica"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Consentire all\'applicazione <xliff:g id="APPLICATION">%1$s</xliff:g> di accedere al dispositivo USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Consentire all\'applicazione <xliff:g id="APPLICATION">%1$s</xliff:g> di accedere all\'accessorio USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Consentire all\'applicazione <xliff:g id="APPLICATION">%1$s</xliff:g> di accedere al dispositivo USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Consentire all\'applicazione <xliff:g id="APPLICATION">%1$s</xliff:g> di accedere all\'accessorio USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Aprire <xliff:g id="ACTIVITY">%1$s</xliff:g> quando questo dispositivo USB è collegato?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Aprire <xliff:g id="ACTIVITY">%1$s</xliff:g> quando questo accessorio USB è collegato?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Applicazioni installate non funzionano con accessorio USB. Altre informazioni su accessorio su <xliff:g id="URL">%1$s</xliff:g>."</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Nessuna applicazione installata funziona con questo accessorio USB. Info su <xliff:g id="URL">%1$s</xliff:g>."</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Accessorio USB"</string>
<string name="label_view" msgid="6304565553218192990">"Visualizza"</string>
<string name="always_use_device" msgid="1450287437017315906">"Usa per impostazione predef. per dispositivo USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Usa per impostazione predef. per accessorio USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoom per riempire schermo"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Estendi per riemp. schermo"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Zoom compatibilità"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Zoom compatibilità"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Se un\'applicazione è stata progettata per uno schermo più piccolo, accanto all\'orologio viene visualizzato un controllo dello zoom."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Salvataggio screenshot..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Salvataggio screenshot..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Opzioni trasferimento file USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Monta come lettore multimediale (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Monta come videocamera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Installa l\'applicazione Android File Transfer per Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Installa applicazione Android File Transfer per Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Indietro"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Home"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Dati: due barre."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Dati: tre barre."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Massimo segnale dati."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Nessun segnale Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Wi-Fi: una barra."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wi-Fi: due barre."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Wi-Fi: tre barre."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Massimo segnale Wi-Fi."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Nessuna connessione Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi: una barra."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi: due barre."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi: tre barre."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Segnale Wi-Fi completo."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Nessuna SIM presente."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Tethering Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Modalità aereo."</string>
@@ -128,7 +128,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Dati 4G disattivati"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Dati mobili disattivati"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Dati disabilati"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Il limite di utilizzo dei dati specificato è stato raggiunto."\n\n"Un ulteriore utilizzo di dati può comportare l\'applicazione di costi da parte dell\'operatore."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Hai raggiunto il limite di utilizzo dei dati specificato."\n\n"Se riattivi i dati, l\'operatore potrebbe addebitarti un costo."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Riattiva dati"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Nessuna connessione"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi connesso"</string>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index d54c7e2d1868..e08f14057e8f 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"אין התראות"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"מתמשך"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"התראות"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"חבר מטען"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"חבר מטען"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"הסוללה נחלשת."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"נותרו <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"טעינה באמצעות USB אינה נתמכת."\n"השתמש אך ורק במטען שסופק."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"אוטומטי"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"התראות"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth קשור"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"הגדרת שיטות קלט"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"הגדר שיטות קלט"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"השתמש במקלדת הפיזית"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"האם לאפשר ליישום <xliff:g id="APPLICATION">%1$s</xliff:g> לגשת למכשיר ה-USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"האם לאפשר ליישום <xliff:g id="APPLICATION">%1$s</xliff:g> לגשת לאביזר ה-USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"לאפשר ליישום <xliff:g id="APPLICATION">%1$s</xliff:g> גישה להתקן ה-USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"לאפשר ליישום <xliff:g id="APPLICATION">%1$s</xliff:g> גישה לאביזר ה-USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"האם לפתוח את <xliff:g id="ACTIVITY">%1$s</xliff:g> כאשר מכשיר USB זה מחובר?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"האם לפתוח את <xliff:g id="ACTIVITY">%1$s</xliff:g> כאשר אביזר USB זה מחובר?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"אין יישומים מותקנים הפועלים עם אביזר ה-USB. למידע נוסף על אביזר זה בקר בכתובת <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"אין יישומים מותקנים הפועלים עם אביזר ה-USB. למידע נוסף על אביזר זה בקר בכתובת <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"אביזר USB"</string>
<string name="label_view" msgid="6304565553218192990">"הצג"</string>
<string name="always_use_device" msgid="1450287437017315906">"השתמש כברירת מחדל עבור מכשיר USB זה"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"השתמש כברירת מחדל עבור אביזר USB זה"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"הגדל תצוגה כדי למלא את המסך"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"מתח כדי למלא את המסך"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"שינוי מרחק מתצוגה לתאימות"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"שינוי מרחק מתצוגה לצורך תאימות"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"כאשר יישום מיועד למסך קטן יותר, פקד של מרחק מתצוגה יופיע ליד השעון."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"שומר צילום מסך..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"שומר צילום מסך..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"אפשרויות העברת קבצים ב-USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"טען כנגן מדיה (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"טען כמצלמה (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"התקן את יישום העברת הקבצים של Android עבור Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"התקן את יישום העברת הקבצים של Android עבור Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"הקודם"</string>
<string name="accessibility_home" msgid="8217216074895377641">"בית"</string>
<string name="accessibility_menu" msgid="316839303324695949">"תפריט"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"שני פסים של נתונים."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"שלושה פסים של נתונים."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"אות הנתונים מלא."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"אין WiFi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"פס אחד של WiFi."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"שני פסים של WiFi."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"שלושה פסים של WiFi."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"אות ה-WiFi מלא."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"אין Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"פס Wi-Fi אחד."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"שני פסי Wi-Fi."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"שלושה פסי Wi-Fi."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"אות ה-Wi-Fi מלא."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"קצה"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"אין כרטיס SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"שיתוף אינטרנט בין ניידים של Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"מצב טיסה"</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"נתוני 4G מושבתים"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"נתונים לנייד מושבתים"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"הנתונים מושבתים"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"הגעת למגבלת השימוש בנתונים שצוינה."\n\n"ייתכן שתחויב בתשלום לספק על שימוש נוסף בנתונים."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"הגעת לגבול המוגדר של שימוש בנתונים."\n\n"אם תפעיל מחדש נתונים, ייתכן שתחויב על ידי הספק שלך."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"הפעל מחדש את הנתונים"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"אין חיבור לאינטרנט"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi מחובר"</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 8af5deba2658..6e9dbba278cf 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"通知なし"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"実行中"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"通知"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"充電してください"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"充電してください"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"電池が残り少なくなっています。"</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"残り<xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"USB充電には対応していません。"\n"付属の充電器をお使いください。"</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"オート"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"通知"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetoothテザリング接続"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"入力方法の設定"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"入力方法をセットアップ"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"物理キーボードを使用"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"アプリケーション<xliff:g id="APPLICATION">%1$s</xliff:g>にUSBデバイスへのアクセスを許可しますか?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"アプリケーション<xliff:g id="APPLICATION">%1$s</xliff:g>にUSBアクセサリへのアクセスを許可しますか?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"アプリ「<xliff:g id="APPLICATION">%1$s</xliff:g>」にUSBデバイスへのアクセスを許可しますか?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"アプリ「<xliff:g id="APPLICATION">%1$s</xliff:g>」にUSBアクセサリへのアクセスを許可しますか?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"このUSBデバイスが接続されたときに<xliff:g id="ACTIVITY">%1$s</xliff:g>を開きますか?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"このUSBアクセサリが接続されたときに<xliff:g id="ACTIVITY">%1$s</xliff:g>を開きますか?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"このUSBアクセサリを扱うアプリはインストールされていません。詳細は <xliff:g id="URL">%1$s</xliff:g> をご覧ください。"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"このUSBアクセサリを扱うアプリはインストールされていません。詳細: <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USBアクセサリ"</string>
<string name="label_view" msgid="6304565553218192990">"表示"</string>
<string name="always_use_device" msgid="1450287437017315906">"このUSBデバイスにデフォルトで使用する"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"このUSBアクセサリにデフォルトで使用する"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"画面サイズに合わせて拡大"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"画面サイズに合わせて拡大"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"互換ズーム"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"互換ズーム"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"より小型の画面向けのアプリの場合は、ズームコントロールが時計のそばに表示されます。"</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"スクリーンショットを保存中..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"スクリーンショットを保存しています..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USBファイル転送オプション"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"メディアプレーヤー(MTP)としてマウント"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"カメラ(PTP)としてマウント"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Mac版Android File Transferアプリのインストール"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Mac版Android File Transferアプリをインストール"</string>
<string name="accessibility_back" msgid="567011538994429120">"戻る"</string>
<string name="accessibility_home" msgid="8217216074895377641">"ホーム"</string>
<string name="accessibility_menu" msgid="316839303324695949">"メニュー"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"データ信号:レベル2"</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"データ信号:レベル3"</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"データ信号:フル"</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Wi-Fi電波:なし"</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Wi-Fi電波:レベル1"</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wi-Fi電波:レベル2"</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Wi-Fi電波:レベル3"</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi電波:フル"</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Wi-Fi接続なし"</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi電波: レベル1"</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi電波: レベル2"</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi電波: レベル3"</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi電波: フル"</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIMがありません。"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetoothテザリング。"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"機内モード。"</string>
@@ -128,7 +128,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4Gデータが無効になりました"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"モバイルデータが無効になりました"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"データが無効になりました"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"指定したデータ使用上限に達しました。"\n\n"これ以上データを使用すると、携帯通信会社への料金が発生する可能性があります。"</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"指定したデータ使用上限に達しました。"\n\n"データ接続を再度有効にした場合、携帯通信会社の料金が発生する可能性があります。"</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"データ接続を再度有効にする"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"インターネット未接続"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi接続済み"</string>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index ab947bd0285d..eb75be36112f 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"알림 없음"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"진행 중"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"알림"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"충전기를 연결하세요."</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"충전기를 연결하세요."</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"배터리가 얼마 남지 않았습니다."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> 남음"</string>
<string name="invalid_charger" msgid="4549105996740522523">"USB 충전이 지원되지 않습니다."\n"제공된 충전기만 사용하세요."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"자동"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"알림"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"블루투스 테더링됨"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"입력 방법 구성"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"입력 방법 설정"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"물리적 키보드 사용"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"애플리케이션 <xliff:g id="APPLICATION">%1$s</xliff:g>(이)가 USB 기기에 액세스하도록 허용하시겠습니까?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"애플리케이션 <xliff:g id="APPLICATION">%1$s</xliff:g>(이)가 USB 액세서리에 액세스하도록 허용하시겠습니까"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"<xliff:g id="APPLICATION">%1$s</xliff:g> 앱이 USB 기기에 액세스하도록 허용하시겠습니까?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"<xliff:g id="APPLICATION">%1$s</xliff:g> 앱이 USB 액세서리에 액세스하도록 허용하시겠습니까?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"USB 기기가 연결될 때 <xliff:g id="ACTIVITY">%1$s</xliff:g>(을)를 여시겠습니까?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"USB 액세서리가 연결될 때 <xliff:g id="ACTIVITY">%1$s</xliff:g>(을)를 여시겠습니까?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"이 USB와 호환되는 설치 애플리케이션이 없습니다. <xliff:g id="URL">%1$s</xliff:g>에서 세부정보를 참조하세요."</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"이 USB와 호환되는 설치 앱이 없습니다. <xliff:g id="URL">%1$s</xliff:g>에서 세부정보를 참조하세요."</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB 액세서리"</string>
<string name="label_view" msgid="6304565553218192990">"보기"</string>
<string name="always_use_device" msgid="1450287437017315906">"이 USB 기기에 기본값으로 사용"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"이 USB 액세서리에 기본값으로 사용"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"전체화면 모드로 확대"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"전체화면 모드로 확대"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"호환성 확대/축소"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"호환성 확대/축소"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"앱이 작은 화면에 맞도록 설계된 경우 시계 옆에 확대/축소 컨트롤이 표시됩니다."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"캡쳐화면 저장 중..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"캡쳐화면 저장 중..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USB 파일 전송 옵션"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"미디어 플레이어로 마운트(MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"카메라로 마운트(PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Mac용 Android 파일 전송 애플리케이션 설치"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Mac용 Android 파일 전송 앱 설치"</string>
<string name="accessibility_back" msgid="567011538994429120">"뒤로"</string>
<string name="accessibility_home" msgid="8217216074895377641">"홈"</string>
<string name="accessibility_menu" msgid="316839303324695949">"메뉴"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"데이터 신호 막대가 두 개입니다."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"데이터 신호 막대가 세 개입니다."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"데이터 신호가 강합니다."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"WiFi가 없습니다."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"WiFi 신호 막대가 하나입니다."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"WiFi 신호 막대가 두 개입니다."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"WiFi 신호 막대가 세 개입니다."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"WiFi 신호가 강합니다."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Wi-Fi 신호가 없습니다."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi 신호 막대가 한 개입니다."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi 신호 막대가 두 개입니다."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi 신호 막대가 세 개입니다."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi 신호가 강합니다."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIM이 없습니다."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"블루투스 테더링입니다."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"비행기 모드입니다."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G 데이터 사용중지됨"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"모바일 데이터 사용중지됨"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"데이터 사용중지됨"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"지정된 데이터 사용 한도에 도달했습니다."\n\n"데이터를 추가로 사용하면 이동통신사에서 요금을 부과할 수 있습니다."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"지정된 데이터 사용 한도에 도달했습니다."\n\n"데이터 연결을 다시 사용하면 통신사에서 요금이 부과될 수도 있습니다."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"데이터 연결 다시 사용"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"인터넷에 연결되지 않음"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi 연결됨"</string>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index 5fe86afb22a3..a8ffae526828 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Nėra įspėjimų"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Vykstantys"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Įspėjimai"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Prijunkite kroviklį"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Prijunkite įkroviklį"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Akumuliatorius senka."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"Liko <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"USB krovimas nepalaikomas."\n"Naudokite tik pateiktą įkroviklį."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTOM."</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Pranešimai"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"„Bluetooth“ susieta"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Konfigūruoti įvesties metodus"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Nustatyti įvesties metodus"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Naudoti fizinę klaviatūrą"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Leisti programai „<xliff:g id="APPLICATION">%1$s</xliff:g>“ pasiekti USB įrenginį?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Leisti programai „<xliff:g id="APPLICATION">%1$s</xliff:g>“ pasiekti USB priedą?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Leisti programai „<xliff:g id="APPLICATION">%1$s</xliff:g>“ pasiekti USB įrenginį?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Leisti programai „<xliff:g id="APPLICATION">%1$s</xliff:g>“ pasiekti USB priedą?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Atidaryti <xliff:g id="ACTIVITY">%1$s</xliff:g>, kai prijungtas šis USB įrenginys?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Atidaryti <xliff:g id="ACTIVITY">%1$s</xliff:g>, kai prijungtas šis USB priedas?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Su šiuo USB pr. nev. jokios įdieg. pr. Suž. daugiau apie šį pr. šiuo adr.: <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Su šiuo USB priedu neveiks jokios įdieg. pr. Suž. daugiau apie šį priedą adresu <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB reikmuo"</string>
<string name="label_view" msgid="6304565553218192990">"Žiūrėti"</string>
<string name="always_use_device" msgid="1450287437017315906">"Šiam USB įreng. naudoti pagal numat. nustatymus"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Šiam USB priedui naudoti pagal numat. nustatymus"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Keisti mast., kad atit. ekr."</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Ištempti, kad atit. ekr."</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Suderinamumo mastelio keitimas"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Suderinamumo mastelio keitimas"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Kai programa bus pritaikyta mažesniam ekranui, mastelio keitimo valdiklis bus parodytas šalia laikrodžio."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Išsaugoma ekrano kopija..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Išsaugoma ekrano kopija..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USB failo perdavimo parinktys"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Įmontuoti kaip medijos grotuvą (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Įmontuoti kaip fotoaparatą (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Įdiegti „Mac“ skirtą „Android“ failų perd. progr."</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Įdiegti „Mac“ skirtą „Android“ perkėl. priem. pr."</string>
<string name="accessibility_back" msgid="567011538994429120">"Atgal"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Pagrindinis"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Meniu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Dvi duomenų juostos."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Trys duomenų juostos."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Stiprus duomenų signalas."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Nėra „Wi-Fi“."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Viena „Wi-Fi“ juosta."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Dvi „Wi-Fi“ juostos."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Trys „Wi-Fi“ juostos."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"„Wi-Fi“ signalas stiprus."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Nėra „Wi-Fi“ ryšio."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Viena „Wi-Fi“ juosta."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dvi „Wi-Fi“ signalo juostos."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Trys „Wi-Fi“ signalo juostos."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Stiprus „Wi-Fi“ signalas."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Kraštas"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Nėra SIM kortelės."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"„Bluetooth“ įrenginio kaip modemo naudojimas."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Lėktuvo režimas."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G duomenys neleidžiami"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobilieji duomenys neleidžiami"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Duomenys neleidžiami"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Pasiektas nurodytas duomenų naudojimo apribojimas."\n\n"Naudojant papildomų duomenų gali būti taikomi operatoriaus mokesčiai."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Pasiekėte nurodytą duomenų naudojimo apribojimą."\n\n"Jei iš naujo įgalinsite duomenis, jus gali apmokestinti operatorius."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Iš naujo įgalinti duomenis"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Nėra interneto ryš."</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Prisij. prie „Wi-Fi“"</string>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index 5aec86fc7467..32db2ea3788c 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Nav paziņojumu"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Notiekošs"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Paziņojumi"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Lūdzu, pievienojiet uzlādes ierīci."</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Pievienojiet uzlādes ierīci."</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Akumulators drīz izlādēsies."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"Atlicis: <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"USB lādēšana netiek atbalstīta."\n"Izmantojiet tikai komplektā iekļauto lādētāju."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTOM."</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Paziņojumi"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth piesaiste"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Konfigurēt ievades metodes"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Iestatīt ievades metodes"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Izmantot fizisku tastatūru"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Vai ļaut lietojumprogrammai <xliff:g id="APPLICATION">%1$s</xliff:g> piekļūt šai USB ierīcei?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Vai ļaut lietojumprogrammai <xliff:g id="APPLICATION">%1$s</xliff:g> piekļūt šim USB piederumam?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Vai ļaut lietotnei <xliff:g id="APPLICATION">%1$s</xliff:g> piekļūt šai USB ierīcei?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Vai ļaut lietotnei <xliff:g id="APPLICATION">%1$s</xliff:g> piekļūt šim USB piederumam?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Vai atvērt darbību <xliff:g id="ACTIVITY">%1$s</xliff:g>, kad tiek pievienota šī USB ierīce?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Vai atvērt darbību <xliff:g id="ACTIVITY">%1$s</xliff:g>, kad tiek pievienots šis USB piederums?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Neinst. lietojumpr. darbojas ar šo USB pied. Uzz. vairāk par šo piederumu: <xliff:g id="URL">%1$s</xliff:g>."</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Neviena no inst. liet. nedarb. ar šo USB pied. Uzz. vairāk par šo pied. vietnē <xliff:g id="URL">%1$s</xliff:g>."</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB piederums"</string>
<string name="label_view" msgid="6304565553218192990">"Skatīt"</string>
<string name="always_use_device" msgid="1450287437017315906">"Pēc noklusējuma izmantot šai USB ierīcei"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Pēc noklusējuma izmantot šim USB piederumam"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Tālumm., lai aizp. ekr."</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Stiepiet, lai aizp. ekr."</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Saderības tālummaiņa"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Saderības tālummaiņa"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Ja lietotne ir paredzēta mazākam ekrānam, blakus pulkstenim tiks parādīta tālummaiņas vadīkla."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Notiek ekrānuzņ. saglabāšana"</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Notiek ekrānuzņēmuma saglabāšana..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USB failu pārsūtīšanas opcijas"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Pievienot kā multivides atskaņotāju (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Pievienot kā kameru (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Instalēt Android failu pārsūt. liet. Mac datoram"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Instalēt liet. Android failu pārsūt. Mac datoram"</string>
<string name="accessibility_back" msgid="567011538994429120">"Atpakaļ"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Sākums"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Izvēlne"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Dati: divas joslas."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Dati: trīs joslas."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Pilna piekļuve datu signālam."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Nav Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Wi-Fi: viena josla."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wi-Fi: divas joslas."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Wi-Fi: trīs joslas."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Pilna piekļuve Wi-Fi signālam"</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Nav Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi: viena josla."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi: divas joslas."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi: trīs joslas."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Maksimāls Wi-Fi signāla stiprums."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Nav SIM kartes."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth piesaiste."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Lidmašīnas režīms."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G dati atspējoti"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobilie dati atspējoti"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Dati atspējoti"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Norādītais datu izmantošanas ierobežojums ir sasniegts."\n\n"Izmantojot papildu datus, sakaru operators var no jums iekasēt maksu."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Ir sasniegts noteiktais datu lietošanas apjoma ierobežojums."\n\n"Ja atkārtoti iespējosiet datus, operators no jums var iekasēt maksu."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Atkārtoti iespējot datus"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Nav interneta sav."</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Izv. sav. ar Wi-Fi"</string>
diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml
index 924bf66b3200..e40553461fef 100644
--- a/packages/SystemUI/res/values-ms/strings.xml
+++ b/packages/SystemUI/res/values-ms/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Tiada pemberitahuan"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Sedang berlangsung"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Pemberitahuan"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Sila sambungkan pengecas"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Sambungkan pengecas"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Bateri semakin lemah."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"Berbaki <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Pengecasan USB tidak disokong."\n"Gunakan hanya pengecas yang dibekalkan."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Pemberitahuan"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth ditambatkan"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Konfigurasikan kaedah input"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Sediakan kaedah input"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Guna ppn kekunci fizikal"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Benarkan aplikasi <xliff:g id="APPLICATION">%1$s</xliff:g> mengakses peranti USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Benarkan aplikasi <xliff:g id="APPLICATION">%1$s</xliff:g> mengakses aksesori USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Benarkan aplikasi <xliff:g id="APPLICATION">%1$s</xliff:g> mengakses peranti USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Benarkan aplikasi <xliff:g id="APPLICATION">%1$s</xliff:g> mengakses aksesori USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Buka <xliff:g id="ACTIVITY">%1$s</xliff:g> apabila peranti USB ini disambungkan?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Buka <xliff:g id="ACTIVITY">%1$s</xliff:g> apabila aksesori USB ini disambungkan?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Tiada apl yg dipsg boleh berfgsi dgn aksri USB ini. Ketahui ttg aksri ini di <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Tiada apl yg dipsg bfungsi dgn aksesori USB ini. Ketahui lg ttg aksesori ini di <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Aksesori USB"</string>
<string name="label_view" msgid="6304565553218192990">"Lihat"</string>
<string name="always_use_device" msgid="1450287437017315906">"Gunakan secara lalai untuk peranti USB ini"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Gunakan secara lalai untuk aksesori USB ini"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zum untuk memenuhi skrin"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Regang utk memenuhi skrin"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Keserasian Zum"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Zum keserasian"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Apabila apl direka untuk skrin yang lebih kecil, kawalan zum akan muncul di tepi jam."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Menyimpan tangkapan skrin..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Menyimpan tangkapan skrin..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Pilihan pemindahan fail USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Lekapkan sebagai pemain media (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Lekapkan sebagai kamera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Pasang aplikasi Pemindahan Fail Android untuk Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Pasang aplikasi Pindahan Fail Android untuk Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Kembali"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Rumah"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Data dua bar."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Data tiga bar."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Isyarat data penuh."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Tiada WiFi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"WiFi satu bar."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"WiFi dua bar."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"WiFi tiga bar."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Isyarat WiFi penuh."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Tiada Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Satu bar Wi-Fi."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dua bar Wi-Fi."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tiga bar Wi-Fi."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Isyarat penuh Wi-Fi."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Tiada SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Penambatan Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Mod pesawat"</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Data 4G dilumpuhkan"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Data mudah alih dilumpuhkan"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Data dilumpuhkan"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Had penggunaan data yang ditentukan telah dicapai."\n\n"Penggunaan data tambahan mungkin dikenakan caj oleh pembawa."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Anda telah mencapai had penggunaan data yang dinyatakan."\n\n"Jika anda mendayakan semula data, anda mungkin dikenakan caj oleh operator."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Dayakan semula data"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Tiada smbg Internet"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi disambungkan"</string>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index 5b00b1fc68ec..3e4ecb589003 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Ingen varslinger"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Aktiviteter"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Varslinger"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Koble til en lader"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Koble til lader"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Lavt batterinivå."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> gjenværende"</string>
<string name="invalid_charger" msgid="4549105996740522523">"USB-lading støttes ikke."\n"Bruk kun den medfølgende laderen."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Varslinger"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth tilknyttet"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Konfigurer inndatametoder"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Konfigurer inndatametoder"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Bruk fysisk tastatur"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Vil du tillate at applikasjonen <xliff:g id="APPLICATION">%1$s</xliff:g> får tilgang til USB-enheten?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Vil du tillate at applikasjonen <xliff:g id="APPLICATION">%1$s</xliff:g> får tilgang til USB-tilbehøret?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Vil du gi appen <xliff:g id="APPLICATION">%1$s</xliff:g> tilgang til USB-enheten?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Vil du gi appen <xliff:g id="APPLICATION">%1$s</xliff:g> tilgang til USB-tilbehøret?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Vil du åpne <xliff:g id="ACTIVITY">%1$s</xliff:g> når denne USB-enheten er tilkoblet?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Vil du åpne <xliff:g id="ACTIVITY">%1$s</xliff:g> når dette USB-tilbehøret er tilkoblet?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Ingen installerte applikasjoner støtter dette USB-tilbehøret. Les mer om tilbehøret på <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Ingen installerte apper støtter dette USB-tilbehøret. Les mer om tilbehøret på <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB-enhet"</string>
<string name="label_view" msgid="6304565553218192990">"Vis"</string>
<string name="always_use_device" msgid="1450287437017315906">"Bruk som standard for denne USB-enheten"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Bruk som standard for dette USB-tilbehøret"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoom for å fylle skjermen"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Strekk for å fylle skjerm"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Kompatibilitets-zooming"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Kompatibilitets-zooming"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Når en app er utformet for en mindre skjerm, vises det en zoomkontroll ved klokken."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Lagrer skjermdumpen …"</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Lagrer skjermdumpen …"</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Altern. for USB-filoverføring"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Sett inn som mediespiller (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Sett inn som kamera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Installer Android File Transfer for Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Installer Android File Transfer-appen for Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Tilbake"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Startside"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Meny"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Data – to stolper."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Data – tre stolper."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Datasignal er fullt."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Ingen Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Wi-Fi – én stolpe."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wi-Fi – to stolper."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Wi-Fi – tre stolper."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi-signal er fullt."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Ingen Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Dekningssignal for Wi-Fi med én stolpe."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dekningssignal for Wi-Fi med to stolper."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Dekningssignal for Wi-Fi med tre stolper."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Fullt Wi-Fi-signal"</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Uten SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-deling."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Flymodus."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G-data er deaktivert"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobildata er deaktivert"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Data deaktivert"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Den angitte databruksgrensen er nådd."\n\n"Ytterligere databruk kan medføre høyere kostnader hos leverandøren."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Du har nådd den angitte databruksgrensen."\n\n"Hvis du slår på igjen databruk, kan du bli belastet med kostnader av operatøren."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Aktiver data på nytt"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Ingen Internett-forbindelse"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi tilkoblet"</string>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index 451b55c4faf8..0684acf6a2d0 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Geen meldingen"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Actief"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Meldingen"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Sluit de oplader aan"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Sluit de oplader aan"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"De accu raakt leeg."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> resterend"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Opladen via USB niet ondersteund."\n"Gebruik alleen de bijgeleverde oplader."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Meldingen"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth getetherd"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Invoermethoden configureren"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Invoermethoden instellen"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Fysiek toetsenbord gebruiken"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"De applicatie <xliff:g id="APPLICATION">%1$s</xliff:g> toegang tot het USB-apparaat geven?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"De applicatie <xliff:g id="APPLICATION">%1$s</xliff:g> toegang tot het USB-accessoire geven?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"De app <xliff:g id="APPLICATION">%1$s</xliff:g> toegang geven tot het USB-apparaat?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"De app <xliff:g id="APPLICATION">%1$s</xliff:g> toegang geven tot het USB-accessoire?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"<xliff:g id="ACTIVITY">%1$s</xliff:g> openen wanneer dit USB-apparaat wordt aangesloten?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"<xliff:g id="ACTIVITY">%1$s</xliff:g> openen wanneer dit USB-accessoire wordt aangesloten?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Er zijn geen geïnstalleerde applicaties die werken met dit USB-accessoire. Meer informatie over dit accessoire vindt u op <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Er werken geen geïnstalleerde apps met dit USB-accessoire. Meer informatie op: <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB-accessoire"</string>
<string name="label_view" msgid="6304565553218192990">"Weergeven"</string>
<string name="always_use_device" msgid="1450287437017315906">"Standaard gebruiken voor dit USB-apparaat"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Standaard gebruiken voor dit USB-accessoire"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoom om scherm te vullen"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Rek uit v. schermvulling"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Compatibiliteitszoom"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Compatibiliteitszoom"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Wanneer een app is ontworpen voor een kleiner scherm, wordt naast de klok een zoomknop weergegeven."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Schermafbeelding opslaan..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Schermafbeelding opslaan..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Opties voor USB-bestandsoverdracht"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Koppelen als mediaspeler (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Koppelen als camera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Applicatie Android File Transfer voor Mac installeren"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"AFT-app voor Mac installeren"</string>
<string name="accessibility_back" msgid="567011538994429120">"Terug"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Startpagina"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Gegevens: twee streepjes."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Gegevens: drie streepjes."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Gegevenssignaal is op volle sterkte."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Geen Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Wi-Fi: één streepje."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wi-Fi: twee streepjes."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Wi-Fi: drie streepjes."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi-signaal is op volledige sterkte."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Geen wifi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wifi: één streepje."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wifi: twee streepjes."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wifi: drie streepjes."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wifi-signaal is op volledige sterkte."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wifi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Geen simkaart."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-tethering."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Vliegmodus."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G-gegevens uitgeschakeld"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobiele gegevens uitgeschakeld"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Gegevens uitgeschakeld"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"De opgegeven limiet voor gegevensgebruik is bereikt."\n\n"Aanvullend gegevensgebruik kan leiden tot providerkosten."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"U heeft de gestelde limiet voor gegevensverbruik bereikt."\n\n"Als u gegevens opnieuw inschakelt, kunnen er kosten in rekening worden gebracht door uw provider."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Gegevens opnieuw inschakelen"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Geen internetverbinding"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Verbonden via Wi-Fi"</string>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index e673e7bd04b6..ecfbe63ec445 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Brak powiadomień"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Bieżące"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Powiadomienia"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Podłącz ładowarkę"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Podłącz ładowarkę"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Bateria wkrótce się rozładuje."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"Pozostało: <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Ładowanie przy użyciu złącza USB nie jest obsługiwane."\n"Należy używać tylko dołączonej ładowarki."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTOM."</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Powiadomienia"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth – podłączono"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Konfiguruj metody wprowadzania"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Konfiguruj metody wprowadzania"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Używaj klawiatury fizycznej"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Czy zezwolić aplikacji <xliff:g id="APPLICATION">%1$s</xliff:g> na dostęp do urządzenia USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Czy zezwolić aplikacji <xliff:g id="APPLICATION">%1$s</xliff:g> na dostęp do akcesorium USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Zezwolić aplikacji <xliff:g id="APPLICATION">%1$s</xliff:g> na dostęp do urządzenia USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Zezwolić aplikacji <xliff:g id="APPLICATION">%1$s</xliff:g> na dostęp do urządzenia USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Czy otworzyć <xliff:g id="ACTIVITY">%1$s</xliff:g> po podłączeniu tego urządzenia USB?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Czy otworzyć <xliff:g id="ACTIVITY">%1$s</xliff:g> po podłączeniu tego akcesorium USB?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Zainstalowane aplikacje nie działają z tym akcesorium USB. Więcej informacji: <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Zainstalowane aplikacje nie działają z tym akcesorium USB. Więcej informacji: <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Akcesorium USB"</string>
<string name="label_view" msgid="6304565553218192990">"Wyświetl"</string>
<string name="always_use_device" msgid="1450287437017315906">"Używaj domyślnie dla tego urządzenia USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Używaj domyślnie dla tego akcesorium USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Powiększ, aby wypełnić ekran"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Rozciągnij, aby wypełnić ekran"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Powiększenie w trybie zgodności"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Powiększenie w trybie zgodności"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Jeśli aplikacja została przystosowana do mniejszego ekranu, obok zegara zostanie wyświetlony element sterujący powiększeniem."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Zapisywanie zrzutu ekranu..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Zapisywanie zrzutu ekranu..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USB – opcje przesyłania plików"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Podłącz jako odtwarzacz multimedialny (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Podłącz jako aparat (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Zainstaluj aplikację Android File Transfer dla Mac OS"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Zainstaluj Android File Transfer dla Maca"</string>
<string name="accessibility_back" msgid="567011538994429120">"Wróć"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Ekran główny"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Dane: dwa paski."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Dane: trzy paski."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Dane: pełna moc sygnału."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Brak sieci Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Sieć Wi-Fi: jeden pasek."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Sieć Wi-Fi: dwa paski."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Sieć Wi-Fi: trzy paski."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Sieć Wi-Fi: pełna moc sygnału."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Brak sieci Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi jeden pasek."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi dwa paski."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi trzy paski."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Pełna moc sygnału Wi-Fi."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Brak karty SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Powiązanie Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Tryb samolotowy."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Wyłączono transmisję danych 4G"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Wyłączono komórkową transmisję danych"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Wyłączono transmisję danych"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Osiągnięto określony limit transmisji danych."\n\n"Operator może pobierać opłaty za przesyłanie dodatkowych danych."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Osiągnięto określony limit wykorzystania transmisji danych."\n\n"Jeśli ponownie włączysz przesyłanie danych, operator może naliczyć opłaty."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Włącz transmisję danych"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Brak internetu"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi: połączono"</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index 0f0258254d05..4da486c7d195 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Sem notificações"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Em curso"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificações"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Ligue o carregador"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Ligar carregador"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"A bateria está a ficar fraca."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> restante"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Carregamento USB não suportado. "\n"Utilize apenas o carregador fornecido."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Notificações"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth ligado"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Configurar métodos de entrada"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Configurar métodos introdução"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Utilizar teclado físico"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Permitir que a aplicação <xliff:g id="APPLICATION">%1$s</xliff:g> aceda ao dispositivo USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Permitir que a aplicação <xliff:g id="APPLICATION">%1$s</xliff:g> aceda ao acessório USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Permitir que a aplicação <xliff:g id="APPLICATION">%1$s</xliff:g> aceda ao dispositivo USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Permitir que a aplicação <xliff:g id="APPLICATION">%1$s</xliff:g> aceda ao acessório USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Abrir <xliff:g id="ACTIVITY">%1$s</xliff:g> quando este dispositivo USB estiver ligado?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Abrir <xliff:g id="ACTIVITY">%1$s</xliff:g> quando este acessório USB estiver ligado?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Nenhuma das aplicações instaladas funciona com este acessório USB. Saiba mais sobre este acessório em <xliff:g id="URL">%1$s</xliff:g>."</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Nenhuma das aplicações instaladas funciona com o acessório USB. Saiba mais acerca do acessório em <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Acessório USB"</string>
<string name="label_view" msgid="6304565553218192990">"Ver"</string>
<string name="always_use_device" msgid="1450287437017315906">"Utilizar por predefinição para este aparelho USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Utilizar por predefinição para este acessório USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoom para preencher o ecrã"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Esticar p. caber em ec. int."</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Compatibilidade de zoom"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Zoom de compatibilidade"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Sempre que uma aplicação tiver sido concebida para ecrãs mais pequenos, aparecerá um controlo de zoom junto ao relógio."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"A guardar captura de ecrã..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"A guardar captura de ecrã..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Opções de transm. de fich. USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Montar como leitor de multimédia (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Montar como câmara (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Instalar a ap. Trans. de Fic. do Android para Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Inst. aplic. Transf. Ficheiros do Android para Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Anterior"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Página inicial"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Duas barras de dados."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Três barras de dados."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Sinal de dados completo."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Sem Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Uma barra de Wi-FI."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Duas barras de Wi-Fi."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Três barras de Wi-Fi."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Sinal Wi-Fi completo."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Sem Wi-Fi"</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Uma barra de Wi-Fi."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Duas barras de Wi-Fi."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Três barras de Wi-Fi."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Sinal de Wi-Fi completo."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Sem SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Ligação Bluetooth via telemóvel."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Modo de avião"</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Os dados 4G estão desativados"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Os dados móveis estão desativados"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Dados desativados"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"O limite de utilização de dados especificado foi atingido."\n\n"A utilização de dados adicionais poderá estar sujeita a tarifas por parte do operador."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Atingiu o limite de utilização de dados especificado."\n\n"Se voltar a ativar os dados, pode levar a uma cobrança por parte do operador."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Reativar dados"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Sem ligação internet"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi ligado"</string>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index d08ef4184902..7c71a9503a08 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Sem notificações"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Em andamento"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificações"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Conecte o carregador"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Conecte o carregador"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"A bateria está ficando baixa."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> restante"</string>
<string name="invalid_charger" msgid="4549105996740522523">"O carregamento via USB não é suportado."\n"Use apenas o carregador fornecido."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Notificações"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth vinculado"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Configurar métodos de entrada"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Configurar métodos de entrada"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Usar o teclado físico"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Permitir que o aplicativo <xliff:g id="APPLICATION">%1$s</xliff:g> acesse o dispositivo USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Permitir que o aplicativo <xliff:g id="APPLICATION">%1$s</xliff:g> acesse o acessório USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Permitir que o aplicativo <xliff:g id="APPLICATION">%1$s</xliff:g> acesse o dispositivo USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Permitir que o aplicativo <xliff:g id="APPLICATION">%1$s</xliff:g> acesse o acessório USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Abrir <xliff:g id="ACTIVITY">%1$s</xliff:g> quando este dispositivo USB estiver conectado?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Abrir <xliff:g id="ACTIVITY">%1$s</xliff:g> quando este acessório USB estiver conectado?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Nenhum apl. instalado funciona com o acess. USB. Saiba mais sobre o acessório em <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Nenhum apl. instalado funciona com o USB. Saiba mais sobre o acessório em <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Acessório USB"</string>
<string name="label_view" msgid="6304565553218192990">"Visualizar"</string>
<string name="always_use_device" msgid="1450287437017315906">"Usar por padrão para este dispositivo USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Usar por padrão para este acessório USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoom p/ preencher a tela"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Ampliar p/ preencher tela"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Zoom em modo de compatibilidade"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Zoom em modo de compatibilidade"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Quando um aplicativo é desenvolvido para uma tela menor, um controle de zoom é exibido perto do relógio."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Salvar captura de tela..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Salvar captura de tela..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Opções transf. arq. por USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Conectar como media player (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Montar como uma câmera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Instalar aplic. Android File Transfer para Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Instalar apl. de transf. arq. do Android para Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Voltar"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Página inicial"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Duas barras de sinal de dados."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Três barras do sinal de dados."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Sinal de dados cheio."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Sem Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Uma barra de sinal Wi-Fi."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Duas barras de sinal Wi-Fi."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Três barras de sinal Wi-Fi."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Sinal do Wi-Fi cheio."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Nenhum sinal Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Uma barra de Wi-Fi."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Duas barras de Wi-Fi."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Três barras de Wi-Fi."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"O sinal de Wi-Fi está cheio."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Sem SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Vínculo Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Modo de avião."</string>
@@ -128,7 +128,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Dados 4G desativados"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Dados móveis desativados"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Dados desativados"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"O limite de uso de dados especificado foi alcançado."\n\n"O uso de dados adicionais poderá gerar cobranças da operadora."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Você atingiu o limite de uso de dados especificados."\n\n"Se você reativá-los, poderá receber uma cobrança do operador."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Reativar dados"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Sem conexão à Internet"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi conectado"</string>
diff --git a/packages/SystemUI/res/values-rm/strings.xml b/packages/SystemUI/res/values-rm/strings.xml
index e1db314fce4b..4bd63b38ceb6 100644
--- a/packages/SystemUI/res/values-rm/strings.xml
+++ b/packages/SystemUI/res/values-rm/strings.xml
@@ -39,7 +39,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Nagins avis"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Actual"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Avis"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Connectar il chargiabattarias"</string>
+ <!-- outdated translation 7923774589611311406 --> <string name="battery_low_title" msgid="2783104807551211639">"Connectar il chargiabattarias"</string>
<!-- outdated translation 7388781709819722764 --> <string name="battery_low_subtitle" msgid="1752040062087829196">"L\'accu è prest vid."</string>
<!-- no translation found for battery_low_percent_format (1077244949318261761) -->
<skip />
@@ -62,19 +62,19 @@
<skip />
<!-- no translation found for bluetooth_tethered (7094101612161133267) -->
<skip />
- <!-- no translation found for status_bar_input_method_settings_configure_input_methods (737483394044014246) -->
+ <!-- no translation found for status_bar_input_method_settings_configure_input_methods (3504292471512317827) -->
<skip />
<!-- no translation found for status_bar_use_physical_keyboard (3695516942412442936) -->
<skip />
- <!-- no translation found for usb_device_permission_prompt (3816016361969816903) -->
+ <!-- no translation found for usb_device_permission_prompt (834698001271562057) -->
<skip />
- <!-- no translation found for usb_accessory_permission_prompt (6888598803988889959) -->
+ <!-- no translation found for usb_accessory_permission_prompt (5171775411178865750) -->
<skip />
<!-- no translation found for usb_device_confirm_prompt (5161205258635253206) -->
<skip />
<!-- no translation found for usb_accessory_confirm_prompt (3808984931830229888) -->
<skip />
- <!-- no translation found for usb_accessory_uri_prompt (6332150684964235705) -->
+ <!-- no translation found for usb_accessory_uri_prompt (513450621413733343) -->
<skip />
<!-- no translation found for title_usb_accessory (4966265263465181372) -->
<skip />
@@ -88,7 +88,7 @@
<skip />
<!-- no translation found for compat_mode_off (4434467572461327898) -->
<skip />
- <!-- no translation found for compat_mode_help_header (7020175705401506719) -->
+ <!-- no translation found for compat_mode_help_header (7969493989397529910) -->
<skip />
<!-- no translation found for compat_mode_help_body (4946726776359270040) -->
<skip />
@@ -112,7 +112,7 @@
<skip />
<!-- no translation found for use_ptp_button_title (7517127540301625751) -->
<skip />
- <!-- no translation found for installer_cd_button_title (8485631662288445893) -->
+ <!-- no translation found for installer_cd_button_title (2312667578562201583) -->
<skip />
<!-- no translation found for accessibility_back (567011538994429120) -->
<skip />
@@ -162,15 +162,15 @@
<skip />
<!-- no translation found for accessibility_data_signal_full (2708384608124519369) -->
<skip />
- <!-- no translation found for accessibility_no_wifi (4017628918351949575) -->
+ <!-- no translation found for accessibility_no_wifi (7455607460517331976) -->
<skip />
- <!-- no translation found for accessibility_wifi_one_bar (1914343229091303434) -->
+ <!-- no translation found for accessibility_wifi_one_bar (6854947280074467207) -->
<skip />
- <!-- no translation found for accessibility_wifi_two_bars (7869150535859760698) -->
+ <!-- no translation found for accessibility_wifi_two_bars (3344340012058984348) -->
<skip />
- <!-- no translation found for accessibility_wifi_three_bars (2665319332961356254) -->
+ <!-- no translation found for accessibility_wifi_three_bars (928322805193265041) -->
<skip />
- <!-- no translation found for accessibility_wifi_signal_full (1275764416228473932) -->
+ <!-- no translation found for accessibility_wifi_signal_full (4826278754383492058) -->
<skip />
<!-- no translation found for accessibility_data_connection_gprs (1606477224486747751) -->
<skip />
@@ -184,7 +184,7 @@
<skip />
<!-- no translation found for accessibility_data_connection_edge (4477457051631979278) -->
<skip />
- <!-- no translation found for accessibility_data_connection_wifi (1127208787254436420) -->
+ <!-- no translation found for accessibility_data_connection_wifi (2324496756590645221) -->
<skip />
<!-- no translation found for accessibility_no_sim (8274017118472455155) -->
<skip />
@@ -220,7 +220,7 @@
<skip />
<!-- no translation found for data_usage_disabled_dialog_title (2086815304858964954) -->
<skip />
- <!-- no translation found for data_usage_disabled_dialog (6524467913290900042) -->
+ <!-- no translation found for data_usage_disabled_dialog (3853117269051806280) -->
<skip />
<!-- no translation found for data_usage_disabled_dialog_enable (7729772039208664606) -->
<skip />
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 5c388d246a15..726c55abcfb2 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Nicio notificare"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"În desfăşurare"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notificări"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Conectaţi încărcătorul"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Conectaţi încărcătorul"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Bateria este descărcată."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"Rămas: <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Încărcarea USB nu este acceptată. "\n"Utilizaţi numai încărcătorul furnizat."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTOM."</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Notificări"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Conectat prin tethering prin Bluetooth"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Configuraţi metode de intrare"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Configuraţi metode de intrare"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Utilizaţi tastat. fizică"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Permiteţi aplicaţiei <xliff:g id="APPLICATION">%1$s</xliff:g> să acceseze dispozitivul USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Permiteţi aplicaţiei <xliff:g id="APPLICATION">%1$s</xliff:g> să acceseze accesoriul USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Permiteţi aplicaţiei <xliff:g id="APPLICATION">%1$s</xliff:g> să acceseze dispozitivul USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Permiteţi aplicaţiei <xliff:g id="APPLICATION">%1$s</xliff:g> să acceseze accesoriul USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Deschideţi <xliff:g id="ACTIVITY">%1$s</xliff:g> la conectarea acestui dispozitiv USB?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Deschideţi <xliff:g id="ACTIVITY">%1$s</xliff:g> la conectarea acestui accesoriu USB?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Aplic. instal. nu funcţ. cu acest acces. USB. Aflaţi despre acest acces. la <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Aplic. instal. nu funcţ. cu acest acces. USB. Aflaţi despre acest accesoriu la <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Accesoriu USB"</string>
<string name="label_view" msgid="6304565553218192990">"Afişaţi"</string>
<string name="always_use_device" msgid="1450287437017315906">"Utilizaţi în mod prestabilit pt. acest dispoz. USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Utiliz. în mod prestabilit pt. acest accesoriu USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoom pt. a umple ecranul"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Înt. pt. a umple ecranul"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Zoom de compatibilitate"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Zoom de compatibilitate"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Atunci când o aplicaţie a fost concepută pentru un ecran mai mic, o comandă pentru mărire/micşorare va apărea alături de ceas."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Se salv. captura de ecran..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Se salvează captura de ecran..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Opţiuni pentru transferul de fişiere prin USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Montaţi ca player media (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Montaţi drept cameră foto (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Instalaţi aplicaţia Transfer de fişiere Android pentru Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Instal. aplic. Transfer de fişiere Android pt. Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Înapoi"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Ecranul de pornire"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Meniu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Semnal pentru date: două bare."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Semnal pentru date: trei bare."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Semnal pentru date: complet."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Nu există semnal Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Semnal Wi-Fi: o bară."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Semnal Wi-Fi: două bare."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Semnal Wi-Fi: trei bare."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Semnal Wi-Fi: complet."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Nu există conexiune Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi o bară."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi două bare."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi trei bare."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi semnal complet."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Niciun card SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Conectarea ca modem prin Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Mod Avion."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Datele 4G au fost dezactivate"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Datele mobile au fost dezactivate"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Utilizare date dezactivată"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"A fost atinsă limita de utilizare a datelor specificată."\n\n"Utilizarea unor date suplimentare poate atrage costuri impuse de operator."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Aţi atins limita specificată pentru utilizarea datelor."\n\n"Dacă reactivaţi datele, puteţi fi taxat(ă) de către operator."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Reactivaţi datele"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Fără conex. internet"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi conectat"</string>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index d7c73c4fc470..12b32f7406b1 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Нет уведомлений"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Текущие"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Уведомления"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Подключите зарядное устройство"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Подключите зарядное устройство"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Батарея разряжена."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"Осталось: <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Зарядка через порт USB не поддерживается."\n"Используйте только зарядное устройство из комплекта поставки."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"АВТО"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Уведомления"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Общий модем доступен через Bluetooth"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Настроить способ ввода"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Настройка способов ввода"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Использовать физическую клавиатуру"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Разрешить приложению <xliff:g id="APPLICATION">%1$s</xliff:g> доступ к USB-устройству?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Разрешить приложению <xliff:g id="APPLICATION">%1$s</xliff:g> доступ к USB-аксессуару?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Открыть приложению \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" доступ к USB-устройству?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Открыть приложению \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" доступ к USB-устройству?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Запускать <xliff:g id="ACTIVITY">%1$s</xliff:g> при подключении этого USB-устройства?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Запускать <xliff:g id="ACTIVITY">%1$s</xliff:g> при подключении этого USB-аксессуара?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Установленные приложения не поддерживают этот USB-аксессуар. Подробнее о нем читайте здесь: <xliff:g id="URL">%1$s</xliff:g>."</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Приложения не поддерживают это USB-устройство. Подробнее о нем читайте здесь: <xliff:g id="URL">%1$s</xliff:g>."</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB-устройство"</string>
<string name="label_view" msgid="6304565553218192990">"Просмотр"</string>
<string name="always_use_device" msgid="1450287437017315906">"Использовать по умолчанию для этого USB-устройства"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Использовать по умолчанию для этого USB-аксессуара"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Подогнать по размерам экрана"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Растянуть на весь экран"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Масштаб и совместимость"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Масштаб и совместимость"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Если приложение рассчитано на экран меньших размеров, рядом с часами появятся средства масштабирования."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Сохранение..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Сохранение..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Параметры передачи через USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Подключить как мультимедийный проигрыватель (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Установить как камеру (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Установить Android File Transfer для Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Установить приложение"</string>
<string name="accessibility_back" msgid="567011538994429120">"Назад"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Главная страница"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Меню"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Сигнал передачи данных: два деления."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Сигнал передачи данных: три деления."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Надежный сигнал передачи данных."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Сигнал Wi-Fi отсутствует."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Wi-Fi: одно деление."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wi-Fi: два деления."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Wi-Fi: три деления."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Надежный сигнал Wi-Fi."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Отсутствует подключение к Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi: одно деление."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi: два деления."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi: три деления."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Надежный сигнал Wi-Fi."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIM-карта отсутствует."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Общий Bluetooth-модем."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Режим полета."</string>
@@ -123,12 +123,12 @@
<string name="accessibility_tty_enabled" msgid="4613200365379426561">"Телетайп включен."</string>
<string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Вибровызов."</string>
<string name="accessibility_ringer_silent" msgid="9061243307939135383">"Беззвучный режим."</string>
- <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"Приложение \"<xliff:g id="APP">%s</xliff:g>\" удалено из списка."</string>
+ <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"Приложение <xliff:g id="APP">%s</xliff:g> убрано."</string>
<string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"Передача данных по каналам 2G и 3G отключена"</string>
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Передача данных по каналу 4G отключена"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Мобильный Интернет отключен"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Передача данных отключена"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Достигнут лимит трафика."\n\n"За загрузку дополнительных данных оператор может взимать плату."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Достигнут лимит трафика."\n\n"При восстановлении подключения оператор может взимать плату за передачу данных."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Восстановить подключение"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Нет подключения к Интернету"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi подключено"</string>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index 559a98ad4956..0b418a3ce0ea 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Žiadne upozornenia"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Prebiehajúce"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Upozornenia"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Pripojte nabíjačku"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Pripojte nabíjačku"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Batéria je skoro vybitá."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"Zostáva: <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Nabíjanie pomocou rozhrania USB nie je podporované."\n"Používajte iba nabíjačku, ktorá bola dodaná spolu so zariadením."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Upozornenia"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Zdieľané dátové pripojenie cez Bluetooth"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Konfigurovať metódy vstupu"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Nastavenie metód vstupu"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Použiť fyzickú klávesnicu"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Povoliť aplikácii <xliff:g id="APPLICATION">%1$s</xliff:g> prístup k zariadeniu USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Povoliť aplikácii <xliff:g id="APPLICATION">%1$s</xliff:g> prístup k periférnemu zariadeniu USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Povoliť aplikácii <xliff:g id="APPLICATION">%1$s</xliff:g> prístup k zariadeniu USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Povoliť aplikácii <xliff:g id="APPLICATION">%1$s</xliff:g> prístup k periférnemu zariadeniu USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Chcete pri pripojení tohto zariadenia USB otvoriť aplikáciu <xliff:g id="ACTIVITY">%1$s</xliff:g>?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Chcete pri pripojení tohto periférneho zariadenia USB otvoriť aplikáciu <xliff:g id="ACTIVITY">%1$s</xliff:g>?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"S týmto periférnym zariad. USB nefunguje žiadna nainštalovaná aplikácia. Viac informácií nájdete na stránkach <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"S týmto zariad. USB nefunguje žiadna nainštal. aplikácia. Viac informácií na <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Periférne zariadenie USB"</string>
<string name="label_view" msgid="6304565553218192990">"Zobraziť"</string>
<string name="always_use_device" msgid="1450287437017315906">"Pre toto zariadenie USB použiť ako predvolené"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Pre toto periférne zar. USB použiť ako predvolené"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Priblížiť na celú obrazovku"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Na celú obrazovku"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Kompatibilné priblíženie"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Úprava veľkosti z dôvodu kompatibility"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Ak je aplikácia navrhnutá pre menšiu obrazovku, zobrazí sa vedľa hodín ovládací prvok priblíženia."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Prebieha ukladanie snímky obrazovky..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Prebieha ukladanie snímky obrazovky..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Možnosti prenosu súborov USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Pripojiť ako prehrávač médií (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Pripojiť ako fotoaparát (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Inštalovať aplikáciu Prenos súborov Android pre systém Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Inštal. aplikáciu Android File Transfer pre Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Späť"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Plocha"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Dve čiarky signálu dátovej siete."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Tri čiarky signálu dátovej siete."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Plný signál dátovej siete."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Žiadna sieť Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Jedna čiarka signálu siete Wi-Fi."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Dve čiarky signálu siete Wi-Fi."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Tri čiarky signálu siete Wi-Fi."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Plný signál siete Wi-Fi."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Žiadna sieť Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Jedna čiarka signálu Wi-Fi."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dve čiarky signálu Wi-Fi."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tri čiarky signálu Wi-Fi."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Plný signál Wi-Fi."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Žiadna karta SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Pripojenie cez Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Režim V lietadle."</string>
@@ -128,7 +128,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Dátové prenosy 4G sú zakázané"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobilné dátové prenosy sú zakázané"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Dáta boli zakázané"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Dosiahli ste zadané obmedzenie dátových prenosov."\n\n"Za ďalšie používanie dátových prenosov vám operátor môže účtovať poplatky."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Dosiahli ste stanovený limit využitia dát."\n\n"Ak dátové pripojenie znova povolíte, môže vám váš operátor účtovať poplatky."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Znova povoliť dátové prenosy"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Bez prip. na Internet"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi: pripojené"</string>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index da4d7ce9bc76..0ccc74fed11d 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Ni obvestil"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Trenutno"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Obvestila"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Priključite napajalnik"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Priključite polnilnik"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Baterija je skoraj prazna."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> preostalo"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Polnjenje po povezavi USB ni podprto."\n"Uporabite priloženi polnilnik."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"SAMOD."</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Obvestila"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Internetna povezava prek Bluetootha"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Nastavitev načinov vnosa"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Nastavi načine vnosa"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Uporabi fizično tipkovn."</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Želite programu <xliff:g id="APPLICATION">%1$s</xliff:g> omogočiti dostop do naprave USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Želite programu <xliff:g id="APPLICATION">%1$s</xliff:g> omogočiti dostop do dodatka USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Želite programu <xliff:g id="APPLICATION">%1$s</xliff:g> dovoliti dostop do naprave USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Želite dovoliti programu <xliff:g id="APPLICATION">%1$s</xliff:g> dostop do dodatka USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Želite, da se odpre <xliff:g id="ACTIVITY">%1$s</xliff:g>, ko priključite to napravo USB?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Želite, da se odpre <xliff:g id="ACTIVITY">%1$s</xliff:g>, ko priključite ta dodatek USB?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Noben nameščen program ne deluje s tem dodatkom USB. Več o tem dodatku: <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Namešč. prog. ne delujejo s tem dodatkom USB. Več o tem dodatku preberite na <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Dodatek USB"</string>
<string name="label_view" msgid="6304565553218192990">"Prikaži"</string>
<string name="always_use_device" msgid="1450287437017315906">"Privzeto uporabi za to napravo USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Privzeto uporabi za ta dodatek USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Povečava čez cel zaslon"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Raztegnitev čez zaslon"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Povečava združljivosti"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Razširitev združljivosti"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Če je program izdelan za manjše zaslone, se ob uri pokaže kontrolnik za povečavo."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Shranjev. posnetka zaslona ..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Shranjevanje posnetka zaslona ..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Možnosti prenosa datotek prek USB-ja"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Vpni kot predvajalnik (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Vpni kot fotoaparat (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Namestite program Android File Transfer za Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Namesti program Android File Transfer za Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Nazaj"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Začetni zaslon"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Meni"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Podatki z dvema črticama."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Podatki s tremi črticami."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Podatkovni signal poln."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Ni povezave Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"WiFi z eno črtico."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wi-Fi z dvema črticama."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"WiFi s tremi črticami."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Signal Wi-Fi poln."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Ni signala Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Ena vrstica signala Wi-Fi."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dve črtici signala Wi-Fi."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tri črtice signala Wi-Fi."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Poln signal Wi-Fi."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Ni kartice SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Internet prek Bluetootha."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Način za letalo."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Podatki 4G so onemogočeni"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobilni podatki so onemogočeni"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Podatki onemogočeni"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Dosežena je določena omejitev porabe podatkov."\n\n"Dodatno porabo podatkov vam lahko operater zaračuna."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Dosegli ste omejitev količine prenesenih podatkov."\n\n"Če prenos podatkov znova omogočite, vam ga lahko operater zaračuna."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Znova omogoči podatke"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Ni internetne povez."</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi povezan"</string>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index 46d57771079e..ca5ac428be6e 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Нема обавештења"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Текуће"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Обавештења"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Прикључите пуњач"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Прикључите пуњач"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Батерија ће се ускоро испразнити."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"преостало је <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Пуњење преко USB-а није подржано."\n"Користите само приложени пуњач."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"АУТОM."</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Обавештења"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Веза преко Bluetooth-а"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Конфигуриши методе уноса"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Подеси методе уноса"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Користи физичку тастатуру"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Желите ли да омогућите апликацији <xliff:g id="APPLICATION">%1$s</xliff:g> да приступи USB уређају?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Желите ли да омогућите апликацији <xliff:g id="APPLICATION">%1$s</xliff:g> да приступи USB додатку?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Желите ли да дозволите апликацији <xliff:g id="APPLICATION">%1$s</xliff:g> да приступа USB уређају?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Желите ли да дозволите апликацији <xliff:g id="APPLICATION">%1$s</xliff:g> да приступа USB помоћном уређају?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Желите ли да се отвори <xliff:g id="ACTIVITY">%1$s</xliff:g> када се прикључи овај USB уређај?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Желите ли да се отвори <xliff:g id="ACTIVITY">%1$s</xliff:g> када се прикључи овај USB додатак?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Ниједна инстал. апликација не функционише са овим USB додатком. Сазнајте више о додатку на <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Инсталиране апликације не функционишу са овим USB помоћним уређајем. Сазнајте више о њему на адреси <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB помоћни уређај"</string>
<string name="label_view" msgid="6304565553218192990">"Прикажи"</string>
<string name="always_use_device" msgid="1450287437017315906">"Користи подразумевано за овај USB уређај"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Користи подразумевано за овај USB додатак"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Зумирај на целом екрану"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Развуци на цео екран"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Компатибилно зумирање"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Компатибилно зумирање"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Када је апликација намењена мањем екрану, контрола зумирања приказује се поред сата."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Чување снимка екрана..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Чување снимка екрана..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Опције USB преноса датотека"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Прикључи као медија плејер (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Прикључи као камеру (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Инсталирај апликацију Android File Transfer за Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Инсталирај Android пребацивање датотека за Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Назад"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Почетна"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Мени"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Сигнал за податке од две црте."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Сигнал за податке од три црте."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Сигнал за податке је најјачи."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Нема WiFi сигнала."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"WiFi сигнал од једне црте."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"WiFi сигнал од две црте."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"WiFi сигнал од три црте."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"WiFi сигнал је најјачи."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Нема Wi-Fi сигнала."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi сигнал има једну црту."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi сигнал има две црте."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi сигнал има три црте."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi сигнал је најјачи."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Нема SIM картице."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth привезивање."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Режим рада у авиону."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G подаци су онемогућени"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Подаци мобилне мреже су онемогућени"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Подаци су онемогућени"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Достигнуто је наведено ограничење потрошње података."\n\n"Мобилни оператер може додатно да наплати даљу потрошњу података."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Достигли сте наведено ограничење за коришћење података."\n\n"Ако поново омогућите податке, мобилни оператер ће вам можда наплатити."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Поново омогући податке"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Нема интернет везе"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi је повезан"</string>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index a07389716d1c..525ee4688d74 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Inga aviseringar"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Pågående"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Meddelanden"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Anslut laddaren"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Anslut laddaren"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Batteriet håller på att ta slut."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> återstår"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Det går inte att ladda via USB."\n"Använd endast den laddare som levererades med telefonen."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Aviseringar"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Internetdelning via Bluetooth"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Konfigurera inmatningsmetoder"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Konfigurera inmatningsmetoder"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Använd fysiska tangenter"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Vill du tillåta att programmet <xliff:g id="APPLICATION">%1$s</xliff:g> använder USB-enheten?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Vill du tillåta att programmet <xliff:g id="APPLICATION">%1$s</xliff:g> använder USB-tillbehöret?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Vill du tillåta att appen <xliff:g id="APPLICATION">%1$s</xliff:g> använder USB-enheten?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Vill du tillåta att appen <xliff:g id="APPLICATION">%1$s</xliff:g> använder USB-tillbehöret?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Vill du öppna <xliff:g id="ACTIVITY">%1$s</xliff:g> när den här USB-enheten ansluts?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Vill du öppna <xliff:g id="ACTIVITY">%1$s</xliff:g> när det här USB-tillbehöret ansluts?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Inga program fungerar med det här USB-tillbehöret. Läs mer om det på <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Inga appar fungerar med det här USB-tillbehöret. Läs mer om det på <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB-tillbehör"</string>
<string name="label_view" msgid="6304565553218192990">"Visa"</string>
<string name="always_use_device" msgid="1450287437017315906">"Använd som standard för den här USB-enheten"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Använd som standard för det här USB-tillbehöret"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zooma för att fylla skärm"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Dra för att fylla skärmen"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Zoom i kompatibilitetsläge"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Zoom i kompatibilitetsläge"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"När en app är anpassad för en mindre skärm visas ett zoomreglage vid klockan."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Skärmdumpen sparas ..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Skärmdumpen sparas ..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Överföringsalternativ"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Montera som mediaspelare (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Montera som kamera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Installera Android-filöverföringsapp för Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Installera Androids filöverföring för Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Tillbaka"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Startsida"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Meny"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Data: två staplar."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Data: tre staplar."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Datasignalen är full."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Ingen Wi-Fi-signal."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Wi-Fi: en stapel."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Wi-Fi: två staplar."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Wi-Fi: tre staplar."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Wi-Fi-signalen är full."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Inget Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi: en stapel."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi: två staplar."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi: tre staplar."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi-signalen är full."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Wi-Fi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Inget SIM-kort."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Internetdelning via Bluetooth"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Flygplansläge"</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Data via 4G har inaktiverats"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobildata har inaktiverats"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Data har inaktiverats"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Den angivna gränsen för dataanvändning har nåtts."\n" "\n"Ytterligare dataanvändning kan medföra operatörsavgifter."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Du har nått den angivna gränsen för dataanvändning."\n\n"Om du aktiverar data på nytt kan du bli debiterad av operatören."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Återaktivera data"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Ingen anslutning"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi-ansluten"</string>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index a870752159ad..fbb0c5c2727b 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -32,7 +32,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Hakuna arifa"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Inaendelea"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Arifa"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Tafadhali unganisha chaja"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Unganisha chaja"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Betri inaisha."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> zimebakia"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Chaji ya USB haihamiliwi."\n" Tumia chaka iliyopeanwa."</string>
@@ -45,20 +45,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"KIOTOMATIKI"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Arifa"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth imefungwa"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Sanidi mbinu za uingizaji"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Weka mbinu za ingizo"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Tumia kibodi halisi"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Ruhusu programu <xliff:g id="APPLICATION">%1$s</xliff:g> ili kufikia kifaa cha USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Ruhusu programu <xliff:g id="APPLICATION">%1$s</xliff:g> ili kufikia kifuasi cha USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Ruhusu programu <xliff:g id="APPLICATION">%1$s</xliff:g> kufikia kifaa cha USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Ruhusu programu <xliff:g id="APPLICATION">%1$s</xliff:g> kufikia kifaa cha ziada cha USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Je, ungetaka kufungua <xliff:g id="ACTIVITY">%1$s</xliff:g>wakati kifaa cha USB kimeunganishwa?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Je, ungetaka kufungua <xliff:g id="ACTIVITY">%1$s</xliff:g>wakati kifaa cha USB kimeunganishwa?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Hakuna programu zilizosakiniwa zinazofanya kazi na kifaa hiki cha USB. Jifunze zaidi kuhsu kifaa hiki kwenye <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Hakuna programu zilizosakinishwa zinazofanya kazi na kifaa hiki cha USB. Jifunze zaidi kuhusu kifaa hiki kwenye <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Kifaa cha Usb"</string>
<string name="label_view" msgid="6304565553218192990">"Ona"</string>
<string name="always_use_device" msgid="1450287437017315906">"Kwa kifaa hiki cha USB tumia chaguo-msingi"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Tumia kama chaguo-msingi ya kifuasi hiki cha USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Kuza ili kujaza skrini"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Tanua ili kujaza skrini"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Kukuza kwa Utangamanifu"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Kukuza kwa Utangamanifu"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Wakati programu ilibuniwa kwa skrini ndogo, kidhibiti cha kukuza kitaonekana kwa saa."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Inahifadhi picha"</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Inahifadhi picha..."</string>
@@ -70,7 +70,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Machaguo ya uhamisho wa faili la USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Angika kama kichezeshi cha midia (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Angika kama kamera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Sakinisha programu ya Kuhamisha Faili ya Android ya Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Sakinisha programu ya Kuhamisha Faili ya Android ya Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Nyuma"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Nyumbani"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menyu"</string>
@@ -95,18 +95,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Miamba miwili ya data."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Fito tatu za habari."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Ishara ya data imejaa."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Hakuna Mtandao hewa"</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Mwambaa mmoja wa Mtandao hewa"</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Miambaa mbili ya Mtandao hewa"</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Miambaa tatu ya Mtandao hewa"</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Ishara ya Mtandao hewa imejaa"</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Hakuna Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Mwambaa mmoja wa Wi-Fi."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Miambaa miwili ya Wi-Fi."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi baa tatu."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Ishara kamili ya Wi-Fi."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Ukingo"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Hakuna SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Ufungaji wa Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Modi ya ndege."</string>
@@ -124,7 +124,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Data ya 4G imelemazwa"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Data ya kifaa cha mkononi imelemazwa"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Data imelemazwa"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Kikomo cha utumizi wa data kilichobainishwa kimefikiwa. "\n" "\n" Utumizi wa data ya ziada huenda ukagharimu gharama za mbembaji."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Umefika kikomo maalum cha matumizi ya data. "\n" "\n" ukiwezesha data, unaweza kudaiwa na mtoa huduma."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Wezesha upya data"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Hakuna muunganisho wa mtandao"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Mtandao-hewa umeunganishwa"</string>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index f017f9693708..38082b5b3e01 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"ไม่มีการแจ้งเตือน"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"ดำเนินอยู่"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"การแจ้งเตือน"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"โปรดเสียบอุปกรณ์ชาร์จ"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"เสียบที่ชาร์จ"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"แบตเตอรี่เหลือน้อย"</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"เหลืออีก <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"ไม่สนับสนุนการชาร์จแบบ USB"\n"ใช้เฉพาะที่ชาร์จที่ให้มาเท่านั้น"</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"อัตโนมัติ"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"การแจ้งเตือน"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"บลูทูธที่ปล่อยสัญญาณ"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"กำหนดค่าวิธีการป้อนข้อมูล"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"ตั้งค่าวิธีการป้อนข้อมูล"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"ใช้แป้นพิมพ์จริง"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"อนุญาตให้แอปพลิเคชัน <xliff:g id="APPLICATION">%1$s</xliff:g> เข้าถึงอุปกรณ์ USB นี้หรือไม่"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"อนุญาตให้แอปพลิเคชัน <xliff:g id="APPLICATION">%1$s</xliff:g> เข้าถึงอุปกรณ์เสริม USB นี้หรือไม่"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"อนุญาตให้แอปพลิเคชัน <xliff:g id="APPLICATION">%1$s</xliff:g> เข้าถึงอุปกรณ์ USB นี้หรือไม่"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"อนุญาตให้แอปพลิเคชัน <xliff:g id="APPLICATION">%1$s</xliff:g> เข้าถึงอุปกรณ์เสริม USB นี้หรือไม่"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"เปิด <xliff:g id="ACTIVITY">%1$s</xliff:g> เมื่อมีการเชื่อมต่ออุปกรณ์ USB นี้หรือไม่"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"เปิด <xliff:g id="ACTIVITY">%1$s</xliff:g> เมื่อมีการเชื่อมต่ออุปกรณ์เสริม USB นี้หรือไม่"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"แอปพลิเคชันที่ติดตั้งใช้กับอุปกรณ์ USB นี้ไม่ได้ เรียนรู้เพิ่มเติมที่ <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"แอปพลิเคชันที่ติดตั้งใช้กับอุปกรณ์ USB นี้ไม่ได้ เรียนรู้เพิ่มเติมเกี่ยวกับอุปกรณ์เสริมนี้ที่ <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"อุปกรณ์เสริม USB"</string>
<string name="label_view" msgid="6304565553218192990">"ดู"</string>
<string name="always_use_device" msgid="1450287437017315906">"ใช้ค่าเริ่มต้นสำหรับอุปกรณ์ USB นี้"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"ใช้ค่าเริ่มต้นสำหรับอุปกรณ์เสริม USB นี้"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"ขยายจนเต็มหน้าจอ"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"ยืดจนเต็มหน้าจอ"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"ความเข้ากันได้ของการย่อ/ขยาย"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"ความเข้ากันได้ของการย่อ/ขยาย"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"สำหรับแอปพลิเคชันที่ออกแบบมาสำหรับหน้าจอขนาดเล็ก ตัวควบคุมการย่อ/ขยายจะปรากฏขึ้นข้างนาฬิกา"</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"กำลังบันทึกภาพหน้าจอ..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"กำลังบันทึกภาพหน้าจอ..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"ตัวเลือกการถ่ายโอนไฟล์ USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"ต่อเชื่อมเป็นโปรแกรมเล่นสื่อ (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"ต่อเชื่อมเป็นกล้องถ่ายรูป (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"ติดตั้งแอปพลิเคชัน Android File Transfer ของ Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"ติดตั้งแอปพลิเคชัน Android File Transfer ของ Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"ย้อนกลับ"</string>
<string name="accessibility_home" msgid="8217216074895377641">"หน้าแรก"</string>
<string name="accessibility_menu" msgid="316839303324695949">"เมนู"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"สัญญาณข้อมูลสองขีด"</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"สัญญาณข้อมูลสามขีด"</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"สัญญาณข้อมูลเต็ม"</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"ไม่มี WiFi"</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"สัญญาณ WiFi หนึ่งขีด"</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"สัญญาณ WiFi สองขีด"</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"สัญญาณ WiFi สามขีด"</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"สัญญาณ WiFi เต็ม"</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"ไม่มีสัญญาณ WiFi"</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"สัญญาณ WiFi หนึ่งขีด"</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"สัญญาณ WiFi สองขีด"</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"สัญญาณ WiFi สามขีด"</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"สัญญาณ WiFi เต็ม"</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"WiFi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"ไม่มีซิมการ์ด"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"การปล่อยสัญญาณบลูทูธ"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"โหมดใช้งานบนเครื่องบิน"</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"ปิดใช้งานข้อมูล 4G แล้ว"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"ปิดใช้งานข้อมูลมือถือแล้ว"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"ข้อมูลถูกปิดใช้งาน"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"ถึงขีดจำกัดการใช้ข้อมูลที่ระบุแล้ว"\n\n"การใช้ข้อมูลเพิ่มเติมอาจมีค่าใช้จ่ายที่เรียกเก็บโดยผู้ให้บริการ"</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"คุณได้มาถึงขีดจำกัดการใช้ข้อมูลที่ระบุไว้แล้ว"\n\n"หากคุณเปิดใช้งานข้อมูลอีกครั้ง ผู้ให้บริการของคุณอาจเรียกเก็บค่าบริการ"</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"เปิดใช้งานข้อมูลอีกครั้ง"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"ไม่มีอินเทอร์เน็ต"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"เชื่อมต่อ Wi-Fi แล้ว"</string>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index 35cbcf2c23d1..2dd4f00b524d 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Walang mga notification"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Nagpapatuloy"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Mga Notification"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Pakikonekta ang charger"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Ikabit ang charger"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Humihina na ang baterya."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> natitira"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Hindi sinusuportahan ang pag-charge sa USB."\n"Gamitin lang ang ibinigay na charger."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Mga Notification"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Na-tether ang bluetooth"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"I-configure paraan ng input"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"I-set up paraan ng pag-input"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Gamitin ang pisikal na keyboard"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Payagan ang application <xliff:g id="APPLICATION">%1$s</xliff:g> na i-access ang USB device?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Payagan ang application <xliff:g id="APPLICATION">%1$s</xliff:g> na i-access ang USB accessory?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Payagan ang app na <xliff:g id="APPLICATION">%1$s</xliff:g> na i-access ang USB device?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Payagan ang app na <xliff:g id="APPLICATION">%1$s</xliff:g> na i-access ang USB accessory?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Buksan ang <xliff:g id="ACTIVITY">%1$s</xliff:g> kapag nakakonekta ang USB device na ito?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Buksan ang <xliff:g id="ACTIVITY">%1$s</xliff:g> kapag nakakonekta ang accessory na USB na ito?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Walang gumaganang mga naka-install na application sa USB accessory na ito <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Wala sa mga na-install na app ang gumagana sa USB accessory na ito. Matuto nang higit pa tungkol sa accessory na ito sa <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB accessory"</string>
<string name="label_view" msgid="6304565553218192990">"Tingnan"</string>
<string name="always_use_device" msgid="1450287437017315906">"Gamitin bilang default para sa USB device"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Gamitin bilang default sa USB accessory na ito"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"I-zoom upang punan screen"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"I-stretch upang mapuno screen"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Zoom sa Pagiging Tugma"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Zoom sa pagiging Tugma"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Kapag nakadisenyo ang isang app para sa mas maliit na screen, isang kontrol ng zoom ang lalabas sa may orasan."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Sine-save ang screenshot…"</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Sine-save ang screenshot…"</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Opsyon paglipat ng USB file"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"I-mount bilang isang media player (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"I-mount bilang camera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"I-install Android File Transfer para sa Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"I-install app na Android File Transfer para sa Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Bumalik"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Home"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Data na dalawang bar."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Data na tatlong bar."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Puno ang signal ng data."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Walang WiFi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"WiFi na isang bar."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"WiFi na dalawang bar."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"WiFi na tatlong bar."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Puno ang signal ng WiFi."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Walang Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Isang bar ang Wi-Fi."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Dalawang bar ang Wi-Fi."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Tatlong bar ang Wi-Fi."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Puno ang signal ng Wi-Fi."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Walang SIM."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Pag-tether ng Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Mode na eroplano."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Hindi pinapagana ang 4G na data"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Hindi pinapagana ang data ng mobile"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Hindi pinapagana ang data"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Naabot na ang tinukoy na limitasyon sa paggamit ng data."\n\n"Maaaring makaipon ng mga carrier na singilin ang karagdagang paggamit sa data."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Naabot mo na ang tinukoy na limitasyon ng paggamit ng data."\n\n"Kung muli mong papaganahin ang data, maaari kang masingil ng operator."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Muling paganahin ang data"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Walang koneksyon sa Internet"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"nakakonekta ang Wi-Fi"</string>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index df0c07286f89..487e3743916c 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Bildirim yok"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Sürüyor"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Bildirimler"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Lütfen şarj cihazını takın"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Şarj cihazını bağla"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Pil azalıyor."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> kaldı"</string>
<string name="invalid_charger" msgid="4549105996740522523">"USB üzerinden şarj desteklenmiyor."\n"Yalnızca ürünle birlikte verilen şarj cihazını kullanın."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"OTOMTK"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Bildirimler"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth paylaşımı tamam"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Giriş yöntemlerini yapılandır"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Giriş yöntemlerini ayarla"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Fiziksel klavyeyi kullan"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"<xliff:g id="APPLICATION">%1$s</xliff:g> uygulamasının bu USB cihazına erişmesine izin verilsin mi?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"<xliff:g id="APPLICATION">%1$s</xliff:g> uygulamasının bu USB aksesuarına erişmesine izin verilsin mi?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"<xliff:g id="APPLICATION">%1$s</xliff:g> uygulamasının USB cihazına erişmesine izin verilsin mi?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"<xliff:g id="APPLICATION">%1$s</xliff:g> uygulamasının USB aksesuarına erişmesine izin verilsin mi?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Bu USB cihaz bağlandığında <xliff:g id="ACTIVITY">%1$s</xliff:g> açılsın mı?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Bu USB aksesuarı bağlandığında <xliff:g id="ACTIVITY">%1$s</xliff:g> açılsın mı?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Hiçbir yüklü uyg bu USB aksesuarıyla çalışmıyor. Bu aksesuar hakknd daha fazla bilgi için: <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Bu USB aksesuarıyla çalışan yüklü uygulama yok. Bu aksesuar hakkında bilgi içn: <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB aksesuarı"</string>
<string name="label_view" msgid="6304565553218192990">"Görüntüle"</string>
<string name="always_use_device" msgid="1450287437017315906">"Bu USB cihazı için varsayılan olarak kullan"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Bu USB aksesuar için varsayılan olarak kullan"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Yakınlaştır (ekranı kaplasın)"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Genişlet (ekran kapansın)"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Uyumluluk Zum\'u"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Uyumluluk yakınlaştırması"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Uygulama küçük bir ekran için tasarlanmışsa saatin yanında bir yakınlaştırma denetimi görünür."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Ekran görüntüsü kaydediliyor..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Ekran görüntüsü kaydediliyor..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USB dosya aktarım seçenekleri"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Medya oynatıcı olarak ekle (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Kamera olarak ekle (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Mac için Android Dosya Aktarımı uygulamasını yükle"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Mac için Android File Transfer uygulamasını yükle"</string>
<string name="accessibility_back" msgid="567011538994429120">"Geri"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Ana sayfa"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Menü"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Veri sinyali iki çubuk."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Veri sinyali üç çubuk."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Veri sinyali tam."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Kablosuz sinyali yok"</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Kablosuz sinyali bir çubuk."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Kablosuz sinyali iki çubuk."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Kablosuz sinyali üç çubuk."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Kablosuz sinyali tam."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Kablosuz yok."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Kablosuz gücü tek çubukta."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Kablosuz sinyal gücü iki çubuk."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Kablosuz sinyal gücü üç çubuk."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Kablosuz sinyal gücü tam."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"Kablosuz"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Kablosuz"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"SIM kart yok."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth İnternet paylaşımı"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Uçak modu."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G verileri devre dışı"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobil veriler devre dışı"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Veriler devre dışı"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Belirtilen veri kullanım sınırına ulaşıldı."\n\n"Ek veri kullanımında operatör ücretleri alınabilir."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Belirtilen veri kullanım limitine ulaştınız."\n\n"Verileri yeniden etkinleştirirseniz, operatör sizden ücret talep edebilir."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Veriyi yeniden etkinleştir"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"İnternet bağlantısı yok"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Kablosuz bağlandı"</string>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index 88344ca1e784..02f9d5e71764 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Немає сповіщень"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Поточні"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Сповіщення"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Підключ. заряд. пристрій"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Підключіть зарядний пристрій"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Батарея виснажується."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"Залишилося <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Заряджання USB не підтримується."\n"Використовуйте лише наданий у комплекті зарядний пристрій."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"АВТОМ."</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Сповіщення"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Створено прив\'язку Bluetooth"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Налаштувати методи введення"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Налаштувати методи введення"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Викор. реальну клавіатуру"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Надати програмі <xliff:g id="APPLICATION">%1$s</xliff:g> доступ до пристрою USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Надати програмі <xliff:g id="APPLICATION">%1$s</xliff:g> доступ до аксесуара USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Надати програмі <xliff:g id="APPLICATION">%1$s</xliff:g> доступ до пристрою USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Надати програмі <xliff:g id="APPLICATION">%1$s</xliff:g> доступ до аксесуара USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Відкривати \"<xliff:g id="ACTIVITY">%1$s</xliff:g>\", коли під’єднано пристрій USB?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Відкривати \"<xliff:g id="ACTIVITY">%1$s</xliff:g>\", коли під’єднано аксесуар USB?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Установлені прогр. не працюють із цим аксесуаром USB. Більше про цей аксесуар: <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Установлені прогр. не працюють із цим аксесуаром USB. Більше про цей аксесуар: <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Пристрій USB"</string>
<string name="label_view" msgid="6304565553218192990">"Переглянути"</string>
<string name="always_use_device" msgid="1450287437017315906">"Використовувати за умовчанням для пристрою USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Використовувати за умовчанням для аксесуара USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Масштабув. на весь екран"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Розтягнути на весь екран"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Елемент керування масштабом для сумісності"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Масштабування для сумісності"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Якщо програму призначено для менших екранів, елемент керування масштабом буде відображатися біля годинника."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Збереження знімка екрана..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Збереження знімка екрана..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Парам.передав.файлів через USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Підключити як медіапрогравач (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Підключити як камеру (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Установити програму Android File Transfer для Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Установити програму Android File Transfer для Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Назад"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Головна"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Меню"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Дві смужки сигналу даних."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Три смужки сигналу даних."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Максимальний сигнал даних."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Немає сигналу Wi-Fi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Одна смужка сигналу WiFi."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Дві смужки сигналу WiFi."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Три смужки сигналу WiFi."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Максимальний сигнал Wi-Fi."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Відсутнє з’єднання з Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Одна смужка сигналу Wi-Fi."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Дві смужки сигналу Wi-Fi."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Три смужки сигналу Wi-Fi."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Максимальний сигнал Wi-Fi."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Немає SIM-карти."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Прив’язка Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Режим польоту."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Дані 4G вимкнено"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Мобільне передавання даних вимкнено"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Використання даних вимкнено"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Досягнуто вказаного ліміту використання даних."\n\n"Додаткове використання даних може призвести до стягування плати оператором."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Досягнуто вказаного ліміту використання даних."\n\n"Якщо ввімкнути використання даних знову, оператор може стягнути плату."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Повторно ввімкнути дані"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Немає з’єднання"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi під’єднано"</string>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index 02873b34ccd6..5b83b9c28005 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Không có thông báo nào"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Đang diễn ra"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Thông báo"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Vui lòng kết nối bộ sạc"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Cắm bộ sạc"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Pin đang yếu."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> còn lại"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Không hỗ trợ sạc qua USB."\n"Chỉ sử dụng bộ sạc được cung cấp."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"TỰ ĐỘNG"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Thông báo"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Bluetooth được dùng làm điểm truy cập Internet"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Định cấu hình phương thức nhập liệu"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Thiết lập phương thức nhập"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Sử dụng bàn phím vật lý"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Cho phép ứng dụng <xliff:g id="APPLICATION">%1$s</xliff:g> truy cập thiết bị USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Cho phép ứng dụng <xliff:g id="APPLICATION">%1$s</xliff:g> truy cập phụ kiện USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Cho phép ứng dụng <xliff:g id="APPLICATION">%1$s</xliff:g> truy cập thiết bị USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Cho phép ứng dụng <xliff:g id="APPLICATION">%1$s</xliff:g> truy cập phụ kiện USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Mở <xliff:g id="ACTIVITY">%1$s</xliff:g> khi thiết bị USB này được kết nối?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Mở <xliff:g id="ACTIVITY">%1$s</xliff:g> khi phụ kiện USB này được kết nối?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Không có ứng dụng được cài đặt nào hoạt động với phụ kiện USB này. Tìm hiểu thêm về phụ kiện này tại <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Không có ứng dụng được cài đặt nào hoạt động với phụ kiện USB này. Tìm hiểu thêm về phụ kiện này tại <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Phụ kiện USB"</string>
<string name="label_view" msgid="6304565553218192990">"Xem"</string>
<string name="always_use_device" msgid="1450287437017315906">"Sử dụng theo mặc định cho thiết bị USB này"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Sử dụng theo mặc định cho phụ kiện USB này"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"T.phóng để lấp đầy m.hình"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Giãn ra để lấp đầy m.hình"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Thu phóng tương thích"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Thu phóng tương thích"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Khi ứng dụng được thiết kế cho một màn hình nhỏ hơn, điều khiển thu phóng sẽ xuất hiện bên cạnh đồng hồ."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Đang lưu ảnh chụp màn hình..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Đang lưu ảnh chụp màn hình..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Tùy chọn truyền tệp USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Gắn như một trình phát đa phương tiện (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Gắn như một máy ảnh (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Cài đặt ứng dụng Truyền tệp của Android dành cho Mac"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Cài đặt ư.d Truyền tệp của Android dành cho Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Quay lại"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Trang chủ"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Trình đơn"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Tín hiệu dữ liệu hai vạch."</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Tín hiệu dữ liệu ba vạch."</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Tín hiệu dữ liệu đầy đủ."</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Không có WiFi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Tín hiệu WiFi một vạch."</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"Tín hiệu WiFi hai vạch."</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"Tín hiệu WiFi ba vạch."</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"Tín hiệu WiFi đầy đủ."</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Không có Wi-Fi."</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi một vạch."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi hai vạch."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi ba vạch."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Tín hiệu Wi-Fi đã đầy."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Cạnh"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Không có SIM nào."</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Dùng làm điểm truy cập Internet qua Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Chế độ trên máy bay."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Đã tắt dữ liệu 4G"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Dữ liệu di động bị vô hiệu hóa"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Dữ liệu đã bị vô hiệu hóa"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Đã đạt tới giới hạn sử dụng dữ liệu được chỉ định."\n\n"Nhà cung cấp có thể tính phí cho việc sử dụng thêm dữ liệu."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Bạn đã đạt đến giới hạn sử dụng dữ liệu chỉ định."\n\n"Nếu bạn bật lại dữ liệu, bạn có thể bị nhà cung cấp tính phí."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Bật lại dữ liệu"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Ko có k.nối Internet"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Đã kết nối Wi-Fi"</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index ff5a58ac822f..64adf0df6894 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"无通知"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"正在进行的"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"通知"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"请连接充电器"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"请连接充电器"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"电池电量低。"</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"还剩 <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"不支持 USB 充电功能。"\n"只能使用随附的充电器充电。"</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"自动"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"通知"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"已通过蓝牙共享网络"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"配置输入法"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"设置输入法"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"使用物理键盘"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"允许应用程序<xliff:g id="APPLICATION">%1$s</xliff:g>访问 USB 设备吗?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"允许应用程序<xliff:g id="APPLICATION">%1$s</xliff:g>访问 USB 配件吗?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"允许应用程序“<xliff:g id="APPLICATION">%1$s</xliff:g>”访问该 USB 设备吗?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"允许应用程序“<xliff:g id="APPLICATION">%1$s</xliff:g>”访问该 USB 配件吗?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"要在连接此 USB 设备时打开<xliff:g id="ACTIVITY">%1$s</xliff:g>吗?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"要在连接此 USB 配件时打开<xliff:g id="ACTIVITY">%1$s</xliff:g>吗?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"未安装此 USB 配件适用的应用程序。要了解关于此配件的详情,请访问:<xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"未安装此 USB 配件适用的应用程序。要了解此配件的详情,请访问:<xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB 配件"</string>
<string name="label_view" msgid="6304565553218192990">"查看"</string>
<string name="always_use_device" msgid="1450287437017315906">"默认情况下用于该 USB 设备"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"默认情况下用于该 USB 配件"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"缩放以填满屏幕"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"拉伸以填满屏幕"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"兼容性缩放"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"兼容性缩放"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"如果应用程序是针对较小屏幕设计的,则时钟旁会显示缩放控件。"</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"正在保存屏幕截图..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"正在保存屏幕截图..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USB 文件传输选项"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"作为媒体播放器 (MTP) 装载"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"作为摄像头 (PTP) 装载"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"安装适用于苹果机的“Android 文件传输”应用程序"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"安装适用于苹果机的“Android 文件传输”应用程序"</string>
<string name="accessibility_back" msgid="567011538994429120">"返回"</string>
<string name="accessibility_home" msgid="8217216074895377641">"主屏幕"</string>
<string name="accessibility_menu" msgid="316839303324695949">"菜单"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"数据信号强度为两格。"</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"数据信号强度为三格。"</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"数据信号满格。"</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"没有 WiFi 信号。"</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"WiFi 信号强度为一格。"</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"WiFi 信号强度为两格。"</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"WiFi 信号强度为三格。"</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"WiFi 信号满格。"</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"没有 Wi-Fi 信号。"</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi 信号强度为 1 格。"</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi 信号强度为 2 格。"</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi 信号强度为 3 格。"</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi 信号强度为满格。"</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"EDGE"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"无 SIM 卡。"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"蓝牙共享网络。"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"飞行模式。"</string>
@@ -128,7 +128,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G 数据网络已停用"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"移动数据已停用"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"数据已停用"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"已达到指定的数据流量上限。"\n\n"如果使用额外的数据流量,运营商可能会收取相应的费用。"</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"您已达到指定的数据流量上限。"\n\n"如果您重新启用数据,运营商可能会收取相应的费用。"</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"重新启用数据连接"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"未连接互联网"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi 已连接"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index 710aac869484..fa05e5f7552b 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"沒有通知"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"進行中"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"通知"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"請連接充電器"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"連接充電器"</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"電池電量即將不足。"</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"還剩 <xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"不支援 USB 充電。"\n"僅能使用隨附的充電器。"</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"自動"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"通知"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"藍牙網路共用已開"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"設定輸入法"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"設定輸入法"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"使用實體鍵盤"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"允許 <xliff:g id="APPLICATION">%1$s</xliff:g> 應用程式存取 USB 裝置嗎?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"允許 <xliff:g id="APPLICATION">%1$s</xliff:g> 應用程式存取 USB 配件嗎?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"允許 <xliff:g id="APPLICATION">%1$s</xliff:g> 應用程式存取 USB 裝置嗎?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"允許 <xliff:g id="APPLICATION">%1$s</xliff:g> 應用程式存取 USB 配件嗎?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"連接這個 USB 裝置時啟用 <xliff:g id="ACTIVITY">%1$s</xliff:g> 嗎?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"連接這個 USB 配件時啟用 <xliff:g id="ACTIVITY">%1$s</xliff:g> 嗎?"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"已安裝的應用程式均無法存取這類 USB 配件,如要進一步瞭解這個配件,請造訪 <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"已安裝的應用程式均無法存取這個 USB 配件,如要進一步瞭解這個配件,請造訪 <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB 配件"</string>
<string name="label_view" msgid="6304565553218192990">"查看"</string>
<string name="always_use_device" msgid="1450287437017315906">"預設用於這個 USB 裝置"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"預設用於這個 USB 配件"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"放大為全螢幕"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"放大為全螢幕"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"相容性縮放"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"相容性縮放"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"執行專為較小螢幕設計的應用程式時,系統會在時鐘旁顯示縮放控制項。"</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"正在儲存螢幕擷取畫面..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"正在儲存螢幕擷取畫面..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"USB 檔案傳輸選項"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"掛接為媒體播放器 (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"掛接為相機 (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"安裝適用於 Mac 的「Android 檔案傳輸」"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"安裝 Mac 版 Android 檔案傳輸應用程式"</string>
<string name="accessibility_back" msgid="567011538994429120">"返回"</string>
<string name="accessibility_home" msgid="8217216074895377641">"主螢幕"</string>
<string name="accessibility_menu" msgid="316839303324695949">"選單"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"數據網路訊號強度兩格。"</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"數據網路訊號強度三格。"</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"數據網路訊號滿格。"</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"沒有 WiFi 連線。"</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"WiFi 訊號強度一格。"</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"WiFi 訊號強度兩格。"</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"WiFi 訊號強度三格。"</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"WiFi 訊號滿格。"</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"未偵測到 Wi-Fi 訊號。"</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"Wi-Fi 訊號一格。"</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"Wi-Fi 訊號兩格。"</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"Wi-Fi 訊號三格。"</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Wi-Fi 訊號滿格。"</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Edge"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"沒有 SIM 卡。"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"藍牙網路共用"</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"飛行模式。"</string>
@@ -128,7 +128,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"已停用 4G 數據"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"已停用行動數據"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"數據已停用"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"已達到指定的資料用量上限。"\n\n"如果使用額外的資料用量,行動通訊業者可能會向您收費。"</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"您已達到指定的資料用量上限。"\n\n"如果您重新啟用數據傳輸,行動通訊業者可能會向您收費。"</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"重新啟用數據連線"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"沒有網際網路連線"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi 已連線"</string>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index f5618b382d73..558c8334a207 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -34,7 +34,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Azikho izaziso"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Okuqhubekayo"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Izaziso"</string>
- <string name="battery_low_title" msgid="7923774589611311406">"Sicela uxhume ishaja"</string>
+ <string name="battery_low_title" msgid="2783104807551211639">"Xhuma ishaja."</string>
<string name="battery_low_subtitle" msgid="1752040062087829196">"Ibhetri iya ngokuphela."</string>
<string name="battery_low_percent_format" msgid="1077244949318261761">"okusele okungu-<xliff:g id="NUMBER">%d%%</xliff:g>"</string>
<string name="invalid_charger" msgid="4549105996740522523">"Ukushaja i-USB akusekelwe."\n"Sebenzisa kuphela ishaja enikeziwe."</string>
@@ -47,20 +47,20 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"OKUZENZAKALELAYO"</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Izaziso"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Ukusebenzisa i-Bluetooth njengemodemu"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="737483394044014246">"Misa izindlela zokufakwayo"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Izilungiselelo zezindlela zokufakwayo"</string>
<string name="status_bar_use_physical_keyboard" msgid="3695516942412442936">"Sebenzisa ikhibhodi ebangekayo"</string>
- <string name="usb_device_permission_prompt" msgid="3816016361969816903">"Vumela uhlelo lokusebenza <xliff:g id="APPLICATION">%1$s</xliff:g> lufinyelele idivayisi ye-USB?"</string>
- <string name="usb_accessory_permission_prompt" msgid="6888598803988889959">"Vumela uhlelo lokusebenza <xliff:g id="APPLICATION">%1$s</xliff:g> ukuze ufinyelele kwizinto eziphuma ne-USB?"</string>
+ <string name="usb_device_permission_prompt" msgid="834698001271562057">"Vumela insiza <xliff:g id="APPLICATION">%1$s</xliff:g> ukuthi ufinyelele ezintweni eziphuma ne-USB?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Vumela insiza <xliff:g id="APPLICATION">%1$s</xliff:g> ukuthi ufinyelele ezintweni eziphuma ne-USB?"</string>
<string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Vula <xliff:g id="ACTIVITY">%1$s</xliff:g> uma ledivayisi ye-USB ixhunyiwe?"</string>
<string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Vula <xliff:g id="ACTIVITY">%1$s</xliff:g> uma le-accessory ye-USB ixhunyiwe"</string>
- <string name="usb_accessory_uri_prompt" msgid="6332150684964235705">"Azikho izinhlelo zokusebenza zisebenze ngento ze-USB. Funda okwengeziwe ngalento<xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Azikho izinsiza ezisebenze ngezinto ze-USB. Funda okwengeziwe ngalento kwi <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"ama-accessory e-USB"</string>
<string name="label_view" msgid="6304565553218192990">"Buka"</string>
<string name="always_use_device" msgid="1450287437017315906">"Sebenzisa ngokuzenzakalelayo yale divayisi ye-USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Sebenzisa ngokuzenzakalelayo kule-accessory ye-USB"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Sondeza ukugcwalisa isikrini"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Nweba ukugcwalisa isikrini"</string>
- <string name="compat_mode_help_header" msgid="7020175705401506719">"Ukuhambelana Kokusondeza"</string>
+ <string name="compat_mode_help_header" msgid="7969493989397529910">"Ukuhambelana Kokusondeza"</string>
<string name="compat_mode_help_body" msgid="4946726776359270040">"Uma uhlelo lokusebenza lwenzelwe isikrini ezincane, isilawuli sokusondeza sizovela ngakuyiwashi."</string>
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Ilondoloz umfanekiso weskrini..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Ilondoloz umfanekiso weskrini..."</string>
@@ -72,7 +72,7 @@
<string name="usb_preference_title" msgid="6551050377388882787">"Okukhethwa kokudluliswa kwefayela ye-USB"</string>
<string name="use_mtp_button_title" msgid="4333504413563023626">"Lengisa njengesidlali semediya (MTP)"</string>
<string name="use_ptp_button_title" msgid="7517127540301625751">"Lengisa ikhamera (PTP)"</string>
- <string name="installer_cd_button_title" msgid="8485631662288445893">"Faka uhlelo lokusebenza Lokudluliswa Kwefayela ye-Android Ohlelweni lokhompyutha"</string>
+ <string name="installer_cd_button_title" msgid="2312667578562201583">"Faka insiza yokudluliswa Kwefayela ye-Android kwi-Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Emuva"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Ekhaya"</string>
<string name="accessibility_menu" msgid="316839303324695949">"Imenyu"</string>
@@ -97,18 +97,18 @@
<string name="accessibility_data_two_bars" msgid="6166018492360432091">"Amabha amabili edatha"</string>
<string name="accessibility_data_three_bars" msgid="9167670452395038520">"Amabha amathathu edatha"</string>
<string name="accessibility_data_signal_full" msgid="2708384608124519369">"Igcwele i-signal yedatha"</string>
- <string name="accessibility_no_wifi" msgid="4017628918351949575">"Ayikho i-WiFi."</string>
- <string name="accessibility_wifi_one_bar" msgid="1914343229091303434">"Ibha eyodwa ye-WiFi"</string>
- <string name="accessibility_wifi_two_bars" msgid="7869150535859760698">"ama-bar amabili e-WiFi"</string>
- <string name="accessibility_wifi_three_bars" msgid="2665319332961356254">"amabha amathathu e-WiFi"</string>
- <string name="accessibility_wifi_signal_full" msgid="1275764416228473932">"i-signal ye-WiFi igcwele"</string>
+ <string name="accessibility_no_wifi" msgid="7455607460517331976">"Alukho uxhumano lwe-Wi-Fi"</string>
+ <string name="accessibility_wifi_one_bar" msgid="6854947280074467207">"I-Wi-Fi umugqaa owodwa."</string>
+ <string name="accessibility_wifi_two_bars" msgid="3344340012058984348">"I-Wi-Fi imigqaa emibili."</string>
+ <string name="accessibility_wifi_three_bars" msgid="928322805193265041">"I-Wi-Fi imigqaa emithathu."</string>
+ <string name="accessibility_wifi_signal_full" msgid="4826278754383492058">"Uphawu lwe-Wi-Fi igcwele."</string>
<string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string>
<string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
<string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
<string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
<string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
<string name="accessibility_data_connection_edge" msgid="4477457051631979278">"Ekucupheleni"</string>
- <string name="accessibility_data_connection_wifi" msgid="1127208787254436420">"WiFi"</string>
+ <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"I-Wi-Fi"</string>
<string name="accessibility_no_sim" msgid="8274017118472455155">"Ayikho i-SIM"</string>
<string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Ukusebenzisa i-Bluetooth."</string>
<string name="accessibility_airplane_mode" msgid="834748999790763092">"Imodi yendiza."</string>
@@ -126,7 +126,7 @@
<string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"Idatha ye-4G ivimbelwe"</string>
<string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Idatha yefoni ivimbelwe"</string>
<string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Idatha ivimbelwe"</string>
- <string name="data_usage_disabled_dialog" msgid="6524467913290900042">"Umkhawulo wokusebenzisa idatha ocacisiwe ufinyelelwe."\n\n"Ukusebenzisa idatha okwengeziwe kungabanga izindlezo zokuthwala."</string>
+ <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Usufike emkhawulweni wokusebenzisa i-ata. "\n\n"Uma uqla kabusha ukusebenza kwe-ata, kungenzek umhlinzeki akukhokhise."</string>
<string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Vumela futhi idatha"</string>
<string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Alukho uxhumano lwe-Inthanethi"</string>
<string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"I-Wi-Fi ixhunyiwe"</string>
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index 4ac89b2fac29..1fe4ebbb4102 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -43,5 +43,11 @@
<!-- How many icons may be shown at once in the system bar. Includes any
slots that may be reused for things like IME control. -->
<integer name="config_maxNotificationIcons">5</integer>
+
+ <!-- Show phone (voice) signal strength instead of data in mobile RSSI. -->
+ <bool name="config_showPhoneRSSIForData">false</bool>
+
+ <!-- When true, show 1/2G networks as 3G. -->
+ <bool name="config_showMin3G">false</bool>
</resources>
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index b26709d3ad3b..8108a90194a0 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -70,7 +70,7 @@
<string name="status_bar_latest_events_title">Notifications</string>
<!-- When the battery is low, this is displayed to the user in a dialog. The title of the low battery alert. [CHAR LIMIT=NONE]-->
- <string name="battery_low_title">Please connect charger</string>
+ <string name="battery_low_title">Connect charger</string>
<!-- When the battery is low, this is displayed to the user in a dialog. The subtitle of the low battery alert. [CHAR LIMIT=NONE] -->
<string name="battery_low_subtitle">The battery is getting low.</string>
@@ -122,16 +122,16 @@
<!-- Network connection string for Bluetooth Reverse Tethering -->
<string name="bluetooth_tethered">Bluetooth tethered</string>
<!-- Title of a button to open the settings for input methods [CHAR LIMIT=30] -->
- <string name="status_bar_input_method_settings_configure_input_methods">Configure input methods</string>
+ <string name="status_bar_input_method_settings_configure_input_methods">Set up input methods</string>
<!-- Label of a toggle switch to disable use of the physical keyboard in favor of the IME. [CHAR LIMIT=25] -->
<string name="status_bar_use_physical_keyboard">Use physical keyboard</string>
<!-- Prompt for the USB device permission dialog [CHAR LIMIT=80] -->
- <string name="usb_device_permission_prompt">Allow the application <xliff:g id="application">%1$s</xliff:g> to access the USB device?</string>
+ <string name="usb_device_permission_prompt">Allow the app <xliff:g id="application">%1$s</xliff:g> to access the USB device?</string>
<!-- Prompt for the USB accessory permission dialog [CHAR LIMIT=80] -->
- <string name="usb_accessory_permission_prompt">Allow the application <xliff:g id="application">%1$s</xliff:g> to access the USB accessory?</string>
+ <string name="usb_accessory_permission_prompt">Allow the app <xliff:g id="application">%1$s</xliff:g> to access the USB accessory?</string>
<!-- Prompt for the USB device confirm dialog [CHAR LIMIT=80] -->
<string name="usb_device_confirm_prompt">Open <xliff:g id="activity">%1$s</xliff:g> when this USB device is connected?</string>
@@ -140,7 +140,7 @@
<string name="usb_accessory_confirm_prompt">Open <xliff:g id="activity">%1$s</xliff:g> when this USB accessory is connected?</string>
<!-- Prompt for the USB accessory URI dialog [CHAR LIMIT=80] -->
- <string name="usb_accessory_uri_prompt">No installed applications work with this USB accessory. Learn more about this accessory at <xliff:g id="url">%1$s</xliff:g></string>
+ <string name="usb_accessory_uri_prompt">No installed apps work with this USB accessory. Learn more about this accessory at <xliff:g id="url">%1$s</xliff:g></string>
<!-- Title for USB accessory dialog. Used when the name of the accessory cannot be determined. [CHAR LIMIT=50] -->
<string name="title_usb_accessory">USB accessory</string>
@@ -163,7 +163,7 @@
<string name="compat_mode_off">Stretch to fill screen</string>
<!-- Compatibility mode help screen: header text. [CHAR LIMIT=50] -->
- <string name="compat_mode_help_header">Compatibility Zoom</string>
+ <string name="compat_mode_help_header">Compatibility zoom</string>
<!-- Compatibility mode help screen: body text. [CHAR LIMIT=150] -->
<string name="compat_mode_help_body">When an app was designed for a smaller screen, a zoom control will appear by the clock.</string>
@@ -190,7 +190,7 @@
<!-- Label for the PTP USB function in UsbPreferenceActivity. [CHAR LIMIT=50] -->
<string name="use_ptp_button_title">Mount as a camera (PTP)</string>
<!-- Label for the installer CD image option in UsbPreferenceActivity. [CHAR LIMIT=50] -->
- <string name="installer_cd_button_title">Install Android File Transfer application for Mac</string>
+ <string name="installer_cd_button_title">Install Android File Transfer app for Mac</string>
<!-- Content description of the back button for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
<string name="accessibility_back">Back</string>
@@ -248,15 +248,15 @@
<string name="accessibility_data_signal_full">Data signal full.</string>
<!-- Content description of the WIFI signal when no signal for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
- <string name="accessibility_no_wifi">No WiFi.</string>
+ <string name="accessibility_no_wifi">No Wi-Fi.</string>
<!-- Content description of the WIFI signal when it is one bar for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
- <string name="accessibility_wifi_one_bar">WiFi one bar.</string>
+ <string name="accessibility_wifi_one_bar">Wi-Fi one bar.</string>
<!-- Content description of the WIFI signal when it is two bars for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
- <string name="accessibility_wifi_two_bars">WiFi two bars.</string>
+ <string name="accessibility_wifi_two_bars">Wi-Fi two bars.</string>
<!-- Content description of the WIFI signal when it is three bars for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
- <string name="accessibility_wifi_three_bars">WiFi three bars.</string>
+ <string name="accessibility_wifi_three_bars">Wi-Fi three bars.</string>
<!-- Content description of the WIFI signal when it is full for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
- <string name="accessibility_wifi_signal_full">WiFi signal full.</string>
+ <string name="accessibility_wifi_signal_full">Wi-Fi signal full.</string>
<!-- Content description of the data connection type GPRS for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
<string name="accessibility_data_connection_gprs">GPRS</string>
@@ -277,7 +277,7 @@
<string name="accessibility_data_connection_edge">Edge</string>
<!-- Content description of the data connection type WiFi for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
- <string name="accessibility_data_connection_wifi">WiFi</string>
+ <string name="accessibility_data_connection_wifi">Wi-Fi</string>
<!-- Content description of the data connection with no SIM for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
<string name="accessibility_no_sim">No SIM.</string>
@@ -327,7 +327,7 @@
<!-- Title of dialog shown when data usage has exceeded limit and has been disabled. [CHAR LIMIT=48] -->
<string name="data_usage_disabled_dialog_title">Data disabled</string>
<!-- Body of dialog shown when data usage has exceeded limit and has been disabled. [CHAR LIMIT=NONE] -->
- <string name="data_usage_disabled_dialog">The specified data usage limit has been reached.\n\nAdditional data use may incur carrier charges.</string>
+ <string name="data_usage_disabled_dialog">You\'ve reached the specified data usage limit.\n\nIf you re-enable data, you may be charged by the operator.</string>
<!-- Dialog button indicating that data connection should be re-enabled. [CHAR LIMIT=28] -->
<string name="data_usage_disabled_dialog_enable">Re-enable data</string>
diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
index bf1ec257856f..724679f38c11 100644
--- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
+++ b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
@@ -170,6 +170,8 @@ public class ImageWallpaper extends WallpaperService {
//registerReceiver(mReceiver, filter, null, mHandler);
updateSurfaceSize(surfaceHolder);
+
+ setOffsetNotificationsEnabled(false);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java b/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
index 343b33514ea3..6b8b65eab428 100644
--- a/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
@@ -75,6 +75,7 @@ public class RecentsPanelView extends RelativeLayout implements OnItemClickListe
private RecentTasksLoader mRecentTasksLoader;
private ArrayList<TaskDescription> mRecentTaskDescriptions;
+ private Runnable mPreloadTasksRunnable;
private boolean mRecentTasksDirty = true;
private TaskDescriptionAdapter mListAdapter;
private int mThumbnailWidth;
@@ -198,10 +199,16 @@ public class RecentsPanelView extends RelativeLayout implements OnItemClickListe
} else {
if (noApps) {
if (DEBUG) Log.v(TAG, "Nothing to show");
+ // Need to set recent tasks to dirty so that next time we load, we
+ // refresh the list of tasks
+ mRecentTasksLoader.cancelLoadingThumbnails();
+ mRecentTasksDirty = true;
return;
}
}
} else {
+ // Need to set recent tasks to dirty so that next time we load, we
+ // refresh the list of tasks
mRecentTasksLoader.cancelLoadingThumbnails();
mRecentTasksDirty = true;
}
@@ -361,6 +368,13 @@ public class RecentsPanelView extends RelativeLayout implements OnItemClickListe
if (mRecentsScrim != null && mRecentsScrim.getBackground() instanceof BitmapDrawable) {
((BitmapDrawable) mRecentsScrim.getBackground()).setTileModeY(TileMode.REPEAT);
}
+
+ mPreloadTasksRunnable = new Runnable() {
+ public void run() {
+ setVisibility(INVISIBLE);
+ refreshRecentTasksList();
+ }
+ };
}
private void createCustomAnimations(LayoutTransition transitioner) {
@@ -446,14 +460,18 @@ public class RecentsPanelView extends RelativeLayout implements OnItemClickListe
if (!mShowing) {
int action = ev.getAction() & MotionEvent.ACTION_MASK;
if (action == MotionEvent.ACTION_DOWN) {
- // If we set our visibility to INVISIBLE here, we avoid an extra call to onLayout
- // later when we become visible
- setVisibility(INVISIBLE);
- refreshRecentTasksList();
+ // If we set our visibility to INVISIBLE here, we avoid an extra call to
+ // onLayout later when we become visible (because onLayout is always called
+ // when going from GONE)
+ post(mPreloadTasksRunnable);
} else if (action == MotionEvent.ACTION_CANCEL) {
setVisibility(GONE);
clearRecentTasksList();
+ // Remove the preloader if we haven't called it yet
+ removeCallbacks(mPreloadTasksRunnable);
} else if (action == MotionEvent.ACTION_UP) {
+ // Remove the preloader if we haven't called it yet
+ removeCallbacks(mPreloadTasksRunnable);
if (!v.isPressed()) {
setVisibility(GONE);
clearRecentTasksList();
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
index 6549610fe682..c259c28031e2 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
@@ -462,16 +462,20 @@ class GlobalScreenshot {
anim.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
- mBackgroundView.setAlpha(0f);
+ mBackgroundView.setFastAlpha(0f);
mBackgroundView.setVisibility(View.VISIBLE);
- mScreenshotContainerView.setAlpha(0f);
- mScreenshotContainerView.setTranslationX(0f);
- mScreenshotContainerView.setTranslationY(0f);
- mScreenshotContainerView.setScaleX(SCREENSHOT_SCALE + mBgPaddingScale);
- mScreenshotContainerView.setScaleY(SCREENSHOT_SCALE + mBgPaddingScale);
+ mBackgroundView.fastInvalidate();
+ mScreenshotContainerView.setFastAlpha(0f);
+ mScreenshotContainerView.setFastTranslationX(0f);
+ mScreenshotContainerView.setFastTranslationY(0f);
+ mScreenshotContainerView.setFastScaleX(SCREENSHOT_SCALE + mBgPaddingScale);
+ mScreenshotContainerView.setFastScaleY(SCREENSHOT_SCALE + mBgPaddingScale);
mScreenshotContainerView.setVisibility(View.VISIBLE);
- mScreenshotFlash.setAlpha(0f);
+ mScreenshotContainerView.fastInvalidate();
+ mScreenshotFlash.setFastAlpha(0f);
mScreenshotFlash.setVisibility(View.VISIBLE);
+ mScreenshotFlash.fastInvalidate();
+ mScreenshotLayout.invalidate();
}
@Override
public void onAnimationEnd(android.animation.Animator animation) {
@@ -485,11 +489,15 @@ class GlobalScreenshot {
float scaleT = (SCREENSHOT_SCALE + mBgPaddingScale)
- (float) scaleInterpolator.getInterpolation(t)
* (SCREENSHOT_SCALE - SCREENSHOT_DROP_IN_MIN_SCALE);
- mBackgroundView.setAlpha(scaleInterpolator.getInterpolation(t) * BACKGROUND_ALPHA);
- mScreenshotContainerView.setAlpha(t);
- mScreenshotContainerView.setScaleX(scaleT);
- mScreenshotContainerView.setScaleY(scaleT);
- mScreenshotFlash.setAlpha(flashAlphaInterpolator.getInterpolation(t));
+ mBackgroundView.setFastAlpha(scaleInterpolator.getInterpolation(t) * BACKGROUND_ALPHA);
+ mBackgroundView.fastInvalidate();
+ mScreenshotContainerView.setFastAlpha(t);
+ mScreenshotContainerView.setFastScaleX(scaleT);
+ mScreenshotContainerView.setFastScaleY(scaleT);
+ mScreenshotContainerView.fastInvalidate();
+ mScreenshotFlash.setFastAlpha(flashAlphaInterpolator.getInterpolation(t));
+ mScreenshotFlash.fastInvalidate();
+ mScreenshotLayout.invalidate();
}
});
return anim;
@@ -517,10 +525,13 @@ class GlobalScreenshot {
float scaleT = (SCREENSHOT_DROP_IN_MIN_SCALE + mBgPaddingScale)
- (float) t * (SCREENSHOT_DROP_IN_MIN_SCALE
- SCREENSHOT_FAST_DROP_OUT_MIN_SCALE);
- mBackgroundView.setAlpha((1f - t) * BACKGROUND_ALPHA);
- mScreenshotContainerView.setAlpha(1f - t);
- mScreenshotContainerView.setScaleX(scaleT);
- mScreenshotContainerView.setScaleY(scaleT);
+ mBackgroundView.setFastAlpha((1f - t) * BACKGROUND_ALPHA);
+ mBackgroundView.fastInvalidate();
+ mScreenshotContainerView.setFastAlpha(1f - t);
+ mScreenshotContainerView.setFastScaleX(scaleT);
+ mScreenshotContainerView.setFastScaleY(scaleT);
+ mScreenshotContainerView.fastInvalidate();
+ mScreenshotLayout.invalidate();
}
});
} else {
@@ -555,12 +566,15 @@ class GlobalScreenshot {
float scaleT = (SCREENSHOT_DROP_IN_MIN_SCALE + mBgPaddingScale)
- (float) scaleInterpolator.getInterpolation(t)
* (SCREENSHOT_DROP_IN_MIN_SCALE - SCREENSHOT_DROP_OUT_MIN_SCALE);
- mBackgroundView.setAlpha((1f - t) * BACKGROUND_ALPHA);
- mScreenshotContainerView.setAlpha(1f - scaleInterpolator.getInterpolation(t));
- mScreenshotContainerView.setScaleX(scaleT);
- mScreenshotContainerView.setScaleY(scaleT);
- mScreenshotContainerView.setTranslationX(t * finalPos.x);
- mScreenshotContainerView.setTranslationY(t * finalPos.y);
+ mBackgroundView.setFastAlpha((1f - t) * BACKGROUND_ALPHA);
+ mBackgroundView.fastInvalidate();
+ mScreenshotContainerView.setFastAlpha(1f - scaleInterpolator.getInterpolation(t));
+ mScreenshotContainerView.setFastScaleX(scaleT);
+ mScreenshotContainerView.setFastScaleY(scaleT);
+ mScreenshotContainerView.setFastTranslationX(t * finalPos.x);
+ mScreenshotContainerView.setFastTranslationY(t * finalPos.y);
+ mScreenshotContainerView.fastInvalidate();
+ mScreenshotLayout.invalidate();
}
});
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 87e505bba084..c6a59d33eb0e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -252,7 +252,7 @@ public class PhoneStatusBar extends StatusBar {
mWindowManager = IWindowManager.Stub.asInterface(
ServiceManager.getService(Context.WINDOW_SERVICE));
- super.start();
+ super.start(); // calls makeStatusBarView()
addNavigationBar();
@@ -270,12 +270,7 @@ public class PhoneStatusBar extends StatusBar {
Resources res = context.getResources();
- mDisplay.getMetrics(mDisplayMetrics);
- if (DEBUG) {
- Slog.d(TAG, "makeStatusBarView: mDisplayMetrics=" + mDisplayMetrics);
- mDisplayMetrics = res.getDisplayMetrics();
- Slog.d(TAG, "makeStatusBarView: mDisplayMetrics2=" + mDisplayMetrics);
- }
+ updateDisplaySize(); // populates mDisplayMetrics
loadDimens();
mIconSize = res.getDimensionPixelSize(com.android.internal.R.dimen.status_bar_icon_size);
@@ -1793,6 +1788,11 @@ public class PhoneStatusBar extends StatusBar {
}
void onBarViewAttached() {
+ // The status bar has just been attached to the view hierarchy; it's possible that the
+ // screen has rotated in-between when we set up the window and now, so let's double-check
+ // the display metrics just in case.
+ updateDisplaySize();
+
WindowManager.LayoutParams lp;
int pixelFormat;
Drawable bg;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
index 9bee5dfca017..5f18b5dfe8ab 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
@@ -82,7 +82,7 @@ public class PhoneStatusBarPolicy {
private boolean mVolumeVisible;
// bluetooth device status
- private boolean mBluetoothEnabled;
+ private boolean mBluetoothEnabled = false;
// wifi
private static final int[][] sWifiSignalImages = {
@@ -139,6 +139,18 @@ public class PhoneStatusBarPolicy {
mContext = context;
mService = (StatusBarManager)context.getSystemService(Context.STATUS_BAR_SERVICE);
+ // listen for broadcasts
+ IntentFilter filter = new IntentFilter();
+ filter.addAction(Intent.ACTION_ALARM_CHANGED);
+ filter.addAction(Intent.ACTION_SYNC_STATE_CHANGED);
+ filter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION);
+ filter.addAction(AudioManager.VIBRATE_SETTING_CHANGED_ACTION);
+ filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
+ filter.addAction(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED);
+ filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
+ filter.addAction(TtyIntent.TTY_ENABLED_CHANGE_ACTION);
+ mContext.registerReceiver(mIntentReceiver, filter, null, mHandler);
+
// storage
mStorageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE);
mStorageManager.registerListener(
@@ -153,13 +165,15 @@ public class PhoneStatusBarPolicy {
mService.setIconVisibility("cdma_eri", false);
// bluetooth status
- mService.setIcon("bluetooth", R.drawable.stat_sys_data_bluetooth, 0, null);
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
+ int bluetoothIcon = R.drawable.stat_sys_data_bluetooth;
if (adapter != null) {
- mBluetoothEnabled = adapter.isEnabled();
- } else {
- mBluetoothEnabled = false;
+ mBluetoothEnabled = (adapter.getState() == BluetoothAdapter.STATE_ON);
+ if (adapter.getConnectionState() == BluetoothAdapter.STATE_CONNECTED) {
+ bluetoothIcon = R.drawable.stat_sys_data_bluetooth_connected;
+ }
}
+ mService.setIcon("bluetooth", bluetoothIcon, 0, null);
mService.setIconVisibility("bluetooth", mBluetoothEnabled);
// Alarm clock
@@ -176,19 +190,6 @@ public class PhoneStatusBarPolicy {
mService.setIcon("volume", R.drawable.stat_sys_ringer_silent, 0, null);
mService.setIconVisibility("volume", false);
updateVolume();
-
- IntentFilter filter = new IntentFilter();
-
- // Register for Intent broadcasts for...
- filter.addAction(Intent.ACTION_ALARM_CHANGED);
- filter.addAction(Intent.ACTION_SYNC_STATE_CHANGED);
- filter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION);
- filter.addAction(AudioManager.VIBRATE_SETTING_CHANGED_ACTION);
- filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
- filter.addAction(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED);
- filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
- filter.addAction(TtyIntent.TTY_ENABLED_CHANGE_ACTION);
- mContext.registerReceiver(mIntentReceiver, filter, null, mHandler);
}
private final void updateAlarm(Intent intent) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java
index c6f416f5ff8a..903a300ad39f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java
@@ -35,6 +35,7 @@ public class BluetoothController extends BroadcastReceiver {
private ArrayList<ImageView> mIconViews = new ArrayList<ImageView>();
private int mIconId = R.drawable.stat_sys_data_bluetooth;
+ private int mContentDescriptionId = 0;
private boolean mEnabled;
public BluetoothController(Context context) {
@@ -44,6 +45,11 @@ public class BluetoothController extends BroadcastReceiver {
filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
filter.addAction(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED);
context.registerReceiver(this, filter);
+
+ final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
+ handleAdapterStateChange(adapter.getState());
+ handleConnectionStateChange(adapter.getConnectionState());
+ refreshViews();
}
public void addIconView(ImageView v) {
@@ -52,24 +58,43 @@ public class BluetoothController extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
- int state = intent.getIntExtra(BluetoothAdapter.EXTRA_CONNECTION_STATE,
- BluetoothAdapter.STATE_DISCONNECTED);
- int contentDescriptionResId = 0;
+ final String action = intent.getAction();
+
+ if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
+ handleAdapterStateChange(
+ intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR));
+ } else if (action.equals(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED)) {
+ handleConnectionStateChange(
+ intent.getIntExtra(BluetoothAdapter.EXTRA_CONNECTION_STATE,
+ BluetoothAdapter.STATE_DISCONNECTED));
+ }
+ refreshViews();
+ }
- if (state == BluetoothAdapter.STATE_CONNECTED) {
+ public void handleAdapterStateChange(int adapterState) {
+ mEnabled = (adapterState == BluetoothAdapter.STATE_ON);
+ }
+
+ public void handleConnectionStateChange(int connectionState) {
+ final boolean connected = (connectionState == BluetoothAdapter.STATE_CONNECTED);
+ if (connected) {
mIconId = R.drawable.stat_sys_data_bluetooth_connected;
- contentDescriptionResId = R.string.accessibility_bluetooth_connected;
+ mContentDescriptionId = R.string.accessibility_bluetooth_connected;
} else {
mIconId = R.drawable.stat_sys_data_bluetooth;
- contentDescriptionResId = R.string.accessibility_bluetooth_disconnected;
+ mContentDescriptionId = R.string.accessibility_bluetooth_disconnected;
}
+ }
+ public void refreshViews() {
int N = mIconViews.size();
for (int i=0; i<N; i++) {
ImageView v = mIconViews.get(i);
v.setImageResource(mIconId);
v.setVisibility(mEnabled ? View.VISIBLE : View.GONE);
- v.setContentDescription(mContext.getString(contentDescriptionResId));
+ v.setContentDescription((mContentDescriptionId == 0)
+ ? null
+ : mContext.getString(mContentDescriptionId));
}
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
index 1d4b9ba5e7b6..a3058166903f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
@@ -85,6 +85,8 @@ public class NetworkController extends BroadcastReceiver {
boolean mDataActive;
int mMobileActivityIconId; // overlay arrows for data direction
int mLastSignalLevel;
+ boolean mShowPhoneRSSIForData = false;
+ boolean mShowAtLeastThreeGees = false;
String mContentDescriptionPhoneSignal;
String mContentDescriptionWifi;
@@ -151,11 +153,15 @@ public class NetworkController extends BroadcastReceiver {
*/
public NetworkController(Context context) {
mContext = context;
+ final Resources res = context.getResources();
ConnectivityManager cm = (ConnectivityManager)mContext.getSystemService(
Context.CONNECTIVITY_SERVICE);
mHasMobileDataFeature = cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE);
+ mShowPhoneRSSIForData = res.getBoolean(R.bool.config_showPhoneRSSIForData);
+ mShowAtLeastThreeGees = res.getBoolean(R.bool.config_showMin3G);
+
// set up the default wifi icon, used when no radios have ever appeared
updateWifiIcons();
@@ -240,7 +246,7 @@ public class NetworkController extends BroadcastReceiver {
mContentDescriptionWifi);
cluster.setMobileDataIndicators(
mHasMobileDataFeature,
- mPhoneSignalIconId,
+ mShowPhoneRSSIForData ? mPhoneSignalIconId : mDataSignalIconId,
mMobileActivityIconId,
mDataTypeIconId,
mContentDescriptionPhoneSignal,
@@ -434,17 +440,25 @@ public class NetworkController extends BroadcastReceiver {
private final void updateDataNetType() {
switch (mDataNetType) {
case TelephonyManager.NETWORK_TYPE_UNKNOWN:
- mDataIconList = TelephonyIcons.DATA_G[mInetCondition];
- mDataTypeIconId = 0;
- mContentDescriptionDataType = mContext.getString(
- R.string.accessibility_data_connection_gprs);
- break;
+ if (!mShowAtLeastThreeGees) {
+ mDataIconList = TelephonyIcons.DATA_G[mInetCondition];
+ mDataTypeIconId = 0;
+ mContentDescriptionDataType = mContext.getString(
+ R.string.accessibility_data_connection_gprs);
+ break;
+ } else {
+ // fall through
+ }
case TelephonyManager.NETWORK_TYPE_EDGE:
- mDataIconList = TelephonyIcons.DATA_E[mInetCondition];
- mDataTypeIconId = R.drawable.stat_sys_data_connected_e;
- mContentDescriptionDataType = mContext.getString(
- R.string.accessibility_data_connection_edge);
- break;
+ if (!mShowAtLeastThreeGees) {
+ mDataIconList = TelephonyIcons.DATA_E[mInetCondition];
+ mDataTypeIconId = R.drawable.stat_sys_data_connected_e;
+ mContentDescriptionDataType = mContext.getString(
+ R.string.accessibility_data_connection_edge);
+ break;
+ } else {
+ // fall through
+ }
case TelephonyManager.NETWORK_TYPE_UMTS:
mDataIconList = TelephonyIcons.DATA_3G[mInetCondition];
mDataTypeIconId = R.drawable.stat_sys_data_connected_3g;
@@ -496,10 +510,17 @@ public class NetworkController extends BroadcastReceiver {
R.string.accessibility_data_connection_4g);
break;
default:
- mDataIconList = TelephonyIcons.DATA_G[mInetCondition];
- mDataTypeIconId = R.drawable.stat_sys_data_connected_g;
- mContentDescriptionDataType = mContext.getString(
- R.string.accessibility_data_connection_gprs);
+ if (!mShowAtLeastThreeGees) {
+ mDataIconList = TelephonyIcons.DATA_G[mInetCondition];
+ mDataTypeIconId = R.drawable.stat_sys_data_connected_g;
+ mContentDescriptionDataType = mContext.getString(
+ R.string.accessibility_data_connection_gprs);
+ } else {
+ mDataIconList = TelephonyIcons.DATA_3G[mInetCondition];
+ mDataTypeIconId = R.drawable.stat_sys_data_connected_3g;
+ mContentDescriptionDataType = mContext.getString(
+ R.string.accessibility_data_connection_3g);
+ }
break;
}
if ((isCdma() && isCdmaEri()) || mPhone.isNetworkRoaming()) {
@@ -877,7 +898,7 @@ public class NetworkController extends BroadcastReceiver {
mContentDescriptionWifi);
cluster.setMobileDataIndicators(
mHasMobileDataFeature,
- mPhoneSignalIconId,
+ mShowPhoneRSSIForData ? mPhoneSignalIconId : mDataSignalIconId,
mMobileActivityIconId,
mDataTypeIconId,
mContentDescriptionPhoneSignal,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/HoloClock.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/HoloClock.java
index 0121211af583..f98caa2abe78 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/HoloClock.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/HoloClock.java
@@ -53,9 +53,9 @@ public class HoloClock extends FrameLayout {
private SimpleDateFormat mClockFormat;
private static final String FONT_DIR = "/system/fonts/";
- private static final String CLOCK_FONT = FONT_DIR + "AndroidClock_Solid.ttf";
- private static final String CLOCK_FG_FONT = FONT_DIR + "AndroidClock.ttf";
- private static final String CLOCK_BG_FONT = FONT_DIR + "AndroidClock_Highlight.ttf";
+ private static final String CLOCK_FONT = FONT_DIR + "AndroidClock_Solid.ttf";
+ private static final String CLOCK_FG_FONT = FONT_DIR + "AndroidClock.ttf";
+ private static final String CLOCK_BG_FONT = FONT_DIR + "AndroidClock_Highlight.ttf";
private static Typeface sBackgroundType, sForegroundType, sSolidType;
private TextView mSolidText, mBgText, mFgText;
@@ -84,7 +84,9 @@ public class HoloClock extends FrameLayout {
mBgText = (TextView) findViewById(R.id.time_bg);
if (mBgText != null) {
mBgText.setTypeface(sBackgroundType);
+ mBgText.setVisibility(View.INVISIBLE);
}
+
mFgText = (TextView) findViewById(R.id.time_fg);
if (mFgText != null) {
mFgText.setTypeface(sForegroundType);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
index 00bdd448b53b..e3f6bd484372 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
@@ -1262,9 +1262,8 @@ public class TabletStatusBar extends StatusBar implements
public void onClickRecentButton() {
if (DEBUG) Slog.d(TAG, "clicked recent apps; disabled=" + mDisabled);
if ((mDisabled & StatusBarManager.DISABLE_EXPAND) == 0) {
- int msg = (mRecentsPanel.getVisibility() == View.GONE)
- ? MSG_OPEN_RECENTS_PANEL
- : MSG_CLOSE_RECENTS_PANEL;
+ int msg = (mRecentsPanel.getVisibility() == View.VISIBLE)
+ ? MSG_CLOSE_RECENTS_PANEL : MSG_OPEN_RECENTS_PANEL;
mHandler.removeMessages(msg);
mHandler.sendEmptyMessage(msg);
}
diff --git a/policy/src/com/android/internal/policy/impl/KeyguardStatusViewManager.java b/policy/src/com/android/internal/policy/impl/KeyguardStatusViewManager.java
index 6614d7929496..dafbdcfed7b3 100644
--- a/policy/src/com/android/internal/policy/impl/KeyguardStatusViewManager.java
+++ b/policy/src/com/android/internal/policy/impl/KeyguardStatusViewManager.java
@@ -635,11 +635,13 @@ class KeyguardStatusViewManager implements OnClickListener {
* @return
*/
private static CharSequence makeCarierString(CharSequence plmn, CharSequence spn) {
- if (plmn != null && spn == null) {
- return plmn;
- } else if (plmn != null && spn != null) {
+ final boolean plmnValid = !TextUtils.isEmpty(plmn);
+ final boolean spnValid = !TextUtils.isEmpty(spn);
+ if (plmnValid && spnValid) {
return plmn + "|" + spn;
- } else if (plmn == null && spn != null) {
+ } else if (plmnValid) {
+ return plmn;
+ } else if (spnValid) {
return spn;
} else {
return "";
diff --git a/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java b/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java
index 008f5d8fd4ad..84540a150b6c 100644
--- a/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java
+++ b/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java
@@ -21,11 +21,14 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.database.ContentObserver;
-import static android.os.BatteryManager.BATTERY_STATUS_CHARGING;
import static android.os.BatteryManager.BATTERY_STATUS_FULL;
import static android.os.BatteryManager.BATTERY_STATUS_UNKNOWN;
+import static android.os.BatteryManager.BATTERY_HEALTH_UNKNOWN;
+import static android.os.BatteryManager.EXTRA_STATUS;
+import static android.os.BatteryManager.EXTRA_PLUGGED;
+import static android.os.BatteryManager.EXTRA_LEVEL;
+import static android.os.BatteryManager.EXTRA_HEALTH;
import android.media.AudioManager;
-import android.media.IRemoteControlClient;
import android.os.BatteryManager;
import android.os.Handler;
import android.os.Message;
@@ -72,9 +75,7 @@ public class KeyguardUpdateMonitor {
private boolean mDeviceProvisioned;
- private int mBatteryLevel;
-
- private int mBatteryStatus;
+ private BatteryStatus mBatteryStatus;
private CharSequence mTelephonyPlmn;
private CharSequence mTelephonySpn;
@@ -151,6 +152,20 @@ public class KeyguardUpdateMonitor {
}
}
+ private static class BatteryStatus {
+ public final int status;
+ public final int level;
+ public final int plugged;
+ public final int health;
+ public BatteryStatus(int status, int level, int plugged, int health) {
+ this.status = status;
+ this.level = level;
+ this.plugged = plugged;
+ this.health = health;
+ }
+
+ }
+
public KeyguardUpdateMonitor(Context context) {
mContext = context;
@@ -162,7 +177,7 @@ public class KeyguardUpdateMonitor {
handleTimeUpdate();
break;
case MSG_BATTERY_UPDATE:
- handleBatteryUpdate(msg.arg1, msg.arg2);
+ handleBatteryUpdate((BatteryStatus) msg.obj);
break;
case MSG_CARRIER_INFO_UPDATE:
handleCarrierInfoUpdate();
@@ -226,8 +241,7 @@ public class KeyguardUpdateMonitor {
// take a guess to start
mSimState = IccCard.State.READY;
- mBatteryStatus = BATTERY_STATUS_UNKNOWN;
- mBatteryLevel = 100;
+ mBatteryStatus = new BatteryStatus(BATTERY_STATUS_UNKNOWN, 100, 0, 0);
mTelephonyPlmn = getDefaultPlmn();
@@ -256,13 +270,12 @@ public class KeyguardUpdateMonitor {
mTelephonySpn = getTelephonySpnFrom(intent);
mHandler.sendMessage(mHandler.obtainMessage(MSG_CARRIER_INFO_UPDATE));
} else if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {
- final int pluggedInStatus = intent
- .getIntExtra("status", BATTERY_STATUS_UNKNOWN);
- int batteryLevel = intent.getIntExtra("level", 0);
+ final int status = intent.getIntExtra(EXTRA_STATUS, BATTERY_STATUS_UNKNOWN);
+ final int plugged = intent.getIntExtra(EXTRA_PLUGGED, 0);
+ final int level = intent.getIntExtra(EXTRA_LEVEL, 0);
+ final int health = intent.getIntExtra(EXTRA_HEALTH, BATTERY_HEALTH_UNKNOWN);
final Message msg = mHandler.obtainMessage(
- MSG_BATTERY_UPDATE,
- pluggedInStatus,
- batteryLevel);
+ MSG_BATTERY_UPDATE, new BatteryStatus(status, level, plugged, health));
mHandler.sendMessage(msg);
} else if (TelephonyIntents.ACTION_SIM_STATE_CHANGED.equals(action)) {
mHandler.sendMessage(mHandler.obtainMessage(
@@ -325,15 +338,16 @@ public class KeyguardUpdateMonitor {
/**
* Handle {@link #MSG_BATTERY_UPDATE}
*/
- private void handleBatteryUpdate(int batteryStatus, int batteryLevel) {
+ private void handleBatteryUpdate(BatteryStatus batteryStatus) {
if (DEBUG) Log.d(TAG, "handleBatteryUpdate");
- if (isBatteryUpdateInteresting(batteryStatus, batteryLevel)) {
- mBatteryStatus = batteryStatus;
- mBatteryLevel = batteryLevel;
- final boolean pluggedIn = isPluggedIn(batteryStatus);;
+ final boolean batteryUpdateInteresting =
+ isBatteryUpdateInteresting(mBatteryStatus, batteryStatus);
+ mBatteryStatus = batteryStatus;
+ if (batteryUpdateInteresting) {
for (int i = 0; i < mInfoCallbacks.size(); i++) {
+ // TODO: pass BatteryStatus object to onRefreshBatteryInfo() instead...
mInfoCallbacks.get(i).onRefreshBatteryInfo(
- shouldShowBatteryInfo(), pluggedIn, batteryLevel);
+ shouldShowBatteryInfo(),isPluggedIn(batteryStatus), batteryStatus.level);
}
}
}
@@ -377,39 +391,40 @@ public class KeyguardUpdateMonitor {
}
/**
- * @param status One of the statuses of {@link android.os.BatteryManager}
- * @return Whether the status maps to a status for being plugged in.
+ * @param pluggedIn state from {@link android.os.BatteryManager#EXTRA_PLUGGED}
+ * @return Whether the device is considered "plugged in."
*/
- private boolean isPluggedIn(int status) {
- return status == BATTERY_STATUS_CHARGING || status == BATTERY_STATUS_FULL;
+ private static boolean isPluggedIn(BatteryStatus status) {
+ return status.plugged == BatteryManager.BATTERY_PLUGGED_AC
+ || status.plugged == BatteryManager.BATTERY_PLUGGED_USB;
}
- private boolean isBatteryUpdateInteresting(int batteryStatus, int batteryLevel) {
- // change in plug is always interesting
- final boolean isPluggedIn = isPluggedIn(batteryStatus);
- final boolean wasPluggedIn = isPluggedIn(mBatteryStatus);
+ private static boolean isBatteryUpdateInteresting(BatteryStatus old, BatteryStatus current) {
+ final boolean nowPluggedIn = isPluggedIn(current);
+ final boolean wasPluggedIn = isPluggedIn(old);
final boolean stateChangedWhilePluggedIn =
- wasPluggedIn == true && isPluggedIn == true && (mBatteryStatus != batteryStatus);
- if (wasPluggedIn != isPluggedIn || stateChangedWhilePluggedIn) {
+ wasPluggedIn == true && nowPluggedIn == true
+ && (old.status != current.status);
+
+ // change in plug state is always interesting
+ if (wasPluggedIn != nowPluggedIn || stateChangedWhilePluggedIn) {
return true;
}
// change in battery level while plugged in
- if (isPluggedIn && mBatteryLevel != batteryLevel) {
+ if (nowPluggedIn && old.level != current.level) {
return true;
}
- if (!isPluggedIn) {
- // not plugged in and below threshold
- if (isBatteryLow(batteryLevel) && batteryLevel != mBatteryLevel) {
- return true;
- }
+ // change where battery needs charging
+ if (!nowPluggedIn && isBatteryLow(current) && current.level != old.level) {
+ return true;
}
return false;
}
- private boolean isBatteryLow(int batteryLevel) {
- return batteryLevel < LOW_BATTERY_THRESHOLD;
+ private static boolean isBatteryLow(BatteryStatus status) {
+ return status.level < LOW_BATTERY_THRESHOLD;
}
/**
@@ -518,8 +533,8 @@ public class KeyguardUpdateMonitor {
if (!mInfoCallbacks.contains(callback)) {
mInfoCallbacks.add(callback);
// Notify listener of the current state
- callback.onRefreshBatteryInfo(shouldShowBatteryInfo(), isPluggedIn(mBatteryStatus),
- mBatteryLevel);
+ callback.onRefreshBatteryInfo(shouldShowBatteryInfo(),isPluggedIn(mBatteryStatus),
+ mBatteryStatus.level);
callback.onTimeChanged();
callback.onRingerModeChanged(mRingMode);
callback.onPhoneStateChanged(mPhoneState);
@@ -573,16 +588,16 @@ public class KeyguardUpdateMonitor {
}
public boolean isDeviceCharged() {
- return mBatteryStatus == BatteryManager.BATTERY_STATUS_FULL
- || mBatteryLevel >= 100; // in case a particular device doesn't flag it
+ return mBatteryStatus.status == BATTERY_STATUS_FULL
+ || mBatteryStatus.level >= 100; // in case particular device doesn't flag it
}
public int getBatteryLevel() {
- return mBatteryLevel;
+ return mBatteryStatus.level;
}
public boolean shouldShowBatteryInfo() {
- return isPluggedIn(mBatteryStatus) || isBatteryLow(mBatteryLevel);
+ return isPluggedIn(mBatteryStatus) || isBatteryLow(mBatteryStatus);
}
public CharSequence getTelephonyPlmn() {
diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java
index 6ddbf5a5a95f..ddac35c5d533 100644
--- a/services/java/com/android/server/InputMethodManagerService.java
+++ b/services/java/com/android/server/InputMethodManagerService.java
@@ -161,6 +161,16 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
private final LruCache<SuggestionSpan, InputMethodInfo> mSecureSuggestionSpans =
new LruCache<SuggestionSpan, InputMethodInfo>(SECURE_SUGGESTION_SPANS_MAX_SIZE);
+ // Used to bring IME service up to visible adjustment while it is being shown.
+ final ServiceConnection mVisibleConnection = new ServiceConnection() {
+ @Override public void onServiceConnected(ComponentName name, IBinder service) {
+ }
+
+ @Override public void onServiceDisconnected(ComponentName name) {
+ }
+ };
+ boolean mVisibleBound = false;
+
// Ongoing notification
private NotificationManager mNotificationManager;
private KeyguardManager mKeyguardManager;
@@ -374,6 +384,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
mScreenOn = true;
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
mScreenOn = false;
+ setImeWindowVisibilityStatusHiddenLocked();
} else if (intent.getAction().equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
hideInputMethodMenu();
return;
@@ -468,8 +479,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
// Uh oh, current input method is no longer around!
// Pick another one...
Slog.i(TAG, "Current input method removed: " + curInputMethodId);
- mImeWindowVis = 0;
- updateImeWindowStatusLocked();
+ setImeWindowVisibilityStatusHiddenLocked();
if (!chooseNewDefaultIMELocked()) {
changed = true;
curIm = null;
@@ -493,11 +503,13 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
- class MethodCallback extends IInputMethodCallback.Stub {
- final IInputMethod mMethod;
+ private static class MethodCallback extends IInputMethodCallback.Stub {
+ private final IInputMethod mMethod;
+ private final InputMethodManagerService mParentIMMS;
- MethodCallback(IInputMethod method) {
+ MethodCallback(final IInputMethod method, final InputMethodManagerService imms) {
mMethod = method;
+ mParentIMMS = imms;
}
@Override
@@ -506,7 +518,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
@Override
public void sessionCreated(IInputMethodSession session) throws RemoteException {
- onSessionCreated(mMethod, session);
+ mParentIMMS.onSessionCreated(mMethod, session);
}
}
@@ -623,7 +635,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
- void updateImeWindowStatusLocked() {
+ private void setImeWindowVisibilityStatusHiddenLocked() {
+ mImeWindowVis = 0;
+ updateImeWindowStatusLocked();
+ }
+
+ private void updateImeWindowStatusLocked() {
setImeWindowStatus(mCurToken, mImeWindowVis, mBackDisposition);
}
@@ -837,7 +854,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
if (DEBUG) Slog.v(TAG, "Creating new session for client " + cs);
executeOrSendMessage(mCurMethod, mCaller.obtainMessageOO(
MSG_CREATE_SESSION, mCurMethod,
- new MethodCallback(mCurMethod)));
+ new MethodCallback(mCurMethod, this)));
}
// Return to client, and we will get back with it when
// we have had a session made for it.
@@ -886,7 +903,8 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
com.android.internal.R.string.input_method_binding_label);
mCurIntent.putExtra(Intent.EXTRA_CLIENT_INTENT, PendingIntent.getActivity(
mContext, 0, new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS), 0));
- if (mContext.bindService(mCurIntent, this, Context.BIND_AUTO_CREATE)) {
+ if (mContext.bindService(mCurIntent, this, Context.BIND_AUTO_CREATE
+ | Context.BIND_NOT_VISIBLE)) {
mLastBindTime = SystemClock.uptimeMillis();
mHaveConnection = true;
mCurId = info.getId();
@@ -943,7 +961,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
+ mCurClient);
executeOrSendMessage(mCurMethod, mCaller.obtainMessageOO(
MSG_CREATE_SESSION, mCurMethod,
- new MethodCallback(mCurMethod)));
+ new MethodCallback(mCurMethod, this)));
}
}
}
@@ -968,6 +986,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
void unbindCurrentMethodLocked(boolean reportToClient) {
+ if (mVisibleBound) {
+ mContext.unbindService(mVisibleConnection);
+ mVisibleBound = false;
+ }
+
if (mHaveConnection) {
mContext.unbindService(this);
mHaveConnection = false;
@@ -997,8 +1020,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
sessionState.session.finishSession();
} catch (RemoteException e) {
Slog.w(TAG, "Session failed to close due to remote exception", e);
- mImeWindowVis = 0;
- updateImeWindowStatusLocked();
+ setImeWindowVisibilityStatusHiddenLocked();
}
}
}
@@ -1360,6 +1382,10 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
MSG_SHOW_SOFT_INPUT, getImeShowFlags(), mCurMethod,
resultReceiver));
mInputShown = true;
+ if (mHaveConnection && !mVisibleBound) {
+ mContext.bindService(mCurIntent, mVisibleConnection, Context.BIND_AUTO_CREATE);
+ mVisibleBound = true;
+ }
res = true;
} else if (mHaveConnection && SystemClock.uptimeMillis()
>= (mLastBindTime+TIME_TO_RECONNECT)) {
@@ -1371,7 +1397,8 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
SystemClock.uptimeMillis()-mLastBindTime,1);
Slog.w(TAG, "Force disconnect/connect to the IME in showCurrentInputLocked()");
mContext.unbindService(this);
- mContext.bindService(mCurIntent, this, Context.BIND_AUTO_CREATE);
+ mContext.bindService(mCurIntent, this, Context.BIND_AUTO_CREATE
+ | Context.BIND_NOT_VISIBLE);
}
return res;
@@ -1393,13 +1420,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
if (!mIWindowManager.inputMethodClientHasFocus(client)) {
if (DEBUG) Slog.w(TAG, "Ignoring hideSoftInput of uid "
+ uid + ": " + client);
- mImeWindowVis = 0;
- updateImeWindowStatusLocked();
+ setImeWindowVisibilityStatusHiddenLocked();
return false;
}
} catch (RemoteException e) {
- mImeWindowVis = 0;
- updateImeWindowStatusLocked();
+ setImeWindowVisibilityStatusHiddenLocked();
return false;
}
}
@@ -1432,6 +1457,10 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
} else {
res = false;
}
+ if (mHaveConnection && mVisibleBound) {
+ mContext.unbindService(mVisibleConnection);
+ mVisibleBound = false;
+ }
mInputShown = false;
mShowRequested = false;
mShowExplicitlyRequested = false;
diff --git a/services/java/com/android/server/NetworkManagementService.java b/services/java/com/android/server/NetworkManagementService.java
index fb13b755eb48..4e4fe4ad71af 100644
--- a/services/java/com/android/server/NetworkManagementService.java
+++ b/services/java/com/android/server/NetworkManagementService.java
@@ -240,6 +240,11 @@ public class NetworkManagementService extends INetworkManagementService.Stub
* Notify our observers of an interface removal.
*/
private void notifyInterfaceRemoved(String iface) {
+ // netd already clears out quota and alerts for removed ifaces; update
+ // our sanity-checking state.
+ mActiveAlertIfaces.remove(iface);
+ mActiveQuotaIfaces.remove(iface);
+
for (INetworkManagementEventObserver obs : mObservers) {
try {
obs.interfaceRemoved(iface);
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java
index fdae4bd78760..1b0addfdae4e 100644
--- a/services/java/com/android/server/PowerManagerService.java
+++ b/services/java/com/android/server/PowerManagerService.java
@@ -2198,25 +2198,21 @@ public class PowerManagerService extends IPowerManager.Stub
}
public void run() {
- if (mAnimateScreenLights) {
- synchronized (mLocks) {
+ synchronized (mLocks) {
+ // we're turning off
+ final boolean turningOff = animating && targetValue == Power.BRIGHTNESS_OFF;
+ if (mAnimateScreenLights || !turningOff) {
long now = SystemClock.uptimeMillis();
boolean more = mScreenBrightness.stepLocked();
if (more) {
mScreenOffHandler.postAtTime(this, now+(1000/60));
}
- }
- } else {
- synchronized (mLocks) {
- // we're turning off
- final boolean animate = animating && targetValue == Power.BRIGHTNESS_OFF;
- if (animate) {
- // It's pretty scary to hold mLocks for this long, and we should
- // redesign this, but it works for now.
- nativeStartSurfaceFlingerAnimation(
- mScreenOffReason == WindowManagerPolicy.OFF_BECAUSE_OF_PROX_SENSOR
- ? 0 : mAnimationSetting);
- }
+ } else {
+ // It's pretty scary to hold mLocks for this long, and we should
+ // redesign this, but it works for now.
+ nativeStartSurfaceFlingerAnimation(
+ mScreenOffReason == WindowManagerPolicy.OFF_BECAUSE_OF_PROX_SENSOR
+ ? 0 : mAnimationSetting);
mScreenBrightness.jumpToTargetLocked();
}
}
diff --git a/services/java/com/android/server/TextServicesManagerService.java b/services/java/com/android/server/TextServicesManagerService.java
index 1976eba043d3..b042da601141 100644
--- a/services/java/com/android/server/TextServicesManagerService.java
+++ b/services/java/com/android/server/TextServicesManagerService.java
@@ -635,7 +635,9 @@ public class TextServicesManagerService extends ITextServicesManager.Stub {
if (DBG) {
Slog.w(TAG, "Remove " + removeList.get(i));
}
- mListeners.remove(removeList.get(i));
+ final InternalDeathRecipient idr = removeList.get(i);
+ idr.mScListener.asBinder().unlinkToDeath(idr, 0);
+ mListeners.remove(idr);
}
cleanLocked();
}
@@ -664,6 +666,11 @@ public class TextServicesManagerService extends ITextServicesManager.Stub {
public void removeAll() {
Slog.e(TAG, "Remove the spell checker bind unexpectedly.");
synchronized(mSpellCheckerMap) {
+ final int size = mListeners.size();
+ for (int i = 0; i < size; ++i) {
+ final InternalDeathRecipient idr = mListeners.get(i);
+ idr.mScListener.asBinder().unlinkToDeath(idr, 0);
+ }
mListeners.clear();
cleanLocked();
}
diff --git a/services/java/com/android/server/Watchdog.java b/services/java/com/android/server/Watchdog.java
index 2d3ac000084d..728fb2689589 100644
--- a/services/java/com/android/server/Watchdog.java
+++ b/services/java/com/android/server/Watchdog.java
@@ -451,7 +451,8 @@ public class Watchdog extends Thread {
Thread dropboxThread = new Thread("watchdogWriteToDropbox") {
public void run() {
mActivity.addErrorToDropBox(
- "watchdog", null, null, null, name, null, stack, null);
+ "watchdog", null, "system_server", null, null,
+ name, null, stack, null);
}
};
dropboxThread.start();
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 0d6f405136dd..f8a7d6a491e3 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -721,6 +721,13 @@ public final class ActivityManagerService extends ActivityManagerNative
int mLruSeq = 0;
/**
+ * Keep track of the number of service processes we last found, to
+ * determine on the next iteration which should be B services.
+ */
+ int mNumServiceProcs = 0;
+ int mNewNumServiceProcs = 0;
+
+ /**
* System monitoring: number of processes that died since the last
* N procs were started.
*/
@@ -2978,7 +2985,8 @@ public final class ActivityManagerService extends ActivityManagerNative
Process.sendSignal(app.pid, Process.SIGNAL_QUIT);
}
- addErrorToDropBox("anr", app, activity, parent, annotation, cpuInfo, tracesFile, null);
+ addErrorToDropBox("anr", app, app.processName, activity, parent, annotation,
+ cpuInfo, tracesFile, null);
if (mController != null) {
try {
@@ -3122,7 +3130,7 @@ public final class ActivityManagerService extends ActivityManagerNative
return;
}
killPackageProcessesLocked(packageName, pkgUid,
- ProcessList.SECONDARY_SERVER_ADJ, false, true, true, false);
+ ProcessList.SERVICE_ADJ, false, true, true, false);
}
} finally {
Binder.restoreCallingIdentity(callingId);
@@ -4921,7 +4929,7 @@ public final class ActivityManagerService extends ActivityManagerNative
outInfo.lowMemory = outInfo.availMem < (homeAppMem + ((hiddenAppMem-homeAppMem)/2));
outInfo.hiddenAppThreshold = hiddenAppMem;
outInfo.secondaryServerThreshold = mProcessList.getMemLevel(
- ProcessList.SECONDARY_SERVER_ADJ);
+ ProcessList.SERVICE_ADJ);
outInfo.visibleAppThreshold = mProcessList.getMemLevel(
ProcessList.VISIBLE_APP_ADJ);
outInfo.foregroundAppThreshold = mProcessList.getMemLevel(
@@ -6112,7 +6120,7 @@ public final class ActivityManagerService extends ActivityManagerNative
if ((info.flags&(ApplicationInfo.FLAG_SYSTEM|ApplicationInfo.FLAG_PERSISTENT))
== (ApplicationInfo.FLAG_SYSTEM|ApplicationInfo.FLAG_PERSISTENT)) {
app.persistent = true;
- app.maxAdj = ProcessList.CORE_SERVER_ADJ;
+ app.maxAdj = ProcessList.PERSISTENT_PROC_ADJ;
}
if (app.thread == null && mPersistentStartingProcesses.indexOf(app) < 0) {
mPersistentStartingProcesses.add(app);
@@ -6510,14 +6518,15 @@ public final class ActivityManagerService extends ActivityManagerNative
// If the worst oom_adj is somewhere in the hidden proc LRU range,
// then constrain it so we will kill all hidden procs.
- if (worstType < ProcessList.EMPTY_APP_ADJ && worstType > ProcessList.HIDDEN_APP_MIN_ADJ) {
+ if (worstType < ProcessList.HIDDEN_APP_MAX_ADJ
+ && worstType > ProcessList.HIDDEN_APP_MIN_ADJ) {
worstType = ProcessList.HIDDEN_APP_MIN_ADJ;
}
// If this is not a secure call, don't let it kill processes that
// are important.
- if (!secure && worstType < ProcessList.SECONDARY_SERVER_ADJ) {
- worstType = ProcessList.SECONDARY_SERVER_ADJ;
+ if (!secure && worstType < ProcessList.SERVICE_ADJ) {
+ worstType = ProcessList.SERVICE_ADJ;
}
Slog.w(TAG, "Killing processes " + reason + " at adjustment " + worstType);
@@ -7082,16 +7091,18 @@ public final class ActivityManagerService extends ActivityManagerNative
*/
public void handleApplicationCrash(IBinder app, ApplicationErrorReport.CrashInfo crashInfo) {
ProcessRecord r = findAppProcess(app, "Crash");
+ final String processName = app == null ? "system_server"
+ : (r == null ? "unknown" : r.processName);
EventLog.writeEvent(EventLogTags.AM_CRASH, Binder.getCallingPid(),
- app == null ? "system" : (r == null ? "unknown" : r.processName),
+ processName,
r == null ? -1 : r.info.flags,
crashInfo.exceptionClassName,
crashInfo.exceptionMessage,
crashInfo.throwFileName,
crashInfo.throwLineNumber);
- addErrorToDropBox("crash", r, null, null, null, null, null, crashInfo);
+ addErrorToDropBox("crash", r, processName, null, null, null, null, null, crashInfo);
crashApplication(r, crashInfo);
}
@@ -7164,6 +7175,7 @@ public final class ActivityManagerService extends ActivityManagerNative
final boolean isSystemApp = process == null ||
(process.info.flags & (ApplicationInfo.FLAG_SYSTEM |
ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)) != 0;
+ final String processName = process == null ? "unknown" : process.processName;
final String dropboxTag = isSystemApp ? "system_app_strictmode" : "data_app_strictmode";
final DropBoxManager dbox = (DropBoxManager)
mContext.getSystemService(Context.DROPBOX_SERVICE);
@@ -7176,7 +7188,7 @@ public final class ActivityManagerService extends ActivityManagerNative
final StringBuilder sb = isSystemApp ? mStrictModeBuffer : new StringBuilder(1024);
synchronized (sb) {
bufferWasEmpty = sb.length() == 0;
- appendDropBoxProcessHeaders(process, sb);
+ appendDropBoxProcessHeaders(process, processName, sb);
sb.append("Build: ").append(Build.FINGERPRINT).append("\n");
sb.append("System-App: ").append(isSystemApp).append("\n");
sb.append("Uptime-Millis: ").append(info.violationUptimeMillis).append("\n");
@@ -7278,13 +7290,15 @@ public final class ActivityManagerService extends ActivityManagerNative
public boolean handleApplicationWtf(IBinder app, String tag,
ApplicationErrorReport.CrashInfo crashInfo) {
ProcessRecord r = findAppProcess(app, "WTF");
+ final String processName = app == null ? "system_server"
+ : (r == null ? "unknown" : r.processName);
EventLog.writeEvent(EventLogTags.AM_WTF, Binder.getCallingPid(),
- app == null ? "system" : (r == null ? "unknown" : r.processName),
+ processName,
r == null ? -1 : r.info.flags,
tag, crashInfo.exceptionMessage);
- addErrorToDropBox("wtf", r, null, null, tag, null, null, crashInfo);
+ addErrorToDropBox("wtf", r, processName, null, null, tag, null, null, crashInfo);
if (r != null && r.pid != Process.myPid() &&
Settings.Secure.getInt(mContext.getContentResolver(),
@@ -7327,7 +7341,8 @@ public final class ActivityManagerService extends ActivityManagerNative
* Utility function for addErrorToDropBox and handleStrictModeViolation's logging
* to append various headers to the dropbox log text.
*/
- private void appendDropBoxProcessHeaders(ProcessRecord process, StringBuilder sb) {
+ private void appendDropBoxProcessHeaders(ProcessRecord process, String processName,
+ StringBuilder sb) {
// Watchdog thread ends up invoking this function (with
// a null ProcessRecord) to add the stack file to dropbox.
// Do not acquire a lock on this (am) in such cases, as it
@@ -7335,18 +7350,14 @@ public final class ActivityManagerService extends ActivityManagerNative
// is invoked due to unavailability of lock on am and it
// would prevent watchdog from killing system_server.
if (process == null) {
- sb.append("Process: system_server\n");
+ sb.append("Process: ").append(processName).append("\n");
return;
}
// Note: ProcessRecord 'process' is guarded by the service
// instance. (notably process.pkgList, which could otherwise change
// concurrently during execution of this method)
synchronized (this) {
- if (process.pid == MY_PID) {
- sb.append("Process: system_server\n");
- } else {
- sb.append("Process: ").append(process.processName).append("\n");
- }
+ sb.append("Process: ").append(processName).append("\n");
int flags = process.info.flags;
IPackageManager pm = AppGlobals.getPackageManager();
sb.append("Flags: 0x").append(Integer.toString(flags, 16)).append("\n");
@@ -7390,7 +7401,8 @@ public final class ActivityManagerService extends ActivityManagerNative
* @param crashInfo giving an application stack trace, null if absent
*/
public void addErrorToDropBox(String eventType,
- ProcessRecord process, ActivityRecord activity, ActivityRecord parent, String subject,
+ ProcessRecord process, String processName, ActivityRecord activity,
+ ActivityRecord parent, String subject,
final String report, final File logFile,
final ApplicationErrorReport.CrashInfo crashInfo) {
// NOTE -- this must never acquire the ActivityManagerService lock,
@@ -7404,7 +7416,7 @@ public final class ActivityManagerService extends ActivityManagerNative
if (dbox == null || !dbox.isTagEnabled(dropboxTag)) return;
final StringBuilder sb = new StringBuilder(1024);
- appendDropBoxProcessHeaders(process, sb);
+ appendDropBoxProcessHeaders(process, processName, sb);
if (activity != null) {
sb.append("Activity: ").append(activity.shortComponentName).append("\n");
}
@@ -7653,19 +7665,19 @@ public final class ActivityManagerService extends ActivityManagerNative
}
static int oomAdjToImportance(int adj, ActivityManager.RunningAppProcessInfo currApp) {
- if (adj >= ProcessList.EMPTY_APP_ADJ) {
- return ActivityManager.RunningAppProcessInfo.IMPORTANCE_EMPTY;
- } else if (adj >= ProcessList.HIDDEN_APP_MIN_ADJ) {
+ if (adj >= ProcessList.HIDDEN_APP_MIN_ADJ) {
if (currApp != null) {
currApp.lru = adj - ProcessList.HIDDEN_APP_MIN_ADJ + 1;
}
return ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND;
+ } else if (adj >= ProcessList.SERVICE_B_ADJ) {
+ return ActivityManager.RunningAppProcessInfo.IMPORTANCE_SERVICE;
} else if (adj >= ProcessList.HOME_APP_ADJ) {
if (currApp != null) {
currApp.lru = 0;
}
return ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND;
- } else if (adj >= ProcessList.SECONDARY_SERVER_ADJ) {
+ } else if (adj >= ProcessList.SERVICE_ADJ) {
return ActivityManager.RunningAppProcessInfo.IMPORTANCE_SERVICE;
} else if (adj >= ProcessList.HEAVY_WEIGHT_APP_ADJ) {
return ActivityManager.RunningAppProcessInfo.IMPORTANCE_CANT_SAVE_STATE;
@@ -8154,6 +8166,8 @@ public final class ActivityManagerService extends ActivityManagerNative
pw.println(" mGoingToSleep=" + mMainStack.mGoingToSleep);
pw.println(" mLaunchingActivity=" + mMainStack.mLaunchingActivity);
pw.println(" mAdjSeq=" + mAdjSeq + " mLruSeq=" + mLruSeq);
+ pw.println(" mNumServiceProcs=" + mNumServiceProcs
+ + " mNewNumServiceProcs=" + mNewNumServiceProcs);
}
return true;
@@ -8190,16 +8204,17 @@ public final class ActivityManagerService extends ActivityManagerNative
needSep = true;
pw.println(" OOM levels:");
pw.print(" SYSTEM_ADJ: "); pw.println(ProcessList.SYSTEM_ADJ);
- pw.print(" CORE_SERVER_ADJ: "); pw.println(ProcessList.CORE_SERVER_ADJ);
+ pw.print(" PERSISTENT_PROC_ADJ: "); pw.println(ProcessList.PERSISTENT_PROC_ADJ);
pw.print(" FOREGROUND_APP_ADJ: "); pw.println(ProcessList.FOREGROUND_APP_ADJ);
pw.print(" VISIBLE_APP_ADJ: "); pw.println(ProcessList.VISIBLE_APP_ADJ);
pw.print(" PERCEPTIBLE_APP_ADJ: "); pw.println(ProcessList.PERCEPTIBLE_APP_ADJ);
pw.print(" HEAVY_WEIGHT_APP_ADJ: "); pw.println(ProcessList.HEAVY_WEIGHT_APP_ADJ);
pw.print(" BACKUP_APP_ADJ: "); pw.println(ProcessList.BACKUP_APP_ADJ);
- pw.print(" SECONDARY_SERVER_ADJ: "); pw.println(ProcessList.SECONDARY_SERVER_ADJ);
+ pw.print(" SERVICE_ADJ: "); pw.println(ProcessList.SERVICE_ADJ);
pw.print(" HOME_APP_ADJ: "); pw.println(ProcessList.HOME_APP_ADJ);
+ pw.print(" SERVICE_B_ADJ: "); pw.println(ProcessList.SERVICE_B_ADJ);
pw.print(" HIDDEN_APP_MIN_ADJ: "); pw.println(ProcessList.HIDDEN_APP_MIN_ADJ);
- pw.print(" EMPTY_APP_ADJ: "); pw.println(ProcessList.EMPTY_APP_ADJ);
+ pw.print(" HIDDEN_APP_MAX_ADJ: "); pw.println(ProcessList.HIDDEN_APP_MAX_ADJ);
if (needSep) pw.println(" ");
needSep = true;
@@ -8990,14 +9005,14 @@ public final class ActivityManagerService extends ActivityManagerNative
for (int i=N; i>=0; i--) {
ProcessRecord r = list.get(i).first;
String oomAdj;
- if (r.setAdj >= ProcessList.EMPTY_APP_ADJ) {
- oomAdj = buildOomTag("empty", null, r.setAdj, ProcessList.EMPTY_APP_ADJ);
- } else if (r.setAdj >= ProcessList.HIDDEN_APP_MIN_ADJ) {
+ if (r.setAdj >= ProcessList.HIDDEN_APP_MIN_ADJ) {
oomAdj = buildOomTag("bak", " ", r.setAdj, ProcessList.HIDDEN_APP_MIN_ADJ);
+ } else if (r.setAdj >= ProcessList.SERVICE_B_ADJ) {
+ oomAdj = buildOomTag("svcb ", null, r.setAdj, ProcessList.SERVICE_B_ADJ);
} else if (r.setAdj >= ProcessList.HOME_APP_ADJ) {
oomAdj = buildOomTag("home ", null, r.setAdj, ProcessList.HOME_APP_ADJ);
- } else if (r.setAdj >= ProcessList.SECONDARY_SERVER_ADJ) {
- oomAdj = buildOomTag("svc", " ", r.setAdj, ProcessList.SECONDARY_SERVER_ADJ);
+ } else if (r.setAdj >= ProcessList.SERVICE_ADJ) {
+ oomAdj = buildOomTag("svc ", null, r.setAdj, ProcessList.SERVICE_ADJ);
} else if (r.setAdj >= ProcessList.BACKUP_APP_ADJ) {
oomAdj = buildOomTag("bckup", null, r.setAdj, ProcessList.BACKUP_APP_ADJ);
} else if (r.setAdj >= ProcessList.HEAVY_WEIGHT_APP_ADJ) {
@@ -9008,8 +9023,8 @@ public final class ActivityManagerService extends ActivityManagerNative
oomAdj = buildOomTag("vis ", null, r.setAdj, ProcessList.VISIBLE_APP_ADJ);
} else if (r.setAdj >= ProcessList.FOREGROUND_APP_ADJ) {
oomAdj = buildOomTag("fore ", null, r.setAdj, ProcessList.FOREGROUND_APP_ADJ);
- } else if (r.setAdj >= ProcessList.CORE_SERVER_ADJ) {
- oomAdj = buildOomTag("core ", null, r.setAdj, ProcessList.CORE_SERVER_ADJ);
+ } else if (r.setAdj >= ProcessList.PERSISTENT_PROC_ADJ) {
+ oomAdj = buildOomTag("pers ", null, r.setAdj, ProcessList.PERSISTENT_PROC_ADJ);
} else if (r.setAdj >= ProcessList.SYSTEM_ADJ) {
oomAdj = buildOomTag("sys ", null, r.setAdj, ProcessList.SYSTEM_ADJ);
} else {
@@ -9269,14 +9284,15 @@ public final class ActivityManagerService extends ActivityManagerNative
long[] miscPss = new long[Debug.MemoryInfo.NUM_OTHER_STATS];
final int[] oomAdj = new int[] {
- ProcessList.SYSTEM_ADJ, ProcessList.CORE_SERVER_ADJ, ProcessList.FOREGROUND_APP_ADJ,
+ ProcessList.SYSTEM_ADJ, ProcessList.PERSISTENT_PROC_ADJ, ProcessList.FOREGROUND_APP_ADJ,
ProcessList.VISIBLE_APP_ADJ, ProcessList.PERCEPTIBLE_APP_ADJ, ProcessList.HEAVY_WEIGHT_APP_ADJ,
- ProcessList.BACKUP_APP_ADJ, ProcessList.SECONDARY_SERVER_ADJ, ProcessList.HOME_APP_ADJ, ProcessList.EMPTY_APP_ADJ
+ ProcessList.BACKUP_APP_ADJ, ProcessList.SERVICE_ADJ, ProcessList.HOME_APP_ADJ,
+ ProcessList.SERVICE_B_ADJ, ProcessList.HIDDEN_APP_MAX_ADJ
};
final String[] oomLabel = new String[] {
"System", "Persistent", "Foreground",
"Visible", "Perceptible", "Heavy Weight",
- "Backup", "Services", "Home", "Background"
+ "Backup", "A Services", "Home", "B Services", "Background"
};
long oomPss[] = new long[oomLabel.length];
ArrayList<MemItem>[] oomProcs = (ArrayList<MemItem>[])new ArrayList[oomLabel.length];
@@ -12931,7 +12947,7 @@ public final class ActivityManagerService extends ActivityManagerNative
// =========================================================
private final int computeOomAdjLocked(ProcessRecord app, int hiddenAdj,
- ProcessRecord TOP_APP, boolean recursed) {
+ ProcessRecord TOP_APP, boolean recursed, boolean doingAll) {
if (mAdjSeq == app.adjSeq) {
// This adjustment has already been computed. If we are calling
// from the top, we may have already computed our adjustment with
@@ -12946,7 +12962,7 @@ public final class ActivityManagerService extends ActivityManagerNative
if (app.thread == null) {
app.adjSeq = mAdjSeq;
app.curSchedGroup = Process.THREAD_GROUP_BG_NONINTERACTIVE;
- return (app.curAdj=ProcessList.EMPTY_APP_ADJ);
+ return (app.curAdj=ProcessList.HIDDEN_APP_MAX_ADJ);
}
app.adjTypeCode = ActivityManager.RunningAppProcessInfo.REASON_UNKNOWN;
@@ -13130,7 +13146,7 @@ public final class ActivityManagerService extends ActivityManagerNative
// go to the LRU list because it may be pretty heavy with
// UI stuff. We'll tag it with a label just to help
// debug and understand what is going on.
- if (adj > ProcessList.SECONDARY_SERVER_ADJ) {
+ if (adj > ProcessList.SERVICE_ADJ) {
app.adjType = "started-bg-ui-services";
}
} else {
@@ -13138,8 +13154,8 @@ public final class ActivityManagerService extends ActivityManagerNative
// This service has seen some activity within
// recent memory, so we will keep its process ahead
// of the background processes.
- if (adj > ProcessList.SECONDARY_SERVER_ADJ) {
- adj = ProcessList.SECONDARY_SERVER_ADJ;
+ if (adj > ProcessList.SERVICE_ADJ) {
+ adj = ProcessList.SERVICE_ADJ;
app.adjType = "started-services";
app.hidden = false;
}
@@ -13147,7 +13163,7 @@ public final class ActivityManagerService extends ActivityManagerNative
// If we have let the service slide into the background
// state, still have some text describing what it is doing
// even though the service no longer has an impact.
- if (adj > ProcessList.SECONDARY_SERVER_ADJ) {
+ if (adj > ProcessList.SERVICE_ADJ) {
app.adjType = "started-bg-services";
}
}
@@ -13181,7 +13197,7 @@ public final class ActivityManagerService extends ActivityManagerNative
}
}
clientAdj = computeOomAdjLocked(
- client, myHiddenAdj, TOP_APP, true);
+ client, myHiddenAdj, TOP_APP, true, doingAll);
String adjType = null;
if ((cr.flags&Context.BIND_ALLOW_OOM_MANAGEMENT) != 0) {
// Not doing bind OOM management, so treat
@@ -13225,10 +13241,17 @@ public final class ActivityManagerService extends ActivityManagerNative
if ((cr.flags&(Context.BIND_ABOVE_CLIENT
|Context.BIND_IMPORTANT)) != 0) {
adj = clientAdj;
- } else if (clientAdj >= ProcessList.VISIBLE_APP_ADJ) {
+ } else if ((cr.flags&Context.BIND_NOT_VISIBLE) != 0
+ && clientAdj < ProcessList.PERCEPTIBLE_APP_ADJ
+ && adj > ProcessList.PERCEPTIBLE_APP_ADJ) {
+ adj = ProcessList.PERCEPTIBLE_APP_ADJ;
+ } else if (clientAdj > ProcessList.VISIBLE_APP_ADJ) {
adj = clientAdj;
} else {
- adj = ProcessList.VISIBLE_APP_ADJ;
+ app.pendingUiClean = true;
+ if (adj > ProcessList.VISIBLE_APP_ADJ) {
+ adj = ProcessList.VISIBLE_APP_ADJ;
+ }
}
if (!client.hidden) {
app.hidden = false;
@@ -13311,7 +13334,7 @@ public final class ActivityManagerService extends ActivityManagerNative
}
}
int clientAdj = computeOomAdjLocked(
- client, myHiddenAdj, TOP_APP, true);
+ client, myHiddenAdj, TOP_APP, true, doingAll);
if (adj > clientAdj) {
if (app.hasShownUi && app != mHomeProcess
&& clientAdj > ProcessList.PERCEPTIBLE_APP_ADJ) {
@@ -13382,11 +13405,23 @@ public final class ActivityManagerService extends ActivityManagerNative
adj = ProcessList.PERCEPTIBLE_APP_ADJ;
} else if (adj < ProcessList.HIDDEN_APP_MIN_ADJ) {
adj = ProcessList.HIDDEN_APP_MIN_ADJ;
- } else if (adj < ProcessList.EMPTY_APP_ADJ) {
+ } else if (adj < ProcessList.HIDDEN_APP_MAX_ADJ) {
adj++;
}
}
+ if (adj == ProcessList.SERVICE_ADJ) {
+ if (doingAll) {
+ app.serviceb = mNewNumServiceProcs > (mNumServiceProcs/3);
+ mNewNumServiceProcs++;
+ }
+ if (app.serviceb) {
+ adj = ProcessList.SERVICE_B_ADJ;
+ }
+ } else {
+ app.serviceb = false;
+ }
+
app.curAdj = adj;
app.curSchedGroup = schedGroup;
@@ -13627,7 +13662,7 @@ public final class ActivityManagerService extends ActivityManagerNative
}
private final boolean updateOomAdjLocked(
- ProcessRecord app, int hiddenAdj, ProcessRecord TOP_APP) {
+ ProcessRecord app, int hiddenAdj, ProcessRecord TOP_APP, boolean doingAll) {
app.hiddenAdj = hiddenAdj;
if (app.thread == null) {
@@ -13638,7 +13673,7 @@ public final class ActivityManagerService extends ActivityManagerNative
boolean success = true;
- computeOomAdjLocked(app, hiddenAdj, TOP_APP, false);
+ computeOomAdjLocked(app, hiddenAdj, TOP_APP, false, doingAll);
if (app.curRawAdj != app.setRawAdj) {
if (false) {
@@ -13672,11 +13707,12 @@ public final class ActivityManagerService extends ActivityManagerNative
app.setRawAdj = app.curRawAdj;
}
+
if (app.curAdj != app.setAdj) {
if (Process.setOomAdj(app.pid, app.curAdj)) {
- if (DEBUG_SWITCH || DEBUG_OOM_ADJ) Slog.v(
- TAG, "Set app " + app.processName +
- " oom adj to " + app.curAdj + " because " + app.adjType);
+ if (true || DEBUG_SWITCH || DEBUG_OOM_ADJ) Slog.v(
+ TAG, "Set " + app.pid + " " + app.processName +
+ " adj " + app.curAdj + ": " + app.adjType);
app.setAdj = app.curAdj;
} else {
success = false;
@@ -13740,7 +13776,7 @@ public final class ActivityManagerService extends ActivityManagerNative
mAdjSeq++;
- boolean success = updateOomAdjLocked(app, app.hiddenAdj, TOP_APP);
+ boolean success = updateOomAdjLocked(app, app.hiddenAdj, TOP_APP, false);
final boolean nowHidden = app.curAdj >= ProcessList.HIDDEN_APP_MIN_ADJ
&& app.curAdj <= ProcessList.HIDDEN_APP_MAX_ADJ;
if (nowHidden != wasHidden) {
@@ -13762,6 +13798,7 @@ public final class ActivityManagerService extends ActivityManagerNative
}
mAdjSeq++;
+ mNewNumServiceProcs = 0;
// Let's determine how many processes we have running vs.
// how many slots we have for background processes; we may want
@@ -13782,8 +13819,8 @@ public final class ActivityManagerService extends ActivityManagerNative
i--;
ProcessRecord app = mLruProcesses.get(i);
//Slog.i(TAG, "OOM " + app + ": cur hidden=" + curHiddenAdj);
- updateOomAdjLocked(app, curHiddenAdj, TOP_APP);
- if (curHiddenAdj < ProcessList.EMPTY_APP_ADJ
+ updateOomAdjLocked(app, curHiddenAdj, TOP_APP, true);
+ if (curHiddenAdj < ProcessList.HIDDEN_APP_MAX_ADJ
&& app.curAdj == curHiddenAdj) {
step++;
if (step >= factor) {
@@ -13810,6 +13847,8 @@ public final class ActivityManagerService extends ActivityManagerNative
}
}
+ mNumServiceProcs = mNewNumServiceProcs;
+
// Now determine the memory trimming level of background processes.
// Unfortunately we need to start at the back of the list to do this
// properly. We only do this if the number of background apps we
diff --git a/services/java/com/android/server/am/ActivityRecord.java b/services/java/com/android/server/am/ActivityRecord.java
index ce45bfb17ba9..00e6cb294ca1 100644
--- a/services/java/com/android/server/am/ActivityRecord.java
+++ b/services/java/com/android/server/am/ActivityRecord.java
@@ -523,7 +523,7 @@ final class ActivityRecord extends IApplicationToken.Stub {
}
}
- public void windowsVisible() {
+ public void windowsDrawn() {
synchronized(service) {
if (launchTime != 0) {
final long curTime = SystemClock.uptimeMillis();
@@ -555,6 +555,11 @@ final class ActivityRecord extends IApplicationToken.Stub {
stack.mInitialStartTime = 0;
}
startTime = 0;
+ }
+ }
+
+ public void windowsVisible() {
+ synchronized(service) {
stack.reportActivityVisibleLocked(this);
if (ActivityManagerService.DEBUG_SWITCH) Log.v(
ActivityManagerService.TAG, "windowsVisible(): " + this);
diff --git a/services/java/com/android/server/am/ProcessList.java b/services/java/com/android/server/am/ProcessList.java
index 131255fbbc3d..f368a7059e53 100644
--- a/services/java/com/android/server/am/ProcessList.java
+++ b/services/java/com/android/server/am/ProcessList.java
@@ -16,7 +16,6 @@
package com.android.server.am;
-import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -24,7 +23,6 @@ import com.android.internal.util.MemInfoReader;
import com.android.server.wm.WindowManagerService;
import android.graphics.Point;
-import android.os.StrictMode;
import android.util.Slog;
/**
@@ -37,27 +35,23 @@ class ProcessList {
// OOM adjustments for processes in various states:
- // This is a process without anything currently running in it. Definitely
- // the first to go! Value set in system/rootdir/init.rc on startup.
- // This value is initalized in the constructor, careful when refering to
- // this static variable externally.
- static final int EMPTY_APP_ADJ = 15;
-
// This is a process only hosting activities that are not visible,
- // so it can be killed without any disruption. Value set in
- // system/rootdir/init.rc on startup.
+ // so it can be killed without any disruption.
static final int HIDDEN_APP_MAX_ADJ = 15;
- static int HIDDEN_APP_MIN_ADJ = 7;
+ static int HIDDEN_APP_MIN_ADJ = 8;
+
+ // The B list of SERVICE_ADJ -- these are the old and decrepit
+ // services that aren't as shiny and interesting as the ones in the A list.
+ static final int SERVICE_B_ADJ = 7;
// This is a process holding the home application -- we want to try
// avoiding killing it, even if it would normally be in the background,
// because the user interacts with it so much.
static final int HOME_APP_ADJ = 6;
- // This is a process holding a secondary server -- killing it will not
- // have much of an impact as far as the user is concerned. Value set in
- // system/rootdir/init.rc on startup.
- static final int SECONDARY_SERVER_ADJ = 5;
+ // This is a process holding an application service -- killing it will not
+ // have much of an impact as far as the user is concerned.
+ static final int SERVICE_ADJ = 5;
// This is a process currently hosting a backup operation. Killing it
// is not entirely fatal but is generally a bad idea.
@@ -70,22 +64,20 @@ class ProcessList {
// This is a process only hosting components that are perceptible to the
// user, and we really want to avoid killing them, but they are not
- // immediately visible. An example is background music playback. Value set in
- // system/rootdir/init.rc on startup.
+ // immediately visible. An example is background music playback.
static final int PERCEPTIBLE_APP_ADJ = 2;
// This is a process only hosting activities that are visible to the
- // user, so we'd prefer they don't disappear. Value set in
- // system/rootdir/init.rc on startup.
+ // user, so we'd prefer they don't disappear.
static final int VISIBLE_APP_ADJ = 1;
// This is the process running the current foreground app. We'd really
- // rather not kill it! Value set in system/rootdir/init.rc on startup.
+ // rather not kill it!
static final int FOREGROUND_APP_ADJ = 0;
- // This is a process running a core server, such as telephony. Definitely
+ // This is a system persistent process, such as telephony. Definitely
// don't want to kill it, but doing so is not completely fatal.
- static final int CORE_SERVER_ADJ = -12;
+ static final int PERSISTENT_PROC_ADJ = -12;
// The system process runs at the default adjustment.
static final int SYSTEM_ADJ = -16;
@@ -115,7 +107,7 @@ class ProcessList {
// can't give it a different value for every possible kind of process.
private final int[] mOomAdj = new int[] {
FOREGROUND_APP_ADJ, VISIBLE_APP_ADJ, PERCEPTIBLE_APP_ADJ,
- BACKUP_APP_ADJ, HIDDEN_APP_MIN_ADJ, EMPTY_APP_ADJ
+ BACKUP_APP_ADJ, HIDDEN_APP_MIN_ADJ, HIDDEN_APP_MAX_ADJ
};
// These are the low-end OOM level limits. This is appropriate for an
// HVGA or smaller phone with less than 512MB. Values are in KB.
diff --git a/services/java/com/android/server/am/ProcessRecord.java b/services/java/com/android/server/am/ProcessRecord.java
index 9392bb4c061f..72292beb56d5 100644
--- a/services/java/com/android/server/am/ProcessRecord.java
+++ b/services/java/com/android/server/am/ProcessRecord.java
@@ -63,6 +63,7 @@ class ProcessRecord {
int curSchedGroup; // Currently desired scheduling class
int setSchedGroup; // Last set to background scheduling class
int trimMemoryLevel; // Last selected memory trimming level
+ boolean serviceb; // Process currently is on the service B list
boolean keeping; // Actively running code so don't kill due to that?
boolean setIsForeground; // Running foreground UI when last set?
boolean foregroundServices; // Running any services that are foreground?
@@ -179,6 +180,7 @@ class ProcessRecord {
pw.print(prefix); pw.print("lastActivityTime=");
TimeUtils.formatDuration(lastActivityTime, now, pw);
pw.print(" lruWeight="); pw.print(lruWeight);
+ pw.print(" serviceb="); pw.print(serviceb);
pw.print(" keeping="); pw.print(keeping);
pw.print(" hidden="); pw.print(hidden);
pw.print(" empty="); pw.println(empty);
@@ -271,7 +273,7 @@ class ProcessRecord {
processName = _processName;
pkgList.add(_info.packageName);
thread = _thread;
- maxAdj = ProcessList.EMPTY_APP_ADJ;
+ maxAdj = ProcessList.HIDDEN_APP_MAX_ADJ;
hiddenAdj = ProcessList.HIDDEN_APP_MIN_ADJ;
curRawAdj = setRawAdj = -100;
curAdj = setAdj = -100;
diff --git a/services/java/com/android/server/wm/AppWindowToken.java b/services/java/com/android/server/wm/AppWindowToken.java
index 61c96bb6ba20..0e3d20aa35c0 100644
--- a/services/java/com/android/server/wm/AppWindowToken.java
+++ b/services/java/com/android/server/wm/AppWindowToken.java
@@ -77,6 +77,9 @@ class AppWindowToken extends WindowToken {
// Last visibility state we reported to the app token.
boolean reportedVisible;
+ // Last drawn state we reported to the app token.
+ boolean reportedDrawn;
+
// Set to true when the token has been removed from the window mgr.
boolean removed;
@@ -277,6 +280,7 @@ class AppWindowToken extends WindowToken {
int numInteresting = 0;
int numVisible = 0;
+ int numDrawn = 0;
boolean nowGone = true;
if (WindowManagerService.DEBUG_VISIBILITY) Slog.v(WindowManagerService.TAG, "Update reported visibility: " + this);
@@ -307,6 +311,7 @@ class AppWindowToken extends WindowToken {
}
numInteresting++;
if (win.isDrawnLw()) {
+ numDrawn++;
if (!win.isAnimating()) {
numVisible++;
}
@@ -316,9 +321,27 @@ class AppWindowToken extends WindowToken {
}
}
+ boolean nowDrawn = numInteresting > 0 && numDrawn >= numInteresting;
boolean nowVisible = numInteresting > 0 && numVisible >= numInteresting;
+ if (!nowGone) {
+ // If the app is not yet gone, then it can only become visible/drawn.
+ if (!nowDrawn) {
+ nowDrawn = reportedDrawn;
+ }
+ if (!nowVisible) {
+ nowVisible = reportedVisible;
+ }
+ }
if (WindowManagerService.DEBUG_VISIBILITY) Slog.v(WindowManagerService.TAG, "VIS " + this + ": interesting="
+ numInteresting + " visible=" + numVisible);
+ if (nowDrawn != reportedDrawn) {
+ if (nowDrawn) {
+ Message m = service.mH.obtainMessage(
+ H.REPORT_APPLICATION_TOKEN_DRAWN, this);
+ service.mH.sendMessage(m);
+ }
+ reportedDrawn = nowDrawn;
+ }
if (nowVisible != reportedVisible) {
if (WindowManagerService.DEBUG_VISIBILITY) Slog.v(
WindowManagerService.TAG, "Visibility changed in " + this
@@ -360,6 +383,7 @@ class AppWindowToken extends WindowToken {
pw.print(prefix); pw.print("hiddenRequested="); pw.print(hiddenRequested);
pw.print(" clientHidden="); pw.print(clientHidden);
pw.print(" willBeHidden="); pw.print(willBeHidden);
+ pw.print(" reportedDrawn="); pw.print(reportedDrawn);
pw.print(" reportedVisible="); pw.println(reportedVisible);
if (paused || freezingScreen) {
pw.print(prefix); pw.print("paused="); pw.print(paused);
diff --git a/services/java/com/android/server/wm/Session.java b/services/java/com/android/server/wm/Session.java
index 03b7546f8a7c..ee62a56ddc1f 100644
--- a/services/java/com/android/server/wm/Session.java
+++ b/services/java/com/android/server/wm/Session.java
@@ -306,7 +306,15 @@ final class Session extends IWindowSession.Stub
synchronized (mService.mWindowMap) {
long ident = Binder.clearCallingIdentity();
try {
- if (mService.mDragState == null || mService.mDragState.mToken != token) {
+ if (mService.mDragState == null) {
+ // Most likely the drop recipient ANRed and we ended the drag
+ // out from under it. Log the issue and move on.
+ Slog.w(WindowManagerService.TAG, "Drop result given but no drag in progress");
+ return;
+ }
+
+ if (mService.mDragState.mToken != token) {
+ // We're in a drag, but the wrong window has responded.
Slog.w(WindowManagerService.TAG, "Invalid drop-result claim by " + window);
throw new IllegalStateException("reportDropResult() by non-recipient");
}
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java
index a199a7e0ea07..2cd306256c5e 100644
--- a/services/java/com/android/server/wm/WindowManagerService.java
+++ b/services/java/com/android/server/wm/WindowManagerService.java
@@ -1836,7 +1836,8 @@ public class WindowManagerService extends IWindowManager.Stub
rawChanged = true;
}
- if (rawChanged) {
+ if (rawChanged && (wallpaperWin.getAttrs().privateFlags &
+ WindowManager.LayoutParams.PRIVATE_FLAG_WANTS_OFFSET_NOTIFICATIONS) != 0) {
try {
if (DEBUG_WALLPAPER) Slog.v(TAG, "Report new wp offset "
+ wallpaperWin + " x=" + wallpaperWin.mWallpaperX
@@ -1886,12 +1887,10 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
- boolean updateWallpaperOffsetLocked(WindowState changingTarget, boolean sync) {
+ void updateWallpaperOffsetLocked(WindowState changingTarget, boolean sync) {
final int dw = mAppDisplayWidth;
final int dh = mAppDisplayHeight;
- boolean changed = false;
-
WindowState target = mWallpaperTarget;
if (target != null) {
if (target.mWallpaperX >= 0) {
@@ -1916,14 +1915,31 @@ public class WindowManagerService extends IWindowManager.Stub
WindowState wallpaper = token.windows.get(curWallpaperIndex);
if (updateWallpaperOffsetLocked(wallpaper, dw, dh, sync)) {
wallpaper.computeShownFrameLocked();
- changed = true;
+ // No need to lay out the windows - we can just set the wallpaper position
+ // directly.
+ if (wallpaper.mSurfaceX != wallpaper.mShownFrame.left
+ || wallpaper.mSurfaceY != wallpaper.mShownFrame.top) {
+ Surface.openTransaction();
+ try {
+ if (SHOW_TRANSACTIONS) logSurface(wallpaper,
+ "POS " + wallpaper.mShownFrame.left
+ + ", " + wallpaper.mShownFrame.top, null);
+ wallpaper.mSurfaceX = wallpaper.mShownFrame.left;
+ wallpaper.mSurfaceY = wallpaper.mShownFrame.top;
+ wallpaper.mSurface.setPosition(wallpaper.mShownFrame.left,
+ wallpaper.mShownFrame.top);
+ } catch (RuntimeException e) {
+ Slog.w(TAG, "Error positioning surface of " + wallpaper
+ + " pos=(" + wallpaper.mShownFrame.left
+ + "," + wallpaper.mShownFrame.top + ")", e);
+ }
+ Surface.closeTransaction();
+ }
// We only want to be synchronous with one wallpaper.
sync = false;
}
}
}
-
- return changed;
}
void updateWallpaperVisibilityLocked() {
@@ -2436,9 +2452,7 @@ public class WindowManagerService extends IWindowManager.Stub
window.mWallpaperY = y;
window.mWallpaperXStep = xStep;
window.mWallpaperYStep = yStep;
- if (updateWallpaperOffsetLocked(window, true)) {
- performLayoutAndPlaceSurfacesLocked();
- }
+ updateWallpaperOffsetLocked(window, true);
}
}
@@ -2578,11 +2592,7 @@ public class WindowManagerService extends IWindowManager.Stub
(win.mAppToken == null || !win.mAppToken.clientHidden)) {
displayed = !win.isVisibleLw();
if (win.mExiting) {
- win.mExiting = false;
- if (win.mAnimation != null) {
- win.mAnimation.cancel();
- win.mAnimation = null;
- }
+ win.cancelExitAnimationForNextAnimationLocked();
}
if (win.mDestroying) {
win.mDestroying = false;
@@ -6376,6 +6386,7 @@ public class WindowManagerService extends IWindowManager.Stub
public static final int REMOVE_STARTING = 6;
public static final int FINISHED_STARTING = 7;
public static final int REPORT_APPLICATION_TOKEN_WINDOWS = 8;
+ public static final int REPORT_APPLICATION_TOKEN_DRAWN = 9;
public static final int WINDOW_FREEZE_TIMEOUT = 11;
public static final int HOLD_SCREEN_CHANGED = 12;
public static final int APP_TRANSITION_TIMEOUT = 13;
@@ -6589,6 +6600,17 @@ public class WindowManagerService extends IWindowManager.Stub
}
} break;
+ case REPORT_APPLICATION_TOKEN_DRAWN: {
+ final AppWindowToken wtoken = (AppWindowToken)msg.obj;
+
+ try {
+ if (DEBUG_VISIBILITY) Slog.v(
+ TAG, "Reporting drawn in " + wtoken);
+ wtoken.appToken.windowsDrawn();
+ } catch (RemoteException ex) {
+ }
+ } break;
+
case REPORT_APPLICATION_TOKEN_WINDOWS: {
final AppWindowToken wtoken = (AppWindowToken)msg.obj;
diff --git a/services/java/com/android/server/wm/WindowState.java b/services/java/com/android/server/wm/WindowState.java
index e9875a5d34e8..23ec2d9f578d 100644
--- a/services/java/com/android/server/wm/WindowState.java
+++ b/services/java/com/android/server/wm/WindowState.java
@@ -596,11 +596,24 @@ final class WindowState implements WindowManagerPolicy.WindowState {
}
}
+ // TODO: Fix and call finishExit() instead of cancelExitAnimationForNextAnimationLocked()
+ // for avoiding the code duplication.
+ void cancelExitAnimationForNextAnimationLocked() {
+ if (!mExiting) return;
+ if (mAnimation != null) {
+ mAnimation.cancel();
+ mAnimation = null;
+ destroySurfaceLocked();
+ }
+ mExiting = false;
+ }
+
Surface createSurfaceLocked() {
if (mSurface == null) {
mReportDestroySurface = false;
mSurfacePendingDestroy = false;
- Slog.i(WindowManagerService.TAG, "createSurface " + this + ": DRAW NOW PENDING");
+ if (WindowManagerService.DEBUG_ORIENTATION) Slog.i(WindowManagerService.TAG,
+ "createSurface " + this + ": DRAW NOW PENDING");
mDrawPending = true;
mCommitDrawPending = false;
mReadyToShow = false;
@@ -1745,4 +1758,4 @@ final class WindowState implements WindowManagerPolicy.WindowState {
}
return mStringNameCache;
}
-} \ No newline at end of file
+}
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 50b86043d517..d3b0dbfe9a2d 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -360,18 +360,6 @@ uint32_t Layer::doTransaction(uint32_t flags)
mCurrentScalingMode);
if (!isFixedSize()) {
- // we're being resized and there is a freeze display request,
- // acquire a freeze lock, so that the screen stays put
- // until we've redrawn at the new size; this is to avoid
- // glitches upon orientation changes.
- if (mFlinger->hasFreezeRequest()) {
- // if the surface is hidden, don't try to acquire the
- // freeze lock, since hidden surfaces may never redraw
- if (!(front.flags & ISurfaceComposer::eLayerHidden)) {
- mFreezeLock = mFlinger->getFreezeLock();
- }
- }
-
// this will make sure LayerBase::doTransaction doesn't update
// the drawing state's size
Layer::State& editDraw(mDrawingState);
@@ -385,14 +373,6 @@ uint32_t Layer::doTransaction(uint32_t flags)
temp.requested_h);
}
- if (temp.sequence != front.sequence) {
- if (temp.flags & ISurfaceComposer::eLayerHidden || temp.alpha == 0) {
- // this surface is now hidden, so it shouldn't hold a freeze lock
- // (it may never redraw, which is fine if it is hidden)
- mFreezeLock.clear();
- }
- }
-
return LayerBase::doTransaction(flags);
}
@@ -466,7 +446,7 @@ void Layer::lockPageFlip(bool& recomputeVisibleRegions)
glTexParameterx(GL_TEXTURE_EXTERNAL_OES, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameterx(GL_TEXTURE_EXTERNAL_OES, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
- // update the layer size and release freeze-lock
+ // update the layer size if needed
const Layer::State& front(drawingState());
// FIXME: mPostedDirtyRegion = dirty & bounds
@@ -503,9 +483,6 @@ void Layer::lockPageFlip(bool& recomputeVisibleRegions)
// recompute visible region
recomputeVisibleRegions = true;
-
- // we now have the correct size, unfreeze the screen
- mFreezeLock.clear();
}
LOGD_IF(DEBUG_RESIZE,
@@ -538,11 +515,6 @@ void Layer::unlockPageFlip(
dirtyRegion.andSelf(visibleRegionScreen);
outDirtyRegion.orSelf(dirtyRegion);
}
- if (visibleRegionScreen.isEmpty()) {
- // an invisible layer should not hold a freeze-lock
- // (because it may never be updated and therefore never release it)
- mFreezeLock.clear();
- }
}
void Layer::dump(String8& result, char* buffer, size_t SIZE) const
@@ -560,9 +532,9 @@ void Layer::dump(String8& result, char* buffer, size_t SIZE) const
snprintf(buffer, SIZE,
" "
"format=%2d, activeBuffer=[%4ux%4u:%4u,%3X],"
- " freezeLock=%p, transform-hint=0x%02x, queued-frames=%d\n",
+ " transform-hint=0x%02x, queued-frames=%d\n",
mFormat, w0, h0, s0,f0,
- getFreezeLock().get(), getTransformHint(), mQueuedFrames);
+ getTransformHint(), mQueuedFrames);
result.append(buffer);
diff --git a/services/surfaceflinger/Layer.h b/services/surfaceflinger/Layer.h
index 82e35218d279..2b9471b011b6 100644
--- a/services/surfaceflinger/Layer.h
+++ b/services/surfaceflinger/Layer.h
@@ -39,7 +39,6 @@ namespace android {
// ---------------------------------------------------------------------------
-class FreezeLock;
class Client;
class GLExtensions;
@@ -80,7 +79,6 @@ public:
virtual wp<IBinder> getSurfaceTextureBinder() const;
// only for debugging
- inline const sp<FreezeLock>& getFreezeLock() const { return mFreezeLock; }
inline const sp<GraphicBuffer>& getActiveBuffer() const { return mActiveBuffer; }
protected:
@@ -124,9 +122,6 @@ private:
bool mProtectedByApp; // application requires protected path to external sink
Region mPostedDirtyRegion;
- // page-flip thread and transaction thread (currently main thread)
- sp<FreezeLock> mFreezeLock;
-
// binder thread, transaction thread
mutable Mutex mLock;
};
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index ba8f6308b1a0..a6d4147c1952 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -80,15 +80,12 @@ const String16 sDump("android.permission.DUMP");
SurfaceFlinger::SurfaceFlinger()
: BnSurfaceComposer(), Thread(false),
mTransactionFlags(0),
- mResizeTransationPending(false),
+ mTransationPending(false),
mLayersRemoved(false),
mBootTime(systemTime()),
mVisibleRegionsDirty(false),
mHwWorkListDirty(false),
- mFreezeDisplay(false),
mElectronBeamAnimationMode(0),
- mFreezeCount(0),
- mFreezeDisplayTime(0),
mDebugRegion(0),
mDebugBackground(0),
mDebugDDMS(0),
@@ -191,11 +188,6 @@ void SurfaceFlinger::binderDied(const wp<IBinder>& who)
{
// the window manager died on us. prepare its eulogy.
- // unfreeze the screen in case it was... frozen
- mFreezeDisplayTime = 0;
- mFreezeCount = 0;
- mFreezeDisplay = false;
-
// reset screen orientation
setOrientation(0, eOrientationDefault, 0);
@@ -323,33 +315,7 @@ void SurfaceFlinger::waitForEvent()
{
while (true) {
nsecs_t timeout = -1;
- const nsecs_t freezeDisplayTimeout = ms2ns(5000);
- if (UNLIKELY(isFrozen())) {
- // wait 5 seconds
- const nsecs_t now = systemTime();
- if (mFreezeDisplayTime == 0) {
- mFreezeDisplayTime = now;
- }
- nsecs_t waitTime = freezeDisplayTimeout - (now - mFreezeDisplayTime);
- timeout = waitTime>0 ? waitTime : 0;
- }
-
sp<MessageBase> msg = mEventQueue.waitMessage(timeout);
-
- // see if we timed out
- if (isFrozen()) {
- const nsecs_t now = systemTime();
- nsecs_t frozenTime = (now - mFreezeDisplayTime);
- if (frozenTime >= freezeDisplayTimeout) {
- // we timed out and are still frozen
- LOGW("timeout expired mFreezeDisplay=%d, mFreezeCount=%d",
- mFreezeDisplay, mFreezeCount);
- mFreezeDisplayTime = 0;
- mFreezeCount = 0;
- mFreezeDisplay = false;
- }
- }
-
if (msg != 0) {
switch (msg->what) {
case MessageQueue::INVALIDATE:
@@ -589,13 +555,6 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags)
mDirtyRegion.set(hw.bounds());
}
- if (mCurrentState.freezeDisplay != mDrawingState.freezeDisplay) {
- // freezing or unfreezing the display -> trigger animation if needed
- mFreezeDisplay = mCurrentState.freezeDisplay;
- if (mFreezeDisplay)
- mFreezeDisplayTime = 0;
- }
-
if (currentLayers.size() > mDrawingState.layersSortedByZ.size()) {
// layers have been added
mVisibleRegionsDirty = true;
@@ -621,11 +580,6 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags)
commitTransaction();
}
-sp<FreezeLock> SurfaceFlinger::getFreezeLock() const
-{
- return new FreezeLock(const_cast<SurfaceFlinger *>(this));
-}
-
void SurfaceFlinger::computeVisibleRegions(
const LayerVector& currentLayers, Region& dirtyRegion, Region& opaqueRegion)
{
@@ -755,7 +709,7 @@ void SurfaceFlinger::computeVisibleRegions(
void SurfaceFlinger::commitTransaction()
{
mDrawingState = mCurrentState;
- mResizeTransationPending = false;
+ mTransationPending = false;
mTransactionCV.broadcast();
}
@@ -1243,15 +1197,14 @@ uint32_t SurfaceFlinger::setTransactionFlags(uint32_t flags)
void SurfaceFlinger::setTransactionState(const Vector<ComposerState>& state,
- int orientation) {
+ int orientation, uint32_t flags) {
Mutex::Autolock _l(mStateLock);
- uint32_t flags = 0;
+ uint32_t transactionFlags = 0;
if (mCurrentState.orientation != orientation) {
if (uint32_t(orientation)<=eOrientation270 || orientation==42) {
mCurrentState.orientation = orientation;
- flags |= eTransactionNeeded;
- mResizeTransationPending = true;
+ transactionFlags |= eTransactionNeeded;
} else if (orientation != eOrientationUnchanged) {
LOGW("setTransactionState: ignoring unrecognized orientation: %d",
orientation);
@@ -1262,56 +1215,29 @@ void SurfaceFlinger::setTransactionState(const Vector<ComposerState>& state,
for (size_t i=0 ; i<count ; i++) {
const ComposerState& s(state[i]);
sp<Client> client( static_cast<Client *>(s.client.get()) );
- flags |= setClientStateLocked(client, s.state);
+ transactionFlags |= setClientStateLocked(client, s.state);
}
- if (flags) {
- setTransactionFlags(flags);
+ if (transactionFlags) {
+ setTransactionFlags(transactionFlags);
}
- signalEvent();
-
- // if there is a transaction with a resize, wait for it to
- // take effect before returning.
- while (mResizeTransationPending) {
+ // if this is a synchronous transaction, wait for it to take effect before
+ // returning.
+ if (flags & eSynchronous) {
+ mTransationPending = true;
+ }
+ while (mTransationPending) {
status_t err = mTransactionCV.waitRelative(mStateLock, s2ns(5));
if (CC_UNLIKELY(err != NO_ERROR)) {
// just in case something goes wrong in SF, return to the
// called after a few seconds.
LOGW_IF(err == TIMED_OUT, "closeGlobalTransaction timed out!");
- mResizeTransationPending = false;
+ mTransationPending = false;
break;
}
}
}
-status_t SurfaceFlinger::freezeDisplay(DisplayID dpy, uint32_t flags)
-{
- if (UNLIKELY(uint32_t(dpy) >= DISPLAY_COUNT))
- return BAD_VALUE;
-
- Mutex::Autolock _l(mStateLock);
- mCurrentState.freezeDisplay = 1;
- setTransactionFlags(eTransactionNeeded);
-
- // flags is intended to communicate some sort of animation behavior
- // (for instance fading)
- return NO_ERROR;
-}
-
-status_t SurfaceFlinger::unfreezeDisplay(DisplayID dpy, uint32_t flags)
-{
- if (UNLIKELY(uint32_t(dpy) >= DISPLAY_COUNT))
- return BAD_VALUE;
-
- Mutex::Autolock _l(mStateLock);
- mCurrentState.freezeDisplay = 0;
- setTransactionFlags(eTransactionNeeded);
-
- // flags is intended to communicate some sort of animation behavior
- // (for instance fading)
- return NO_ERROR;
-}
-
int SurfaceFlinger::setOrientation(DisplayID dpy,
int orientation, uint32_t flags)
{
@@ -1512,7 +1438,6 @@ uint32_t SurfaceFlinger::setClientStateLocked(
if (what & eSizeChanged) {
if (layer->setSize(s.w, s.h)) {
flags |= eTraversalNeeded;
- mResizeTransationPending = true;
}
}
if (what & eAlphaChanged) {
@@ -1632,8 +1557,7 @@ status_t SurfaceFlinger::dump(int fd, const Vector<String16>& args)
mWormholeRegion.dump(result, "WormholeRegion");
const DisplayHardware& hw(graphicPlane(0).displayHardware());
snprintf(buffer, SIZE,
- " display frozen: %s, freezeCount=%d, orientation=%d, canDraw=%d\n",
- mFreezeDisplay?"yes":"no", mFreezeCount,
+ " orientation=%d, canDraw=%d\n",
mCurrentState.orientation, hw.canDraw());
result.append(buffer);
snprintf(buffer, SIZE,
@@ -1693,8 +1617,6 @@ status_t SurfaceFlinger::onTransact(
case CREATE_CONNECTION:
case SET_TRANSACTION_STATE:
case SET_ORIENTATION:
- case FREEZE_DISPLAY:
- case UNFREEZE_DISPLAY:
case BOOT_FINISHED:
case TURN_ELECTRON_BEAM_OFF:
case TURN_ELECTRON_BEAM_ON:
@@ -1766,10 +1688,6 @@ status_t SurfaceFlinger::onTransact(
GraphicLog::getInstance().setEnabled(enabled);
return NO_ERROR;
}
- case 1007: // set mFreezeCount
- mFreezeCount = data.readInt32();
- mFreezeDisplayTime = 0;
- return NO_ERROR;
case 1008: // toggle use of hw composer
n = data.readInt32();
mDebugDisableHWC = n ? 1 : 0;
@@ -1866,8 +1784,10 @@ status_t SurfaceFlinger::renderScreenToTextureLocked(DisplayID dpy,
// redraw the screen entirely...
glDisable(GL_TEXTURE_EXTERNAL_OES);
glDisable(GL_TEXTURE_2D);
+ glDisable(GL_SCISSOR_TEST);
glClearColor(0,0,0,1);
glClear(GL_COLOR_BUFFER_BIT);
+ glEnable(GL_SCISSOR_TEST);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
const Vector< sp<LayerBase> >& layers(mVisibleLayersSortedByZ);
diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h
index 3284fdba999a..ea5bfa718f32 100644
--- a/services/surfaceflinger/SurfaceFlinger.h
+++ b/services/surfaceflinger/SurfaceFlinger.h
@@ -46,7 +46,6 @@ namespace android {
class Client;
class DisplayHardware;
-class FreezeLock;
class Layer;
class LayerDim;
class LayerScreenshot;
@@ -169,9 +168,7 @@ public:
virtual sp<IMemoryHeap> getCblk() const;
virtual void bootFinished();
virtual void setTransactionState(const Vector<ComposerState>& state,
- int orientation);
- virtual status_t freezeDisplay(DisplayID dpy, uint32_t flags);
- virtual status_t unfreezeDisplay(DisplayID dpy, uint32_t flags);
+ int orientation, uint32_t flags);
virtual int setOrientation(DisplayID dpy, int orientation, uint32_t flags);
virtual bool authenticateSurfaceTexture(const sp<ISurfaceTexture>& surface) const;
@@ -269,12 +266,10 @@ private:
struct State {
State() {
orientation = ISurfaceComposer::eOrientationDefault;
- freezeDisplay = 0;
}
LayerVector layersSortedByZ;
uint8_t orientation;
uint8_t orientationFlags;
- uint8_t freezeDisplay;
};
virtual bool threadLoop();
@@ -336,20 +331,6 @@ private:
status_t renderScreenToTextureLocked(DisplayID dpy,
GLuint* textureName, GLfloat* uOut, GLfloat* vOut);
- friend class FreezeLock;
- sp<FreezeLock> getFreezeLock() const;
- inline void incFreezeCount() {
- if (mFreezeCount == 0)
- mFreezeDisplayTime = 0;
- mFreezeCount++;
- }
- inline void decFreezeCount() { if (mFreezeCount > 0) mFreezeCount--; }
- inline bool hasFreezeRequest() const { return mFreezeDisplay; }
- inline bool isFrozen() const {
- return (mFreezeDisplay || mFreezeCount>0) && mBootFinished;
- }
-
-
void debugFlashRegions();
void debugShowFPS() const;
void drawWormhole() const;
@@ -363,7 +344,7 @@ private:
volatile int32_t mTransactionFlags;
Condition mTransactionCV;
SortedVector< sp<LayerBase> > mLayerPurgatory;
- bool mResizeTransationPending;
+ bool mTransationPending;
// protected by mStateLock (but we could use another lock)
GraphicPlane mGraphicPlanes[1];
@@ -390,10 +371,7 @@ private:
Region mWormholeRegion;
bool mVisibleRegionsDirty;
bool mHwWorkListDirty;
- bool mFreezeDisplay;
int32_t mElectronBeamAnimationMode;
- int32_t mFreezeCount;
- nsecs_t mFreezeDisplayTime;
Vector< sp<LayerBase> > mVisibleLayersSortedByZ;
@@ -429,20 +407,6 @@ private:
};
// ---------------------------------------------------------------------------
-
-class FreezeLock : public LightRefBase<FreezeLock> {
- SurfaceFlinger* mFlinger;
-public:
- FreezeLock(SurfaceFlinger* flinger)
- : mFlinger(flinger) {
- mFlinger->incFreezeCount();
- }
- ~FreezeLock() {
- mFlinger->decFreezeCount();
- }
-};
-
-// ---------------------------------------------------------------------------
}; // namespace android
#endif // ANDROID_SURFACE_FLINGER_H
diff --git a/services/surfaceflinger/tests/Android.mk b/services/surfaceflinger/tests/Android.mk
index 5053e7d64389..b655648a8e7f 100644
--- a/services/surfaceflinger/tests/Android.mk
+++ b/services/surfaceflinger/tests/Android.mk
@@ -1 +1,40 @@
-include $(call all-subdir-makefiles)
+# Build the unit tests,
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := SurfaceFlinger_test
+
+LOCAL_MODULE_TAGS := tests
+
+LOCAL_SRC_FILES := \
+ Transaction_test.cpp \
+
+LOCAL_SHARED_LIBRARIES := \
+ libEGL \
+ libGLESv2 \
+ libandroid \
+ libbinder \
+ libcutils \
+ libgui \
+ libstlport \
+ libui \
+ libutils \
+
+LOCAL_C_INCLUDES := \
+ bionic \
+ bionic/libstdc++/include \
+ external/gtest/include \
+ external/stlport/stlport \
+
+# Build the binary to $(TARGET_OUT_DATA_NATIVE_TESTS)/$(LOCAL_MODULE)
+# to integrate with auto-test framework.
+include $(BUILD_NATIVE_TEST)
+
+# Include subdirectory makefiles
+# ============================================================
+
+# If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework
+# team really wants is to build the stuff defined by this makefile.
+ifeq (,$(ONE_SHOT_MAKEFILE))
+include $(call first-makefiles-under,$(LOCAL_PATH))
+endif
diff --git a/services/surfaceflinger/tests/Transaction_test.cpp b/services/surfaceflinger/tests/Transaction_test.cpp
new file mode 100644
index 000000000000..afafd8ac3572
--- /dev/null
+++ b/services/surfaceflinger/tests/Transaction_test.cpp
@@ -0,0 +1,236 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <gtest/gtest.h>
+
+#include <binder/IMemory.h>
+#include <surfaceflinger/ISurfaceComposer.h>
+#include <surfaceflinger/Surface.h>
+#include <surfaceflinger/SurfaceComposerClient.h>
+#include <utils/String8.h>
+
+namespace android {
+
+// Fill an RGBA_8888 formatted surface with a single color.
+static void fillSurfaceRGBA8(const sp<SurfaceControl>& sc,
+ uint8_t r, uint8_t g, uint8_t b) {
+ Surface::SurfaceInfo info;
+ sp<Surface> s = sc->getSurface();
+ ASSERT_TRUE(s != NULL);
+ ASSERT_EQ(NO_ERROR, s->lock(&info));
+ uint8_t* img = reinterpret_cast<uint8_t*>(info.bits);
+ for (uint32_t y = 0; y < info.h; y++) {
+ for (uint32_t x = 0; x < info.w; x++) {
+ uint8_t* pixel = img + (4 * (y*info.s + x));
+ pixel[0] = r;
+ pixel[1] = g;
+ pixel[2] = b;
+ pixel[3] = 255;
+ }
+ }
+ ASSERT_EQ(NO_ERROR, s->unlockAndPost());
+}
+
+// A ScreenCapture is a screenshot from SurfaceFlinger that can be used to check
+// individual pixel values for testing purposes.
+class ScreenCapture : public RefBase {
+public:
+ static void captureScreen(sp<ScreenCapture>* sc) {
+ sp<IMemoryHeap> heap;
+ uint32_t w=0, h=0;
+ PixelFormat fmt=0;
+ sp<ISurfaceComposer> sf(ComposerService::getComposerService());
+ ASSERT_EQ(NO_ERROR, sf->captureScreen(0, &heap, &w, &h, &fmt, 0, 0,
+ 0, INT_MAX));
+ ASSERT_TRUE(heap != NULL);
+ ASSERT_EQ(PIXEL_FORMAT_RGBA_8888, fmt);
+ *sc = new ScreenCapture(w, h, heap);
+ }
+
+ void checkPixel(uint32_t x, uint32_t y, uint8_t r, uint8_t g, uint8_t b) {
+ const uint8_t* img = reinterpret_cast<const uint8_t*>(mHeap->base());
+ const uint8_t* pixel = img + (4 * (y*mWidth + x));
+ if (r != pixel[0] || g != pixel[1] || b != pixel[2]) {
+ String8 err(String8::format("pixel @ (%3d, %3d): "
+ "expected [%3d, %3d, %3d], got [%3d, %3d, %3d]",
+ x, y, r, g, b, pixel[0], pixel[1], pixel[2]));
+ EXPECT_EQ(String8(), err);
+ }
+ }
+
+private:
+ ScreenCapture(uint32_t w, uint32_t h, const sp<IMemoryHeap>& heap) :
+ mWidth(w),
+ mHeight(h),
+ mHeap(heap)
+ {}
+
+ const uint32_t mWidth;
+ const uint32_t mHeight;
+ sp<IMemoryHeap> mHeap;
+};
+
+class LayerUpdateTest : public ::testing::Test {
+protected:
+ virtual void SetUp() {
+ mComposerClient = new SurfaceComposerClient;
+ ASSERT_EQ(NO_ERROR, mComposerClient->initCheck());
+
+ ssize_t displayWidth = mComposerClient->getDisplayWidth(0);
+ ssize_t displayHeight = mComposerClient->getDisplayHeight(0);
+
+ // Background surface
+ mBGSurfaceControl = mComposerClient->createSurface(
+ String8("BG Test Surface"), 0, displayWidth, displayHeight,
+ PIXEL_FORMAT_RGBA_8888, 0);
+ ASSERT_TRUE(mBGSurfaceControl != NULL);
+ ASSERT_TRUE(mBGSurfaceControl->isValid());
+ fillSurfaceRGBA8(mBGSurfaceControl, 63, 63, 195);
+
+ // Foreground surface
+ mFGSurfaceControl = mComposerClient->createSurface(
+ String8("FG Test Surface"), 0, 64, 64, PIXEL_FORMAT_RGBA_8888, 0);
+ ASSERT_TRUE(mFGSurfaceControl != NULL);
+ ASSERT_TRUE(mFGSurfaceControl->isValid());
+
+ fillSurfaceRGBA8(mFGSurfaceControl, 195, 63, 63);
+
+ // Synchronization surface
+ mSyncSurfaceControl = mComposerClient->createSurface(
+ String8("Sync Test Surface"), 0, 1, 1, PIXEL_FORMAT_RGBA_8888, 0);
+ ASSERT_TRUE(mSyncSurfaceControl != NULL);
+ ASSERT_TRUE(mSyncSurfaceControl->isValid());
+
+ fillSurfaceRGBA8(mSyncSurfaceControl, 31, 31, 31);
+
+ SurfaceComposerClient::openGlobalTransaction();
+
+ ASSERT_EQ(NO_ERROR, mBGSurfaceControl->setLayer(INT_MAX-2));
+ ASSERT_EQ(NO_ERROR, mBGSurfaceControl->show());
+
+ ASSERT_EQ(NO_ERROR, mFGSurfaceControl->setLayer(INT_MAX-1));
+ ASSERT_EQ(NO_ERROR, mFGSurfaceControl->setPosition(64, 64));
+ ASSERT_EQ(NO_ERROR, mFGSurfaceControl->show());
+
+ ASSERT_EQ(NO_ERROR, mSyncSurfaceControl->setLayer(INT_MAX-1));
+ ASSERT_EQ(NO_ERROR, mSyncSurfaceControl->setPosition(displayWidth-2,
+ displayHeight-2));
+ ASSERT_EQ(NO_ERROR, mSyncSurfaceControl->show());
+
+ SurfaceComposerClient::closeGlobalTransaction(true);
+ }
+
+ virtual void TearDown() {
+ mComposerClient->dispose();
+ mBGSurfaceControl = 0;
+ mFGSurfaceControl = 0;
+ mSyncSurfaceControl = 0;
+ mComposerClient = 0;
+ }
+
+ void waitForPostedBuffers() {
+ // Since the sync surface is in synchronous mode (i.e. double buffered)
+ // posting three buffers to it should ensure that at least two
+ // SurfaceFlinger::handlePageFlip calls have been made, which should
+ // guaranteed that a buffer posted to another Surface has been retired.
+ fillSurfaceRGBA8(mSyncSurfaceControl, 31, 31, 31);
+ fillSurfaceRGBA8(mSyncSurfaceControl, 31, 31, 31);
+ fillSurfaceRGBA8(mSyncSurfaceControl, 31, 31, 31);
+ }
+
+ sp<SurfaceComposerClient> mComposerClient;
+ sp<SurfaceControl> mBGSurfaceControl;
+ sp<SurfaceControl> mFGSurfaceControl;
+
+ // This surface is used to ensure that the buffers posted to
+ // mFGSurfaceControl have been picked up by SurfaceFlinger.
+ sp<SurfaceControl> mSyncSurfaceControl;
+};
+
+TEST_F(LayerUpdateTest, LayerMoveWorks) {
+ sp<ScreenCapture> sc;
+ {
+ SCOPED_TRACE("before move");
+ ScreenCapture::captureScreen(&sc);
+ sc->checkPixel( 0, 12, 63, 63, 195);
+ sc->checkPixel( 75, 75, 195, 63, 63);
+ sc->checkPixel(145, 145, 63, 63, 195);
+ }
+
+ SurfaceComposerClient::openGlobalTransaction();
+ ASSERT_EQ(NO_ERROR, mFGSurfaceControl->setPosition(128, 128));
+ SurfaceComposerClient::closeGlobalTransaction(true);
+ {
+ // This should reflect the new position, but not the new color.
+ SCOPED_TRACE("after move, before redraw");
+ ScreenCapture::captureScreen(&sc);
+ sc->checkPixel( 24, 24, 63, 63, 195);
+ sc->checkPixel( 75, 75, 63, 63, 195);
+ sc->checkPixel(145, 145, 195, 63, 63);
+ }
+
+ fillSurfaceRGBA8(mFGSurfaceControl, 63, 195, 63);
+ waitForPostedBuffers();
+ {
+ // This should reflect the new position and the new color.
+ SCOPED_TRACE("after redraw");
+ ScreenCapture::captureScreen(&sc);
+ sc->checkPixel( 24, 24, 63, 63, 195);
+ sc->checkPixel( 75, 75, 63, 63, 195);
+ sc->checkPixel(145, 145, 63, 195, 63);
+ }
+}
+
+TEST_F(LayerUpdateTest, LayerResizeWorks) {
+ sp<ScreenCapture> sc;
+ {
+ SCOPED_TRACE("before resize");
+ ScreenCapture::captureScreen(&sc);
+ sc->checkPixel( 0, 12, 63, 63, 195);
+ sc->checkPixel( 75, 75, 195, 63, 63);
+ sc->checkPixel(145, 145, 63, 63, 195);
+ }
+
+ LOGD("resizing");
+ SurfaceComposerClient::openGlobalTransaction();
+ ASSERT_EQ(NO_ERROR, mFGSurfaceControl->setSize(128, 128));
+ SurfaceComposerClient::closeGlobalTransaction(true);
+ LOGD("resized");
+ {
+ // This should not reflect the new size or color because SurfaceFlinger
+ // has not yet received a buffer of the correct size.
+ SCOPED_TRACE("after resize, before redraw");
+ ScreenCapture::captureScreen(&sc);
+ sc->checkPixel( 0, 12, 63, 63, 195);
+ sc->checkPixel( 75, 75, 195, 63, 63);
+ sc->checkPixel(145, 145, 63, 63, 195);
+ }
+
+ LOGD("drawing");
+ fillSurfaceRGBA8(mFGSurfaceControl, 63, 195, 63);
+ waitForPostedBuffers();
+ LOGD("drawn");
+ {
+ // This should reflect the new size and the new color.
+ SCOPED_TRACE("after redraw");
+ ScreenCapture::captureScreen(&sc);
+ sc->checkPixel( 24, 24, 63, 63, 195);
+ sc->checkPixel( 75, 75, 63, 195, 63);
+ sc->checkPixel(145, 145, 63, 195, 63);
+ }
+}
+
+}
diff --git a/telephony/java/com/android/internal/telephony/CommandsInterface.java b/telephony/java/com/android/internal/telephony/CommandsInterface.java
index 33eed389b615..33ead75e8008 100644
--- a/telephony/java/com/android/internal/telephony/CommandsInterface.java
+++ b/telephony/java/com/android/internal/telephony/CommandsInterface.java
@@ -157,6 +157,8 @@ public interface CommandsInterface {
// GSM SMS fail cause for acknowledgeLastIncomingSMS. From TS 23.040, 9.2.3.22.
static final int GSM_SMS_FAIL_CAUSE_MEMORY_CAPACITY_EXCEEDED = 0xD3;
+ static final int GSM_SMS_FAIL_CAUSE_USIM_APP_TOOLKIT_BUSY = 0xD4;
+ static final int GSM_SMS_FAIL_CAUSE_USIM_DATA_DOWNLOAD_ERROR = 0xD5;
static final int GSM_SMS_FAIL_CAUSE_UNSPECIFIED_ERROR = 0xFF;
// CDMA SMS fail cause for acknowledgeLastIncomingCdmaSms. From TS N.S0005, 6.5.2.125.
@@ -292,7 +294,7 @@ public interface CommandsInterface {
void setOnNewGsmBroadcastSms(Handler h, int what, Object obj);
void unSetOnNewGsmBroadcastSms(Handler h);
- /**
+ /**
* Register for NEW_SMS_ON_SIM unsolicited message
*
* AsyncResult.result is an int array containing the index of new SMS
@@ -1116,9 +1118,20 @@ public interface CommandsInterface {
void acknowledgeLastIncomingCdmaSms(boolean success, int cause, Message response);
/**
+ * Acknowledge successful or failed receipt of last incoming SMS,
+ * including acknowledgement TPDU to send as the RP-User-Data element
+ * of the RP-ACK or RP-ERROR PDU.
+ *
+ * @param success true to send RP-ACK, false to send RP-ERROR
+ * @param ackPdu the acknowledgement TPDU in hexadecimal format
+ * @param response sent when operation completes.
+ */
+ void acknowledgeIncomingGsmSmsWithPdu(boolean success, String ackPdu, Message response);
+
+ /**
* parameters equivalent to 27.007 AT+CRSM command
* response.obj will be an AsyncResult
- * response.obj.userObj will be a IccIoResult on success
+ * response.obj.result will be an IccIoResult on success
*/
void iccIO (int command, int fileid, String path, int p1, int p2, int p3,
String data, String pin2, Message response);
@@ -1386,6 +1399,22 @@ public interface CommandsInterface {
public void sendEnvelope(String contents, Message response);
/**
+ * Send ENVELOPE to the SIM, such as an SMS-PP data download envelope
+ * for a SIM data download message. This method has one difference
+ * from {@link #sendEnvelope}: The SW1 and SW2 status bytes from the UICC response
+ * are returned along with the response data.
+ *
+ * response.obj will be an AsyncResult
+ * response.obj.result will be an IccIoResult on success
+ *
+ * @param contents String containing SAT/USAT response in hexadecimal
+ * format starting with command tag. See TS 102 223 for
+ * details.
+ * @param response Callback message
+ */
+ public void sendEnvelopeWithStatus(String contents, Message response);
+
+ /**
* Accept or reject the call setup request from SIM.
*
* @param accept true if the call is to be accepted, false otherwise.
diff --git a/telephony/java/com/android/internal/telephony/IccIoResult.java b/telephony/java/com/android/internal/telephony/IccIoResult.java
index a6e0ec365bb3..7043da53f0e0 100644
--- a/telephony/java/com/android/internal/telephony/IccIoResult.java
+++ b/telephony/java/com/android/internal/telephony/IccIoResult.java
@@ -21,8 +21,8 @@ package com.android.internal.telephony;
*/
public class
IccIoResult {
- int sw1;
- int sw2;
+ public int sw1;
+ public int sw2;
public byte[] payload;
diff --git a/telephony/java/com/android/internal/telephony/IccProvider.java b/telephony/java/com/android/internal/telephony/IccProvider.java
index 3471ec2885af..a66e19d15231 100644
--- a/telephony/java/com/android/internal/telephony/IccProvider.java
+++ b/telephony/java/com/android/internal/telephony/IccProvider.java
@@ -19,166 +19,20 @@ package com.android.internal.telephony;
import android.content.ContentProvider;
import android.content.UriMatcher;
import android.content.ContentValues;
-import android.database.AbstractCursor;
import android.database.Cursor;
-import android.database.CursorWindow;
+import android.database.MatrixCursor;
import android.net.Uri;
-import android.os.SystemProperties;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.text.TextUtils;
import android.util.Log;
-import java.util.ArrayList;
import java.util.List;
import com.android.internal.telephony.IccConstants;
import com.android.internal.telephony.AdnRecord;
import com.android.internal.telephony.IIccPhoneBook;
-/**
- * XXX old code -- should be replaced with MatrixCursor.
- * @deprecated This is has been replaced by MatrixCursor.
-*/
-class ArrayListCursor extends AbstractCursor {
- private String[] mColumnNames;
- private ArrayList<Object>[] mRows;
-
- @SuppressWarnings({"unchecked"})
- public ArrayListCursor(String[] columnNames, ArrayList<ArrayList> rows) {
- int colCount = columnNames.length;
- boolean foundID = false;
- // Add an _id column if not in columnNames
- for (int i = 0; i < colCount; ++i) {
- if (columnNames[i].compareToIgnoreCase("_id") == 0) {
- mColumnNames = columnNames;
- foundID = true;
- break;
- }
- }
-
- if (!foundID) {
- mColumnNames = new String[colCount + 1];
- System.arraycopy(columnNames, 0, mColumnNames, 0, columnNames.length);
- mColumnNames[colCount] = "_id";
- }
-
- int rowCount = rows.size();
- mRows = new ArrayList[rowCount];
-
- for (int i = 0; i < rowCount; ++i) {
- mRows[i] = rows.get(i);
- if (!foundID) {
- mRows[i].add(i);
- }
- }
- }
-
- @Override
- public void fillWindow(int position, CursorWindow window) {
- if (position < 0 || position > getCount()) {
- return;
- }
-
- window.acquireReference();
- try {
- int oldpos = mPos;
- mPos = position - 1;
- window.clear();
- window.setStartPosition(position);
- int columnNum = getColumnCount();
- window.setNumColumns(columnNum);
- while (moveToNext() && window.allocRow()) {
- for (int i = 0; i < columnNum; i++) {
- final Object data = mRows[mPos].get(i);
- if (data != null) {
- if (data instanceof byte[]) {
- byte[] field = (byte[]) data;
- if (!window.putBlob(field, mPos, i)) {
- window.freeLastRow();
- break;
- }
- } else {
- String field = data.toString();
- if (!window.putString(field, mPos, i)) {
- window.freeLastRow();
- break;
- }
- }
- } else {
- if (!window.putNull(mPos, i)) {
- window.freeLastRow();
- break;
- }
- }
- }
- }
-
- mPos = oldpos;
- } catch (IllegalStateException e){
- // simply ignore it
- } finally {
- window.releaseReference();
- }
- }
-
- @Override
- public int getCount() {
- return mRows.length;
- }
-
- @Override
- public String[] getColumnNames() {
- return mColumnNames;
- }
-
- @Override
- public byte[] getBlob(int columnIndex) {
- return (byte[]) mRows[mPos].get(columnIndex);
- }
-
- @Override
- public String getString(int columnIndex) {
- Object cell = mRows[mPos].get(columnIndex);
- return (cell == null) ? null : cell.toString();
- }
-
- @Override
- public short getShort(int columnIndex) {
- Number num = (Number) mRows[mPos].get(columnIndex);
- return num.shortValue();
- }
-
- @Override
- public int getInt(int columnIndex) {
- Number num = (Number) mRows[mPos].get(columnIndex);
- return num.intValue();
- }
-
- @Override
- public long getLong(int columnIndex) {
- Number num = (Number) mRows[mPos].get(columnIndex);
- return num.longValue();
- }
-
- @Override
- public float getFloat(int columnIndex) {
- Number num = (Number) mRows[mPos].get(columnIndex);
- return num.floatValue();
- }
-
- @Override
- public double getDouble(int columnIndex) {
- Number num = (Number) mRows[mPos].get(columnIndex);
- return num.doubleValue();
- }
-
- @Override
- public boolean isNull(int columnIndex) {
- return mRows[mPos].get(columnIndex) == null;
- }
-}
-
/**
* {@hide}
@@ -191,7 +45,8 @@ public class IccProvider extends ContentProvider {
private static final String[] ADDRESS_BOOK_COLUMN_NAMES = new String[] {
"name",
"number",
- "emails"
+ "emails",
+ "_id"
};
private static final int ADN = 1;
@@ -213,70 +68,27 @@ public class IccProvider extends ContentProvider {
}
- private boolean mSimulator;
-
@Override
public boolean onCreate() {
- String device = SystemProperties.get("ro.product.device");
- if (!TextUtils.isEmpty(device)) {
- mSimulator = false;
- } else {
- // simulator
- mSimulator = true;
- }
-
return true;
}
@Override
public Cursor query(Uri url, String[] projection, String selection,
String[] selectionArgs, String sort) {
- ArrayList<ArrayList> results;
-
- if (!mSimulator) {
- switch (URL_MATCHER.match(url)) {
- case ADN:
- results = loadFromEf(IccConstants.EF_ADN);
- break;
+ switch (URL_MATCHER.match(url)) {
+ case ADN:
+ return loadFromEf(IccConstants.EF_ADN);
- case FDN:
- results = loadFromEf(IccConstants.EF_FDN);
- break;
+ case FDN:
+ return loadFromEf(IccConstants.EF_FDN);
- case SDN:
- results = loadFromEf(IccConstants.EF_SDN);
- break;
+ case SDN:
+ return loadFromEf(IccConstants.EF_SDN);
- default:
- throw new IllegalArgumentException("Unknown URL " + url);
- }
- } else {
- // Fake up some data for the simulator
- results = new ArrayList<ArrayList>(4);
- ArrayList<String> contact;
-
- contact = new ArrayList<String>();
- contact.add("Ron Stevens/H");
- contact.add("512-555-5038");
- results.add(contact);
-
- contact = new ArrayList<String>();
- contact.add("Ron Stevens/M");
- contact.add("512-555-8305");
- results.add(contact);
-
- contact = new ArrayList<String>();
- contact.add("Melissa Owens");
- contact.add("512-555-8305");
- results.add(contact);
-
- contact = new ArrayList<String>();
- contact.add("Directory Assistence");
- contact.add("411");
- results.add(contact);
+ default:
+ throw new IllegalArgumentException("Unknown URL " + url);
}
-
- return new ArrayListCursor(ADDRESS_BOOK_COLUMN_NAMES, results);
}
@Override
@@ -473,12 +285,10 @@ public class IccProvider extends ContentProvider {
return 1;
}
- private ArrayList<ArrayList> loadFromEf(int efType) {
- ArrayList<ArrayList> results = new ArrayList<ArrayList>();
- List<AdnRecord> adnRecords = null;
-
+ private MatrixCursor loadFromEf(int efType) {
if (DBG) log("loadFromEf: efType=" + efType);
+ List<AdnRecord> adnRecords = null;
try {
IIccPhoneBook iccIpb = IIccPhoneBook.Stub.asInterface(
ServiceManager.getService("simphonebook"));
@@ -490,21 +300,21 @@ public class IccProvider extends ContentProvider {
} catch (SecurityException ex) {
if (DBG) log(ex.toString());
}
+
if (adnRecords != null) {
// Load the results
-
- int N = adnRecords.size();
+ final int N = adnRecords.size();
+ final MatrixCursor cursor = new MatrixCursor(ADDRESS_BOOK_COLUMN_NAMES, N);
if (DBG) log("adnRecords.size=" + N);
for (int i = 0; i < N ; i++) {
- loadRecord(adnRecords.get(i), results);
+ loadRecord(adnRecords.get(i), cursor, i);
}
+ return cursor;
} else {
// No results to load
Log.w(TAG, "Cannot load ADN records");
- results.clear();
+ return new MatrixCursor(ADDRESS_BOOK_COLUMN_NAMES);
}
- if (DBG) log("loadFromEf: return results");
- return results;
}
private boolean
@@ -584,35 +394,33 @@ public class IccProvider extends ContentProvider {
}
/**
- * Loads an AdnRecord into an ArrayList. Must be called with mLock held.
+ * Loads an AdnRecord into a MatrixCursor. Must be called with mLock held.
*
* @param record the ADN record to load from
- * @param results the array list to put the results in
+ * @param cursor the cursor to receive the results
*/
- private void loadRecord(AdnRecord record,
- ArrayList<ArrayList> results) {
+ private void loadRecord(AdnRecord record, MatrixCursor cursor, int id) {
if (!record.isEmpty()) {
- ArrayList<String> contact = new ArrayList<String>();
+ Object[] contact = new Object[4];
String alphaTag = record.getAlphaTag();
String number = record.getNumber();
- String[] emails = record.getEmails();
if (DBG) log("loadRecord: " + alphaTag + ", " + number + ",");
- contact.add(alphaTag);
- contact.add(number);
- StringBuilder emailString = new StringBuilder();
+ contact[0] = alphaTag;
+ contact[1] = number;
+ String[] emails = record.getEmails();
if (emails != null) {
+ StringBuilder emailString = new StringBuilder();
for (String email: emails) {
if (DBG) log("Adding email:" + email);
emailString.append(email);
emailString.append(",");
}
- contact.add(emailString.toString());
- } else {
- contact.add(null);
+ contact[2] = emailString.toString();
}
- results.add(contact);
+ contact[3] = id;
+ cursor.addRow(contact);
}
}
diff --git a/telephony/java/com/android/internal/telephony/IccRecords.java b/telephony/java/com/android/internal/telephony/IccRecords.java
index 84bfc40685cf..fc011c0b8668 100644
--- a/telephony/java/com/android/internal/telephony/IccRecords.java
+++ b/telephony/java/com/android/internal/telephony/IccRecords.java
@@ -22,6 +22,7 @@ import android.os.Message;
import android.os.Registrant;
import android.os.RegistrantList;
+import com.android.internal.telephony.gsm.UsimServiceTable;
import com.android.internal.telephony.ims.IsimRecords;
/**
@@ -57,7 +58,6 @@ public abstract class IccRecords extends Handler implements IccConstants {
protected int mailboxIndex = 0; // 0 is no mailbox dailing number associated
protected String spn;
- protected int spnDisplayCondition;
// ***** Constants
@@ -363,4 +363,8 @@ public abstract class IccRecords extends Handler implements IccConstants {
public IsimRecords getIsimRecords() {
return null;
}
+
+ public UsimServiceTable getUsimServiceTable() {
+ return null;
+ }
}
diff --git a/telephony/java/com/android/internal/telephony/IccServiceTable.java b/telephony/java/com/android/internal/telephony/IccServiceTable.java
new file mode 100644
index 000000000000..ed74a1175b6b
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/IccServiceTable.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telephony;
+
+import android.util.Log;
+
+/**
+ * Wrapper class for an ICC EF containing a bit field of enabled services.
+ */
+public abstract class IccServiceTable {
+ protected final byte[] mServiceTable;
+
+ protected IccServiceTable(byte[] table) {
+ mServiceTable = table;
+ }
+
+ // Get the class name to use for log strings
+ protected abstract String getTag();
+
+ // Get the array of enums to use for toString
+ protected abstract Object[] getValues();
+
+ /**
+ * Returns if the specified service is available.
+ * @param service the service number as a zero-based offset (the enum ordinal)
+ * @return true if the service is available; false otherwise
+ */
+ protected boolean isAvailable(int service) {
+ int offset = service / 8;
+ if (offset >= mServiceTable.length) {
+ // Note: Enums are zero-based, but the TS service numbering is one-based
+ Log.e(getTag(), "isAvailable for service " + (service + 1) + " fails, max service is " +
+ (mServiceTable.length * 8));
+ return false;
+ }
+ int bit = service % 8;
+ return (mServiceTable[offset] & (1 << bit)) != 0;
+ }
+
+ public String toString() {
+ Object[] values = getValues();
+ int numBytes = mServiceTable.length;
+ StringBuilder builder = new StringBuilder(getTag()).append('[')
+ .append(numBytes * 8).append("]={ ");
+
+ boolean addComma = false;
+ for (int i = 0; i < numBytes; i++) {
+ byte currentByte = mServiceTable[i];
+ for (int bit = 0; bit < 8; bit++) {
+ if ((currentByte & (1 << bit)) != 0) {
+ if (addComma) {
+ builder.append(", ");
+ } else {
+ addComma = true;
+ }
+ int ordinal = (i * 8) + bit;
+ if (ordinal < values.length) {
+ builder.append(values[ordinal]);
+ } else {
+ builder.append('#').append(ordinal + 1); // service number (one-based)
+ }
+ }
+ }
+ }
+ return builder.append(" }").toString();
+ }
+}
diff --git a/telephony/java/com/android/internal/telephony/Phone.java b/telephony/java/com/android/internal/telephony/Phone.java
index ca04eb2daa95..9d189c1ad0b1 100644
--- a/telephony/java/com/android/internal/telephony/Phone.java
+++ b/telephony/java/com/android/internal/telephony/Phone.java
@@ -28,6 +28,7 @@ import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import com.android.internal.telephony.DataConnection;
+import com.android.internal.telephony.gsm.UsimServiceTable;
import com.android.internal.telephony.ims.IsimRecords;
import com.android.internal.telephony.test.SimulatedRadioControl;
@@ -1765,4 +1766,10 @@ public interface Phone {
* messages are waiting
*/
void setVoiceMessageWaiting(int line, int countWaiting);
+
+ /**
+ * Gets the USIM service table from the UICC, if present and available.
+ * @return an interface to the UsimServiceTable record, or null if not available
+ */
+ UsimServiceTable getUsimServiceTable();
}
diff --git a/telephony/java/com/android/internal/telephony/PhoneBase.java b/telephony/java/com/android/internal/telephony/PhoneBase.java
index 10121dd76a37..94f7a133578c 100644
--- a/telephony/java/com/android/internal/telephony/PhoneBase.java
+++ b/telephony/java/com/android/internal/telephony/PhoneBase.java
@@ -37,6 +37,7 @@ import android.text.TextUtils;
import android.util.Log;
import com.android.internal.R;
+import com.android.internal.telephony.gsm.UsimServiceTable;
import com.android.internal.telephony.ims.IsimRecords;
import com.android.internal.telephony.test.SimulatedRadioControl;
import com.android.internal.telephony.gsm.SIMRecords;
@@ -1178,4 +1179,13 @@ public abstract class PhoneBase extends Handler implements Phone {
public void setVoiceMessageWaiting(int line, int countWaiting) {
mIccRecords.setVoiceMessageWaiting(line, countWaiting);
}
+
+ /**
+ * Gets the USIM service table from the UICC, if present and available.
+ * @return an interface to the UsimServiceTable record, or null if not available
+ */
+ @Override
+ public UsimServiceTable getUsimServiceTable() {
+ return mIccRecords.getUsimServiceTable();
+ }
}
diff --git a/telephony/java/com/android/internal/telephony/PhoneProxy.java b/telephony/java/com/android/internal/telephony/PhoneProxy.java
index b497ec8faf43..60f364e8c7d4 100644
--- a/telephony/java/com/android/internal/telephony/PhoneProxy.java
+++ b/telephony/java/com/android/internal/telephony/PhoneProxy.java
@@ -32,6 +32,7 @@ import android.util.Log;
import com.android.internal.telephony.cdma.CDMAPhone;
import com.android.internal.telephony.gsm.GSMPhone;
+import com.android.internal.telephony.gsm.UsimServiceTable;
import com.android.internal.telephony.ims.IsimRecords;
import com.android.internal.telephony.test.SimulatedRadioControl;
@@ -853,4 +854,9 @@ public class PhoneProxy extends Handler implements Phone {
public void setVoiceMessageWaiting(int line, int countWaiting) {
mActivePhone.setVoiceMessageWaiting(line, countWaiting);
}
+
+ @Override
+ public UsimServiceTable getUsimServiceTable() {
+ return mActivePhone.getUsimServiceTable();
+ }
}
diff --git a/telephony/java/com/android/internal/telephony/RIL.java b/telephony/java/com/android/internal/telephony/RIL.java
index 63c22e6d94da..9f93fb8d7c78 100644
--- a/telephony/java/com/android/internal/telephony/RIL.java
+++ b/telephony/java/com/android/internal/telephony/RIL.java
@@ -1407,6 +1407,20 @@ public final class RIL extends BaseCommands implements CommandsInterface {
send(rr);
}
+ public void
+ acknowledgeIncomingGsmSmsWithPdu(boolean success, String ackPdu, Message result) {
+ RILRequest rr
+ = RILRequest.obtain(RIL_REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU, result);
+
+ rr.mp.writeInt(2);
+ rr.mp.writeString(success ? "1" : "0");
+ rr.mp.writeString(ackPdu);
+
+ if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest)
+ + ' ' + success + " [" + ackPdu + ']');
+
+ send(rr);
+ }
public void
iccIO (int command, int fileid, String path, int p1, int p2, int p3,
@@ -1777,6 +1791,20 @@ public final class RIL extends BaseCommands implements CommandsInterface {
/**
* {@inheritDoc}
*/
+ public void sendEnvelopeWithStatus(String contents, Message response) {
+ RILRequest rr = RILRequest.obtain(
+ RILConstants.RIL_REQUEST_STK_SEND_ENVELOPE_WITH_STATUS, response);
+
+ if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest)
+ + '[' + contents + ']');
+
+ rr.mp.writeString(contents);
+ send(rr);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public void handleCallSetupRequestFromSim(
boolean accept, Message response) {
@@ -2245,6 +2273,8 @@ public final class RIL extends BaseCommands implements CommandsInterface {
case RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING: ret = responseVoid(p); break;
case RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE: ret = responseInts(p); break;
case RIL_REQUEST_ISIM_AUTHENTICATION: ret = responseString(p); break;
+ case RIL_REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU: ret = responseVoid(p); break;
+ case RIL_REQUEST_STK_SEND_ENVELOPE_WITH_STATUS: ret = responseICC_IO(p); break;
default:
throw new RuntimeException("Unrecognized solicited response: " + rr.mRequest);
//break;
@@ -2870,7 +2900,7 @@ public final class RIL extends BaseCommands implements CommandsInterface {
private Object
- responseICC_IO(Parcel p) {
+ responseICC_IO(Parcel p) {
int sw1, sw2;
byte data[] = null;
Message ret;
@@ -3112,8 +3142,8 @@ public final class RIL extends BaseCommands implements CommandsInterface {
return ret;
}
- private Object
- responseCellList(Parcel p) {
+ private Object
+ responseCellList(Parcel p) {
int num, rssi;
String location;
ArrayList<NeighboringCellInfo> response;
@@ -3452,6 +3482,8 @@ public final class RIL extends BaseCommands implements CommandsInterface {
case RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING: return "RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING";
case RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE: return "RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE";
case RIL_REQUEST_ISIM_AUTHENTICATION: return "RIL_REQUEST_ISIM_AUTHENTICATION";
+ case RIL_REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU: return "RIL_REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU";
+ case RIL_REQUEST_STK_SEND_ENVELOPE_WITH_STATUS: return "RIL_REQUEST_STK_SEND_ENVELOPE_WITH_STATUS";
default: return "<unknown request>";
}
}
diff --git a/telephony/java/com/android/internal/telephony/RILConstants.java b/telephony/java/com/android/internal/telephony/RILConstants.java
index 7fb7f41ad487..ba9d07a609b9 100644
--- a/telephony/java/com/android/internal/telephony/RILConstants.java
+++ b/telephony/java/com/android/internal/telephony/RILConstants.java
@@ -262,6 +262,8 @@ cat include/telephony/ril.h | \
int RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING = 103;
int RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE = 104;
int RIL_REQUEST_ISIM_AUTHENTICATION = 105;
+ int RIL_REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU = 106;
+ int RIL_REQUEST_STK_SEND_ENVELOPE_WITH_STATUS = 107;
int RIL_UNSOL_RESPONSE_BASE = 1000;
int RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED = 1000;
int RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED = 1001;
diff --git a/telephony/java/com/android/internal/telephony/cat/CatService.java b/telephony/java/com/android/internal/telephony/cat/CatService.java
index fb53686d1afe..542026498eaa 100644
--- a/telephony/java/com/android/internal/telephony/cat/CatService.java
+++ b/telephony/java/com/android/internal/telephony/cat/CatService.java
@@ -34,61 +34,6 @@ import com.android.internal.telephony.IccRecords;
import java.io.ByteArrayOutputStream;
import java.util.Locale;
-/**
- * Enumeration for representing the tag value of COMPREHENSION-TLV objects. If
- * you want to get the actual value, call {@link #value() value} method.
- *
- * {@hide}
- */
-enum ComprehensionTlvTag {
- COMMAND_DETAILS(0x01),
- DEVICE_IDENTITIES(0x02),
- RESULT(0x03),
- DURATION(0x04),
- ALPHA_ID(0x05),
- USSD_STRING(0x0a),
- TEXT_STRING(0x0d),
- TONE(0x0e),
- ITEM(0x0f),
- ITEM_ID(0x10),
- RESPONSE_LENGTH(0x11),
- FILE_LIST(0x12),
- HELP_REQUEST(0x15),
- DEFAULT_TEXT(0x17),
- EVENT_LIST(0x19),
- ICON_ID(0x1e),
- ITEM_ICON_ID_LIST(0x1f),
- IMMEDIATE_RESPONSE(0x2b),
- LANGUAGE(0x2d),
- URL(0x31),
- BROWSER_TERMINATION_CAUSE(0x34),
- TEXT_ATTRIBUTE(0x50);
-
- private int mValue;
-
- ComprehensionTlvTag(int value) {
- mValue = value;
- }
-
- /**
- * Returns the actual value of this COMPREHENSION-TLV object.
- *
- * @return Actual tag value of this object
- */
- public int value() {
- return mValue;
- }
-
- public static ComprehensionTlvTag fromInt(int value) {
- for (ComprehensionTlvTag e : ComprehensionTlvTag.values()) {
- if (e.mValue == value) {
- return e;
- }
- }
- return null;
- }
-}
-
class RilMessage {
int mId;
Object mData;
diff --git a/telephony/java/com/android/internal/telephony/cat/ComprehensionTlvTag.java b/telephony/java/com/android/internal/telephony/cat/ComprehensionTlvTag.java
new file mode 100644
index 000000000000..973dbc8132e2
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/cat/ComprehensionTlvTag.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telephony.cat;
+
+/**
+ * Enumeration for representing the tag value of COMPREHENSION-TLV objects. If
+ * you want to get the actual value, call {@link #value() value} method.
+ *
+ * {@hide}
+ */
+public enum ComprehensionTlvTag {
+ COMMAND_DETAILS(0x01),
+ DEVICE_IDENTITIES(0x02),
+ RESULT(0x03),
+ DURATION(0x04),
+ ALPHA_ID(0x05),
+ ADDRESS(0x06),
+ USSD_STRING(0x0a),
+ SMS_TPDU(0x0b),
+ TEXT_STRING(0x0d),
+ TONE(0x0e),
+ ITEM(0x0f),
+ ITEM_ID(0x10),
+ RESPONSE_LENGTH(0x11),
+ FILE_LIST(0x12),
+ HELP_REQUEST(0x15),
+ DEFAULT_TEXT(0x17),
+ EVENT_LIST(0x19),
+ ICON_ID(0x1e),
+ ITEM_ICON_ID_LIST(0x1f),
+ IMMEDIATE_RESPONSE(0x2b),
+ LANGUAGE(0x2d),
+ URL(0x31),
+ BROWSER_TERMINATION_CAUSE(0x34),
+ TEXT_ATTRIBUTE(0x50);
+
+ private int mValue;
+
+ ComprehensionTlvTag(int value) {
+ mValue = value;
+ }
+
+ /**
+ * Returns the actual value of this COMPREHENSION-TLV object.
+ *
+ * @return Actual tag value of this object
+ */
+ public int value() {
+ return mValue;
+ }
+
+ public static ComprehensionTlvTag fromInt(int value) {
+ for (ComprehensionTlvTag e : ComprehensionTlvTag.values()) {
+ if (e.mValue == value) {
+ return e;
+ }
+ }
+ return null;
+ }
+}
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java
index 57aae5694a2e..3486190f2029 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java
@@ -520,16 +520,6 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker {
return false;
}
- /**
- * Returns OTASP_NOT_NEEDED as its not needed for LTE
- */
- @Override
- int getOtasp() {
- int provisioningState = OTASP_NOT_NEEDED;
- if (DBG) log("getOtasp: state=" + provisioningState);
- return provisioningState;
- }
-
@Override
protected void log(String s) {
Log.d(LOG_TAG, "[CdmaLteSST] " + s);
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaLteUiccRecords.java b/telephony/java/com/android/internal/telephony/cdma/CdmaLteUiccRecords.java
index 47c638f62c1e..0a285b904dfe 100755
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaLteUiccRecords.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaLteUiccRecords.java
@@ -282,6 +282,9 @@ public final class CdmaLteUiccRecords extends SIMRecords {
obtainMessage(EVENT_GET_MSISDN_DONE));
recordsToLoad++;
+ iccFh.loadEFTransparent(EF_SST, obtainMessage(EVENT_GET_SST_DONE));
+ recordsToLoad++;
+
iccFh.loadEFTransparent(EF_CSIM_LI,
obtainMessage(EVENT_GET_ICC_RECORD_DONE, new EfCsimLiLoaded()));
recordsToLoad++;
@@ -384,12 +387,12 @@ public final class CdmaLteUiccRecords extends SIMRecords {
@Override
protected void log(String s) {
- if (DBG) Log.d(LOG_TAG, "[CSIM] " + s);
+ Log.d(LOG_TAG, "[CSIM] " + s);
}
@Override
protected void loge(String s) {
- if (DBG) Log.e(LOG_TAG, "[CSIM] " + s);
+ Log.e(LOG_TAG, "[CSIM] " + s);
}
public String getMdn() {
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
index e1664016c524..aa475e58f998 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
@@ -1025,10 +1025,8 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
* Handles changes to the APN database.
*/
private void onApnChanged() {
- // TODO: How to handle when multiple APNs are active?
-
- ApnContext defaultApnContext = mApnContexts.get(Phone.APN_TYPE_DEFAULT);
- boolean defaultApnIsDisconnected = defaultApnContext.isDisconnected();
+ State overallState = getOverallState();
+ boolean isDisconnected = (overallState == State.IDLE || overallState == State.FAILED);
if (mPhone instanceof GSMPhone) {
// The "current" may no longer be valid. MMS depends on this to send properly. TBD
@@ -1039,8 +1037,8 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
// match the current operator.
if (DBG) log("onApnChanged: createAllApnList and cleanUpAllConnections");
createAllApnList();
- cleanUpAllConnections(!defaultApnIsDisconnected, Phone.REASON_APN_CHANGED);
- if (defaultApnIsDisconnected) {
+ cleanUpAllConnections(!isDisconnected, Phone.REASON_APN_CHANGED);
+ if (isDisconnected) {
setupDataOnReadyApns(Phone.REASON_APN_CHANGED);
}
}
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java b/telephony/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java
index c1553d831c9b..d29e4884cc1d 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java
@@ -25,8 +25,9 @@ import android.os.Message;
import android.os.SystemProperties;
import android.provider.Telephony.Sms;
import android.provider.Telephony.Sms.Intents;
-import android.telephony.ServiceState;
+import android.telephony.PhoneNumberUtils;
import android.telephony.SmsCbMessage;
+import android.telephony.SmsManager;
import android.telephony.gsm.GsmCellLocation;
import android.util.Log;
@@ -41,7 +42,6 @@ import com.android.internal.telephony.SmsStorageMonitor;
import com.android.internal.telephony.SmsUsageMonitor;
import com.android.internal.telephony.TelephonyProperties;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -56,9 +56,16 @@ public final class GsmSMSDispatcher extends SMSDispatcher {
/** New broadcast SMS */
private static final int EVENT_NEW_BROADCAST_SMS = 101;
+ /** Result of writing SM to UICC (when SMS-PP service is not available). */
+ private static final int EVENT_WRITE_SMS_COMPLETE = 102;
+
+ /** Handler for SMS-PP data download messages to UICC. */
+ private final UsimDataDownloadHandler mDataDownloadHandler;
+
public GsmSMSDispatcher(PhoneBase phone, SmsStorageMonitor storageMonitor,
SmsUsageMonitor usageMonitor) {
super(phone, storageMonitor, usageMonitor);
+ mDataDownloadHandler = new UsimDataDownloadHandler(mCm);
mCm.setOnNewGsmSms(this, EVENT_NEW_SMS, null);
mCm.setOnSmsStatus(this, EVENT_NEW_SMS_STATUS_REPORT, null);
mCm.setOnNewGsmBroadcastSms(this, EVENT_NEW_BROADCAST_SMS, null);
@@ -93,6 +100,18 @@ public final class GsmSMSDispatcher extends SMSDispatcher {
handleBroadcastSms((AsyncResult)msg.obj);
break;
+ case EVENT_WRITE_SMS_COMPLETE:
+ AsyncResult ar = (AsyncResult) msg.obj;
+ if (ar.exception == null) {
+ Log.d(TAG, "Successfully wrote SMS-PP message to UICC");
+ mCm.acknowledgeLastIncomingGsmSms(true, 0, null);
+ } else {
+ Log.d(TAG, "Failed to write SMS-PP message to UICC", ar.exception);
+ mCm.acknowledgeLastIncomingGsmSms(false,
+ CommandsInterface.GSM_SMS_FAIL_CAUSE_UNSPECIFIED_ERROR, null);
+ }
+ break;
+
default:
super.handleMessage(msg);
}
@@ -154,6 +173,29 @@ public final class GsmSMSDispatcher extends SMSDispatcher {
return Intents.RESULT_SMS_HANDLED;
}
+ // Send SMS-PP data download messages to UICC. See 3GPP TS 31.111 section 7.1.1.
+ if (sms.isUsimDataDownload()) {
+ UsimServiceTable ust = mPhone.getUsimServiceTable();
+ // If we receive an SMS-PP message before the UsimServiceTable has been loaded,
+ // assume that the data download service is not present. This is very unlikely to
+ // happen because the IMS connection will not be established until after the ISIM
+ // records have been loaded, after the USIM service table has been loaded.
+ if (ust != null && ust.isAvailable(
+ UsimServiceTable.UsimService.DATA_DL_VIA_SMS_PP)) {
+ Log.d(TAG, "Received SMS-PP data download, sending to UICC.");
+ return mDataDownloadHandler.startDataDownload(sms);
+ } else {
+ Log.d(TAG, "DATA_DL_VIA_SMS_PP service not available, storing message to UICC.");
+ String smsc = IccUtils.bytesToHexString(
+ PhoneNumberUtils.networkPortionToCalledPartyBCDWithLength(
+ sms.getServiceCenterAddress()));
+ mCm.writeSmsToSim(SmsManager.STATUS_ON_ICC_UNREAD, smsc,
+ IccUtils.bytesToHexString(sms.getPdu()),
+ obtainMessage(EVENT_WRITE_SMS_COMPLETE));
+ return Activity.RESULT_OK; // acknowledge after response from write to USIM
+ }
+ }
+
if (mSmsReceiveDisabled) {
// Device doesn't support SMS service,
Log.d(TAG, "Received short message on device which doesn't support "
diff --git a/telephony/java/com/android/internal/telephony/gsm/SIMRecords.java b/telephony/java/com/android/internal/telephony/gsm/SIMRecords.java
index 5d6f18113c8d..495b5bc14a27 100755
--- a/telephony/java/com/android/internal/telephony/gsm/SIMRecords.java
+++ b/telephony/java/com/android/internal/telephony/gsm/SIMRecords.java
@@ -91,6 +91,8 @@ public class SIMRecords extends IccRecords {
String pnnHomeName = null;
+ UsimServiceTable mUsimServiceTable;
+
// ***** Constants
// Bitmasks for SPN display rules.
@@ -134,7 +136,7 @@ public class SIMRecords extends IccRecords {
private static final int EVENT_GET_SPDI_DONE = 13;
private static final int EVENT_UPDATE_DONE = 14;
private static final int EVENT_GET_PNN_DONE = 15;
- private static final int EVENT_GET_SST_DONE = 17;
+ protected static final int EVENT_GET_SST_DONE = 17;
private static final int EVENT_GET_ALL_SMS_DONE = 18;
private static final int EVENT_MARK_SMS_READ_DONE = 19;
private static final int EVENT_SET_MBDN_DONE = 20;
@@ -246,6 +248,11 @@ public class SIMRecords extends IccRecords {
return msisdn;
}
+ @Override
+ public UsimServiceTable getUsimServiceTable() {
+ return mUsimServiceTable;
+ }
+
/**
* Set subscriber number to SIM record
*
@@ -961,8 +968,9 @@ public class SIMRecords extends IccRecords {
break;
}
- //Log.d(LOG_TAG, "SST: " + IccUtils.bytesToHexString(data));
- break;
+ mUsimServiceTable = new UsimServiceTable(data);
+ if (DBG) log("SST: " + mUsimServiceTable);
+ break;
case EVENT_GET_INFO_CPHS_DONE:
isRecordLoadResponse = true;
diff --git a/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java b/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
index 2da9642d27e0..677923f44756 100644
--- a/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
+++ b/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
@@ -769,6 +769,14 @@ public class SmsMessage extends SmsMessageBase {
return protocolIdentifier;
}
+ /**
+ * Returns the TP-Data-Coding-Scheme byte, for acknowledgement of SMS-PP download messages.
+ * @return the TP-DCS field of the SMS header
+ */
+ int getDataCodingScheme() {
+ return dataCodingScheme;
+ }
+
/** {@inheritDoc} */
@Override
public boolean isReplace() {
@@ -1129,4 +1137,14 @@ public class SmsMessage extends SmsMessageBase {
return messageClass;
}
+ /**
+ * Returns true if this is a (U)SIM data download type SM.
+ * See 3GPP TS 31.111 section 9.1 and TS 23.040 section 9.2.3.9.
+ *
+ * @return true if this is a USIM data download message; false otherwise
+ */
+ boolean isUsimDataDownload() {
+ return messageClass == MessageClass.CLASS_2 &&
+ (protocolIdentifier == 0x7f || protocolIdentifier == 0x7c);
+ }
}
diff --git a/telephony/java/com/android/internal/telephony/gsm/UsimDataDownloadHandler.java b/telephony/java/com/android/internal/telephony/gsm/UsimDataDownloadHandler.java
new file mode 100644
index 000000000000..f47ff1b03012
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/gsm/UsimDataDownloadHandler.java
@@ -0,0 +1,267 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telephony.gsm;
+
+import android.app.Activity;
+import android.os.AsyncResult;
+import android.os.Handler;
+import android.os.Message;
+import android.provider.Telephony.Sms.Intents;
+import android.util.Log;
+
+import com.android.internal.telephony.CommandsInterface;
+import com.android.internal.telephony.IccIoResult;
+import com.android.internal.telephony.IccUtils;
+import com.android.internal.telephony.cat.ComprehensionTlvTag;
+
+/**
+ * Handler for SMS-PP data download messages.
+ * See 3GPP TS 31.111 section 7.1.1
+ */
+public class UsimDataDownloadHandler extends Handler {
+ private static final String TAG = "UsimDataDownloadHandler";
+
+ /** BER-TLV tag for SMS-PP download. TS 31.111 section 9.1. */
+ private static final int BER_SMS_PP_DOWNLOAD_TAG = 0xd1;
+
+ /** Device identity value for UICC (destination). */
+ private static final int DEV_ID_UICC = 0x81;
+
+ /** Device identity value for network (source). */
+ private static final int DEV_ID_NETWORK = 0x83;
+
+ /** Message containing new SMS-PP message to process. */
+ private static final int EVENT_START_DATA_DOWNLOAD = 1;
+
+ /** Response to SMS-PP download envelope command. */
+ private static final int EVENT_SEND_ENVELOPE_RESPONSE = 2;
+
+ private final CommandsInterface mCI;
+
+ public UsimDataDownloadHandler(CommandsInterface commandsInterface) {
+ mCI = commandsInterface;
+ }
+
+ /**
+ * Start an SMS-PP data download for the specified message. Can be called from a different
+ * thread than this Handler is running on.
+ *
+ * @param smsMessage the message to process
+ * @return Activity.RESULT_OK on success; Intents.RESULT_SMS_GENERIC_ERROR on failure
+ */
+ public int startDataDownload(SmsMessage smsMessage) {
+ if (sendMessage(obtainMessage(EVENT_START_DATA_DOWNLOAD, smsMessage))) {
+ return Activity.RESULT_OK; // we will send SMS ACK/ERROR based on UICC response
+ } else {
+ Log.e(TAG, "startDataDownload failed to send message to start data download.");
+ return Intents.RESULT_SMS_GENERIC_ERROR;
+ }
+ }
+
+ private void handleDataDownload(SmsMessage smsMessage) {
+ int dcs = smsMessage.getDataCodingScheme();
+ int pid = smsMessage.getProtocolIdentifier();
+ byte[] pdu = smsMessage.getPdu(); // includes SC address
+
+ int scAddressLength = pdu[0] & 0xff;
+ int tpduIndex = scAddressLength + 1; // start of TPDU
+ int tpduLength = pdu.length - tpduIndex;
+
+ int bodyLength = getEnvelopeBodyLength(scAddressLength, tpduLength);
+
+ // Add 1 byte for SMS-PP download tag and 1-2 bytes for BER-TLV length.
+ // See ETSI TS 102 223 Annex C for encoding of length and tags.
+ int totalLength = bodyLength + 1 + (bodyLength > 127 ? 2 : 1);
+
+ byte[] envelope = new byte[totalLength];
+ int index = 0;
+
+ // SMS-PP download tag and length (assumed to be < 256 bytes).
+ envelope[index++] = (byte) BER_SMS_PP_DOWNLOAD_TAG;
+ if (bodyLength > 127) {
+ envelope[index++] = (byte) 0x81; // length 128-255 encoded as 0x81 + length
+ }
+ envelope[index++] = (byte) bodyLength;
+
+ // Device identities TLV
+ envelope[index++] = (byte) (0x80 | ComprehensionTlvTag.DEVICE_IDENTITIES.value());
+ envelope[index++] = (byte) 2;
+ envelope[index++] = (byte) DEV_ID_NETWORK;
+ envelope[index++] = (byte) DEV_ID_UICC;
+
+ // Address TLV (if present). Encoded length is assumed to be < 127 bytes.
+ if (scAddressLength != 0) {
+ envelope[index++] = (byte) ComprehensionTlvTag.ADDRESS.value();
+ envelope[index++] = (byte) scAddressLength;
+ System.arraycopy(pdu, 1, envelope, index, scAddressLength);
+ index += scAddressLength;
+ }
+
+ // SMS TPDU TLV. Length is assumed to be < 256 bytes.
+ envelope[index++] = (byte) (0x80 | ComprehensionTlvTag.SMS_TPDU.value());
+ if (tpduLength > 127) {
+ envelope[index++] = (byte) 0x81; // length 128-255 encoded as 0x81 + length
+ }
+ envelope[index++] = (byte) tpduLength;
+ System.arraycopy(pdu, tpduIndex, envelope, index, tpduLength);
+ index += tpduLength;
+
+ // Verify that we calculated the payload size correctly.
+ if (index != envelope.length) {
+ Log.e(TAG, "startDataDownload() calculated incorrect envelope length, aborting.");
+ acknowledgeSmsWithError(CommandsInterface.GSM_SMS_FAIL_CAUSE_UNSPECIFIED_ERROR);
+ return;
+ }
+
+ String encodedEnvelope = IccUtils.bytesToHexString(envelope);
+ mCI.sendEnvelopeWithStatus(encodedEnvelope, obtainMessage(
+ EVENT_SEND_ENVELOPE_RESPONSE, new int[]{ dcs, pid }));
+ }
+
+ /**
+ * Return the size in bytes of the envelope to send to the UICC, excluding the
+ * SMS-PP download tag byte and length byte(s). If the size returned is <= 127,
+ * the BER-TLV length will be encoded in 1 byte, otherwise 2 bytes are required.
+ *
+ * @param scAddressLength the length of the SMSC address, or zero if not present
+ * @param tpduLength the length of the TPDU from the SMS-PP message
+ * @return the number of bytes to allocate for the envelope command
+ */
+ private static int getEnvelopeBodyLength(int scAddressLength, int tpduLength) {
+ // Add 4 bytes for device identities TLV + 1 byte for SMS TPDU tag byte
+ int length = tpduLength + 5;
+ // Add 1 byte for TPDU length, or 2 bytes if length > 127
+ length += (tpduLength > 127 ? 2 : 1);
+ // Add length of address tag, if present (+ 2 bytes for tag and length)
+ if (scAddressLength != 0) {
+ length = length + 2 + scAddressLength;
+ }
+ return length;
+ }
+
+ /**
+ * Handle the response to the ENVELOPE command.
+ * @param response UICC response encoded as hexadecimal digits. First two bytes are the
+ * UICC SW1 and SW2 status bytes.
+ */
+ private void sendSmsAckForEnvelopeResponse(IccIoResult response, int dcs, int pid) {
+ int sw1 = response.sw1;
+ int sw2 = response.sw2;
+
+ boolean success;
+ if ((sw1 == 0x90 && sw2 == 0x00) || sw1 == 0x91) {
+ Log.d(TAG, "USIM data download succeeded: " + response.toString());
+ success = true;
+ } else if (sw1 == 0x93 && sw2 == 0x00) {
+ Log.e(TAG, "USIM data download failed: Toolkit busy");
+ acknowledgeSmsWithError(CommandsInterface.GSM_SMS_FAIL_CAUSE_USIM_APP_TOOLKIT_BUSY);
+ return;
+ } else if (sw1 == 0x62 || sw1 == 0x63) {
+ Log.e(TAG, "USIM data download failed: " + response.toString());
+ success = false;
+ } else {
+ Log.e(TAG, "Unexpected SW1/SW2 response from UICC: " + response.toString());
+ success = false;
+ }
+
+ byte[] responseBytes = response.payload;
+ if (responseBytes == null || responseBytes.length == 0) {
+ if (success) {
+ mCI.acknowledgeLastIncomingGsmSms(true, 0, null);
+ } else {
+ acknowledgeSmsWithError(
+ CommandsInterface.GSM_SMS_FAIL_CAUSE_USIM_DATA_DOWNLOAD_ERROR);
+ }
+ return;
+ }
+
+ byte[] smsAckPdu;
+ int index = 0;
+ if (success) {
+ smsAckPdu = new byte[responseBytes.length + 5];
+ smsAckPdu[index++] = 0x00; // TP-MTI, TP-UDHI
+ smsAckPdu[index++] = 0x07; // TP-PI: TP-PID, TP-DCS, TP-UDL present
+ } else {
+ smsAckPdu = new byte[responseBytes.length + 6];
+ smsAckPdu[index++] = 0x00; // TP-MTI, TP-UDHI
+ smsAckPdu[index++] = (byte)
+ CommandsInterface.GSM_SMS_FAIL_CAUSE_USIM_DATA_DOWNLOAD_ERROR; // TP-FCS
+ smsAckPdu[index++] = 0x07; // TP-PI: TP-PID, TP-DCS, TP-UDL present
+ }
+
+ smsAckPdu[index++] = (byte) pid;
+ smsAckPdu[index++] = (byte) dcs;
+
+ if (is7bitDcs(dcs)) {
+ int septetCount = responseBytes.length * 8 / 7;
+ smsAckPdu[index++] = (byte) septetCount;
+ } else {
+ smsAckPdu[index++] = (byte) responseBytes.length;
+ }
+
+ System.arraycopy(responseBytes, 0, smsAckPdu, index, responseBytes.length);
+
+ mCI.acknowledgeIncomingGsmSmsWithPdu(success,
+ IccUtils.bytesToHexString(smsAckPdu), null);
+ }
+
+ private void acknowledgeSmsWithError(int cause) {
+ mCI.acknowledgeLastIncomingGsmSms(false, cause, null);
+ }
+
+ /**
+ * Returns whether the DCS is 7 bit. If so, set TP-UDL to the septet count of TP-UD;
+ * otherwise, set TP-UDL to the octet count of TP-UD.
+ * @param dcs the TP-Data-Coding-Scheme field from the original download SMS
+ * @return true if the DCS specifies 7 bit encoding; false otherwise
+ */
+ private static boolean is7bitDcs(int dcs) {
+ // See 3GPP TS 23.038 section 4
+ return ((dcs & 0x8C) == 0x00) || ((dcs & 0xF4) == 0xF0);
+ }
+
+ /**
+ * Handle UICC envelope response and send SMS acknowledgement.
+ *
+ * @param msg the message to handle
+ */
+ @Override
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case EVENT_START_DATA_DOWNLOAD:
+ handleDataDownload((SmsMessage) msg.obj);
+ break;
+
+ case EVENT_SEND_ENVELOPE_RESPONSE:
+ AsyncResult ar = (AsyncResult) msg.obj;
+
+ if (ar.exception != null) {
+ Log.e(TAG, "UICC Send Envelope failure, exception: " + ar.exception);
+ acknowledgeSmsWithError(
+ CommandsInterface.GSM_SMS_FAIL_CAUSE_USIM_DATA_DOWNLOAD_ERROR);
+ return;
+ }
+
+ int[] dcsPid = (int[]) ar.userObj;
+ sendSmsAckForEnvelopeResponse((IccIoResult) ar.result, dcsPid[0], dcsPid[1]);
+ break;
+
+ default:
+ Log.e(TAG, "Ignoring unexpected message, what=" + msg.what);
+ }
+ }
+}
diff --git a/telephony/java/com/android/internal/telephony/gsm/UsimServiceTable.java b/telephony/java/com/android/internal/telephony/gsm/UsimServiceTable.java
new file mode 100644
index 000000000000..3fe200bfaa91
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/gsm/UsimServiceTable.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telephony.gsm;
+
+import com.android.internal.telephony.IccServiceTable;
+
+/**
+ * Wrapper class for the USIM Service Table EF.
+ * See 3GPP TS 31.102 Release 10 section 4.2.8
+ */
+public final class UsimServiceTable extends IccServiceTable {
+ public enum UsimService {
+ PHONEBOOK,
+ FDN, // Fixed Dialing Numbers
+ FDN_EXTENSION, // FDN extension data in EF_EXT2
+ SDN, // Service Dialing Numbers
+ SDN_EXTENSION, // SDN extension data in EF_EXT3
+ BDN, // Barred Dialing Numbers
+ BDN_EXTENSION, // BDN extension data in EF_EXT4
+ OUTGOING_CALL_INFO,
+ INCOMING_CALL_INFO,
+ SM_STORAGE,
+ SM_STATUS_REPORTS,
+ SM_SERVICE_PARAMS,
+ ADVICE_OF_CHARGE,
+ CAP_CONFIG_PARAMS_2,
+ CB_MESSAGE_ID,
+ CB_MESSAGE_ID_RANGES,
+ GROUP_ID_LEVEL_1,
+ GROUP_ID_LEVEL_2,
+ SPN, // Service Provider Name
+ USER_PLMN_SELECT,
+ MSISDN,
+ IMAGE,
+ LOCALISED_SERVICE_AREAS,
+ EMLPP, // Enhanced Multi-Level Precedence and Preemption
+ EMLPP_AUTO_ANSWER,
+ RFU,
+ GSM_ACCESS,
+ DATA_DL_VIA_SMS_PP,
+ DATA_DL_VIA_SMS_CB,
+ CALL_CONTROL_BY_USIM,
+ MO_SMS_CONTROL_BY_USIM,
+ RUN_AT_COMMAND,
+ IGNORED_1,
+ ENABLED_SERVICES_TABLE,
+ APN_CONTROL_LIST,
+ DEPERSONALISATION_CONTROL_KEYS,
+ COOPERATIVE_NETWORK_LIST,
+ GSM_SECURITY_CONTEXT,
+ CPBCCH_INFO,
+ INVESTIGATION_SCAN,
+ MEXE,
+ OPERATOR_PLMN_SELECT,
+ HPLMN_SELECT,
+ EXTENSION_5, // Extension data for ICI, OCI, MSISDN in EF_EXT5
+ PLMN_NETWORK_NAME,
+ OPERATOR_PLMN_LIST,
+ MBDN, // Mailbox Dialing Numbers
+ MWI_STATUS, // Message Waiting Indication status
+ CFI_STATUS, // Call Forwarding Indication status
+ IGNORED_2,
+ SERVICE_PROVIDER_DISPLAY_INFO,
+ MMS_NOTIFICATION,
+ MMS_NOTIFICATION_EXTENSION, // MMS Notification extension data in EF_EXT8
+ GPRS_CALL_CONTROL_BY_USIM,
+ MMS_CONNECTIVITY_PARAMS,
+ NETWORK_INDICATION_OF_ALERTING,
+ VGCS_GROUP_ID_LIST,
+ VBS_GROUP_ID_LIST,
+ PSEUDONYM,
+ IWLAN_USER_PLMN_SELECT,
+ IWLAN_OPERATOR_PLMN_SELECT,
+ USER_WSID_LIST,
+ OPERATOR_WSID_LIST,
+ VGCS_SECURITY,
+ VBS_SECURITY,
+ WLAN_REAUTH_IDENTITY,
+ MM_STORAGE,
+ GBA, // Generic Bootstrapping Architecture
+ MBMS_SECURITY,
+ DATA_DL_VIA_USSD,
+ EQUIVALENT_HPLMN,
+ TERMINAL_PROFILE_AFTER_UICC_ACTIVATION,
+ EQUIVALENT_HPLMN_PRESENTATION,
+ LAST_RPLMN_SELECTION_INDICATION,
+ OMA_BCAST_PROFILE,
+ GBA_LOCAL_KEY_ESTABLISHMENT,
+ TERMINAL_APPLICATIONS,
+ SPN_ICON,
+ PLMN_NETWORK_NAME_ICON,
+ USIM_IP_CONNECTION_PARAMS,
+ IWLAN_HOME_ID_LIST,
+ IWLAN_EQUIVALENT_HPLMN_PRESENTATION,
+ IWLAN_HPLMN_PRIORITY_INDICATION,
+ IWLAN_LAST_REGISTERED_PLMN,
+ EPS_MOBILITY_MANAGEMENT_INFO,
+ ALLOWED_CSG_LISTS_AND_INDICATIONS,
+ CALL_CONTROL_ON_EPS_PDN_CONNECTION_BY_USIM,
+ HPLMN_DIRECT_ACCESS,
+ ECALL_DATA,
+ OPERATOR_CSG_LISTS_AND_INDICATIONS,
+ SM_OVER_IP,
+ CSG_DISPLAY_CONTROL,
+ IMS_COMMUNICATION_CONTROL_BY_USIM,
+ EXTENDED_TERMINAL_APPLICATIONS,
+ UICC_ACCESS_TO_IMS,
+ NAS_CONFIG_BY_USIM
+ }
+
+ public UsimServiceTable(byte[] table) {
+ super(table);
+ }
+
+ public boolean isAvailable(UsimService service) {
+ return super.isAvailable(service.ordinal());
+ }
+
+ @Override
+ protected String getTag() {
+ return "UsimServiceTable";
+ }
+
+ @Override
+ protected Object[] getValues() {
+ return UsimService.values();
+ }
+}
diff --git a/telephony/java/com/android/internal/telephony/sip/SipCommandInterface.java b/telephony/java/com/android/internal/telephony/sip/SipCommandInterface.java
index 85ce6e0c0f8d..ab010127f143 100644
--- a/telephony/java/com/android/internal/telephony/sip/SipCommandInterface.java
+++ b/telephony/java/com/android/internal/telephony/sip/SipCommandInterface.java
@@ -206,6 +206,9 @@ class SipCommandInterface extends BaseCommands implements CommandsInterface {
Message result) {
}
+ public void acknowledgeIncomingGsmSmsWithPdu(boolean success, String ackPdu,
+ Message result) {
+ }
public void iccIO (int command, int fileid, String path, int p1, int p2,
int p3, String data, String pin2, Message result) {
@@ -298,6 +301,9 @@ class SipCommandInterface extends BaseCommands implements CommandsInterface {
public void sendEnvelope(String contents, Message response) {
}
+ public void sendEnvelopeWithStatus(String contents, Message response) {
+ }
+
public void handleCallSetupRequestFromSim(
boolean accept, Message response) {
}
diff --git a/telephony/java/com/android/internal/telephony/test/SimulatedCommands.java b/telephony/java/com/android/internal/telephony/test/SimulatedCommands.java
index a2a344fc9d49..a0c7d5d114ae 100644
--- a/telephony/java/com/android/internal/telephony/test/SimulatedCommands.java
+++ b/telephony/java/com/android/internal/telephony/test/SimulatedCommands.java
@@ -810,6 +810,13 @@ public final class SimulatedCommands extends BaseCommands
/**
* {@inheritDoc}
*/
+ public void sendEnvelopeWithStatus(String contents, Message response) {
+ resultSuccess(response, null);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public void handleCallSetupRequestFromSim(
boolean accept, Message response) {
resultSuccess(response, null);
@@ -1037,6 +1044,11 @@ public final class SimulatedCommands extends BaseCommands
unimplemented(result);
}
+ public void acknowledgeIncomingGsmSmsWithPdu(boolean success, String ackPdu,
+ Message result) {
+ unimplemented(result);
+ }
+
/**
* parameters equivalent to 27.007 AT+CRSM command
* response.obj will be an AsyncResult
diff --git a/telephony/tests/telephonytests/src/com/android/internal/telephony/IccServiceTableTest.java b/telephony/tests/telephonytests/src/com/android/internal/telephony/IccServiceTableTest.java
new file mode 100644
index 000000000000..c89f33a8301f
--- /dev/null
+++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/IccServiceTableTest.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telephony;
+
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+/**
+ * Test IccServiceTable class.
+ */
+public class IccServiceTableTest extends AndroidTestCase {
+
+ static class TestIccServiceTable extends IccServiceTable {
+ public enum TestIccService {
+ SERVICE1,
+ SERVICE2,
+ SERVICE3,
+ SERVICE4
+ }
+
+ public TestIccServiceTable(byte[] table) {
+ super(table);
+ }
+
+ public boolean isAvailable(TestIccService service) {
+ return super.isAvailable(service.ordinal());
+ }
+
+ @Override
+ protected String getTag() {
+ return "TestIccServiceTable";
+ }
+
+ @Override
+ protected Object[] getValues() {
+ return TestIccService.values();
+ }
+ }
+
+ @SmallTest
+ public void testIccServiceTable() {
+ byte[] noServices = {0x00};
+ byte[] service1 = {0x01};
+ byte[] service4 = {0x08};
+ byte[] allServices = {0x0f};
+
+ TestIccServiceTable testTable1 = new TestIccServiceTable(noServices);
+ assertFalse(testTable1.isAvailable(TestIccServiceTable.TestIccService.SERVICE1));
+ assertFalse(testTable1.isAvailable(TestIccServiceTable.TestIccService.SERVICE2));
+ assertFalse(testTable1.isAvailable(TestIccServiceTable.TestIccService.SERVICE3));
+ assertFalse(testTable1.isAvailable(TestIccServiceTable.TestIccService.SERVICE4));
+
+ TestIccServiceTable testTable2 = new TestIccServiceTable(service1);
+ assertTrue(testTable2.isAvailable(TestIccServiceTable.TestIccService.SERVICE1));
+ assertFalse(testTable2.isAvailable(TestIccServiceTable.TestIccService.SERVICE2));
+ assertFalse(testTable2.isAvailable(TestIccServiceTable.TestIccService.SERVICE3));
+ assertFalse(testTable2.isAvailable(TestIccServiceTable.TestIccService.SERVICE4));
+
+ TestIccServiceTable testTable3 = new TestIccServiceTable(service4);
+ assertFalse(testTable3.isAvailable(TestIccServiceTable.TestIccService.SERVICE1));
+ assertFalse(testTable3.isAvailable(TestIccServiceTable.TestIccService.SERVICE2));
+ assertFalse(testTable3.isAvailable(TestIccServiceTable.TestIccService.SERVICE3));
+ assertTrue(testTable3.isAvailable(TestIccServiceTable.TestIccService.SERVICE4));
+
+ TestIccServiceTable testTable4 = new TestIccServiceTable(allServices);
+ assertTrue(testTable4.isAvailable(TestIccServiceTable.TestIccService.SERVICE1));
+ assertTrue(testTable4.isAvailable(TestIccServiceTable.TestIccService.SERVICE2));
+ assertTrue(testTable4.isAvailable(TestIccServiceTable.TestIccService.SERVICE3));
+ assertTrue(testTable4.isAvailable(TestIccServiceTable.TestIccService.SERVICE4));
+ }
+}
diff --git a/telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimDataDownloadCommands.java b/telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimDataDownloadCommands.java
new file mode 100644
index 000000000000..7e0d3c47e4c5
--- /dev/null
+++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimDataDownloadCommands.java
@@ -0,0 +1,611 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telephony.gsm;
+
+import android.content.Context;
+import android.os.AsyncResult;
+import android.os.Message;
+import android.os.SystemClock;
+import android.util.Log;
+
+import com.android.internal.telephony.BaseCommands;
+import com.android.internal.telephony.IccIoResult;
+import com.android.internal.telephony.UUSInfo;
+
+import junit.framework.Assert;
+
+/**
+ * Dummy BaseCommands for UsimDataDownloadTest. Only implements UICC envelope and
+ * SMS acknowledgement commands.
+ */
+class UsimDataDownloadCommands extends BaseCommands {
+ private static final String TAG = "UsimDataDownloadCommands";
+
+ private boolean mExpectingAcknowledgeGsmSms; // true if expecting ack GSM SMS
+ private boolean mExpectingAcknowledgeGsmSmsSuccess; // true if expecting ack SMS success
+ private int mExpectingAcknowledgeGsmSmsFailureCause; // expecting ack SMS failure cause
+ private String mExpectingAcknowledgeGsmSmsPdu; // expecting ack SMS PDU
+
+ private boolean mExpectingSendEnvelope; // true to expect a send envelope command
+ private String mExpectingSendEnvelopeContents; // expected string for send envelope
+ private int mExpectingSendEnvelopeResponseSw1; // SW1/SW2 response status
+ private int mExpectingSendEnvelopeResponseSw2; // SW1/SW2 response status
+ private String mExpectingSendEnvelopeResponse; // Response string for Send Envelope
+
+ UsimDataDownloadCommands(Context context) {
+ super(context);
+ }
+
+ /**
+ * Expect a call to acknowledgeLastIncomingGsmSms with success flag and failure cause.
+ * @param success true if expecting success; false if expecting failure
+ * @param cause the failure cause, if success is false
+ */
+ synchronized void expectAcknowledgeGsmSms(boolean success, int cause) {
+ Assert.assertFalse("expectAcknowledgeGsmSms called twice", mExpectingAcknowledgeGsmSms);
+ mExpectingAcknowledgeGsmSms = true;
+ mExpectingAcknowledgeGsmSmsSuccess = success;
+ mExpectingAcknowledgeGsmSmsFailureCause = cause;
+ }
+
+ /**
+ * Expect a call to acknowledgeLastIncomingGsmSmsWithPdu with success flag and PDU.
+ * @param success true if expecting success; false if expecting failure
+ * @param ackPdu the acknowledgement PDU to expect
+ */
+ synchronized void expectAcknowledgeGsmSmsWithPdu(boolean success, String ackPdu) {
+ Assert.assertFalse("expectAcknowledgeGsmSms called twice", mExpectingAcknowledgeGsmSms);
+ mExpectingAcknowledgeGsmSms = true;
+ mExpectingAcknowledgeGsmSmsSuccess = success;
+ mExpectingAcknowledgeGsmSmsPdu = ackPdu;
+ }
+
+ /**
+ * Expect a call to sendEnvelopeWithStatus().
+ * @param contents expected envelope contents to send
+ * @param sw1 simulated SW1 status to return
+ * @param sw2 simulated SW2 status to return
+ * @param response simulated envelope response to return
+ */
+ synchronized void expectSendEnvelope(String contents, int sw1, int sw2, String response) {
+ Assert.assertFalse("expectSendEnvelope called twice", mExpectingSendEnvelope);
+ mExpectingSendEnvelope = true;
+ mExpectingSendEnvelopeContents = contents;
+ mExpectingSendEnvelopeResponseSw1 = sw1;
+ mExpectingSendEnvelopeResponseSw2 = sw2;
+ mExpectingSendEnvelopeResponse = response;
+ }
+
+ synchronized void assertExpectedMethodsCalled() {
+ long stopTime = SystemClock.elapsedRealtime() + 5000;
+ while ((mExpectingAcknowledgeGsmSms || mExpectingSendEnvelope)
+ && SystemClock.elapsedRealtime() < stopTime) {
+ try {
+ wait();
+ } catch (InterruptedException ignored) {}
+ }
+ Assert.assertFalse("expecting SMS acknowledge call", mExpectingAcknowledgeGsmSms);
+ Assert.assertFalse("expecting send envelope call", mExpectingSendEnvelope);
+ }
+
+ @Override
+ public synchronized void acknowledgeLastIncomingGsmSms(boolean success, int cause,
+ Message response) {
+ Log.d(TAG, "acknowledgeLastIncomingGsmSms: success=" + success + ", cause=" + cause);
+ Assert.assertTrue("unexpected call to acknowledge SMS", mExpectingAcknowledgeGsmSms);
+ Assert.assertEquals(mExpectingAcknowledgeGsmSmsSuccess, success);
+ Assert.assertEquals(mExpectingAcknowledgeGsmSmsFailureCause, cause);
+ mExpectingAcknowledgeGsmSms = false;
+ if (response != null) {
+ AsyncResult.forMessage(response);
+ response.sendToTarget();
+ }
+ notifyAll(); // wake up assertExpectedMethodsCalled()
+ }
+
+ @Override
+ public synchronized void acknowledgeIncomingGsmSmsWithPdu(boolean success, String ackPdu,
+ Message response) {
+ Log.d(TAG, "acknowledgeLastIncomingGsmSmsWithPdu: success=" + success
+ + ", ackPDU= " + ackPdu);
+ Assert.assertTrue("unexpected call to acknowledge SMS", mExpectingAcknowledgeGsmSms);
+ Assert.assertEquals(mExpectingAcknowledgeGsmSmsSuccess, success);
+ Assert.assertEquals(mExpectingAcknowledgeGsmSmsPdu, ackPdu);
+ mExpectingAcknowledgeGsmSms = false;
+ if (response != null) {
+ AsyncResult.forMessage(response);
+ response.sendToTarget();
+ }
+ notifyAll(); // wake up assertExpectedMethodsCalled()
+ }
+
+ @Override
+ public synchronized void sendEnvelopeWithStatus(String contents, Message response) {
+ // Add spaces between hex bytes for readability
+ StringBuilder builder = new StringBuilder();
+ for (int i = 0; i < contents.length(); i += 2) {
+ builder.append(contents.charAt(i)).append(contents.charAt(i+1)).append(' ');
+ }
+ Log.d(TAG, "sendEnvelopeWithStatus: " + builder.toString());
+
+ Assert.assertTrue("unexpected call to send envelope", mExpectingSendEnvelope);
+ Assert.assertEquals(mExpectingSendEnvelopeContents, contents);
+ mExpectingSendEnvelope = false;
+
+ IccIoResult result = new IccIoResult(mExpectingSendEnvelopeResponseSw1,
+ mExpectingSendEnvelopeResponseSw2, mExpectingSendEnvelopeResponse);
+
+ if (response != null) {
+ AsyncResult.forMessage(response, result, null);
+ response.sendToTarget();
+ }
+ notifyAll(); // wake up assertExpectedMethodsCalled()
+ }
+
+ @Override
+ public void setSuppServiceNotifications(boolean enable, Message result) {
+ }
+
+ @Override
+ public void supplyIccPin(String pin, Message result) {
+ }
+
+ @Override
+ public void supplyIccPinForApp(String pin, String aid, Message result) {
+ }
+
+ @Override
+ public void supplyIccPuk(String puk, String newPin, Message result) {
+ }
+
+ @Override
+ public void supplyIccPukForApp(String puk, String newPin, String aid, Message result) {
+ }
+
+ @Override
+ public void supplyIccPin2(String pin2, Message result) {
+ }
+
+ @Override
+ public void supplyIccPin2ForApp(String pin2, String aid, Message result) {
+ }
+
+ @Override
+ public void supplyIccPuk2(String puk2, String newPin2, Message result) {
+ }
+
+ @Override
+ public void supplyIccPuk2ForApp(String puk2, String newPin2, String aid, Message result) {
+ }
+
+ @Override
+ public void changeIccPin(String oldPin, String newPin, Message result) {
+ }
+
+ @Override
+ public void changeIccPinForApp(String oldPin, String newPin, String aidPtr, Message result) {
+ }
+
+ @Override
+ public void changeIccPin2(String oldPin2, String newPin2, Message result) {
+ }
+
+ @Override
+ public void changeIccPin2ForApp(String oldPin2, String newPin2, String aidPtr, Message result) {
+ }
+
+ @Override
+ public void changeBarringPassword(String facility, String oldPwd, String newPwd,
+ Message result) {
+ }
+
+ @Override
+ public void supplyNetworkDepersonalization(String netpin, Message result) {
+ }
+
+ @Override
+ public void getCurrentCalls(Message result) {
+ }
+
+ @Override
+ public void getPDPContextList(Message result) {
+ }
+
+ @Override
+ public void getDataCallList(Message result) {
+ }
+
+ @Override
+ public void dial(String address, int clirMode, Message result) {
+ }
+
+ @Override
+ public void dial(String address, int clirMode, UUSInfo uusInfo, Message result) {
+ }
+
+ @Override
+ public void getIMSI(Message result) {
+ }
+
+ @Override
+ public void getIMEI(Message result) {
+ }
+
+ @Override
+ public void getIMEISV(Message result) {
+ }
+
+ @Override
+ public void hangupConnection(int gsmIndex, Message result) {
+ }
+
+ @Override
+ public void hangupWaitingOrBackground(Message result) {
+ }
+
+ @Override
+ public void hangupForegroundResumeBackground(Message result) {
+ }
+
+ @Override
+ public void switchWaitingOrHoldingAndActive(Message result) {
+ }
+
+ @Override
+ public void conference(Message result) {
+ }
+
+ @Override
+ public void setPreferredVoicePrivacy(boolean enable, Message result) {
+ }
+
+ @Override
+ public void getPreferredVoicePrivacy(Message result) {
+ }
+
+ @Override
+ public void separateConnection(int gsmIndex, Message result) {
+ }
+
+ @Override
+ public void acceptCall(Message result) {
+ }
+
+ @Override
+ public void rejectCall(Message result) {
+ }
+
+ @Override
+ public void explicitCallTransfer(Message result) {
+ }
+
+ @Override
+ public void getLastCallFailCause(Message result) {
+ }
+
+ @Override
+ public void getLastPdpFailCause(Message result) {
+ }
+
+ @Override
+ public void getLastDataCallFailCause(Message result) {
+ }
+
+ @Override
+ public void setMute(boolean enableMute, Message response) {
+ }
+
+ @Override
+ public void getMute(Message response) {
+ }
+
+ @Override
+ public void getSignalStrength(Message response) {
+ }
+
+ @Override
+ public void getVoiceRegistrationState(Message response) {
+ }
+
+ @Override
+ public void getDataRegistrationState(Message response) {
+ }
+
+ @Override
+ public void getOperator(Message response) {
+ }
+
+ @Override
+ public void sendDtmf(char c, Message result) {
+ }
+
+ @Override
+ public void startDtmf(char c, Message result) {
+ }
+
+ @Override
+ public void stopDtmf(Message result) {
+ }
+
+ @Override
+ public void sendBurstDtmf(String dtmfString, int on, int off, Message result) {
+ }
+
+ @Override
+ public void sendSMS(String smscPDU, String pdu, Message response) {
+ }
+
+ @Override
+ public void sendCdmaSms(byte[] pdu, Message response) {
+ }
+
+ @Override
+ public void deleteSmsOnSim(int index, Message response) {
+ }
+
+ @Override
+ public void deleteSmsOnRuim(int index, Message response) {
+ }
+
+ @Override
+ public void writeSmsToSim(int status, String smsc, String pdu, Message response) {
+ }
+
+ @Override
+ public void writeSmsToRuim(int status, String pdu, Message response) {
+ }
+
+ @Override
+ public void setRadioPower(boolean on, Message response) {
+ }
+
+ @Override
+ public void acknowledgeLastIncomingCdmaSms(boolean success, int cause, Message response) {
+ }
+
+ @Override
+ public void iccIO(int command, int fileid, String path, int p1, int p2, int p3, String data,
+ String pin2, Message response) {
+ }
+
+ @Override
+ public void queryCLIP(Message response) {
+ }
+
+ @Override
+ public void getCLIR(Message response) {
+ }
+
+ @Override
+ public void setCLIR(int clirMode, Message response) {
+ }
+
+ @Override
+ public void queryCallWaiting(int serviceClass, Message response) {
+ }
+
+ @Override
+ public void setCallWaiting(boolean enable, int serviceClass, Message response) {
+ }
+
+ @Override
+ public void setCallForward(int action, int cfReason, int serviceClass, String number,
+ int timeSeconds, Message response) {
+ }
+
+ @Override
+ public void queryCallForwardStatus(int cfReason, int serviceClass, String number,
+ Message response) {
+ }
+
+ @Override
+ public void setNetworkSelectionModeAutomatic(Message response) {
+ }
+
+ @Override
+ public void setNetworkSelectionModeManual(String operatorNumeric, Message response) {
+ }
+
+ @Override
+ public void getNetworkSelectionMode(Message response) {
+ }
+
+ @Override
+ public void getAvailableNetworks(Message response) {
+ }
+
+ @Override
+ public void getBasebandVersion(Message response) {
+ }
+
+ @Override
+ public void queryFacilityLock(String facility, String password, int serviceClass,
+ Message response) {
+ }
+
+ @Override
+ public void queryFacilityLockForApp(String facility, String password, int serviceClass,
+ String appId, Message response) {
+ }
+
+ @Override
+ public void setFacilityLock(String facility, boolean lockState, String password,
+ int serviceClass, Message response) {
+ }
+
+ @Override
+ public void setFacilityLockForApp(String facility, boolean lockState, String password,
+ int serviceClass, String appId, Message response) {
+ }
+
+ @Override
+ public void sendUSSD(String ussdString, Message response) {
+ }
+
+ @Override
+ public void cancelPendingUssd(Message response) {
+ }
+
+ @Override
+ public void resetRadio(Message result) {
+ }
+
+ @Override
+ public void setBandMode(int bandMode, Message response) {
+ }
+
+ @Override
+ public void queryAvailableBandMode(Message response) {
+ }
+
+ @Override
+ public void setPreferredNetworkType(int networkType, Message response) {
+ }
+
+ @Override
+ public void getPreferredNetworkType(Message response) {
+ }
+
+ @Override
+ public void getNeighboringCids(Message response) {
+ }
+
+ @Override
+ public void setLocationUpdates(boolean enable, Message response) {
+ }
+
+ @Override
+ public void getSmscAddress(Message result) {
+ }
+
+ @Override
+ public void setSmscAddress(String address, Message result) {
+ }
+
+ @Override
+ public void reportSmsMemoryStatus(boolean available, Message result) {
+ }
+
+ @Override
+ public void reportStkServiceIsRunning(Message result) {
+ }
+
+ @Override
+ public void invokeOemRilRequestRaw(byte[] data, Message response) {
+ }
+
+ @Override
+ public void invokeOemRilRequestStrings(String[] strings, Message response) {
+ }
+
+ @Override
+ public void sendTerminalResponse(String contents, Message response) {
+ }
+
+ @Override
+ public void sendEnvelope(String contents, Message response) {
+ }
+
+ @Override
+ public void handleCallSetupRequestFromSim(boolean accept, Message response) {
+ }
+
+ @Override
+ public void setGsmBroadcastActivation(boolean activate, Message result) {
+ }
+
+ @Override
+ public void setGsmBroadcastConfig(SmsBroadcastConfigInfo[] config, Message response) {
+ }
+
+ @Override
+ public void getGsmBroadcastConfig(Message response) {
+ }
+
+ @Override
+ public void getDeviceIdentity(Message response) {
+ }
+
+ @Override
+ public void getCDMASubscription(Message response) {
+ }
+
+ @Override
+ public void sendCDMAFeatureCode(String FeatureCode, Message response) {
+ }
+
+ @Override
+ public void setPhoneType(int phoneType) {
+ }
+
+ @Override
+ public void queryCdmaRoamingPreference(Message response) {
+ }
+
+ @Override
+ public void setCdmaRoamingPreference(int cdmaRoamingType, Message response) {
+ }
+
+ @Override
+ public void setCdmaSubscriptionSource(int cdmaSubscriptionType, Message response) {
+ }
+
+ @Override
+ public void getCdmaSubscriptionSource(Message response) {
+ }
+
+ @Override
+ public void setTTYMode(int ttyMode, Message response) {
+ }
+
+ @Override
+ public void queryTTYMode(Message response) {
+ }
+
+ @Override
+ public void setupDataCall(String radioTechnology, String profile, String apn, String user,
+ String password, String authType, String protocol, Message result) {
+ }
+
+ @Override
+ public void deactivateDataCall(int cid, int reason, Message result) {
+ }
+
+ @Override
+ public void setCdmaBroadcastActivation(boolean activate, Message result) {
+ }
+
+ @Override
+ public void setCdmaBroadcastConfig(int[] configValuesArray, Message result) {
+ }
+
+ @Override
+ public void getCdmaBroadcastConfig(Message result) {
+ }
+
+ @Override
+ public void exitEmergencyCallbackMode(Message response) {
+ }
+
+ @Override
+ public void getIccCardStatus(Message result) {
+ }
+
+ @Override
+ public void requestIsimAuthentication(String nonce, Message response) {
+ }
+}
diff --git a/telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimDataDownloadTest.java b/telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimDataDownloadTest.java
new file mode 100644
index 000000000000..6c8ba5e1e23d
--- /dev/null
+++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimDataDownloadTest.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telephony.gsm;
+
+import android.os.HandlerThread;
+import android.test.AndroidTestCase;
+import android.util.Log;
+
+import java.nio.charset.Charset;
+
+/**
+ * Test SMS-PP data download to UICC.
+ * Uses test messages from 3GPP TS 31.124 section 27.22.5.
+ */
+public class UsimDataDownloadTest extends AndroidTestCase {
+ private static final String TAG = "UsimDataDownloadTest";
+
+ class TestHandlerThread extends HandlerThread {
+ private UsimDataDownloadHandler mHandler;
+
+ TestHandlerThread() {
+ super("TestHandlerThread");
+ }
+
+ @Override
+ protected void onLooperPrepared() {
+ synchronized (this) {
+ mHandler = new UsimDataDownloadHandler(mCm);
+ notifyAll();
+ }
+ }
+
+ UsimDataDownloadHandler getHandler() {
+ synchronized (this) {
+ while (mHandler == null) {
+ try {
+ wait();
+ } catch (InterruptedException ignored) {}
+ }
+ return mHandler;
+ }
+ }
+ }
+
+ private UsimDataDownloadCommands mCm;
+ private TestHandlerThread mHandlerThread;
+ UsimDataDownloadHandler mHandler;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mCm = new UsimDataDownloadCommands(mContext);
+ mHandlerThread = new TestHandlerThread();
+ mHandlerThread.start();
+ mHandler = mHandlerThread.getHandler();
+ Log.d(TAG, "mHandler is constructed");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ mHandlerThread.quit();
+ super.tearDown();
+ }
+
+ // SMS-PP Message 3.1.1
+ private static final byte[] SMS_PP_MESSAGE_3_1_1 = {
+ // Service center address
+ 0x09, (byte) 0x91, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, (byte) 0xf8,
+
+ 0x04, 0x04, (byte) 0x91, 0x21, 0x43, 0x7f, 0x16, (byte) 0x89, 0x10, 0x10, 0x00, 0x00,
+ 0x00, 0x00, 0x0d, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x20, 0x31
+ };
+
+ // SMS-PP Download Envelope 3.1.1
+ private static final String SMS_PP_ENVELOPE_3_1_1 = "d12d8202838106099111223344556677f88b1c04"
+ + "049121437f16891010000000000d546573744d6573736167652031";
+
+ // SMS-PP Message 3.1.5
+ private static final byte[] SMS_PP_MESSAGE_3_1_5 = {
+ // Service center address
+ 0x09, (byte) 0x91, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, (byte) 0xf8,
+
+ 0x44, 0x04, (byte) 0x91, 0x21, 0x43, 0x7f, (byte) 0xf6, (byte) 0x89, 0x10, 0x10, 0x00,
+ 0x00, 0x00, 0x00, 0x1e, 0x02, 0x70, 0x00, 0x00, 0x19, 0x00, 0x0d, 0x00, 0x00,
+ 0x00, 0x00, (byte) 0xbf, (byte) 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+ (byte) 0xdc, (byte) 0xdc, (byte) 0xdc, (byte) 0xdc, (byte) 0xdc, (byte) 0xdc,
+ (byte) 0xdc, (byte) 0xdc, (byte) 0xdc, (byte) 0xdc
+ };
+
+ // SMS-PP Download Envelope 3.1.5
+ private static final String SMS_PP_ENVELOPE_3_1_5 = "d13e8202838106099111223344556677f88b2d44"
+ + "049121437ff6891010000000001e0270000019000d00000000bfff00000000000100"
+ + "dcdcdcdcdcdcdcdcdcdc";
+
+ public void testDataDownloadMessage1() {
+ SmsMessage message = SmsMessage.createFromPdu(SMS_PP_MESSAGE_3_1_1);
+ assertTrue("message is SMS-PP data download", message.isUsimDataDownload());
+
+ mCm.expectSendEnvelope(SMS_PP_ENVELOPE_3_1_1, 0x90, 0x00, "");
+ mCm.expectAcknowledgeGsmSms(true, 0);
+ mHandler.startDataDownload(message);
+ mCm.assertExpectedMethodsCalled();
+
+ mCm.expectSendEnvelope(SMS_PP_ENVELOPE_3_1_1, 0x90, 0x00, "0123456789");
+ mCm.expectAcknowledgeGsmSmsWithPdu(true, "00077f16050123456789");
+ mHandler.startDataDownload(message);
+ mCm.assertExpectedMethodsCalled();
+
+ mCm.expectSendEnvelope(SMS_PP_ENVELOPE_3_1_1, 0x62, 0xff, "0123456789abcdef");
+ mCm.expectAcknowledgeGsmSmsWithPdu(false, "00d5077f16080123456789abcdef");
+ mHandler.startDataDownload(message);
+ mCm.assertExpectedMethodsCalled();
+ }
+
+ public void testDataDownloadMessage5() {
+ SmsMessage message = SmsMessage.createFromPdu(SMS_PP_MESSAGE_3_1_5);
+ assertTrue("message is SMS-PP data download", message.isUsimDataDownload());
+
+ mCm.expectSendEnvelope(SMS_PP_ENVELOPE_3_1_5, 0x90, 0x00, "9876543210");
+ mCm.expectAcknowledgeGsmSmsWithPdu(true, "00077ff6059876543210");
+ mHandler.startDataDownload(message);
+ mCm.assertExpectedMethodsCalled();
+
+ mCm.expectSendEnvelope(SMS_PP_ENVELOPE_3_1_5, 0x93, 0x00, "");
+ mCm.expectAcknowledgeGsmSms(false, 0xd4); // SIM toolkit busy
+ mHandler.startDataDownload(message);
+ mCm.assertExpectedMethodsCalled();
+ }
+}
diff --git a/telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimServiceTableTest.java b/telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimServiceTableTest.java
new file mode 100644
index 000000000000..56854edcf012
--- /dev/null
+++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/gsm/UsimServiceTableTest.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telephony.gsm;
+
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+/**
+ * Test UsimServiceTable class.
+ */
+public class UsimServiceTableTest extends AndroidTestCase {
+
+ @SmallTest
+ public void testUsimServiceTable() {
+ byte[] noServices = {0x00};
+ byte[] service1 = {0x01, 0x00};
+ byte[] service8 = {(byte) 0x80, 0x00, 0x00};
+ byte[] service8And9 = {(byte) 0x80, 0x01};
+ byte[] service28 = {0x00, 0x00, 0x00, 0x08};
+ byte[] service89To96 = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, (byte) 0xff};
+
+ UsimServiceTable testTable1 = new UsimServiceTable(noServices);
+ assertFalse(testTable1.isAvailable(UsimServiceTable.UsimService.PHONEBOOK));
+ assertFalse(testTable1.isAvailable(UsimServiceTable.UsimService.FDN));
+ assertFalse(testTable1.isAvailable(UsimServiceTable.UsimService.NAS_CONFIG_BY_USIM));
+
+ UsimServiceTable testTable2 = new UsimServiceTable(service1);
+ assertTrue(testTable2.isAvailable(UsimServiceTable.UsimService.PHONEBOOK));
+ assertFalse(testTable2.isAvailable(UsimServiceTable.UsimService.FDN));
+ assertFalse(testTable2.isAvailable(UsimServiceTable.UsimService.NAS_CONFIG_BY_USIM));
+
+ UsimServiceTable testTable3 = new UsimServiceTable(service8);
+ assertFalse(testTable3.isAvailable(UsimServiceTable.UsimService.PHONEBOOK));
+ assertFalse(testTable3.isAvailable(UsimServiceTable.UsimService.BDN_EXTENSION));
+ assertTrue(testTable3.isAvailable(UsimServiceTable.UsimService.OUTGOING_CALL_INFO));
+ assertFalse(testTable3.isAvailable(UsimServiceTable.UsimService.INCOMING_CALL_INFO));
+ assertFalse(testTable3.isAvailable(UsimServiceTable.UsimService.NAS_CONFIG_BY_USIM));
+
+ UsimServiceTable testTable4 = new UsimServiceTable(service8And9);
+ assertFalse(testTable4.isAvailable(UsimServiceTable.UsimService.PHONEBOOK));
+ assertFalse(testTable4.isAvailable(UsimServiceTable.UsimService.BDN_EXTENSION));
+ assertTrue(testTable4.isAvailable(UsimServiceTable.UsimService.OUTGOING_CALL_INFO));
+ assertTrue(testTable4.isAvailable(UsimServiceTable.UsimService.INCOMING_CALL_INFO));
+ assertFalse(testTable4.isAvailable(UsimServiceTable.UsimService.SM_STORAGE));
+ assertFalse(testTable4.isAvailable(UsimServiceTable.UsimService.NAS_CONFIG_BY_USIM));
+
+ UsimServiceTable testTable5 = new UsimServiceTable(service28);
+ assertFalse(testTable5.isAvailable(UsimServiceTable.UsimService.PHONEBOOK));
+ assertTrue(testTable5.isAvailable(UsimServiceTable.UsimService.DATA_DL_VIA_SMS_PP));
+ assertFalse(testTable5.isAvailable(UsimServiceTable.UsimService.NAS_CONFIG_BY_USIM));
+
+ UsimServiceTable testTable6 = new UsimServiceTable(service89To96);
+ assertFalse(testTable6.isAvailable(UsimServiceTable.UsimService.PHONEBOOK));
+ assertFalse(testTable6.isAvailable(UsimServiceTable.UsimService.HPLMN_DIRECT_ACCESS));
+ assertTrue(testTable6.isAvailable(UsimServiceTable.UsimService.ECALL_DATA));
+ assertTrue(testTable6.isAvailable(UsimServiceTable.UsimService.SM_OVER_IP));
+ assertTrue(testTable6.isAvailable(UsimServiceTable.UsimService.UICC_ACCESS_TO_IMS));
+ assertTrue(testTable6.isAvailable(UsimServiceTable.UsimService.NAS_CONFIG_BY_USIM));
+ }
+}
diff --git a/tests/FrameworkPerf/Android.mk b/tests/FrameworkPerf/Android.mk
new file mode 100644
index 000000000000..03893d6254c5
--- /dev/null
+++ b/tests/FrameworkPerf/Android.mk
@@ -0,0 +1,12 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := tests
+
+LOCAL_SRC_FILES := $(call all-subdir-java-files)
+
+LOCAL_PACKAGE_NAME := FrameworkPerf
+
+LOCAL_AAPT_FLAGS = -c 120dpi,240dpi,160dpi,161dpi,320dpi,nodpi
+
+include $(BUILD_PACKAGE)
diff --git a/tests/FrameworkPerf/AndroidManifest.xml b/tests/FrameworkPerf/AndroidManifest.xml
new file mode 100644
index 000000000000..c3fc83745fdf
--- /dev/null
+++ b/tests/FrameworkPerf/AndroidManifest.xml
@@ -0,0 +1,19 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.frameworkperf">
+ <uses-permission android:name="android.permission.WAKE_LOCK" />
+ <uses-sdk android:minSdkVersion="5" />
+
+ <application>
+ <activity android:name="FrameworkPerfActivity" android:label="Framework Perf">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ <service android:name="SchedulerService">
+ </service>
+ <receiver android:name="Receiver" android:exported="true">
+ </receiver>
+ </application>
+</manifest>
diff --git a/tests/FrameworkPerf/res/drawable-161dpi/stat_sample_scale.png b/tests/FrameworkPerf/res/drawable-161dpi/stat_sample_scale.png
new file mode 100755
index 000000000000..6c9ba0a979c1
--- /dev/null
+++ b/tests/FrameworkPerf/res/drawable-161dpi/stat_sample_scale.png
Binary files differ
diff --git a/tests/FrameworkPerf/res/drawable-161dpi/wallpaper_goldengate_scale.jpg b/tests/FrameworkPerf/res/drawable-161dpi/wallpaper_goldengate_scale.jpg
new file mode 100644
index 000000000000..2271091909bc
--- /dev/null
+++ b/tests/FrameworkPerf/res/drawable-161dpi/wallpaper_goldengate_scale.jpg
Binary files differ
diff --git a/tests/FrameworkPerf/res/drawable-hdpi/stat_happy.png b/tests/FrameworkPerf/res/drawable-hdpi/stat_happy.png
new file mode 100755
index 000000000000..27f5bb74e8b4
--- /dev/null
+++ b/tests/FrameworkPerf/res/drawable-hdpi/stat_happy.png
Binary files differ
diff --git a/tests/FrameworkPerf/res/drawable-mdpi/stat_happy.png b/tests/FrameworkPerf/res/drawable-mdpi/stat_happy.png
new file mode 100644
index 000000000000..3a8791bab065
--- /dev/null
+++ b/tests/FrameworkPerf/res/drawable-mdpi/stat_happy.png
Binary files differ
diff --git a/tests/FrameworkPerf/res/drawable-nodpi/stat_sample.png b/tests/FrameworkPerf/res/drawable-nodpi/stat_sample.png
new file mode 100755
index 000000000000..6c9ba0a979c1
--- /dev/null
+++ b/tests/FrameworkPerf/res/drawable-nodpi/stat_sample.png
Binary files differ
diff --git a/tests/FrameworkPerf/res/drawable-nodpi/wallpaper_goldengate.jpg b/tests/FrameworkPerf/res/drawable-nodpi/wallpaper_goldengate.jpg
new file mode 100644
index 000000000000..2271091909bc
--- /dev/null
+++ b/tests/FrameworkPerf/res/drawable-nodpi/wallpaper_goldengate.jpg
Binary files differ
diff --git a/tests/FrameworkPerf/res/layout/large_layout.xml b/tests/FrameworkPerf/res/layout/large_layout.xml
new file mode 100644
index 000000000000..b6ac88cdb7cf
--- /dev/null
+++ b/tests/FrameworkPerf/res/layout/large_layout.xml
@@ -0,0 +1,460 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- All ids in this layout must be in wifi_dialog.xml -->
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+ <!-- UI components that should be shown appropriately -->
+ <FrameLayout
+ android:id="@+id/eap_not_supported"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="360dip"
+ android:orientation="vertical"
+ android:visibility="gone">
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:lineSpacingExtra="12dip"
+ android:text="Foo"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textSize="20sp" />
+ </FrameLayout>
+ <!-- In "add network" flow, we have security type field (@id/security below) below
+ this View, so need a bit different layout than the other flow, in which we'll use
+ @id/eap_not_supported. -->
+ <FrameLayout
+ android:id="@+id/eap_not_supported_for_add_network"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:lineSpacingExtra="12dip"
+ android:text="Bar"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textSize="20sp" />
+ </FrameLayout>
+ <LinearLayout
+ android:id="@+id/wps_fields"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+ <TextView
+ android:layout_width="match_parent"
+ android:minWidth="128dip"
+ android:layout_height="wrap_content"
+ android:text="Blah"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textSize="20sp"
+ android:gravity="bottom" />
+
+ <EditText
+ android:id="@+id/wps_pin"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textPassword"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textSize="20sp" />
+ </LinearLayout>
+ <TableLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="16dip">
+ <!-- To accomodate @id/type into TableLayout, we splitted the layout into two:
+ @id/type_ssid and @id/type_security. -->
+ <TableRow
+ android:id="@+id/type_ssid"
+ android:minHeight="56dip"
+ android:visibility="gone">
+ <TextView
+ android:id="@+id/ssid_text"
+ android:layout_width="wrap_content"
+ android:minWidth="128dip"
+ android:layout_height="wrap_content"
+ android:minHeight="56dip"
+ android:paddingRight="16dip"
+ android:layout_alignParentLeft="true"
+ android:text="Whatever"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textSize="20sp"
+ android:gravity="left|center_vertical" />
+
+ <FrameLayout
+ android:id="@+id/ssid_layout"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignBottom="@id/ssid_text"
+ android:layout_toRightOf="@id/ssid_text">
+ <EditText
+ android:id="@+id/ssid"
+ android:layout_width="368dip"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textSize="20sp" />
+ </FrameLayout>
+ </TableRow>
+
+ <TableRow
+ android:id="@+id/security_fields"
+ android:minHeight="56dip"
+ android:visibility="gone">
+ <TextView
+ android:id="@+id/password_text"
+ android:layout_width="wrap_content"
+ android:minWidth="128dip"
+ android:layout_height="wrap_content"
+ android:minHeight="56dip"
+ android:text="Whenever"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textSize="20sp"
+ android:gravity="left|center_vertical" />
+
+ <LinearLayout
+ android:id="@+id/password_layout"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="bottom">
+ <EditText
+ android:id="@+id/password"
+ android:layout_width="368dip"
+ android:layout_height="wrap_content"
+ android:minHeight="56dip"
+ android:singleLine="true"
+ android:password="true"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textSize="20sp" />
+ </LinearLayout>
+
+ <!-- It looks CheckBox isn't aligned well with TableRow -->
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+ <CheckBox
+ android:id="@+id/show_password"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="56dip"
+ android:text="However"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textSize="20sp" />
+ </FrameLayout>
+ </TableRow>
+
+ <TableRow
+ android:id="@+id/type_security"
+ android:minHeight="56dip"
+ android:visibility="gone">
+ <TextView
+ android:id="@+id/security_text"
+ android:layout_width="wrap_content"
+ android:minWidth="128dip"
+ android:layout_height="wrap_content"
+ android:minHeight="56dip"
+ android:text="Whoever"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textSize="20sp"
+ android:gravity="bottom"/>
+
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="bottom">
+ <Spinner
+ android:id="@+id/security"
+ android:layout_width="368dip"
+ android:layout_height="wrap_content"
+ android:minHeight="56dip"
+ android:paddingLeft="4dip"/>
+ </FrameLayout>
+ </TableRow>
+ </TableLayout>
+
+ <!-- All the views below are "gone".
+ We want them as data storage, not as UI components. -->
+ <LinearLayout
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone">
+
+ <LinearLayout android:id="@+id/info"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"/>
+
+ <LinearLayout android:id="@+id/setup_fields"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="On the top" />
+
+ <Spinner android:id="@+id/network_setup"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+
+ </LinearLayout>
+
+ <!-- android:id="@+id/security_fields" -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <LinearLayout android:id="@+id/eap"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="On the bottom" />
+
+ <Spinner android:id="@+id/method"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="On the side" />
+
+ <Spinner android:id="@+id/phase2"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="SRH" />
+
+ <Spinner android:id="@+id/ca_cert"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="Enjoyable" />
+
+ <Spinner android:id="@+id/user_cert"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="Fantastic" />
+
+ <EditText android:id="@+id/identity"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="Superb" />
+
+ <EditText android:id="@+id/anonymous"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+ </LinearLayout> <!-- android:id="@+id/eap" -->
+
+ <!-- <TextView android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_password" />
+
+ <EditText android:id="@+id/password"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:password="true" />
+
+ <CheckBox android:id="@+id/show_password"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_show_password" /> -->
+ </LinearLayout> <!-- android:id="@+id/security_fields" -->
+
+ <LinearLayout android:id="@+id/proxy_settings_fields"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <TextView android:id="@+id/proxy_settings_title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="Heavenly" />
+
+ <Spinner android:id="@+id/proxy_settings"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+ </LinearLayout>
+
+ <LinearLayout android:id="@+id/proxy_warning_limited_support"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <!-- Dummy to enable right-justification of warning -->
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="Orgasmic" />
+ </LinearLayout>
+
+ <LinearLayout android:id="@+id/proxy_fields"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+ <TextView android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="Really" />
+
+ <EditText android:id="@+id/proxy_hostname"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="Really really" />
+
+ <EditText android:id="@+id/proxy_port"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="Really really with cherries on top" />
+
+ <EditText android:id="@+id/proxy_exclusionlist"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ </LinearLayout>
+
+ <LinearLayout android:id="@+id/ip_fields"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="Mmmmm... cherries" />
+
+ <Spinner android:id="@+id/ip_settings"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+ </LinearLayout>
+
+ <LinearLayout android:id="@+id/staticip"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="I mean Mmmmm.. cherries" />
+
+ <EditText android:id="@+id/ipaddress"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="Shorter" />
+
+ <EditText android:id="@+id/gateway"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="is" />
+
+ <EditText android:id="@+id/network_prefix_length"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="better" />
+
+ <EditText android:id="@+id/dns1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="always" />
+
+ <EditText android:id="@+id/dns2"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ </LinearLayout>
+ </LinearLayout>
+</LinearLayout>
diff --git a/tests/FrameworkPerf/res/layout/main.xml b/tests/FrameworkPerf/res/layout/main.xml
new file mode 100644
index 000000000000..8b54118ee167
--- /dev/null
+++ b/tests/FrameworkPerf/res/layout/main.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ >
+
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ >
+ <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="Foreground: "
+ />
+ <Spinner android:id="@+id/fgspinner"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:drawSelectorOnTop="true"
+ />
+ </LinearLayout>
+ <TextView android:id="@+id/fgtext"
+ android:layout_width="wrap_content" android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ />
+
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_marginTop="10dp"
+ >
+ <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="Background: "
+ />
+ <Spinner android:id="@+id/bgspinner"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:drawSelectorOnTop="true"
+ />
+ </LinearLayout>
+ <TextView android:id="@+id/bgtext"
+ android:layout_width="wrap_content" android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ />
+
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_marginTop="10dp"
+ >
+ <Button android:id="@+id/start"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/start"
+ />
+ <Button android:id="@+id/stop"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/stop"
+ />
+ </LinearLayout>
+
+ <TextView android:id="@+id/log"
+ android:layout_width="match_parent"
+ android:layout_height="0px"
+ android:layout_weight="1"
+ android:layout_marginTop="10dp"
+ android:textSize="12sp"
+ android:textColor="#ffffffff"
+ />
+
+</LinearLayout>
diff --git a/tests/FrameworkPerf/res/layout/small_layout.xml b/tests/FrameworkPerf/res/layout/small_layout.xml
new file mode 100644
index 000000000000..9fcbb262137f
--- /dev/null
+++ b/tests/FrameworkPerf/res/layout/small_layout.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+
+ <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
+
+ <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
+ <TextView android:text="Foo" android:layout_width="wrap_content" android:layout_height="wrap_content" />
+ </LinearLayout>
+
+ <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
+ <TextView android:id="@+id/config_list" android:layout_width="wrap_content" android:layout_height="wrap_content" />
+ </LinearLayout>
+ </LinearLayout>
+
+</ScrollView>
+
diff --git a/tests/FrameworkPerf/res/values/attrs.xml b/tests/FrameworkPerf/res/values/attrs.xml
new file mode 100644
index 000000000000..582353776c34
--- /dev/null
+++ b/tests/FrameworkPerf/res/values/attrs.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<resources>
+ <!-- Base attributes that are available to all Item objects. -->
+ <declare-styleable name="MenuItem">
+
+ <!-- The ID of the item. -->
+ <attr name="android:id" />
+
+ <!-- The category applied to the item.
+ (This will be or'ed with the orderInCategory attribute.) -->
+ <attr name="android:menuCategory" />
+
+ <!-- The order within the category applied to the item.
+ (This will be or'ed with the category attribute.) -->
+ <attr name="android:orderInCategory" />
+
+ <!-- The title associated with the item. -->
+ <attr name="android:title" />
+
+ <!-- The condensed title associated with the item. This is used in situations where the
+ normal title may be too long to be displayed. -->
+ <attr name="android:titleCondensed" />
+
+ <!-- The icon associated with this item. This icon will not always be shown, so
+ the title should be sufficient in describing this item. -->
+ <attr name="android:icon" />
+
+ <!-- The alphabetic shortcut key. This is the shortcut when using a keyboard
+ with alphabetic keys. -->
+ <attr name="android:alphabeticShortcut" />
+
+ <!-- The numeric shortcut key. This is the shortcut when using a numeric (e.g., 12-key)
+ keyboard. -->
+ <attr name="android:numericShortcut" />
+
+ <!-- Whether the item is capable of displaying a check mark. -->
+ <attr name="android:checkable" />
+
+ <!-- Whether the item is checked. Note that you must first have enabled checking with
+ the checkable attribute or else the check mark will not appear. -->
+ <attr name="android:checked" />
+
+ <!-- Whether the item is shown/visible. -->
+ <attr name="android:visible" />
+
+ <!-- Whether the item is enabled. -->
+ <attr name="android:enabled" />
+ </declare-styleable>
+</resources>
diff --git a/tests/FrameworkPerf/res/values/strings.xml b/tests/FrameworkPerf/res/values/strings.xml
new file mode 100644
index 000000000000..82fd71395692
--- /dev/null
+++ b/tests/FrameworkPerf/res/values/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<resources>
+ <string name="start">Start</string>
+ <string name="stop">Stop</string>
+ <string name="data_usage_menu_roaming">Data roaming</string>
+ <string name="data_usage_menu_restrict_background">Restrict background data</string>
+ <string name="data_usage_menu_split_4g">Separate 4G usage</string>
+ <string name="data_usage_menu_show_wifi">Show Wi-Fi usage</string>
+ <string name="data_usage_menu_show_ethernet">Show Ethernet usage</string>
+</resources>
diff --git a/tests/FrameworkPerf/res/xml/simple.xml b/tests/FrameworkPerf/res/xml/simple.xml
new file mode 100644
index 000000000000..4e938aa2ed32
--- /dev/null
+++ b/tests/FrameworkPerf/res/xml/simple.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+</menu>
diff --git a/tests/FrameworkPerf/res/xml/simple_large.xml b/tests/FrameworkPerf/res/xml/simple_large.xml
new file mode 100644
index 000000000000..812cec9b11d2
--- /dev/null
+++ b/tests/FrameworkPerf/res/xml/simple_large.xml
@@ -0,0 +1,418 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_roaming"
+ android:title="@string/data_usage_menu_roaming"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_restrict_background"
+ android:title="@string/data_usage_menu_restrict_background"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_split_4g"
+ android:title="@string/data_usage_menu_split_4g"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_wifi"
+ android:title="@string/data_usage_menu_show_wifi"
+ android:checkable="true" />
+ <item
+ android:id="@+id/data_usage_menu_show_ethernet"
+ android:title="@string/data_usage_menu_show_ethernet"
+ android:checkable="true" />
+</menu>
diff --git a/tests/FrameworkPerf/src/com/android/frameworkperf/FrameworkPerfActivity.java b/tests/FrameworkPerf/src/com/android/frameworkperf/FrameworkPerfActivity.java
new file mode 100644
index 000000000000..66e788c824a4
--- /dev/null
+++ b/tests/FrameworkPerf/src/com/android/frameworkperf/FrameworkPerfActivity.java
@@ -0,0 +1,990 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.frameworkperf;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.os.Bundle;
+import android.os.FileUtils;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.PowerManager;
+import android.os.Process;
+import android.os.SystemClock;
+import android.util.DisplayMetrics;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.Spinner;
+import android.widget.TextView;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.util.ArrayList;
+
+/**
+ * So you thought sync used up your battery life.
+ */
+public class FrameworkPerfActivity extends Activity
+ implements AdapterView.OnItemSelectedListener {
+ static final String TAG = "Perf";
+
+ final Handler mHandler = new Handler();
+
+ Spinner mFgSpinner;
+ Spinner mBgSpinner;
+ TextView mLog;
+ PowerManager.WakeLock mPartialWakeLock;
+
+ long mMaxRunTime = 5000;
+ boolean mStarted;
+
+ final TestRunner mRunner = new TestRunner();
+
+ final Op[] mOpPairs = new Op[] {
+ new MethodCallOp(), new NoOp(),
+ new MethodCallOp(), new CpuOp(),
+ new MethodCallOp(), new SchedulerOp(),
+ new MethodCallOp(), new GcOp(),
+ new MethodCallOp(), new CreateFileOp(),
+ new MethodCallOp(), new CreateWriteFileOp(),
+ new MethodCallOp(), new CreateWriteSyncFileOp(),
+ new MethodCallOp(), new WriteFileOp(),
+ new MethodCallOp(), new ReadFileOp(),
+ new SchedulerOp(), new SchedulerOp(),
+ new GcOp(), new NoOp(),
+ new IpcOp(), new NoOp(),
+ new IpcOp(), new CpuOp(),
+ new IpcOp(), new SchedulerOp(),
+ new IpcOp(), new GcOp(),
+ new IpcOp(), new CreateFileOp(),
+ new IpcOp(), new CreateWriteFileOp(),
+ new IpcOp(), new CreateWriteSyncFileOp(),
+ new IpcOp(), new WriteFileOp(),
+ new IpcOp(), new ReadFileOp(),
+ new CreateFileOp(), new NoOp(),
+ new CreateWriteFileOp(), new NoOp(),
+ new CreateWriteSyncFileOp(), new NoOp(),
+ new WriteFileOp(), new NoOp(),
+ new ReadFileOp(), new NoOp(),
+ new WriteFileOp(), new CreateWriteFileOp(),
+ new ReadFileOp(), new CreateWriteFileOp(),
+ new WriteFileOp(), new CreateWriteSyncFileOp(),
+ new ReadFileOp(), new CreateWriteSyncFileOp(),
+ new WriteFileOp(), new WriteFileOp(),
+ new WriteFileOp(), new ReadFileOp(),
+ new ReadFileOp(), new WriteFileOp(),
+ new ReadFileOp(), new ReadFileOp(),
+ new ParseXmlResOp(), new NoOp(),
+ new ParseLargeXmlResOp(), new NoOp(),
+ new LayoutInflaterOp(), new NoOp(),
+ new LayoutInflaterLargeOp(), new NoOp(),
+ new LoadSmallBitmapOp(), new NoOp(),
+ new LoadLargeBitmapOp(), new NoOp(),
+ new LoadSmallScaledBitmapOp(), new NoOp(),
+ new LoadLargeScaledBitmapOp(), new NoOp(),
+ };
+
+ final Op[] mAvailOps = new Op[] {
+ new NoOp(),
+ new CpuOp(),
+ new SchedulerOp(),
+ new MethodCallOp(),
+ new IpcOp(),
+ new CreateFileOp(),
+ new CreateWriteFileOp(),
+ new CreateWriteSyncFileOp(),
+ new WriteFileOp(),
+ new ReadFileOp(),
+ new ParseXmlResOp(),
+ new ParseLargeXmlResOp(),
+ new LoadSmallBitmapOp(),
+ new LoadLargeBitmapOp(),
+ new LoadSmallScaledBitmapOp(),
+ new LoadLargeScaledBitmapOp(),
+ };
+
+ final String[] mAvailOpLabels;
+ final String[] mAvailOpDescriptions;
+
+ Op mFgTest;
+ Op mBgTest;
+ int mCurOpIndex = 0;
+
+ class RunResult {
+ final String name;
+ final String fgLongName;
+ final String bgLongName;
+ final long fgTime;
+ final long fgOps;
+ final long bgTime;
+ final long bgOps;
+
+ RunResult(TestRunner op) {
+ name = op.getName();
+ fgLongName = op.getForegroundLongName();
+ bgLongName = op.getBackgroundLongName();
+ fgTime = op.getForegroundTime();
+ fgOps = op.getForegroundOps();
+ bgTime = op.getBackgroundTime();
+ bgOps = op.getBackgroundOps();
+ }
+
+ float getFgMsPerOp() {
+ return fgOps != 0 ? (fgTime / (float)fgOps) : 0;
+ }
+
+ float getBgMsPerOp() {
+ return bgOps != 0 ? (bgTime / (float)bgOps) : 0;
+ }
+ }
+
+ final ArrayList<RunResult> mResults = new ArrayList<RunResult>();
+
+ public FrameworkPerfActivity() {
+ mAvailOpLabels = new String[mAvailOps.length];
+ mAvailOpDescriptions = new String[mAvailOps.length];
+ for (int i=0; i<mAvailOps.length; i++) {
+ Op op = mAvailOps[i];
+ if (op.getClass() == NoOp.class) {
+ mAvailOpLabels[i] = "All";
+ mAvailOpDescriptions[i] = "All tests";
+ } else {
+ mAvailOpLabels[i] = op.getName();
+ mAvailOpDescriptions[i] = op.getLongName();
+ }
+ }
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ // Set the layout for this activity. You can find it
+ // in res/layout/hello_activity.xml
+ setContentView(R.layout.main);
+
+ mFgSpinner = (Spinner) findViewById(R.id.fgspinner);
+ ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
+ android.R.layout.simple_spinner_item, mAvailOpLabels);
+ adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ mFgSpinner.setAdapter(adapter);
+ mFgSpinner.setOnItemSelectedListener(this);
+ mBgSpinner = (Spinner) findViewById(R.id.bgspinner);
+ adapter = new ArrayAdapter<String>(this,
+ android.R.layout.simple_spinner_item, mAvailOpLabels);
+ adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ mBgSpinner.setAdapter(adapter);
+ mBgSpinner.setOnItemSelectedListener(this);
+
+ findViewById(R.id.start).setOnClickListener(new View.OnClickListener() {
+ @Override public void onClick(View v) {
+ startRunning();
+ }
+ });
+ findViewById(R.id.stop).setOnClickListener(new View.OnClickListener() {
+ @Override public void onClick(View v) {
+ stopRunning();
+ }
+ });
+ mLog = (TextView)findViewById(R.id.log);
+
+ PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
+ mPartialWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Scheduler");
+ mPartialWakeLock.setReferenceCounted(false);
+ }
+
+ @Override
+ public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+ if (parent == mFgSpinner || parent == mBgSpinner) {
+ Spinner spinner = (Spinner)parent;
+ Op op = mAvailOps[position];
+ if (op.getClass() == NoOp.class) {
+ op = null;
+ }
+ if (parent == mFgSpinner) {
+ mFgTest = op;
+ ((TextView)findViewById(R.id.fgtext)).setText(mAvailOpDescriptions[position]);
+ } else {
+ mBgTest = op;
+ ((TextView)findViewById(R.id.bgtext)).setText(mAvailOpDescriptions[position]);
+ }
+ }
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView<?> parent) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ stopRunning();
+ if (mPartialWakeLock.isHeld()) {
+ mPartialWakeLock.release();
+ }
+ }
+
+ void startCurOp() {
+ Op fgOp, bgOp;
+ if (mFgTest == null && mBgTest == null) {
+ fgOp = mOpPairs[mCurOpIndex];
+ bgOp = mOpPairs[mCurOpIndex+1];
+ } else if (mFgTest != null && mBgTest != null) {
+ fgOp = mFgTest;
+ bgOp = mBgTest;
+ } else if (mFgTest != null) {
+ fgOp = mFgTest;
+ bgOp = mAvailOps[mCurOpIndex];
+ } else {
+ fgOp = mAvailOps[mCurOpIndex];
+ bgOp = mBgTest;
+ }
+ mRunner.run(mHandler, fgOp, bgOp, new Runnable() {
+ @Override public void run() {
+ RunResult result = new RunResult(mRunner);
+ log(String.format("%s: fg=%d*%gms/op (%dms) / bg=%d*%gms/op (%dms)",
+ result.name, result.fgOps, result.getFgMsPerOp(), result.fgTime,
+ result.bgOps, result.getBgMsPerOp(), result.bgTime));
+ mResults.add(result);
+ if (!mStarted) {
+ log("Stop");
+ stopRunning();
+ return;
+ }
+ if (mFgTest != null && mBgTest != null) {
+ log("Finished");
+ stopRunning();
+ return;
+ }
+ if (mFgTest == null && mBgTest == null) {
+ mCurOpIndex+=2;
+ if (mCurOpIndex >= mOpPairs.length) {
+ log("Finished");
+ stopRunning();
+ return;
+ }
+ }
+ mCurOpIndex++;
+ if (mCurOpIndex >= mAvailOps.length) {
+ log("Finished");
+ stopRunning();
+ return;
+ }
+ startCurOp();
+ }
+ });
+ }
+
+ void startRunning() {
+ if (!mStarted) {
+ log("Start");
+ mStarted = true;
+ updateWakeLock();
+ startService(new Intent(this, SchedulerService.class));
+ mCurOpIndex = 0;
+ mResults.clear();
+ startCurOp();
+ }
+ }
+
+ void stopRunning() {
+ if (mStarted) {
+ mStarted = false;
+ updateWakeLock();
+ stopService(new Intent(this, SchedulerService.class));
+ for (int i=0; i<mResults.size(); i++) {
+ RunResult result = mResults.get(i);
+ float fgMsPerOp = result.getFgMsPerOp();
+ float bgMsPerOp = result.getBgMsPerOp();
+ String fgMsPerOpStr = fgMsPerOp != 0 ? Float.toString(fgMsPerOp) : "";
+ String bgMsPerOpStr = bgMsPerOp != 0 ? Float.toString(bgMsPerOp) : "";
+ Log.i(TAG, "\t" + result.name + "\t" + result.fgOps
+ + "\t" + result.getFgMsPerOp() + "\t" + result.fgTime
+ + "\t" + result.fgLongName + "\t" + result.bgOps
+ + "\t" + result.getBgMsPerOp() + "\t" + result.bgTime
+ + "\t" + result.bgLongName);
+ }
+ }
+ }
+
+ void updateWakeLock() {
+ if (mStarted) {
+ getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
+ if (!mPartialWakeLock.isHeld()) {
+ mPartialWakeLock.acquire();
+ }
+ } else {
+ getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
+ if (mPartialWakeLock.isHeld()) {
+ mPartialWakeLock.release();
+ }
+ }
+ }
+
+ void log(String s) {
+ mLog.setText(mLog.getText() + "\n" + s);
+ Log.i(TAG, s);
+ }
+
+ enum BackgroundMode {
+ NOTHING,
+ CPU,
+ SCHEDULER
+ };
+
+ public class TestRunner {
+ Handler mHandler;
+ Op mForegroundOp;
+ Op mBackgroundOp;
+ Runnable mDoneCallback;
+
+ RunnerThread mBackgroundThread;
+ RunnerThread mForegroundThread;
+ long mStartTime;
+
+ boolean mBackgroundRunning;
+ boolean mForegroundRunning;
+
+ long mBackgroundEndTime;
+ long mBackgroundOps;
+ long mForegroundEndTime;
+ long mForegroundOps;
+
+ public TestRunner() {
+ }
+
+ public String getForegroundName() {
+ return mForegroundOp.getName();
+ }
+
+ public String getBackgroundName() {
+ return mBackgroundOp.getName();
+ }
+
+ public String getName() {
+ String fgName = mForegroundOp.getName();
+ String bgName = mBackgroundOp.getName();
+ StringBuilder res = new StringBuilder();
+ if (fgName != null) {
+ res.append(fgName);
+ res.append("Fg");
+ }
+ if (bgName != null) {
+ res.append(bgName);
+ res.append("Bg");
+ }
+ return res.toString();
+ }
+
+ public String getForegroundLongName() {
+ return mForegroundOp.getLongName();
+ }
+
+ public String getBackgroundLongName() {
+ return mBackgroundOp.getLongName();
+ }
+
+ public void run(Handler handler, Op foreground, Op background, Runnable doneCallback) {
+ mHandler = handler;
+ mForegroundOp = foreground;
+ mBackgroundOp = background;
+ mDoneCallback = doneCallback;
+ mBackgroundThread = new RunnerThread("background", new Runnable() {
+ @Override public void run() {
+ boolean running;
+ int ops = 0;
+ do {
+ running = mBackgroundOp.onRun();
+ ops++;
+ } while (evalRepeat(running, true) && running);
+ mBackgroundEndTime = SystemClock.uptimeMillis();
+ mBackgroundOps = ops * mBackgroundOp.getOpsPerRun();
+ threadFinished(false);
+ }
+ }, Process.THREAD_PRIORITY_BACKGROUND);
+ mForegroundThread = new RunnerThread("background", new Runnable() {
+ @Override public void run() {
+ boolean running;
+ int ops = 0;
+ do {
+ running = mForegroundOp.onRun();
+ ops++;
+ } while (evalRepeat(true, running) && running);
+ mForegroundEndTime = SystemClock.uptimeMillis();
+ mForegroundOps = ops * mForegroundOp.getOpsPerRun();
+ threadFinished(true);
+ }
+ }, Process.THREAD_PRIORITY_FOREGROUND);
+
+ mForegroundOp.onInit(FrameworkPerfActivity.this, true);
+ mBackgroundOp.onInit(FrameworkPerfActivity.this, false);
+
+ synchronized (this) {
+ mStartTime = SystemClock.uptimeMillis();
+ mBackgroundRunning = true;
+ mForegroundRunning = true;
+ }
+
+ mBackgroundThread.start();
+ mForegroundThread.start();
+ }
+
+ public long getForegroundTime() {
+ return mForegroundEndTime-mStartTime;
+ }
+
+ public long getForegroundOps() {
+ return mForegroundOps;
+ }
+
+ public long getBackgroundTime() {
+ return mBackgroundEndTime-mStartTime;
+ }
+
+ public long getBackgroundOps() {
+ return mBackgroundOps;
+ }
+
+ private boolean evalRepeat(boolean bgRunning, boolean fgRunning) {
+ synchronized (this) {
+ if (!bgRunning) {
+ mBackgroundRunning = false;
+ }
+ if (!fgRunning) {
+ mForegroundRunning = false;
+ }
+ if (!mBackgroundRunning && !mForegroundRunning) {
+ return false;
+ }
+ long now = SystemClock.uptimeMillis();
+ if (now > (mStartTime+mMaxRunTime)) {
+ return false;
+ }
+ return true;
+ }
+ }
+
+ private void threadFinished(boolean foreground) {
+ synchronized (this) {
+ if (foreground) {
+ mForegroundRunning = false;
+ } else {
+ mBackgroundRunning = false;
+ }
+ if (!mBackgroundRunning && !mForegroundRunning) {
+ mHandler.post(new Runnable() {
+ @Override public void run() {
+ mForegroundOp.onTerm(FrameworkPerfActivity.this);
+ mBackgroundOp.onTerm(FrameworkPerfActivity.this);
+ if (mDoneCallback != null) {
+ mDoneCallback.run();
+ }
+ }
+ });
+ }
+ }
+ }
+ }
+
+ class RunnerThread extends Thread {
+ private final Runnable mOp;
+ private final int mPriority;
+
+ RunnerThread(String name, Runnable op, int priority) {
+ super(name);
+ mOp = op;
+ mPriority = priority;
+ }
+
+ public void run() {
+ Process.setThreadPriority(mPriority);
+ mOp.run();
+ }
+ }
+
+ static public abstract class Op {
+ final String mName;
+ final String mLongName;
+
+ public Op(String name, String longName) {
+ mName = name;
+ mLongName = longName;
+ }
+
+ public String getName() {
+ return mName;
+ }
+
+ public String getLongName() {
+ return mLongName;
+ }
+
+ void onInit(Context context, boolean foreground) {
+ }
+
+ abstract boolean onRun();
+
+ void onTerm(Context context) {
+ }
+
+ int getOpsPerRun() {
+ return 1;
+ }
+ }
+
+ static class NoOp extends Op {
+ NoOp() {
+ super(null, "Nothing");
+ }
+
+ boolean onRun() {
+ return false;
+ }
+
+ int getOpsPerRun() {
+ return 0;
+ }
+ }
+
+ static class CpuOp extends Op {
+ CpuOp() {
+ super("CPU", "Consume CPU");
+ }
+
+ boolean onRun() {
+ return true;
+ }
+ }
+
+ static class SchedulerOp extends Op {
+ SchedulerOp() {
+ super("Sched", "Change scheduler group");
+ }
+
+ boolean onRun() {
+ Process.setThreadPriority(Process.THREAD_PRIORITY_FOREGROUND);
+ Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
+ return true;
+ }
+ }
+
+ static class GcOp extends Op {
+ GcOp() {
+ super("Gc", "Run garbage collector");
+ }
+
+ boolean onRun() {
+ byte[] stuff = new byte[1024*1024];
+ return true;
+ }
+ }
+
+ static class MethodCallOp extends Op {
+ MethodCallOp() {
+ super("MethodCall", "Method call");
+ }
+
+ boolean onRun() {
+ final int N = getOpsPerRun();
+ for (int i=0; i<N; i++) {
+ someFunc(i);
+ }
+ return true;
+ }
+
+ int someFunc(int foo) {
+ return 0;
+ }
+
+ int getOpsPerRun() {
+ return 500;
+ }
+ }
+
+ static class IpcOp extends Op {
+ PackageManager mPm;
+ String mProcessName;
+
+ IpcOp() {
+ super("Ipc", "IPC to system process");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mPm = context.getPackageManager();
+ mProcessName = context.getApplicationInfo().processName;
+ }
+
+ boolean onRun() {
+ final int N = getOpsPerRun();
+ for (int i=0; i<N; i++) {
+ mPm.queryContentProviders(mProcessName, Process.myUid(), 0);
+ }
+ return true;
+ }
+
+ int getOpsPerRun() {
+ return 100;
+ }
+ }
+
+ static class ParseXmlResOp extends Op {
+ Context mContext;
+
+ ParseXmlResOp() {
+ super("ParseXmlRes", "Parse compiled XML resource");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mContext = context;
+ }
+
+ boolean onRun() {
+ SimpleInflater inf = new SimpleInflater(mContext);
+ inf.inflate(R.xml.simple);
+ return true;
+ }
+ }
+
+ static class ParseLargeXmlResOp extends Op {
+ Context mContext;
+
+ ParseLargeXmlResOp() {
+ super("ParseLargeXmlRes", "Parse large XML resource");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mContext = context;
+ }
+
+ boolean onRun() {
+ SimpleInflater inf = new SimpleInflater(mContext);
+ inf.inflate(R.xml.simple_large);
+ return true;
+ }
+ }
+
+ static class LayoutInflaterOp extends Op {
+ Context mContext;
+
+ LayoutInflaterOp() {
+ super("LayoutInflaterOp", "Inflate layout resource");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mContext = context;
+ }
+
+ boolean onRun() {
+ if (Looper.myLooper() == null) {
+ Looper.prepare();
+ }
+ LayoutInflater inf = (LayoutInflater)mContext.getSystemService(
+ Context.LAYOUT_INFLATER_SERVICE);
+ inf.inflate(R.layout.small_layout, null);
+ return true;
+ }
+ }
+
+ static class LayoutInflaterLargeOp extends Op {
+ Context mContext;
+
+ LayoutInflaterLargeOp() {
+ super("LayoutInflaterLargeOp", "Inflate large layout resource");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mContext = context;
+ }
+
+ boolean onRun() {
+ if (Looper.myLooper() == null) {
+ Looper.prepare();
+ }
+ LayoutInflater inf = (LayoutInflater)mContext.getSystemService(
+ Context.LAYOUT_INFLATER_SERVICE);
+ inf.inflate(R.layout.large_layout, null);
+ return true;
+ }
+ }
+
+ static class LoadSmallBitmapOp extends Op {
+ Context mContext;
+
+ LoadSmallBitmapOp() {
+ super("LoadSmallBitmap", "Load small raw bitmap");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mContext = context;
+ }
+
+ boolean onRun() {
+ BitmapFactory.Options opts = new BitmapFactory.Options();
+ opts.inScreenDensity = DisplayMetrics.DENSITY_DEVICE;
+ Bitmap bm = BitmapFactory.decodeResource(mContext.getResources(),
+ R.drawable.stat_sample, opts);
+ bm.recycle();
+ return true;
+ }
+ }
+
+ static class LoadLargeBitmapOp extends Op {
+ Context mContext;
+
+ LoadLargeBitmapOp() {
+ super("LoadLargeBitmap", "Load large raw bitmap");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mContext = context;
+ }
+
+ boolean onRun() {
+ BitmapFactory.Options opts = new BitmapFactory.Options();
+ opts.inScreenDensity = DisplayMetrics.DENSITY_DEVICE;
+ Bitmap bm = BitmapFactory.decodeResource(mContext.getResources(),
+ R.drawable.wallpaper_goldengate, opts);
+ bm.recycle();
+ return true;
+ }
+ }
+
+ static class LoadSmallScaledBitmapOp extends Op {
+ Context mContext;
+
+ LoadSmallScaledBitmapOp() {
+ super("LoadSmallScaledBitmap", "Load small raw bitmap that is scaled for density");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mContext = context;
+ }
+
+ boolean onRun() {
+ BitmapFactory.Options opts = new BitmapFactory.Options();
+ opts.inScreenDensity = DisplayMetrics.DENSITY_DEVICE;
+ Bitmap bm = BitmapFactory.decodeResource(mContext.getResources(),
+ R.drawable.stat_sample_scale, opts);
+ bm.recycle();
+ return true;
+ }
+ }
+
+ static class LoadLargeScaledBitmapOp extends Op {
+ Context mContext;
+
+ LoadLargeScaledBitmapOp() {
+ super("LoadLargeScaledBitmap", "Load large raw bitmap that is scaled for density");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mContext = context;
+ }
+
+ boolean onRun() {
+ BitmapFactory.Options opts = new BitmapFactory.Options();
+ opts.inScreenDensity = DisplayMetrics.DENSITY_DEVICE;
+ Bitmap bm = BitmapFactory.decodeResource(mContext.getResources(),
+ R.drawable.wallpaper_goldengate_scale, opts);
+ bm.recycle();
+ return true;
+ }
+ }
+
+ static class CreateFileOp extends Op {
+ File mFile;
+
+ CreateFileOp() {
+ super("CreateFile", "Create and delete a file");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mFile = context.getFileStreamPath(foreground ? "test-fg.file" : "test-bg.file");
+ mFile.delete();
+ }
+
+ boolean onRun() {
+ try {
+ mFile.createNewFile();
+ } catch (IOException e) {
+ Log.w(TAG, "Failure creating " + mFile, e);
+ }
+ mFile.delete();
+ return true;
+ }
+ }
+
+ static class CreateWriteFileOp extends Op {
+ File mFile;
+
+ CreateWriteFileOp() {
+ super("CreateWriteFile", "Create, write, and delete a file");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mFile = context.getFileStreamPath(foreground ? "test-fg.file" : "test-bg.file");
+ mFile.delete();
+ }
+
+ boolean onRun() {
+ try {
+ FileOutputStream fos = new FileOutputStream(mFile);
+ fos.write(1);
+ fos.close();
+ } catch (IOException e) {
+ Log.w(TAG, "Failure creating " + mFile, e);
+ }
+ mFile.delete();
+ return true;
+ }
+ }
+
+ static class CreateWriteSyncFileOp extends Op {
+ File mFile;
+
+ CreateWriteSyncFileOp() {
+ super("CreateWriteSyncFile", "Create, write, sync, and delete a file");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mFile = context.getFileStreamPath(foreground ? "test-fg.file" : "test-bg.file");
+ mFile.delete();
+ }
+
+ boolean onRun() {
+ try {
+ FileOutputStream fos = new FileOutputStream(mFile);
+ fos.write(1);
+ fos.flush();
+ FileUtils.sync(fos);
+ fos.close();
+ } catch (IOException e) {
+ Log.w(TAG, "Failure creating " + mFile, e);
+ }
+ mFile.delete();
+ return true;
+ }
+ }
+
+ static class WriteFileOp extends Op {
+ File mFile;
+ RandomAccessFile mRAF;
+ byte[] mBuffer;
+
+ WriteFileOp() {
+ super("WriteFile", "Truncate and write a 64k file");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mBuffer = new byte[1024*64];
+ for (int i=0; i<mBuffer.length; i++) {
+ mBuffer[i] = (byte)i;
+ }
+ mFile = context.getFileStreamPath(foreground ? "test-fg.file" : "test-bg.file");
+ mFile.delete();
+ try {
+ mRAF = new RandomAccessFile(mFile, "rw");
+ } catch (FileNotFoundException e) {
+ Log.w(TAG, "Failure creating " + mFile, e);
+ }
+ }
+
+ boolean onRun() {
+ try {
+ mRAF.seek(0);
+ mRAF.setLength(0);
+ mRAF.write(mBuffer);
+ } catch (IOException e) {
+ Log.w(TAG, "Failure writing " + mFile, e);
+ }
+ return true;
+ }
+
+ void onTerm(Context context) {
+ try {
+ mRAF.close();
+ } catch (IOException e) {
+ Log.w(TAG, "Failure closing " + mFile, e);
+ }
+ mFile.delete();
+ }
+ }
+
+ static class ReadFileOp extends Op {
+ File mFile;
+ RandomAccessFile mRAF;
+ byte[] mBuffer;
+
+ ReadFileOp() {
+ super("ReadFile", "Seek and read a 64k file");
+ }
+
+ void onInit(Context context, boolean foreground) {
+ mBuffer = new byte[1024*64];
+ for (int i=0; i<mBuffer.length; i++) {
+ mBuffer[i] = (byte)i;
+ }
+ mFile = context.getFileStreamPath(foreground ? "test-fg.file" : "test-bg.file");
+ mFile.delete();
+ try {
+ mRAF = new RandomAccessFile(mFile, "rw");
+ mRAF.seek(0);
+ mRAF.setLength(0);
+ mRAF.write(mBuffer);
+ } catch (IOException e) {
+ Log.w(TAG, "Failure creating " + mFile, e);
+ }
+ }
+
+ boolean onRun() {
+ try {
+ mRAF.seek(0);
+ mRAF.read(mBuffer);
+ } catch (IOException e) {
+ Log.w(TAG, "Failure reading " + mFile, e);
+ }
+ return true;
+ }
+
+ void onTerm(Context context) {
+ try {
+ mRAF.close();
+ } catch (IOException e) {
+ Log.w(TAG, "Failure closing " + mFile, e);
+ }
+ mFile.delete();
+ }
+ }
+}
diff --git a/tests/FrameworkPerf/src/com/android/frameworkperf/Receiver.java b/tests/FrameworkPerf/src/com/android/frameworkperf/Receiver.java
new file mode 100644
index 000000000000..e17d0a7dbcc2
--- /dev/null
+++ b/tests/FrameworkPerf/src/com/android/frameworkperf/Receiver.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.frameworkperf;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+
+/**
+ * Allow launching as an empty process.
+ */
+public class Receiver extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ }
+}
diff --git a/tests/FrameworkPerf/src/com/android/frameworkperf/SchedulerService.java b/tests/FrameworkPerf/src/com/android/frameworkperf/SchedulerService.java
new file mode 100644
index 000000000000..7691e644843f
--- /dev/null
+++ b/tests/FrameworkPerf/src/com/android/frameworkperf/SchedulerService.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.frameworkperf;
+
+import android.app.Notification;
+import android.app.PendingIntent;
+import android.app.Service;
+import android.content.Intent;
+import android.os.IBinder;
+
+public class SchedulerService extends Service {
+
+ @Override
+ public int onStartCommand(Intent intent, int flags, int startId) {
+ Notification status = new Notification(R.drawable.stat_happy, null,
+ System.currentTimeMillis());
+ status.flags |= Notification.FLAG_ONGOING_EVENT;
+ status.setLatestEventInfo(this, "Scheduler Test running",
+ "Scheduler Test running", PendingIntent.getActivity(this, 0,
+ new Intent(this, FrameworkPerfActivity.class)
+ .setAction(Intent.ACTION_MAIN)
+ .addCategory(Intent.CATEGORY_LAUNCHER)
+ .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK), 0));
+ startForeground(1, status);
+ return START_STICKY;
+ }
+
+ @Override
+ public IBinder onBind(Intent intent) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
diff --git a/tests/FrameworkPerf/src/com/android/frameworkperf/SimpleInflater.java b/tests/FrameworkPerf/src/com/android/frameworkperf/SimpleInflater.java
new file mode 100644
index 000000000000..5cbb12acab15
--- /dev/null
+++ b/tests/FrameworkPerf/src/com/android/frameworkperf/SimpleInflater.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.frameworkperf;
+
+import java.io.IOException;
+
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.content.res.XmlResourceParser;
+import android.util.AttributeSet;
+import android.util.Xml;
+import android.view.InflateException;
+
+public class SimpleInflater {
+ /** Menu tag name in XML. */
+ private static final String XML_MENU = "menu";
+
+ /** Group tag name in XML. */
+ private static final String XML_GROUP = "group";
+
+ /** Item tag name in XML. */
+ private static final String XML_ITEM = "item";
+
+ private Context mContext;
+
+ public SimpleInflater(Context context) {
+ mContext = context;
+ }
+
+ public void inflate(int menuRes) {
+ XmlResourceParser parser = null;
+ try {
+ parser = mContext.getResources().getLayout(menuRes);
+ AttributeSet attrs = Xml.asAttributeSet(parser);
+
+ parseMenu(parser, attrs);
+ } catch (XmlPullParserException e) {
+ throw new InflateException("Error inflating menu XML", e);
+ } catch (IOException e) {
+ throw new InflateException("Error inflating menu XML", e);
+ } finally {
+ if (parser != null) parser.close();
+ }
+ }
+
+ private void parseMenu(XmlPullParser parser, AttributeSet attrs)
+ throws XmlPullParserException, IOException {
+ int eventType = parser.getEventType();
+ String tagName;
+ boolean lookingForEndOfUnknownTag = false;
+ String unknownTagName = null;
+
+ // This loop will skip to the menu start tag
+ do {
+ if (eventType == XmlPullParser.START_TAG) {
+ tagName = parser.getName();
+ if (tagName.equals(XML_MENU)) {
+ // Go to next tag
+ eventType = parser.next();
+ break;
+ }
+
+ throw new RuntimeException("Expecting menu, got " + tagName);
+ }
+ eventType = parser.next();
+ } while (eventType != XmlPullParser.END_DOCUMENT);
+
+ boolean reachedEndOfMenu = false;
+ while (!reachedEndOfMenu) {
+ switch (eventType) {
+ case XmlPullParser.START_TAG:
+ if (lookingForEndOfUnknownTag) {
+ break;
+ }
+
+ tagName = parser.getName();
+ if (tagName.equals(XML_ITEM)) {
+ readItem(attrs);
+ } else if (tagName.equals(XML_MENU)) {
+ parseMenu(parser, attrs);
+ } else {
+ lookingForEndOfUnknownTag = true;
+ unknownTagName = tagName;
+ }
+ break;
+
+ case XmlPullParser.END_TAG:
+ tagName = parser.getName();
+ if (lookingForEndOfUnknownTag && tagName.equals(unknownTagName)) {
+ lookingForEndOfUnknownTag = false;
+ unknownTagName = null;
+ } else if (tagName.equals(XML_ITEM)) {
+ } else if (tagName.equals(XML_MENU)) {
+ reachedEndOfMenu = true;
+ }
+ break;
+
+ case XmlPullParser.END_DOCUMENT:
+ throw new RuntimeException("Unexpected end of document");
+ }
+
+ eventType = parser.next();
+ }
+ }
+
+ public void readItem(AttributeSet attrs) {
+ TypedArray a = mContext.obtainStyledAttributes(attrs,
+ com.android.internal.R.styleable.MenuItem);
+
+ // Inherit attributes from the group as default value
+ int itemId = a.getResourceId(R.styleable.MenuItem_android_id, 0);
+ final int category = a.getInt(R.styleable.MenuItem_android_menuCategory, 0);
+ final int order = a.getInt(R.styleable.MenuItem_android_orderInCategory, 0);
+ CharSequence itemTitle = a.getText(R.styleable.MenuItem_android_title);
+ CharSequence itemTitleCondensed = a.getText(R.styleable.MenuItem_android_titleCondensed);
+ int itemIconResId = a.getResourceId(R.styleable.MenuItem_android_icon, 0);
+ String itemAlphabeticShortcut = a.getString(R.styleable.MenuItem_android_alphabeticShortcut);
+ String itemNumericShortcut = a.getString(R.styleable.MenuItem_android_numericShortcut);
+ int itemCheckable = 0;
+ if (a.hasValue(R.styleable.MenuItem_android_checkable)) {
+ // Item has attribute checkable, use it
+ itemCheckable = a.getBoolean(R.styleable.MenuItem_android_checkable, false) ? 1 : 0;
+ }
+ boolean itemChecked = a.getBoolean(R.styleable.MenuItem_android_checked, false);
+ boolean itemVisible = a.getBoolean(R.styleable.MenuItem_android_visible, false);
+ boolean itemEnabled = a.getBoolean(R.styleable.MenuItem_android_enabled, false);
+
+ a.recycle();
+ }
+}
diff --git a/tests/HwAccelerationTest/res/drawable-hdpi/appwidget_bg.9.png b/tests/HwAccelerationTest/res/drawable-nodpi/appwidget_bg.9.png
index 80491912d80b..80491912d80b 100644
--- a/tests/HwAccelerationTest/res/drawable-hdpi/appwidget_bg.9.png
+++ b/tests/HwAccelerationTest/res/drawable-nodpi/appwidget_bg.9.png
Binary files differ
diff --git a/tests/HwAccelerationTest/res/drawable-hdpi/appwidget_bg_focus.9.png b/tests/HwAccelerationTest/res/drawable-nodpi/appwidget_bg_focus.9.png
index c81f67582110..c81f67582110 100644
--- a/tests/HwAccelerationTest/res/drawable-hdpi/appwidget_bg_focus.9.png
+++ b/tests/HwAccelerationTest/res/drawable-nodpi/appwidget_bg_focus.9.png
Binary files differ
diff --git a/tests/HwAccelerationTest/res/drawable-hdpi/appwidget_bg_press.9.png b/tests/HwAccelerationTest/res/drawable-nodpi/appwidget_bg_press.9.png
index d060b77556bb..d060b77556bb 100644
--- a/tests/HwAccelerationTest/res/drawable-hdpi/appwidget_bg_press.9.png
+++ b/tests/HwAccelerationTest/res/drawable-nodpi/appwidget_bg_press.9.png
Binary files differ
diff --git a/tests/HwAccelerationTest/res/drawable-hdpi/green_gradient.9.png b/tests/HwAccelerationTest/res/drawable-nodpi/green_gradient.9.png
index a535678ab531..a535678ab531 100644
--- a/tests/HwAccelerationTest/res/drawable-hdpi/green_gradient.9.png
+++ b/tests/HwAccelerationTest/res/drawable-nodpi/green_gradient.9.png
Binary files differ
diff --git a/tests/HwAccelerationTest/res/drawable-hdpi/patch.9.png b/tests/HwAccelerationTest/res/drawable-nodpi/patch.9.png
index e3b3639e86f2..e3b3639e86f2 100644
--- a/tests/HwAccelerationTest/res/drawable-hdpi/patch.9.png
+++ b/tests/HwAccelerationTest/res/drawable-nodpi/patch.9.png
Binary files differ
diff --git a/tests/HwAccelerationTest/res/drawable-nodpi/patch2.9.png b/tests/HwAccelerationTest/res/drawable-nodpi/patch2.9.png
new file mode 100644
index 000000000000..f65a35592cd4
--- /dev/null
+++ b/tests/HwAccelerationTest/res/drawable-nodpi/patch2.9.png
Binary files differ
diff --git a/tests/HwAccelerationTest/res/drawable-hdpi/widget_title_bg.9.png b/tests/HwAccelerationTest/res/drawable-nodpi/widget_title_bg.9.png
index 79615c237ffe..79615c237ffe 100644
--- a/tests/HwAccelerationTest/res/drawable-hdpi/widget_title_bg.9.png
+++ b/tests/HwAccelerationTest/res/drawable-nodpi/widget_title_bg.9.png
Binary files differ
diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/GLTextureViewActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/GLTextureViewActivity.java
index 3232eedcf51e..414ae0dd34bc 100644
--- a/tests/HwAccelerationTest/src/com/android/test/hwui/GLTextureViewActivity.java
+++ b/tests/HwAccelerationTest/src/com/android/test/hwui/GLTextureViewActivity.java
@@ -22,9 +22,11 @@ import android.app.Activity;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
+import android.graphics.Matrix;
import android.graphics.SurfaceTexture;
import android.opengl.GLUtils;
import android.os.Bundle;
+import android.os.Environment;
import android.util.Log;
import android.view.Gravity;
import android.view.TextureView;
@@ -39,6 +41,7 @@ import javax.microedition.khronos.egl.EGLDisplay;
import javax.microedition.khronos.egl.EGLSurface;
import javax.microedition.khronos.opengles.GL;
import java.io.BufferedOutputStream;
+import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -65,7 +68,8 @@ public class GLTextureViewActivity extends Activity implements TextureView.Surfa
Bitmap b = mTextureView.getBitmap(800, 800);
BufferedOutputStream out = null;
try {
- out = new BufferedOutputStream(new FileOutputStream("/sdcard/out.png"));
+ File dump = new File(Environment.getExternalStorageDirectory(), "out.png");
+ out = new BufferedOutputStream(new FileOutputStream(dump));
b.compress(Bitmap.CompressFormat.PNG, 100, out);
} catch (FileNotFoundException e) {
e.printStackTrace();
@@ -168,10 +172,10 @@ public class GLTextureViewActivity extends Activity implements TextureView.Surfa
private static final int TRIANGLE_VERTICES_DATA_UV_OFFSET = 3;
private final float[] mTriangleVerticesData = {
// X, Y, Z, U, V
- -1.0f, -1.0f, 0, 0.f, 0.f,
- 1.0f, -1.0f, 0, 1.f, 0.f,
- -1.0f, 1.0f, 0, 0.f, 1.f,
- 1.0f, 1.0f, 0, 1.f, 1.f,
+ -1.0f, -1.0f, 0.0f, 0.0f, 0.0f,
+ 1.0f, -1.0f, 0.0f, 1.0f, 0.0f,
+ -1.0f, 1.0f, 0.0f, 0.0f, 1.0f,
+ 1.0f, 1.0f, 0.0f, 1.0f, 1.0f,
};
@Override
@@ -212,8 +216,6 @@ public class GLTextureViewActivity extends Activity implements TextureView.Surfa
while (!mFinished) {
checkCurrent();
- Log.d(LOG_TAG, "Rendering frame");
-
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
checkGlError();
@@ -237,7 +239,7 @@ public class GLTextureViewActivity extends Activity implements TextureView.Surfa
checkEglError();
try {
- Thread.sleep(20);
+ Thread.sleep(2000);
} catch (InterruptedException e) {
// Ignore
}
diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java
index fcb57d96b3f1..0f4c66817a05 100644
--- a/tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java
+++ b/tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java
@@ -17,16 +17,23 @@
package com.android.test.hwui;
import android.app.Activity;
+import android.graphics.Bitmap;
import android.graphics.Matrix;
import android.graphics.SurfaceTexture;
import android.hardware.Camera;
import android.os.Bundle;
+import android.os.Environment;
import android.view.Gravity;
+import android.view.Surface;
import android.view.TextureView;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
import java.io.IOException;
@SuppressWarnings({"UnusedDeclaration"})
@@ -44,6 +51,26 @@ public class TextureViewActivity extends Activity implements TextureView.Surface
mTextureView = new TextureView(this);
mTextureView.setSurfaceTextureListener(this);
+ mTextureView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Bitmap b = mTextureView.getBitmap(800, 800);
+ BufferedOutputStream out = null;
+ try {
+ File dump = new File(Environment.getExternalStorageDirectory(), "out.png");
+ out = new BufferedOutputStream(new FileOutputStream(dump));
+ b.compress(Bitmap.CompressFormat.PNG, 100, out);
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } finally {
+ if (out != null) try {
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ });
Button button = new Button(this);
button.setText("Remove/Add");
@@ -73,6 +100,8 @@ public class TextureViewActivity extends Activity implements TextureView.Surface
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
mCamera = Camera.open();
+ mCamera.setDisplayOrientation(getCameraOrientation());
+
Camera.Size previewSize = mCamera.getParameters().getPreviewSize();
mTextureView.setLayoutParams(new FrameLayout.LayoutParams(
previewSize.width, previewSize.height, Gravity.CENTER));
@@ -86,6 +115,34 @@ public class TextureViewActivity extends Activity implements TextureView.Surface
mCamera.startPreview();
}
+ private int getCameraOrientation() {
+ Camera.CameraInfo info = new Camera.CameraInfo();
+ for (int i = 0; i < Camera.getNumberOfCameras(); i++) {
+ Camera.getCameraInfo(i, info);
+ if (info.facing == Camera.CameraInfo.CAMERA_FACING_BACK) break;
+ }
+
+ int rotation = getWindowManager().getDefaultDisplay().getRotation();
+ int degrees = 0;
+
+ switch (rotation) {
+ case Surface.ROTATION_0:
+ degrees = 0;
+ break;
+ case Surface.ROTATION_90:
+ degrees = 90;
+ break;
+ case Surface.ROTATION_180:
+ degrees = 180;
+ break;
+ case Surface.ROTATION_270:
+ degrees = 270;
+ break;
+ }
+
+ return (info.orientation - degrees + 360) % 360;
+ }
+
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
// Ignored, the Camera does all the work for us
diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/ThinPatchesActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/ThinPatchesActivity.java
index cfad6daf0335..656f2b143654 100644
--- a/tests/HwAccelerationTest/src/com/android/test/hwui/ThinPatchesActivity.java
+++ b/tests/HwAccelerationTest/src/com/android/test/hwui/ThinPatchesActivity.java
@@ -44,7 +44,7 @@ public class ThinPatchesActivity extends Activity {
}
private class PatchView extends View {
- private Drawable mPatch1, mPatch2;
+ private Drawable mPatch1, mPatch2, mPatch3;
private Bitmap mTexture;
public PatchView(Activity activity) {
@@ -53,6 +53,7 @@ public class ThinPatchesActivity extends Activity {
final Resources resources = activity.getResources();
mPatch1 = resources.getDrawable(R.drawable.patch);
mPatch2 = resources.getDrawable(R.drawable.btn_toggle_on);
+ mPatch3 = resources.getDrawable(R.drawable.patch2);
mTexture = Bitmap.createBitmap(4, 3, Bitmap.Config.ARGB_8888);
mTexture.setPixel(0, 0, 0xffff0000);
@@ -77,6 +78,14 @@ public class ThinPatchesActivity extends Activity {
final int left = (getWidth() - width) / 2;
final int top = (getHeight() - height) / 2;
+ canvas.save();
+ canvas.translate(0.0f, -height * 2 - 20.0f);
+
+ mPatch3.setBounds(left, top, left + height, top + width);
+ mPatch3.draw(canvas);
+
+ canvas.restore();
+
mPatch1.setBounds(left, top, left + width, top + height);
mPatch1.draw(canvas);
diff --git a/tests/RenderScriptTests/ComputePerf/Android.mk b/tests/RenderScriptTests/ComputePerf/Android.mk
new file mode 100644
index 000000000000..1d67d29af339
--- /dev/null
+++ b/tests/RenderScriptTests/ComputePerf/Android.mk
@@ -0,0 +1,27 @@
+#
+# Copyright (C) 2011 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src) \
+ $(call all-renderscript-files-under, src)
+
+LOCAL_PACKAGE_NAME := RsComputePerf
+
+include $(BUILD_PACKAGE)
diff --git a/tests/RenderScriptTests/ComputePerf/AndroidManifest.xml b/tests/RenderScriptTests/ComputePerf/AndroidManifest.xml
new file mode 100644
index 000000000000..a9193b5ef668
--- /dev/null
+++ b/tests/RenderScriptTests/ComputePerf/AndroidManifest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.example.android.rs.computeperf">
+
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <uses-sdk android:minSdkVersion="14" />
+ <application android:label="Compute Perf">
+ <activity android:name="ComputePerf">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+</manifest>
diff --git a/tests/RenderScriptTests/ComputePerf/res/layout/main.xml b/tests/RenderScriptTests/ComputePerf/res/layout/main.xml
new file mode 100644
index 000000000000..61cd24db9cb4
--- /dev/null
+++ b/tests/RenderScriptTests/ComputePerf/res/layout/main.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <ImageView
+ android:id="@+id/displayin"
+ android:layout_width="320dip"
+ android:layout_height="266dip" />
+
+ <ImageView
+ android:id="@+id/displayout"
+ android:layout_width="320dip"
+ android:layout_height="266dip" />
+
+</LinearLayout>
diff --git a/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/ComputePerf.java b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/ComputePerf.java
new file mode 100644
index 000000000000..f7abe8bf1155
--- /dev/null
+++ b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/ComputePerf.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.example.android.rs.computeperf;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.graphics.BitmapFactory;
+import android.graphics.Bitmap;
+import android.renderscript.RenderScript;
+import android.renderscript.Allocation;
+import android.widget.ImageView;
+
+public class ComputePerf extends Activity {
+
+ private LaunchTest mLT;
+ private Mandelbrot mMandel;
+ private RenderScript mRS;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.main);
+
+ mRS = RenderScript.create(this);
+ mLT = new LaunchTest(mRS, getResources());
+ mLT.run();
+ mLT.run();
+
+ mMandel = new Mandelbrot(mRS, getResources());
+ mMandel.run();
+
+ }
+
+}
diff --git a/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/LaunchTest.java b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/LaunchTest.java
new file mode 100644
index 000000000000..0c29ce18b3b6
--- /dev/null
+++ b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/LaunchTest.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.example.android.rs.computeperf;
+
+import android.content.res.Resources;
+import android.renderscript.*;
+
+public class LaunchTest implements Runnable {
+ private RenderScript mRS;
+ private Allocation mAllocationX;
+ private Allocation mAllocationXY;
+ private ScriptC_launchtestxlw mScript_xlw;
+ private ScriptC_launchtestxyw mScript_xyw;
+
+ LaunchTest(RenderScript rs, Resources res) {
+ mRS = rs;
+ mScript_xlw = new ScriptC_launchtestxlw(mRS, res, R.raw.launchtestxlw);
+ mScript_xyw = new ScriptC_launchtestxyw(mRS, res, R.raw.launchtestxyw);
+ final int dim = mScript_xlw.get_dim();
+
+ mAllocationX = Allocation.createSized(rs, Element.U8(rs), dim);
+ Type.Builder tb = new Type.Builder(rs, Element.U8(rs));
+ tb.setX(dim);
+ tb.setY(dim);
+ mAllocationXY = Allocation.createTyped(rs, tb.create());
+ mScript_xlw.bind_buf(mAllocationXY);
+ }
+
+ public void run() {
+ long t = java.lang.System.currentTimeMillis();
+ mScript_xlw.forEach_root(mAllocationX);
+ mRS.finish();
+ t = java.lang.System.currentTimeMillis() - t;
+ android.util.Log.v("ComputePerf", "xlw launch test ms " + t);
+
+ t = java.lang.System.currentTimeMillis();
+ mScript_xyw.forEach_root(mAllocationXY);
+ mRS.finish();
+ t = java.lang.System.currentTimeMillis() - t;
+ android.util.Log.v("ComputePerf", "xyw launch test ms " + t);
+ }
+
+}
diff --git a/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/Mandelbrot.java b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/Mandelbrot.java
new file mode 100644
index 000000000000..ea1cd6230cb8
--- /dev/null
+++ b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/Mandelbrot.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.example.android.rs.computeperf;
+
+import android.content.res.Resources;
+import android.renderscript.*;
+
+public class Mandelbrot implements Runnable {
+ private RenderScript mRS;
+ private Allocation mAllocationXY;
+ private ScriptC_mandelbrot mScript;
+
+ Mandelbrot(RenderScript rs, Resources res) {
+ mRS = rs;
+ mScript = new ScriptC_mandelbrot(mRS, res, R.raw.mandelbrot);
+
+ Type.Builder tb = new Type.Builder(rs, Element.U8_4(rs));
+ tb.setX(mScript.get_gDimX());
+ tb.setY(mScript.get_gDimY());
+ mAllocationXY = Allocation.createTyped(rs, tb.create());
+ }
+
+ public void run() {
+ long t = java.lang.System.currentTimeMillis();
+ mScript.forEach_root(mAllocationXY);
+ mRS.finish();
+ t = java.lang.System.currentTimeMillis() - t;
+ android.util.Log.v("ComputePerf", "mandelbrot ms " + t);
+ }
+
+}
diff --git a/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/launchtestxlw.rs b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/launchtestxlw.rs
new file mode 100644
index 000000000000..7b81dfe17f49
--- /dev/null
+++ b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/launchtestxlw.rs
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#pragma version(1)
+#pragma rs java_package_name(com.example.android.rs.computeperf)
+
+const int dim = 2048;
+uint8_t *buf;
+
+void root(uchar *v_out, uint32_t x) {
+ uint8_t *p = buf;
+ p += x * dim;
+ for (int i=0; i<dim; i++) {
+ p[i] = 1;
+ }
+}
+
diff --git a/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/launchtestxyw.rs b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/launchtestxyw.rs
new file mode 100644
index 000000000000..7f7aa95e016f
--- /dev/null
+++ b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/launchtestxyw.rs
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#pragma version(1)
+#pragma rs java_package_name(com.example.android.rs.computeperf)
+
+void root(uchar *v_out, uint32_t x, uint32_t y) {
+ *v_out = 0;
+}
+
diff --git a/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/mandelbrot.rs b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/mandelbrot.rs
new file mode 100644
index 000000000000..a7987b381298
--- /dev/null
+++ b/tests/RenderScriptTests/ComputePerf/src/com/example/android/rs/computeperf/mandelbrot.rs
@@ -0,0 +1,42 @@
+// Copyright (C) 2011 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#pragma version(1)
+#pragma rs java_package_name(com.example.android.rs.computeperf)
+
+const int gMaxIteration = 500;
+const int gDimX = 1024;
+const int gDimY = 1024;
+
+void root(uchar4 *v_out, uint32_t x, uint32_t y) {
+ float2 p;
+ p.x = -2.5f + ((float)x / gDimX) * 3.5f;
+ p.y = -1.f + ((float)y / gDimY) * 2.f;
+
+ float2 t = 0;
+ int iteration = 0;
+ while((t.x*t.x + t.y*t.y < 4.f) && (iteration < gMaxIteration)) {
+ float2 t2 = t * t;
+ float xtemp = t2.x - t2.y + p.x;
+ t.y = 2 * t.x * t.y + p.y;
+ t.x = xtemp;
+ iteration++;
+ }
+
+ if(iteration >= gMaxIteration) {
+ *v_out = 0;
+ } else {
+ *v_out = (uchar4){iteration & 0xff, (iteration >> 6) & 0xff, 0x8f, 0xff};
+ }
+}
diff --git a/tests/RenderScriptTests/FBOTest/src/com/android/fbotest/fbosync.rs b/tests/RenderScriptTests/FBOTest/src/com/android/fbotest/fbosync.rs
index b77ccb488513..42b1cf1e9869 100644
--- a/tests/RenderScriptTests/FBOTest/src/com/android/fbotest/fbosync.rs
+++ b/tests/RenderScriptTests/FBOTest/src/com/android/fbotest/fbosync.rs
@@ -105,8 +105,8 @@ void updateMeshInfo() {
rsgMeshComputeBoundingBox(info->mMesh,
&minX, &minY, &minZ,
&maxX, &maxY, &maxZ);
- info->bBoxMin = (minX, minY, minZ);
- info->bBoxMax = (maxX, maxY, maxZ);
+ info->bBoxMin = (float3){minX, minY, minZ};
+ info->bBoxMax = (float3){maxX, maxY, maxZ};
gLookAt += (info->bBoxMin + info->bBoxMax)*0.5f;
}
gLookAt = gLookAt / (float)size;
diff --git a/tests/RenderScriptTests/FBOTest/src/com/android/fbotest/fbotest.rs b/tests/RenderScriptTests/FBOTest/src/com/android/fbotest/fbotest.rs
index d44fd2beff9d..05ef3aca8a0b 100644
--- a/tests/RenderScriptTests/FBOTest/src/com/android/fbotest/fbotest.rs
+++ b/tests/RenderScriptTests/FBOTest/src/com/android/fbotest/fbotest.rs
@@ -104,8 +104,8 @@ void updateMeshInfo() {
rsgMeshComputeBoundingBox(info->mMesh,
&minX, &minY, &minZ,
&maxX, &maxY, &maxZ);
- info->bBoxMin = (minX, minY, minZ);
- info->bBoxMax = (maxX, maxY, maxZ);
+ info->bBoxMin = (float3){minX, minY, minZ};
+ info->bBoxMax = (float3){maxX, maxY, maxZ};
gLookAt += (info->bBoxMin + info->bBoxMax)*0.5f;
}
gLookAt = gLookAt / (float)size;
diff --git a/tests/RenderScriptTests/tests/src/com/android/rs/test/UnitTest.java b/tests/RenderScriptTests/tests/src/com/android/rs/test/UnitTest.java
index 615143112ae3..a97ffa7d47ab 100644
--- a/tests/RenderScriptTests/tests/src/com/android/rs/test/UnitTest.java
+++ b/tests/RenderScriptTests/tests/src/com/android/rs/test/UnitTest.java
@@ -16,6 +16,7 @@
package com.android.rs.test;
import android.content.Context;
+import android.util.Log;
import android.renderscript.RenderScript.RSMessageHandler;
public class UnitTest extends Thread {
@@ -55,6 +56,28 @@ public class UnitTest extends Thread {
this (null, ctx);
}
+ protected void _RS_ASSERT(String message, boolean b) {
+ if(b == false) {
+ result = -1;
+ Log.e(name, message + " FAILED");
+ }
+ }
+
+ protected void updateUI() {
+ if (mItem != null) {
+ mItem.result = result;
+ msgHandled = true;
+ try {
+ mRSTC.refreshTestResults();
+ }
+ catch (IllegalStateException e) {
+ /* Ignore the case where our message receiver has been
+ disconnected. This happens when we leave the application
+ before it finishes running all of the unit tests. */
+ }
+ }
+ }
+
protected RSMessageHandler mRsMessage = new RSMessageHandler() {
public void run() {
if (result == 0) {
@@ -71,18 +94,7 @@ public class UnitTest extends Thread {
}
}
- if (mItem != null) {
- mItem.result = result;
- msgHandled = true;
- try {
- mRSTC.refreshTestResults();
- }
- catch (IllegalStateException e) {
- /* Ignore the case where our message receiver has been
- disconnected. This happens when we leave the application
- before it finishes running all of the unit tests. */
- }
- }
+ updateUI();
}
};
diff --git a/tools/aapt/Android.mk b/tools/aapt/Android.mk
index a3e5d9a503b4..cb55a9cfd4d6 100644
--- a/tools/aapt/Android.mk
+++ b/tools/aapt/Android.mk
@@ -44,7 +44,7 @@ LOCAL_STATIC_LIBRARIES := \
libpng
ifeq ($(HOST_OS),linux)
-LOCAL_LDLIBS += -lrt -lpthread
+LOCAL_LDLIBS += -lrt -ldl -lpthread
endif
# Statically link libz for MinGW (Win SDK under Linux),
diff --git a/tools/aapt/Resource.cpp b/tools/aapt/Resource.cpp
index 1ecf7daef123..887fa7465be9 100644
--- a/tools/aapt/Resource.cpp
+++ b/tools/aapt/Resource.cpp
@@ -14,14 +14,6 @@
#include "FileFinder.h"
#include "CacheUpdater.h"
-#if HAVE_PRINTF_ZD
-# define ZD "%zd"
-# define ZD_TYPE ssize_t
-#else
-# define ZD "%ld"
-# define ZD_TYPE long
-#endif
-
#define NOISY(x) // x
// ==========================================================================
@@ -574,11 +566,11 @@ static bool applyFileOverlay(Bundle *bundle,
DefaultKeyedVector<AaptGroupEntry, sp<AaptFile> > baseFiles =
baseGroup->getFiles();
for (size_t i=0; i < baseFiles.size(); i++) {
- printf("baseFile " ZD " has flavor %s\n", (ZD_TYPE) i,
+ printf("baseFile %zd has flavor %s\n", i,
baseFiles.keyAt(i).toString().string());
}
for (size_t i=0; i < overlayFiles.size(); i++) {
- printf("overlayFile " ZD " has flavor %s\n", (ZD_TYPE) i,
+ printf("overlayFile %zd has flavor %s\n", i,
overlayFiles.keyAt(i).toString().string());
}
}
@@ -592,8 +584,8 @@ static bool applyFileOverlay(Bundle *bundle,
keyAt(overlayGroupIndex));
if (baseFileIndex < UNKNOWN_ERROR) {
if (bundle->getVerbose()) {
- printf("found a match (" ZD ") for overlay file %s, for flavor %s\n",
- (ZD_TYPE) baseFileIndex,
+ printf("found a match (%zd) for overlay file %s, for flavor %s\n",
+ baseFileIndex,
overlayGroup->getLeaf().string(),
overlayFiles.keyAt(overlayGroupIndex).toString().string());
}
diff --git a/tools/aapt/StringPool.cpp b/tools/aapt/StringPool.cpp
index 9a0a1c46251b..d067d59006c6 100644
--- a/tools/aapt/StringPool.cpp
+++ b/tools/aapt/StringPool.cpp
@@ -8,14 +8,6 @@
#include <utils/ByteOrder.h>
-#if HAVE_PRINTF_ZD
-# define ZD "%zd"
-# define ZD_TYPE ssize_t
-#else
-# define ZD "%ld"
-# define ZD_TYPE long
-#endif
-
#define NOISY(x) //x
void strcpy16_htod(uint16_t* dst, const uint16_t* src)
@@ -38,7 +30,7 @@ void printStringPool(const ResStringPool* pool)
str = String8(pool->stringAt(s, &len)).string();
}
- printf("String #" ZD ": %s\n", (ZD_TYPE) s, str);
+ printf("String #%zd: %s\n", s, str);
}
}
diff --git a/tools/localize/Android.mk b/tools/localize/Android.mk
index f284e865878a..5ec9febe0fa2 100644
--- a/tools/localize/Android.mk
+++ b/tools/localize/Android.mk
@@ -34,7 +34,7 @@ LOCAL_STATIC_LIBRARIES := \
libcutils
ifeq ($(HOST_OS),linux)
-LOCAL_LDLIBS += -lrt -lpthread
+LOCAL_LDLIBS += -lrt -ldl -lpthread
endif
diff --git a/tools/obbtool/Android.mk b/tools/obbtool/Android.mk
index d118bd7eb120..72a9858ecaf8 100644
--- a/tools/obbtool/Android.mk
+++ b/tools/obbtool/Android.mk
@@ -22,7 +22,7 @@ LOCAL_STATIC_LIBRARIES := \
libcutils
ifeq ($(HOST_OS),linux)
-LOCAL_LDLIBS += -lpthread
+LOCAL_LDLIBS += -ldl -lpthread
endif
LOCAL_MODULE := obbtool
diff --git a/tools/validatekeymaps/Android.mk b/tools/validatekeymaps/Android.mk
index 90979e1f5ede..1368a0784790 100644
--- a/tools/validatekeymaps/Android.mk
+++ b/tools/validatekeymaps/Android.mk
@@ -23,7 +23,7 @@ LOCAL_STATIC_LIBRARIES := \
libcutils
ifeq ($(HOST_OS),linux)
-LOCAL_LDLIBS += -lpthread
+LOCAL_LDLIBS += -ldl -lpthread
endif
LOCAL_MODULE := validatekeymaps